0
0
Lập trình
Admin Team
Admin Teamtechmely

Hướng Dẫn Chi Tiết Về Cheat Engine: Kỹ Thuật Code Injection (Phần 3)

Đăng vào 3 tuần trước

• 3 phút đọc

Mở Đầu

Trong phần trước, chúng ta đã tìm hiểu cách xác định địa chỉ của giá trị mục tiêu. Bài viết này sẽ khám phá một chủ đề quan trọng hơn trong Cheat Engine: Code Injection. Nhiều người có thể cảm thấy e ngại khi nói đến mã lệnh assembly, tuy nhiên, nhờ sự trợ giúp của các chatbot AI, việc hiểu và viết mã lệnh này đã trở nên dễ dàng hơn. Hãy cùng bắt đầu với những khái niệm cơ bản mà chúng ta sẽ thảo luận trong bài viết này.

Code Injection Là Gì?

Code injection là kỹ thuật chèn mã vào trong chương trình đang chạy, cho phép người dùng điều khiển việc thực thi mã, chẳng hạn như tăng điểm thay vì bị trừ. Đây là một công cụ mạnh mẽ dành cho những người học hỏi và làm quen với lập trình.

Code Injection Trong Cheat Engine

Cheat Engine (CE) hỗ trợ người dùng dễ dàng thực hiện code injection thông qua nhiều tính năng. Một số chức năng cơ bản bao gồm tích hợp script vào CheatTable, chèn DLL, và sử dụng LUA script. Để thực hành, chúng ta sẽ bắt đầu với bước 7 trong CE tutorial.

Lập Trình Hướng Đối Tượng (OOP)

Lập trình hướng đối tượng là phương pháp thiết kế phần mềm dựa trên các đối tượng thực tế, sở hữu thuộc tính và phương thức riêng. Đây là nền tảng cho phát triển phần mềm hiện đại và giúp giải thích nhiều tình huống mà chúng ta thường gặp khi sử dụng CE. Chúng ta sẽ có cơ hội xem xét ví dụ minh họa trong bước 9 của CE tutorial.

Thanh Ghi Là Gì?

Thanh ghi (register) là một phần bộ nhớ bên trong CPU, lưu trữ dữ liệu và các lệnh mà CPU cần thực hiện ngay lập tức. Đây là môi trường hoạt động nhanh chóng và giúp CPU xử lý thông tin một cách hiệu quả hơn.

Thực Hành Step 7 Trong CE Tutorial (Mật Khẩu: 013370)

Trong tham chiếu này, chúng ta sẽ thực hiện thay đổi giá trị health trong game khi nhấn nút Hit me. Đầu tiên, chúng ta tìm địa chỉ chứa giá trị health trong Cheat Table và sử dụng tính năng Find out what write to this address để xác định mã lệnh cập nhật giá trị này.

assembly Copy
sub dword ptr [rsi+000007E0],01

Thay vì thay thế mã lệnh này, chúng ta sử dụng cửa sổ Memory Viewer để thực hiện code injection. Mục tiêu là tăng giá trị health lên 2. CE cung cấp các template cần thiết để giúp bạn thực hiện điều này dễ dàng và hiệu quả hơn.

assembly Copy
[ENABLE]
// Cơ chế để kích hoạt cheat
alloc(newmem,2048,"Tutorial-x86_64.exe"+2DB57) 
label(returnhere)
label(originalcode)
label(exit)

newmem: // bộ nhớ mới được cấp phát
add dword ptr [rsi+000007E0],02
jmp exit

originalcode:
sub dword ptr [rsi+000007E0],01

exit:
jmp returnhere

"Tutorial-x86_64.exe"+2DB57:
jmp newmem
nop 2
returnhere:

[DISABLE]
dealloc(newmem)
"Tutorial-x86_64.exe"+2DB57:
db 83 AE E0 07 00 00 01

Thực Hành Step 9 Trong CE Tutorial (Mật Khẩu: 31337157)

Bước này đề cập đến một thử thách có tên Shared Code. Khi bạn sửa mã code chung cho nhiều đối tượng, điều này có thể ảnh hưởng tới các đối tượng khác, ví dụ như kẻ thù cũng trở nên bất tử khi bạn sửa đổi sức khỏe của nhân vật mình. Để tránh trường hợp này, cần phải phân biệt được các đối tượng, như kiểm tra ID đội hoặc các chỉ số cụ thể.

csharp Copy
class Actor
{
    public int Health { get; set; }
    public string Name { get; set; }

    public virtual void UpdateHealth() {...}
}

Kết Luận

Chúng ta đã hoàn thành 9 thử thách trong CE tutorial. Mỗi bài học đều nhằm mục đích giúp bạn hiểu rõ các chức năng của CE, mở rộng kiến thức và kỹ năng để khám phá thế giới game. Hãy nhớ rằng, sự kiên trì và niềm đam mê sẽ dẫn bạn đến thành công. Bạn có thể tham khảo thêm tài liệu hữu ích tại
GitHub Crypto Cat để nâng cao kỹ năng của mình.

Thị trường game toàn cầu tiếp tục phát triển, với tốc độ tăng trưởng 13.4% dự kiến từ năm 2023 đến 2030. Nắm vững kiến thức về hacking game sẽ mở ra nhiều cơ hội nghề nghiệp hấp dẫn trong tương lai.
source: viblo

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào