编程技巧与游戏破解:从LEA指令到扫雷作弊
1. LEA指令加载值
在某些情况下, taskmgr.exe
中使用 LEA
指令而非 MOV
指令来设置 NtQuerySystemInformation()
的第一个参数。例如:
xor r9d, r9d
div dword ptr [rsp+4C8h+WndClass.lpfnWndProc]
lea rdx, [rsp+4C8h+VersionInformation]
lea ecx, [r9+2] ; put 2 to ECX
mov r8d, 138h
mov ebx, eax
; ECX=SystemPerformanceInformation
call cs:__imp_NtQuerySystemInformation ; 2
可能是因为 LEA
的机器码比 MOV REG, 5
更短。当偏移量在 -128 到 127 范围内,且使用 32 位寄存器时, LEA
指令甚至更短(因为不需要 REX 前缀),仅需 3 字节。
2. Color Lines 游戏恶作剧
Color Lines 游戏有多种实现,以 1997 年的 BallTriX 为例,可从 https: