12/10/2018, 15:31

[Hack Game] 1.Giới thiệu về quét bộ nhớ

Muốn hack được game phải làm gì? Đầu tiên và cũng là cơ bản nhất để hack được một game thì chúng ta phải quét bộ nhớ của game để tìm các giá trị muốn hack. Các game khi thực thi sẽ lưu thông tin như tiền, HP, MANA trong bộ nhớ. Vì vậy mình sẽ phải quét bộ nhớ để tìm ra các địa chỉ lưu các giá trị ...

Muốn hack được game phải làm gì?

Đầu tiên và cũng là cơ bản nhất để hack được một game thì chúng ta phải quét bộ nhớ của game để tìm các giá trị muốn hack. Các game khi thực thi sẽ lưu thông tin như tiền, HP, MANA trong bộ nhớ. Vì vậy mình sẽ phải quét bộ nhớ để tìm ra các địa chỉ lưu các giá trị mà mình muốn hack. Sau khi tìm được địa chỉ các bạn có thể truy cập vào và sửa đổi nó như vậy là các bạn đã hack được game.

Quét bộ nhớ là bước quan trọng nhất để có thể hack được một game. Bạn hãy tưởng tượng bộ nhớ là một mảng byte lớn. mỗi phần tử trong mảng sẽ chứa giá trị. Phần mềm quét bộ nhớ sẽ chạy qua toàn bộ mảng này và lấy giá trị của mỗi phần tử ra so sánh với giá trị chúng ta tìm.

Tuy nhiên bộ nhớ của trò chơi rất lớn nên khi quét sẽ có rất nhiều giá trị giống nhau, con số này rất lớn có thể lên tới hàng triệu kết quả. Bạn không thể biết được chính xác đâu là địa chỉ mình cần tìm. Do đó để loại bỏ những giá trị không liên quan phần mềm quét bộ nhớ sẽ cho bạn quét lại danh sách kết quả để loại bỏ những giá trị không mong muốn. Việc bạn cần làm là làm cho giá trị thay đổi và lọc lại kết quả một lần nữa.

Ví dụ:

Level trong game của bạn là 10. Bạn quét nó ra 200 kết quả. bạn không thể biết trong 200 kết quả này đâu mới là địa chỉ lưu level của bạn. Bạn cần phải thay đổi level của bạn để quét lại. Bạn cày lên level 11. lúc này giá trị lưu level trong bộ nhớ sẽ chuyển sang 11. Bạn sẽ quét lại trong 200 kết quả đó cái nào có giá trị là 11. cứ như vậy bạn sẽ rút ngắn được số kết quả và bạn sẽ tìm được địa chỉ lưu level.

Đoạn mã giả sau mô tả một chương trình tự động tăng HP khi HP thấp hơn 500

int health = readMemory(game, HEALTH_ADDRESS)
if(health < 500){
    pressButton(HEALTH_BUTTON)
}

Phần mềm quét bộ nhớ sẽ giúp bạn tìm ra HEALTH_ADDRESS để chương trình có thể đọc được giá trị tại địa chỉ này.

Ở phần sau mình sẽ hướng dẫn các bạn sử dụng phần mềm để quét bộ nhớ cơ bản.

0