脱壳过程参考了fly大侠的《jingulong兄的UnPackIt.EXE》,途中遇到几个问题。>"<
1.在补stolen Code的时候,是否是直接在OD上修改原来的代码,如果是,那么补上的代码不是会覆盖掉原来的代码么。那样,dump下来的程序运行应该会有问题的啊。
例如: 抄自fly的文章
代码:--------------------------------------------------------------------------------
00A110CC 55 push ebp//OEP ★
00A110CD 8BEC mov ebp,esp
00A110CF 83EC 44 sub esp,44
00A110D2 56 push esi//上面是补上的Stolen Code
00A110D3 FF15 E463A100 call dword ptr ds:[A163E4]//返回这里
00A110D9 8BF0 mov esi,eax
00A110DB 8A00 mov al,byte ptr ds:[eax]
00A110DD 3C 22 cmp al,22
00A110DF 75 1B jnz short 00A110FC
00A110E1 56 push esi
00A110E2 FF15 F464A100 call dword ptr ds:[A164F4]
--------------------------------------------------------------------------------
那么00A110CC - 00A110D2之间原来的代码不就被该改动了么。
2.再次引用 ^^
" 运行LordPE,先完全Dump这个进程,然后“区域脱壳”,地址=
00A10000 ,大小==
00008000,得到Region00A10000-00A18000.dmp文件。用LordPE打开dumped.exe,从磁盘载入Region00A10000-00A18000.dmp区段,改其VOffset==
00610000。只保留LordPE的“验证PE”选项,对dumped.exe重建PE。OK,Dump完毕!"
上面的这几个数字是怎么得知的,就是说他为什么是这个数。"从磁盘载入.."这句话看不是很懂,LordPE打开dumped.exe后,没有"加载"一类功能的按钮。>"<
[培训]科锐逆向工程师培训第53期2025年7月8日开班!