PEtite 2.x [Level 1/9] -> Ian Luck

 

1: 可以用 变相的 ESP 定律;

程序开始是这样的:

00415042 > B8 00504100 MOV EAX,KeyGen-m.00415000

00415047 68 38214000 PUSH KeyGen-m.00402138

0041504C 64:FF35 00000000 PUSH DWORD PTR FS:[0]

00415053 64:8925 00000000 MOV DWORD PTR FS:[0],ESP

0041505A 66:9C PUSHFW

0041505C 60 PUSHAD ; 单步到这里以后,使用ESP 就可很快到达 OEP

0041505D 50 PUSH EAX

0041505E 33DB XOR EBX,EBX

00415060 8D90 78010000 LEA EDX,DWORD PTR DS:[EAX+178]

00415066 68 00004000 PUSH KeyGen-m.00400000

0041506B 8B0A MOV ECX,DWORD PTR DS:[EDX]

0041506D 0FBAF1 1F BTR ECX,1F

00415071 73 16 JNB SHORT KeyGen-m.00415089

00415073 8B0424 MOV EAX,DWORD PTR SS:[ESP] ; kernel32.7C817067

00415076 FD STD

00415077 8BF0 MOV ESI,EAX

00415079 8BF8 MOV EDI,EAX

0041507B 0372 04 ADD ESI,DWORD PTR DS:[EDX+4]

0041507E 037A 08 ADD EDI,DWORD PTR DS:[EDX+8]

00415081 F3:A5 REP MOVS DWORD PTR ES:[EDI],DWORD >

00415083 83C2 0C ADD EDX,0C

2:当然也可以使用 最后一次异常的方法,不过在达到OEP是,区偏移地址时有点不同;;;

到达 OEP 是这样的

00401000 . 6A 00 PUSH 0

00401002 . E8 17020000 CALL KeyGen-m.0040121E

00401007 . A3 75334000 MOV DWORD PTR DS:[403375],EAX

0040100C . 6A 00 PUSH 0 ; /lParam = NULL

0040100E . 68 2B104000 PUSH KeyGen-m.0040102B ; |DlgProc = KeyGen-m.0040102B

00401013 . 6A 00 PUSH 0 ; |hOwner = NULL

00401015 . 68 81334000 PUSH KeyGen-m.00403381 ; |pTemplate = "A1"

0040101A . FF35 75334000 PUSH DWORD PTR DS:[403375] ; |hInst = 00400000

00401020 . E8 FF010000 CALL KeyGen-m.00401224 ; /DialogBoxParamA

00401025 . 50 PUSH EAX ; /ExitCode = 7FFDF000

00401026 . E8 ED010000 CALL KeyGen-m.00401218 ; /ExitProcess

0040102B . 55 PUSH EBP; 当前运行到这里, DUMP 程序时,填写的 OEP 1000,不然运行不了。。

0040102C . 8BEC MOV EBP,ESP

0040102E . 83C4 FC ADD ESP,-4

00401031 . 817D 0C 10010000 CMP DWORD PTR SS:[EBP+C],110

00401038 . 75 6C JNZ SHORT KeyGen-m.004010A6

0040103A . 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8] ; KeyGen-m.0040102B

0040103D . A3 69334000 MOV DWORD PTR DS:[403369],EAX

00401042 . 68 F4010000 PUSH 1F4 ; /RsrcName = 500.

00401047 . FF35 75334000 PUSH DWORD PTR DS:[403375] ; |hInst = 00400000

0040104D . E8 EA010000 CALL KeyGen-m.0040123C ; /LoadIconA

00401052 . A3 7D334000 MOV DWORD PTR DS:[40337D],EAX

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值