使用TC跟踪法,手脱FSG 1.33变形壳
1、首先,PEiD查壳:
FSG 1.33 -> dulek/xt
2、OD载入程序,在调试选项中,忽略除“内存访问异常”之外的所有异常。先按F9,程序可以启动起来,也就是中 间没有SEH暗桩,TC跟踪法正好适合这种没有SEH暗桩的加壳程序。接下来,就介绍如何使用TC跟踪法实现脱壳。
3、重新载入程序,程序断在蓝色代码处,如下所示:
00430764 BE A4014000 mov esi,FSG_1_33.004001A4
00430769 AD lods dword ptr ds:[esi]
0043076A 93 xchg eax,ebx
0043076B AD lods dword ptr ds:[esi]
0043076C 97 xchg eax,edi
0043076D AD lods dword ptr ds:[esi]
4、此时,选择菜单中“查看”->“内存”,出现如下显示:
00422000 | 0000F000 | FSG_1_33 | | SFX,imports,resources | ...
在命令行处,输入如下命令:tc eip<00422000 ,地址范围正是蓝色标记的地址,然后回车,此时,看到左上角显示为“跟踪”,过了一会,断到了如下蓝色标记的代码处:
00402666 55 push ebp ; COMCTL32.#241
00402667 8BEC mov ebp,esp
00402669 6A FF push -1
0040266B 68 00674100 push FSG_1_33.00416700
00402670 68 FC504000 push FSG_1_33.004050FC
00402675 64:A1 00000000 mov eax,dword ptr fs:[0]
0040267B 50 push eax
0040267C 64:8925 0000000>mov dword ptr fs:[0],esp
00402683 83EC 58 sub esp,58
00402686 53 push ebx
00402687 56 push esi
00402688 57 push edi
00402689 8965 E8 mov dword ptr ss:[ebp-18],esp
0040268C FF15 14524100 call dword ptr ds:[415214] ; kernel32.GetVersion
00402692 33D2 xor edx,edx
此处就是OEP,脱壳就不再累述了。

浙公网安备 33010602011771号