首页
社区
课程
招聘
vfp&exe加密后的VFP程序,脱壳后不能运行,什么原因呢?
发表于: 2005-5-13 13:14 8147

vfp&exe加密后的VFP程序,脱壳后不能运行,什么原因呢?

2005-5-13 13:14
8147
拜读了fly的VFP&EXENC主程序脱壳之后,我动了下面这个软件,
但效果很不理想,大家帮忙看看是什么原因?

胜新生产管理系统加强网络版V7.16

win2k + od_fix + importRec 忽略所有异常,隐藏OD,载入:

00432BA2 >  60              pushad
00432BA3    E8 00000000     call SXSCGLZQ.00432BA8
00432BA8    5D              pop ebp
00432BA9    81ED 06104000   sub ebp,SXSCGLZQ.00401006
00432BAF    8D85 56104000   lea eax,dword ptr ss:[ebp+401056]
00432BB5    50              push eax
00432BB6    64:FF35 0000000>push dword ptr fs:[0]
00432BBD    64:8925 0000000>mov dword ptr fs:[0],esp
00432BC4    CC              int3
00432BC5    90              nop
00432BC6    64:8F05 0000000>pop dword ptr fs:[0]
00432BCD    83C4 04         add esp,4
00432BD0    74 05           je short SXSCGLZQ.00432BD7
00432BD2    75 03           jnz short SXSCGLZQ.00432BD7
00432BD4    EB 07           jmp short SXSCGLZQ.00432BDD
00432BD6    59              pop ecx
00432BD7    8D9D 00104000   lea ebx,dword ptr ss:[ebp+401000]
00432BDD    53              push ebx
00432BDE    5F              pop edi
00432BDF    2BFA            sub edi,edx
00432BE1    57              push edi
00432BE2    8A03            mov al,byte ptr ds:[ebx]
00432BE4    3007            xor byte ptr ds:[edi],al
00432BE6    43              inc ebx////////////
////////在这里下断点,F9运行。断下后取消这个断点,再hr esp下硬件断点。继续F9运行
00432BE7    47              inc edi
00432BE8  ^ E2 F8           loopd short SXSCGLZQ.00432BE2
00432BEA    58              pop eax
00432BEB    894424 1C       mov dword ptr ss:[esp+1C],eax///////
////在这里被硬件中断,取消上面设的硬件断点。F8到JMP EAX之后。
00432BEF    61              popad
00432BF0    FFE0            jmp eax

跳转后如下:
0042F001    60              pushad
0042F002    E8 03000000     call SXSCGLZQ.0042F00A
0042F007  - E9 EB045D45     jmp 459FF4F7
0042F00C    55              push ebp
0042F00D    C3              retn
0042F00E    E8 01000000     call SXSCGLZQ.0042F014

搜索指令lods word ptr ds:[esi]到如下:

0042F272    66:AD           lods word ptr ds:[esi]
0042F274    66:AB           stos word ptr es:[edi]
0042F276  ^ EB F1           jmp short SXSCGLZQ.0042F269
0042F278    BE 00500200     mov esi,25000/////FLY老大说是RVA,所以我在下面使用importRec时就填的这个。
0042F27D    8B95 22040000   mov edx,dword ptr ss:[ebp+422]
0042F283    03F2            add esi,edx
0042F285    8B46 0C         mov eax,dword ptr ds:[esi+C]
0042F288    85C0            test eax,eax
0042F28A    0F84 0A010000   je SXSCGLZQ.0042F39A

所以在命令栏输入G 42F39A到如下:
0042F39A    B8 430F0200     mov eax,20F43
0042F39F    50              push eax
0042F3A0    0385 22040000   add eax,dword ptr ss:[ebp+422]
0042F3A6    59              pop ecx
0042F3A7    0BC9            or ecx,ecx
0042F3A9    8985 A8030000   mov dword ptr ss:[ebp+3A8],eax
0042F3AF    61              popad
0042F3B0    75 08           jnz short SXSCGLZQ.0042F3BA
0042F3B2    B8 01000000     mov eax,1
0042F3B7    C2 0C00         retn 0C
0042F3BA    68 430F4200     push SXSCGLZQ.00420F43
0042F3BF    C3              retn////////////直接F4运行到这句,

