1 chút kiến thức về Game Hacking

  • Bắt đầu Bắt đầu k10n10
  • Ngày bắt đầu Ngày bắt đầu
  • Trả lời Trả lời 0
  • Xem Xem 395

k10n10

FPT Student
Tham gia
24/10/23
Bài viết
3
FUO Point
1,172
Lưu ý: đây là kiến thức mình tự tìm hiểu nên sẽ khó tránh khỏi sai sót
1. Game hacking thì nên học gì đầu tiên ?
- Đầu tiên bạn cần tìm hiểu về Assembly chỉ cần ở mức cơ bản là được, sau đó tìm hiểu về reverse engine(dich ngược ) hay còn gọi là dịch ngược, asembly thì các bạn tự học, còn về dịch ngược thì ae có thể lên crackme.ones và sử dụng x64dbg hoặc x32dbg để giải bài tập
- Sau khi biết chút về dịch ngược thì các bạn có thể chuyển sang tìm hiểu về Cheat Engine:
+ Đại loại thì ở cheat engine các bạn cần biết về off set, base address,... để tìm ra địa chỉ của máu của bản thân hoặc tọa độ của kẻ thù (Enemy) có thể nhiều bạn dùng cheat engine rồi thì biết răng nếu bạn scan ra địa chỉ máu của bản thân để chỉnh sửa ở lần đầu tiên mở game và sau đó bạn tắt game và mở lại thì không thể chỉnh lại được ở trong cheat engine nữa, điều này là do máu mà bạn đã chỉnh chỉ là dynamic address, thế nên bạn cần phải tìm "Absolute Address = Base Address + Offset" mới ra được địa chỉ chính xác của máu nhân vật, sau khi tìm được Absolute Address của nhân vật bạn thì bạn có thể dùng c++ để viết 1 dll sau đó tiêm nó vào tiến trình game, thế nên bạn phải biết về C++ nữa, và còn rất nhiều thứ phải học nữa bạn nào thích thì có thể vào guidedhacking.com để học thêm.
2. Giải thích về cách Aimbot trong mấy game FPS hoạt động ( vẫn là theo mình tìm hiểu nên không chắc chắn nhé :)) )
- Về cơ bản thì Aimbot hoạt động từ việc tính toán tọa độ x,y,z của bản thân và tọa độ x,y,z của enemy sau đó tính được khoảng cách, tọa độ, góc tâm của bản thân so với Enemy, và thay đổi các trực yaw, pitch , roll để tâm của bản thân luôn hướng vào đầu của enemy.
Ps: Cái này cần học về toán hình học không gian mà cái này mình cũng ngu vcl
3. Giai thích về Wall hack
- Vẫn như trên nhưng thay vì tìm địa chỉ x,y,z thì bạn cần tìm địa chỉ ma trận theo mình biết thì có tầm 4 loại ma trận trong game, mấy cái ma trận này sẽ chứa vị trí của enemy nên cơ bản thì wall hack sẽ viết dựa trên mấy cái ma trận này.


==> Cái trên mình viết nên khó hiểu vcl nên chưa vô chatgpt cho nó giải thích


2) Assembly & Reverse engineering — tại sao cần?​


  • Assembly (ASM) là ngôn ngữ rất gần với mã máy của CPU. Hiểu ở mức cơ bản giúp bạn đọc được đoạn mã mà game/ứng dụng thực thi (ví dụ: đoạn mã xử lý giảm HP, di chuyển, v.v.).
  • Reverse engineering là quá trình đọc mã/thao tác chương trình (binary) để hiểu chức năng mà tác giả không công bố. Người ta tập reverse để biết một hàm làm gì, đâu là nơi cập nhật biến trạng thái (hp, tọa độ...), hoặc để luyện tập an ninh phần mềm.



3) Cheat Engine & khái niệm địa chỉ động/static (ý khái niệm, không chỉ cách dùng)​


  • Trong bộ nhớ của tiến trình, biến (ví dụ: HP) thường không có "địa chỉ cố định" giữa các lần mở chương trình — nhiều game dùng địa chỉ dynamic.
  • Khái niệm Base address + Offset là mô tả khái niệm: có một khối/struct dữ liệu (base) và bên trong có các trường (offset) chứa giá trị cần thiết. Tổng hợp base + offset cho phép biểu diễn vị trí trường đó về mặt khái niệm.
  • Việc người ta nói “lần đầu tìm được nhưng mở lại thì không chỉnh được” là do địa chỉ bạn nhìn thấy là tạm thời, không phải vị trí cố định của dữ liệu trong tiến trình khi game khởi chạy lại.



4) Aimbot — về nguyên lý toán học (khái niệm)​


Aimbot về cơ bản là tính hướng (góc) để hướng tâm ngắm từ vị trí người chơi tới vị trí đối thủ. Các khái niệm chính:


  • Tọa độ 3D: mỗi đối tượng trong game có vị trí (x,y,z)(x,y,z)(x,y,z) trong hệ toạ độ thế giới.
  • Vector delta: tính vectơ từ người chơi tới target: Δ=(xt−xp,  yt−yp,  zt−zp)\Delta = (x_{t}-x_{p},\; y_{t}-y_{p},\; z_{t}-z_{p})Δ=(xt−xp,yt−yp,zt−zp).
  • Khoảng cách: độ dài vectơ ∣Δ∣|\Delta|∣Δ∣.
  • Góc yaw / pitch: để quay từ hướng hiện tại sang hướng đối tượng, cần tính góc ngang (yaw) và góc dọc (pitch) từ delta. Về ý niệm: yaw là góc ở mặt phẳng ngang, pitch là góc lên/xuống. (Toán học thường dùng arctangent / atan2 để lấy góc từ delta — đây là khái niệm, không phải hướng dẫn thực thi.)
  • Smoothing / prediction: nhiều aimbot bổ sung kỹ thuật làm mượt chuyển động (smoothing) hoặc dự đoán vị trí mục tiêu do lag/đạn có tốc độ — đây là các ý tưởng điều khiển chuyển động chứ không phải code cụ thể.

Tóm lại: aimbot = lấy vị trí mục tiêu -> tính góc cần quay -> điều chỉnh góc nhìn/tâm bắn để khớp.



5) Wallhack — nguyên lý ma trận / world-to-screen (khái niệm)​


  • Game 3D sử dụng ma trận (matrix) để chuyển từ toạ độ thế giới (world coordinates) sang toạ độ màn hình (screen coordinates). Thông thường có hai ma trận quan trọng: view matrix (vị trí/vấn đề góc nhìn của camera) và projection matrix (chiếu 3D -> 2D, xử lý phối cảnh). Kết hợp chúng tạo ra phép biến đổi world → clip → NDC → viewport mà cuối cùng cho ta toạ độ 2D trên màn hình.
  • Depth / Z-buffer: khi tính toạ độ lên màn hình, game còn kiểm tra độ sâu để biết vật nào che vật nào. Wallhack “hiển thị” các đối tượng dù bị che thường dựa trên việc lấy vị trí thực của đối tượng trước khi game thực hiện kiểm tra che khuất (hoặc đọc thông tin vị trí và tự vẽ lên overlay).
  • Vì vậy người ta nói “tìm ma trận” là vì nếu có ma trận view/projection và vị trí đối tượng, bạn có thể tính vị trí 2D để vẽ tên/bounding box/xiên thẳng trên màn hình.
 
Back
Bên trên Bottom