能力值:
( LV9,RANK:1250 )
|
-
-
2 楼
bp VirtualAlloc,2次后在code下访问断点,来到:
00406A73 0000 add byte ptr ds:[eax],al
00406A75 0000 add byte ptr ds:[eax],al
00406A77 0000 add byte ptr ds:[eax],al
00406A79 83EC 58 sub esp,58 ; foep
00406A7C 53 push ebx
|
能力值:
( LV9,RANK:530 )
|
-
-
3 楼
一简单的虚拟机, 虚拟机入口为0041E164, 带一参数, 为 虚拟指令的起始地址.
0041E16B 8B7424 28 mov esi, dword ptr [esp+28] // 取参数, 虚拟指令的起始地址
0041E16F FC cld
0041E170 BF 86DF4100 mov edi, 0041DF86
0041E175 033424 add esi, dword ptr [esp]
0041E178 AC lods byte ptr [esi] // 取一条指令
0041E179 0FB6C0 movzx eax, al
0041E17C FF3485 00904200 push dword ptr [eax*4+429000] ; // 每条指令对应的地址
0041E183 C3 retn // 跳去执行指令
共 256 条 虚拟指令, 对应的执行代码地址表在429000-4293FF中, 共 256 组代码.
其中, 虚拟指令3F 相当于 retn, 比较关键
脱壳很简单, bp GetVersion 就可找到OEP: 00406A79, 与upx难度一样
把它的虚拟机全搞明白, 可不是一时三刻的功夫可搞定的.
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
楼上大牛!我正好学脱壳学到VM部分,这个简单VM将使我跨出第一步。感谢!
|
能力值:
( LV4,RANK:50 )
|
-
-
5 楼
|
能力值:
( LV6,RANK:90 )
|
-
-
6 楼
vmprotect 1.5 demo.比1。22差了10.8万千里.
|
能力值:
( LV4,RANK:50 )
|
-
-
7 楼
确实 VM1。22十分强悍 我是搞不懂 (1。5其实也…………)
|
|
|