再F8即返回到如下:
00420F43    60              pushad
00420F44    E8 00000000     call SXSCGLZQ.00420F49
00420F49    5D              pop ebp
00420F4A    81ED 06104000   sub ebp,SXSCGLZQ.00401006
00420F50    8D85 56104000   lea eax,dword ptr ss:[ebp+401056]
00420F56    50              push eax
00420F57    64:FF35 0000000>push dword ptr fs:[0]
00420F5E    64:8925 0000000>mov dword ptr fs:[0],esp
00420F65    CC              int3
00420F66    90              nop
00420F67    64:8F05 0000000>pop dword ptr fs:[0]
00420F6E    83C4 04         add esp,4
00420F71    74 05           je short SXSCGLZQ.00420F78
00420F73    75 03           jnz short SXSCGLZQ.00420F78
00420F75    EB 07           jmp short SXSCGLZQ.00420F7E
00420F77    59              pop ecx
00420F78    8D9D 00104000   lea ebx,dword ptr ss:[ebp+401000]
00420F7E    53              push ebx
00420F7F    5F              pop edi
00420F80    2BFA            sub edi,edx
00420F82    57              push edi
00420F83    8A03            mov al,byte ptr ds:[ebx]
00420F85    3007            xor byte ptr ds:[edi],al
00420F87    43              inc ebx////////////与最开始时相同
////////在这里下断点,F9运行。断下后取消这个断点,再hr esp下硬件断点。继续F9运行
00420F88    47              inc edi
00420F89  ^ E2 F8           loopd short SXSCGLZQ.00420F83
00420F8B    58              pop eax
00420F8C    894424 1C       mov dword ptr ss:[esp+1C],eax///////与开始时相同
////在这里被硬件中断,取消上面设的硬件断点。F8到JMP EAX之后。
00420F90    61              popad
00420F91    FFE0            jmp eax

跳转之后如下:这里应该是最深层的OEP了吧?我dump成dump.exe
0041FBD8    55              push ebp
0041FBD9    8BEC            mov ebp,esp
0041FBDB    B9 0A000000     mov ecx,0A
0041FBE0    6A 00           push 0
0041FBE2    6A 00           push 0
0041FBE4    49              dec ecx
0041FBE5  ^ 75 F9           jnz short SXSCGLZQ.0041FBE0
0041FBE7    53              push ebx
0041FBE8    56              push esi
0041FBE9    57              push edi

此时,使用importRec,填IAT的oep=1FBD8,rva=25000,size=1000,get imports,删掉所有valid:NO条目,修复dump.exe

这时我运行dump.exe,发现打开了fox环境,但提示不是foxpro的exe.

这个过程我还缺少了哪些工作没做呀?

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
支持
分享
最新回复 (11)
雪    币: 356
活跃值: (51)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
xy2000在吗?
你去年年底在这写过胜新软件的破解文章,提到用foxspy,我现在直接用foxspy运行的话一点反应都没。。如果把foxspy改成foxXpy,倒是有点反应,但解码出错。想不出是什么原因了,给个提示?
2005-5-13 17:59
0
雪    币: 184
活跃值: (108)
能力值: ( LV9,RANK:410 )
在线值:
发帖
回帖
粉丝
3
FLY不太熟悉FOX,他打掉了壳就不管了,这个东西我也是能顺利脱掉它的壳了,可没法完整的还原FOXPRO的程序,这个壳对文件的头作了偷换,aming能出来指导指导就好了。

哪个能给俺们充充FOXPRO文件格式的电呀!!
2005-5-13 20:46
0
雪    币: 356
活跃值: (51)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
最初由 hnhuqiong 发布
FLY不太熟悉FOX,他打掉了壳就不管了,这个东西我也是能顺利脱掉它的壳了,可没法完整的还原FOXPRO的程序,这个壳对文件的头作了偷换,aming能出来指导指导就好了。

哪个能给俺们充充FOXPRO文件格式的电呀!!


FLY是牛人,牛人是不一样地~~~~~~~~这样子的壳,只要他愿动手,估计是分钟内的事,呵。

你还顺利脱了壳啊?我可连是否正确脱了壳都不敢确定。。。。。

能不能提一提你脱壳的过程与我不同的地方?
2005-5-13 21:02
0
雪    币: 356
活跃值: (51)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
谁能告诉我,我这样子的脱壳,是正确脱壳了吗?
2005-5-13 21:09
0
雪    币: 184
活跃值: (108)
能力值: ( LV9,RANK:410 )
在线值:
发帖
回帖
粉丝
6
脱壳我们是相同的,也找到了OEP,但是由于我也对FOX不熟悉,不知道如何找回被替换掉的FOXPRO文件头,只好不了了之
2005-5-13 22:09
0
雪    币: 356
活跃值: (51)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
求巨牛现身呀。。。。
2005-5-13 23:07
0
雪    币: 356
活跃值: (51)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
FOX格式是怎样的<?有人熟悉吗?
2005-5-14 22:21
0
雪    币: 184
活跃值: (108)
能力值: ( LV9,RANK:410 )
在线值:
发帖
回帖
粉丝
9
最初由 vical 发布
FOX格式是怎样的<?有人熟悉吗?


QQ10926609,不行就自己动手吧,加我朋友,我们共同进步
2005-5-15 15:12
0
雪    币: 356
活跃值: (51)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
已经加了,等待验证中。。。
2005-5-15 20:08
0
雪    币: 238
活跃值: (49)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
sbd
11
vical:
   你脱的很正确,我是用OD跟踪过来的,没用过importRec,没执行过脱壳后的程序,仔细看一下算法就知道,脱壳后是不能运行的,因为这个的代码依赖加壳后的数据。
   可以加我(QQ303021618),一起探讨。
2005-5-20 21:52
0
雪    币: 219
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
同样的问题,脱壳后如何修复.
2005-7-8 10:40
0
游客
登录 | 注册 方可回帖
返回
//