好友
阅读权限10
听众
最后登录1970-1-1
|
nv21
发表于 2008-10-19 01:21
OD载入
00468000 >60PUSHAD
00468001F8CLC
0046800248DEC EAX
0046800387F9XCHG ECX,EDI
0046800540INC EAX
0046800681E1 DA86AE4A AND ECX,4AAE86DA
0046800CF8CLC
0046800D47INC EDI
0046800E87DFXCHG EDI,EBX
00468010F8CLC
00468011EB 0A JMP SHORT UnPackMe.0046801D
00468013^ 7C EB JL SHORT UnPackMe.<模块入口点>
打开OD的选项忽略INT3以外的所有异常 SHIFT+F9运行程序停在
004715D890NOP
004715D964:67:8F06 0000 POP DWORD PTR FS:[0]
004715DF83C4 04 ADD ESP,4
004715E260PUSHAD
004715E3E8 00000000 CALL UnPackMe.004715E8
004715E85EPOP ESI
004715E983EE 06 SUB ESI,6
004715ECB9 5B000000 MOV ECX,5B
004715F129CESUB ESI,ECX
004715F3BA C895FF35 MOV EDX,35FF95C8
004715F8C1E9 02 SHR ECX,2
004715FB83E9 02 SUB ECX,2
注意堆栈
0012FF78 0012FFE0指向下一个 SEH 记录的指针
0012FF7C 004715A5SE 处理器--------------点右键 跟随到数据窗口
0012FF80 0047576AUnPackMe.0047576A
0012FF84 0000002A
0012FF88 7A1FCBF0
0012FF8C 0012FFA0
0012FF90 0F01EE83
0012FF94 AD075768
下内存访问断点 SHIFT+F9运行
004715A58B4424 04 MOV EAX,DWORD PTR SS:[ESP+4] ---F2 下断SHIFT+F9运行
004715A98B4C24 0C MOV ECX,DWORD PTR SS:[ESP+C]
004715ADFF81 B8000000 INC DWORD PTR DS:[ECX+B8]
004715B38B00MOV EAX,DWORD PTR DS:[EAX]
004715B52D 03000080 SUB EAX,80000003
--------------------------
004716038B048EMOV EAX,DWORD PTR DS:[ESI+ECX*4]-----------F2下断 004716038B048EMOV EAX,DWORD PTR DS:[ESI+ECX*4]
004716068B5C8E 04 MOV EBX,DWORD PTR DS:[ESI+ECX*4+4]
0047160A33C3XOR EAX,EBX
0047160CC1C0 18 ROL EAX,18
0047160F33C2XOR EAX,EDX
0047161181C2 799C6299 ADD EDX,99629C79
运行到下一句 然后取消所有断点
0047161789048EMOV DWORD PTR DS:[ESI+ECX*4],EAX////////////////////////////////////
0047161A49DEC ECX
0047161B^ EB E1 JMP SHORT UnPackMe.004715FE
0047161D61POPAD
0047161E61POPAD
0047161FC3RETN --------------- F4
0047161F---F4如果有STOLEN CODE 这里开始找STONE CODE
如果没有STOLEN CODE 可以在第一次F9 运行之后直接在 打开内存境像
在00401000处下断 SHIFT+F9运行直接到OEP
0045159C55PUSH EBP
0045159D8BECMOV EBP,ESP
0045159F83C4 F0 ADD ESP,-10
004515A2B8 BC134500 MOV EAX,UnPackMe.004513BC
004515A7E8 8846FBFF CALL UnPackMe.00405C34
004515ACA1 E02F4500 MOV EAX,DWORD PTR DS:[452FE0]
004515B18B00MOV EAX,DWORD PTR DS:[EAX]
004515B3E8 F8E5FFFF CALL UnPackMe.0044FBB0
004515B8A1 E02F4500 MOV EAX,DWORD PTR DS:[452FE0]
004515BD8B00MOV EAX,DWORD PTR DS:[EAX]
004515BFBA FC154500 MOV EDX,UnPackMe.004515FC; ASCII ".52pojie.cn"
004515C4E8 F7E1FFFF CALL UnPackMe.0044F7C0
接下来就OD方式一脱壳 REC修复 有两个无效指针直接剪掉 脱壳结束 |
|