PW=525927
Nó vẫn là tìm pointer thôi nên chả có gì khác cả, đây
mình đăng cho đủ bộ chứ cách làm y hệt như
phần 6
nhé.
Step 8: Multilevel pointers: (PW=525927)
This step will explain how to use multi-level pointers.
In step 6 you had a simple level-1 pointer, with the first address found already being the real base address.
This step however is a level-4 pointer. It has a pointer to a pointer to a pointer to a pointer to a pointer to the health.
You basicly do the same as in step 6. Find out what accesses the value, look at the instruction and what probably is the base pointer value, and what is the offset, and already fill that in or write it down. But in this case the address you'll find will also be a pointer. You just have to find out the pointer to that pointer exactly the same way as you did with the value. Find out what accesses that address you found, look at the assembler instruction, note the probable instruction and offset, and use that.
and continue till you can't get any further (usually when the base address is a static address, shown up as green)
Click Change Value to let the tutorial access the health.
If you think you've found the pointer path click Change Register. The pointers and value will then change and you'll have 3 seconds to freeze the address to 5000
Extra: This problem can also be solved using a auto assembler script, or using the pointer scanner
Extra2: In some situations it is recommended to change ce's codefinder settings to Access violations when
Encountering instructions like mov eax,[eax] since debugregisters show it AFTER it was changed, making it hard to find out the the value of the pointer
Extra3: If you're still reading. You might notice that when looking at the assembler instructions that the pointer is being read and filled out in the same codeblock (same routine, if you know assembler, look up till the start of the routine). This doesn't always happen, but can be really useful in finding a pointer when debugging is troublesome
Bản dịch tiếng Việt:
Bước 8: Multilevel pointers: (PW = 525927)
Bước này sẽ giải thích cách sử dụng multi-level pointers.
Trong bước 6, bạn đã có một con trỏ cấp 1 đơn giản, với địa chỉ đầu tiên được tìm thấy đã là địa chỉ cơ sở thực sự.
Bước này tuy nhiên là một con trỏ cấp 4. Nó có một con trỏ tới một con trỏ tới một con trỏ tới một con trỏ tới một con trỏ tới Health.
Về cơ bản, bạn làm tương tự như trong bước 6. Tìm hiểu xem cái gì truy cập giá trị, xem hướng dẫn và giá trị con trỏ cơ sở là gì, và offset là gì, và điền nó vào hoặc ghi nó xuống. Nhưng trong trường hợp này, địa chỉ bạn sẽ tìm thấy cũng sẽ là một con trỏ. Bạn chỉ cần tìm ra con trỏ tới con trỏ đó chính xác giống như cách bạn đã làm với giá trị. Tìm hiểu những gì truy cập địa chỉ mà bạn tìm thấy, xem hướng dẫn trình biên dịch chương trình, lưu ý hướng dẫn có thể xảy ra và offset, và sử dụng địa chỉ đó.
và tiếp tục cho đến khi bạn không thể nhận được thêm nữa (thường là khi địa chỉ cơ sở là địa chỉ tĩnh, hiển thị màu xanh lá cây)
Nhấp vào Thay đổi giá trị để cho phép hướng dẫn truy cập vào Health.
Nếu bạn nghĩ rằng bạn đã tìm thấy đường dẫn con trỏ, nhấp vào Change pointer. Con trỏ và giá trị sau đó sẽ thay đổi và bạn sẽ có 3 giây để đóng băng địa chỉ thành 5000
Bổ sung: Vấn đề này cũng có thể được giải quyết bằng cách sử dụng auto assembler script hoặc sử dụng pointer scanner
Bổ sung2: Trong một số trường hợp, bạn nên thay đổi cài đặt của CE's Codefinder thành Vi phạm truy cập khi gặp các câu lệnh như mov eax, [eax] kể từ khi gỡ lỗi cho thấy SAU nó đã bị thay đổi, khiến cho việc tìm ra giá trị của con trỏ trở nên khó khăn
Bổ sung3: Nếu bạn vẫn đang đọc. Bạn có thể nhận thấy rằng khi xem các hướng dẫn của trình biên dịch chương trình con trỏ đang được đọc và điền vào cùng một bộ mã (cùng một thói quen, nếu bạn biết trình biên dịch, hãy tìm đến khi bắt đầu thói quen). Điều này không phải lúc nào cũng xảy ra, nhưng có thể thực sự hữu ích trong việc tìm kiếm một con trỏ khi gỡ lỗi là rắc rối
Khá là khó hiểu và dùng google dịch lại
càng khó hiểu hơn nhưng thôi đừng đọc nữa, cái đó mình sẽ từ từ làm lại
vậy.
0 Nhận xét