刚接触脱壳,最近开始学习ZP,虽然是被大牛玩烂了的东西,但是对于我来说已经是高不可攀了。
自己用ZP随便加了个程序,稍后会传到附件
OD载入
停在
006E753F > E8 02000000 call 远程工具.006E7546
006E7544 4D dec ebp
006E7545 96 xchg eax,esi
006E7546 870424 xchg dword ptr ss:[esp],eax
006E7549 8D80 01FEFFFF lea eax,dword ptr ds:[eax-1FF]
006E754F 870424 xchg dword ptr ss:[esp],eax
006E7552 ^ E9 EEFDFFFF jmp 远程工具.006E7345
006E7557 CA D989 retf 89D9
006E755A 45 inc ebp
006E755B F0:E9 05030000 lock jmp 远程工具.006E7866 ; 不允许锁定前缀
006E7561 A9 AA8D0450 test eax,50048DAA
006E7566 E9 2E070000 jmp 远程工具.006E7C99
006E756B ^ 76 82 jbe short 远程工具.006E74EF
006E756D 0F84 75000000 je 远程工具.006E75E8
006E7573 E9 17050000 jmp 远程工具.006E7A8F
006E7578 50 push eax
006E7579 ^ E9 4AFBFFFF jmp 远程工具.006E70C8
一路F7 来到
006E7345 60 pushad
006E7346 E9 A1030000 jmp 远程工具.006E76EC ////esp=0012FFA0
006E734B D2AA 4C94E919 shr byte ptr ds:[edx+19E9944C],cl
006E7351 FE ??? ; 未知命令
006E7352 FFFF ??? ; 未知命令
006E7354 C3 retn
硬件访问断点 ESP
然后F9
程序就跑起来了,没有中断
如果在
006E753F > E8 02000000 call 远程工具.006E7546
006E7544 4D dec ebp
006E7545 96 xchg eax,esi
006E7546 870424 xchg dword ptr ss:[esp],eax /// esp=0012FFC0
006E7549 8D80 01FEFFFF lea eax,dword ptr ds:[eax-1FF]
006E754F 870424 xchg dword ptr ss:[esp],eax
006E7552 ^ E9 EEFDFFFF jmp 远程工具.006E7345
上面006E7546这句ESP高亮时下断
程序中断在
006E7552 ^\E9 EEFDFFFF jmp 远程工具.006E7345
006E7557 CA D989 retf 89D9
006E755A 45 inc ebp
006E755B F0:E9 05030000 lock jmp 远程工具.006E7866 ; 不允许锁定前缀
006E7561 A9 AA8D0450 test eax,50048DAA
006E7566 E9 2E070000 jmp 远程工具.006E7C99
处,然后单步跟踪,并不是在OEP附近
听说ZP默认保护方式是可以用ESP定律来寻找OEP的,但是在我这里貌似不行,想请教一下看雪大牛们
[培训]科锐逆向工程师培训第53期2025年7月8日开班!