Có cách nào đọc được quá trình sử lí của chương trình

Degree Vercetti

Mr & Ms Pac-Man
Tham gia ngày
23/7/06
Bài viết
291
Reaction score
0
Anh em định viết một chương trình auto bằng hợp ngữ nhưng hơi mù mờ về cách viết..Qua một số diễn đàn thì bảo là nên viết bằng VB là ngon lành nhất. Tuy nhiên, viết bằng ngôn ngữ nào thì cũng phải lấy được các ô nhớ, địa chỉ lẫn quá trình xử lí của game, để mò ra xem nó chạy thế nào.
Cái này thực sự không hiểu làm kiểu gì, có anh em, hay đại ca nào pro chỉ qua giùm cái
 
Anh em định viết một chương trình auto bằng hợp ngữ nhưng hơi mù mờ về cách viết..Qua một số diễn đàn thì bảo là nên viết bằng VB là ngon lành nhất. Tuy nhiên, viết bằng ngôn ngữ nào thì cũng phải lấy được các ô nhớ, địa chỉ lẫn quá trình xử lí của game, để mò ra xem nó chạy thế nào.
Cái này thực sự không hiểu làm kiểu gì, có anh em, hay đại ca nào pro chỉ qua giùm cái
học thêm về Debug và Assemble đi :|
 
học thêm về Debug và Assemble đi :|

Chuẩn ! Học Assemble ( hợp ngữ ) để hiểu máy tính làm gì :D .
Hiện tại mình có cuốn sách về hợp ngữ ( tài liệu tham khảo là chính , nói sách cho oách :P ) , nếu ở HCM thì qua mình đưa bạn photo :D
 
Cái này anh em học rồi nên anh em mới hỏi là làm sao để lấy được các địa chỉ và tiến trình xử lí của chương trình.
Không lẽ kick chuột phải chọn ngay cái file exe rồi debug chắc????!!!
Cái chính là phải biết được là trong quá trình chạy nó làm cái gì, đến thanh ghi nào ở đâu, hoặc nó xử lí những thông tin gì thì mù tịt.

Cái chính là biết được nó làm gì đã, còn debug nguyên thì mất cả năm để debug một cái chương trình mất .
 
Olly Dbg :D
google tìm tài liệu về cái này mà nghiên cứu
 
đến thanh ghi nào ở đâu
cái này dùng CE là đc :'>

bạn qua cuasotinhoc tham khảo thêm nhé ::)

@ Bối Bối : nhìn sign của bác giống avt OxConan bên cuasotinhoc ghê :|
 
chắc ông đó lấy hình của tui ;;) hoặc cắt ra từ 1 nguồn giống tui. tui cũng thấy 1 ông nào đó lấy lên làm ava trên blog rồi.
 
cái này dùng CE là đc :'>

bạn qua cuasotinhoc tham khảo thêm nhé ::)

@ Bối Bối : nhìn sign của bác giống avt OxConan bên cuasotinhoc ghê :|

CE là cái gì thế, có thể cho anh em cái link đến được không
Search trên google toàn ra cái khỉ gió ông lăn gì ý ...
 
CE là cái gì thế, có thể cho anh em cái link đến được không
Search trên google toàn ra cái khỉ gió ông lăn gì ý ...
Cheat Engine :|

Hướng dẫn của penicylline, thanks penicylline !

Công cụ : CheatEngine(CE)

Tôi sẽ lấy một ví dụ lấy NPC_BASE_ADDR trong bản 2.29

Bước 1: Tìm một chỉ số nào đó - máu chẳng hạn: login vao nhân vật, xem chỉ số máu hiện thời( nên dứng chỗ không có người qua lại để tránh nga my di qua lam thay đổi chỉ số) ví dụ của tôi là 345. OK chạy CE ở góc trái trên có một nút hình cái máy tính( cạnh nút open) nhấp vào và chọn process GAME_Y.EXE ( nếu chỉ chạy 1 cửa sổ võ lâm thì chỉ có 1 process game_y) ok? tiếp theo nhập vào text Value chỉ số máu của mình( của tôi là 345) Scantype đặt mặc định là "Exact value" Value type là 4 byte. Nhấn nút "First scan" rồi đợi nó chạy xong quay về của sổ võ lâm, cho nhân vật ngồi thiền với mục đích làm thay đổi chỉ số máu ví dụ của tôi đổi thành 350 đứng dậy cho chỉ số máu ngừng thay đổi rồi quay trở lại cửa sổ CE thay số 345 trong text Value thành 350 rồi nhấn nút "Next scan". Lúc này trên list ở bên trái cửa sổ sẽ xuất hiện 1 hoặc một vài địa chỉ, nếu còn quá nhiều thí tiếp tục thay đổi chỉ số màu, điền chỉ số mới vào ô Value và nhấn "Next scan" cho đến khi danh sách bên trái cửa sổ CE chỉ còn 1 địa chỉ duy nhất. click đúp chuột vào địa chỉ này, nó sẽ được chuyển xuống list ở dưới cùng của cửa sổ CE. bạn đã xong bước 1, nếu không thành công có thể làm lại từ đầu bằng cách nhấp vào "First scan".
Bước 2: Tìm NPC_BASE_ADDR ( bạn cần chắc chắn là bạn có kiến thức về asm hẵng đọc tiếp)
bây giờ trong list dưới cùng của cửa sổ CE đã có địa chỉ của chỉ số máu, nhấp chuột phải vào và chọn "Find out what accesses this address". Lúc này CE sẽ xuất hiện thêm 2 của sổ mới nhưng ta chỉ quan tâm đến của sổ to hơn (" The following opcodes...") quay lại game, cho nhân vật di chuyển vài bước rồi quay lại của sổ CE " The following..." (hãy tìm nó vì nó có thể bị của sổ chính đè lên) nếu không có lỗi gì, bạn sẽ thấy có khỏang 3 dòng lệnh trong của sổ này trong đó có một dòng đáng chú ý là dòng có mã lệnh: "mov ebp,[edi+eax*4+00000c94]"
click dupe vào dòng lệnh này ta sẽ thấy một cửa sổ nữa hiện ra trong đó có giá trị của các thanh ghi... thanh ghi EAX có giá trị 2015, nhìn mã lệnh asm ta thấy nó nhân với 4 :2015x4=8054(hexa) đây chính là chỉ số NPC_DATA_SIZE. Còn một địa chỉ cũng quan trọng đó là giá trị thanh ghi EDI bây giờ ta chọn dòng lệnh rồi nhấn nút "Show disasembler"- một của sổ nữa hiện ra ta nhìn thấy tòan bộ đọan chương trình của võ lâm dưới dạng asm. dòng lệnh "mov ebp,[edi+eax*4+00000c94]" có địa chỉ là 004BAE7D ( địa chỉ dòng lệnh ở tận cung bên trái) kéo lên vài dòng ở địa chỉ 004BAE65 ta thấy mã lệnh là "mov edi,[00dbc6c0]" như vậy 00DBC6C0 chính là NPC_BASE_ADDR. Với các offset còn lại bạn cần làm tương tự, cần một chút may mắn để đi đúng hướng thì việc sẽ nhanh hơn vì ta thấy có hơn một lệnh truy cập đến địa chỉ của chỉ số máu- chọn cái nào để debug là tùy vào kinh nghiệm cũng như kiến thức của bạn.
nguồn : http://cuasotinhoc.vn/index.php?showtopic=51550&st=0

p/s : thế này có phạm vào tội quảng cáo trang khác ko nhỉ :-ss
 
thanks các bác nhiều, ngồi nghiên cứu phát nào :D
 
Back
Top