关于手脱Armadillo 5.0 (Standard + Debug-Blocker).
在学习wuhanqi 手脱Armadillo 5.0 (Standard + Debug-Blocker). 的时候首先运行Armadillo Process Detach.将unpackme脱入Arma Detach中。
会显示内容如下:
DONE!
Child process ID: 000002C8
Entry point: 004A2DC2
Original bytes: E8E3
这时我们打开一个od.文件--附加.然后选中PID为2C8的进程.即为Armadillo的子进程.
我们载入后.F9.再F12.便断到如下代码处: 复制内容到剪贴板 代码:
004A2DC2 >- EB FE JMP SHORT <ModuleEntryPoint>
004A2DC4 40 INC EAX
004A2DC5 0000 ADD BYTE PTR DS:,AL
004A2DC7^ E9 16FEFFFF JMP 004A2BE2
004A2DCC 6A 0C PUSH 0C
004A2DCE 68 B0104D00 PUSH 004D10B0
004A2DD3 E8 44150000 CALL 004A431C
004A2DD8 8B4D 08 MOV ECX,DWORD PTR SS:
004A2DDB 33FF XOR EDI,EDI
004A2DDD 3BCF CMP ECX,EDI
004A2DDF 76 2E JBE SHORT 004A2E0F
004A2DE1 6A E0 PUSH -20
004A2DE3 58 POP EAX
004A2DE4 33D2 XOR EDX,EDX
004A2DE6 F7F1 DIV ECX
004A2DE8 3B45 0C CMP EAX,DWORD PTR SS:
入口点是一个跳转.其实是Arma Detach为了防止穿山甲检测.才修改了入口点.
我们根据Arma Detach给我们的数据:Original bytes: E8E3.将jmp那两个字节修改为E8E3.即可恢复正常的入口点. 复制内容到剪贴板 代码:
004A2DC2 >E8 E3400000 CALL 004A6EAA
004A2DC7^ E9 16FEFFFF JMP 004A2BE2
004A2DCC 6A 0C PUSH 0C
004A2DCE 68 B0104D00 PUSH 004D10B0
004A2DD3 E8 44150000 CALL 004A431C
004A2DD8 8B4D 08 MOV ECX,DWORD PTR SS:
004A2DDB 33FF XOR EDI,EDI
004A2DDD 3BCF CMP ECX,EDI
004A2DDF 76 2E JBE SHORT 004A2E0F
004A2DE1 6A E0 PUSH -20
004A2DE3 58 POP EAX
004A2DE4 33D2 XOR EDX,EDX
004A2DE6 F7F1 DIV ECX
004A2DE8 3B45 0C CMP EAX,DWORD PTR SS:
接下来我们需要确认OD没有硬件断点.以及Alt+B确认没有任何切换断点.
然后我们下bp VirtualProtect.可以使我们来到穿山甲处理IAT的地址.
shift+f9运行程序.OD就会有程序已被挂起的提示。。。换个OD也不行。我想问问这个应该怎么解决。。。 这主题编辑的怎么这么乱呢?~
页:
[1]