Trao đổi với tôi

http://www.buidao.com

10/13/10

[Reverse] Hướng dẫn viết hack game (game trainer) - Part 1

Dẫn nhập
Đối với các game thủ thì game trainer ko còn là 1 từ lạ lẫm nữa. Vậy làm thế nào để viết 1 game trainer ? Đây là 1 vấn đề mà ko ít bạn sinh viên quan tâm nhưng lại chưa tìm được điểm bắt đầu, vậy hôm nay langman cùng với chút kinh nghiệm nhỏ xíu học được từ cộng đồng c việt quyết định chia sẻ với các bạn 1 tut nhằm dẫn nhập các bạn đến với con đường tà đạo : hack game
hj hj hj hja
Bài viết có nguồn từ langman - Cộng Đồng C Việt
Các file nén có pass là langman.congdongcviet

Ngày xưa cái này gọi là game trainer, bây giờ các gamer toàn gọi nhầm với hack tool, nên thôi langman cũng cứ gọi bừa là hack, mong các hacker đừng vì thế mà ghét langman

Yêu cầu theo đuổi tut này
Đây là 1 tut cực kì đơn giản, với các hình minh họa cụ thể, nên ko khó để các bạn làm quen . Nhưng yêu cầu là các bạn phải chịu khó mày mò, phải thích thật sự và 1 yêu cầu cũng ko kém phần quan trọng đó là : Nếu các bạn thấy tut này thật sự có ý nghĩa với bạn thì hãy để lại 1 vài câu reply có ý nghĩa


Chap 1 : Pikachu
Đây là 1 game có từ rất lâu rồi, cũng ko lạ lẫm gì với dân Việt Nam chúng ta nữa, con gái cũng biết chơi, vì thế langman sẽ cùng các bạn viết 1 cái trainer cho game này nhé
Đầu tiên, nếu bạn chưa có pikachu thì download tại đây : Pokemon
Do có nhiều sự khác nhau về OS: 7,XP,Vista nên chúng ta thống nhất download file này copy vào thư mục C:\windows\system32\ nhé (Trong windows 7 thì phải có file này mới chạy được pikachu, ở trong XP thì các bạn cũng cứ copy đè lên file cũ nhé, ko sao đâu, như thế thì chúng ta mới làm được theo cái tút này) : msvbvm5


OK, chúng ta sẽ bắt đầu có 1 cái nhìn sơ bộ về pikachu :


Game và cách chơi : chắc các bạn đã biết cả rồi



Chúng ta sẽ tiến hành nghiên cứu 2 vấn về
+ Mod game, sửa đổi các thành phần trong game đi , lấy resource của game, thay resource,.......

+ Viết trainer với các option
_ Tăng điểm của người chơi (add 1000 to game point)
_ Tăng thêm thời gian ( set time bar to max time)
_ Đóng băng thời gian ( unlimited time và infinite time)
_ Vô hạn lượt đổi (unlimited continue)





Chap 2 : Mod

Load bằng Peid (chưa có load tại đây - full plugin và chạy được trên windows7) ta có kết quả như sau :





Vậy là cái này được pack bằng ASPack 2.11 (vậy để hand mod thì chúng ta phải upack nó trước đã)
Các bạn làm theo bước 1,2,3 như trong ảnh để lấy được OEP của app này là : 00401628

Mình gà lắm, ko biết upack thế nào nên tạm dùng cái Qunpack (Chưa có download tại đây)này để unpack nó : chạy qunpack.exe với quyền admin (win7:chuột phải, vào dòng run as admin, XP:cứ bật lên là được), mở file pokemon ra (click vào nút Open File rồi trỏ đến file pokemon.exe), điền giá trị OEP vào rồi click vào nut Full Unpack

Muốn biết thêm OEP là gì thì xem ở đây :
Portable Executable File Format


Vậy là ta đã có được 1 file exe với ở dạng nguyên thể (tạm coi là thế) của game này. Ở đây tôi đặt tên file mới là Upokemon.exe

Vậy đấy, sau khi unpack (và sau khi ăn 1 suất cơm ở ngoài tiệm) chúng ta thấy đã có sự khác nhiều rồi, ít nhất chúng ta đã thấy rõ ràng rằng cái pikachu này được viết bằng Microsoft Visual Basic , thấy link info là 4.20 hóa ra là Microsoft Visual Basic 5.0

Sau khi đã unpack ta hoàn toàn có thể dùng Reshack (Chưa có download tại đây) để lấy, thay đổi, các tài nguyên về icon, âm thanh wave, âm thanh midi trong file này 1 cách cực kì đơn giản




Ôi trời là VB à, nản quá cơ tớ ko thích VB lắm. Nhưng bình tĩnh nào, chúng ta đã lấy được âm thanh, icon rồi, còn các bitmap thì lại ko lấy được bằng Reshack, làm sao đây ???? Vậy ta đành phải Decompile nó ra xem như thế nào,
ồ, sau 1 hồi tìm tìm, kiếm kiếm, trọc trọc. ngoáy ngoáy, tôi đã tìm ra mấy cái ảnh bitmap của nó bằng tool sau
PHP Code:
http://www.mediafire.com/?h97gb8q9rb3eka1
Hướng dẫn Decompile : cũng run cái vbdecompile với quyền admin, mở file upokemon.exe ra, nó hỏi có unpack ko chọn no vì ta đã unpack rồi, nó rồi click vào nút decompile, để lấy được mấy cái ảnh bitmap của nó thì bạn vào trong menu vào ... (không nhớ rõ lắm, các bạn tự mày mò đi 2' là thấy ngay ấy mà hờ hờ hờ hờ hờ)

Decompile là gì ?

đây là quá trình biên dịch:

vậy Decompile là quá trình dịch ngược từ file .exe,.dll,.ocx.... lại thành mã nguồn, hờ hờ hờ


Tôi nhận thấy 1 điều lí thú rằng : Upokemon.exe chơi ít bị out, dis, lỗi hơn pokemon.exe