首页
社区
课程
招聘
请教:upx脱壳后程序无法运行(已经修复)
发表于: 2004-8-5 18:31 10426

请教:upx脱壳后程序无法运行(已经修复)

2004-8-5 18:31
10426
软件:E阳网络电视
下载地址:http://soft.jetdown.com/soft/43946.htm
这个软件看网络电视个人觉得蛮不错的,可惜要注册。所以小弟不才尝试破解下
peid查壳:UPX 0.89.6 - 1.02 / 1.05 - 1.24 -> Markus & Laszlo
我使用工具UPXShellEx_1RC7_SC自动脱壳,或者手动脱壳后出现的问题都是一样的,就是程序无法执行,双击程序后任何反映也没有???
请教各位指点一下!
谢谢!

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 1
支持
分享
最新回复 (6)
雪    币: 217
活跃值: (70)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
修复输入表或者有自检验
2004-8-5 19:57
0
雪    币: 279
活跃值: (375)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
3
暗桩
2004-8-5 20:04
0
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
4
下载了几个版本都无法正常安装,郁闷
http://www.skycn.com/soft/16041.html
下载了4.5.6版本,看了一下,有个简单的长度检验,跳过去就可以运行了

nettv.exe是UPX壳,使用upx-ripper自动脱壳

修改1个字节
00416C97     FF15 A0114000         call dword ptr ds:[<&MSVBVM60.#578>]  ; MSVBVM60.rtcFileLen
//取文件长度
00416C9D     8985 58FFFFFF         mov dword ptr ss:[ebp-A8],eax
00416CA3     8D85 04FFFFFF         lea eax,dword ptr ss:[ebp-FC]
00416CA9     50                    push eax
00416CAA     8D8D 08FFFFFF         lea ecx,dword ptr ss:[ebp-F8]
00416CB0     51                    push ecx
00416CB1     6A 02                 push 2
00416CB3     FF15 94114000         call dword ptr ds:[<&MSVBVM60.__vbaFr>; MSVBVM60.__vbaFreeStrList
00416CB9     83C4 0C               add esp,0C
00416CBC     8D8D F4FEFFFF         lea ecx,dword ptr ss:[ebp-10C]
00416CC2     FF15 20124000         call dword ptr ds:[<&MSVBVM60.__vbaFr>; MSVBVM60.__vbaFreeObj
00416CC8     8D95 C4FEFFFF         lea edx,dword ptr ss:[ebp-13C]
00416CCE     52                    push edx
00416CCF     8D85 D4FEFFFF         lea eax,dword ptr ss:[ebp-12C]
00416CD5     50                    push eax
00416CD6     8D8D E4FEFFFF         lea ecx,dword ptr ss:[ebp-11C]
00416CDC     51                    push ecx
00416CDD     6A 03                 push 3
00416CDF     FF15 2C104000         call dword ptr ds:[<&MSVBVM60.__vbaFr>; MSVBVM60.__vbaFreeVarList
00416CE5     83C4 10               add esp,10
00416CE8     C745 FC 05000000      mov dword ptr ss:[ebp-4],5
00416CEF     8B8D 58FFFFFF         mov ecx,dword ptr ss:[ebp-A8]
00416CF5     81E9 00F00100         sub ecx,1F000
//脱壳前的长度是1F000
00416CFB     0F80 CC560000         jo nettv.0041C3CD
00416D01     FF15 78104000         call dword ptr ds:[<&MSVBVM60.__vbaI4>; MSVBVM60.__vbaI4Abs
00416D07     3D 00040000           cmp eax,400
00416D0C     7E 0D                 jle short nettv.00416D1B
//改为:jmp  00416D1B  ★★
00416D0E     C745 FC 06000000      mov dword ptr ss:[ebp-4],6
00416D15     FF15 30104000         call dword ptr ds:[<&MSVBVM60.__vbaEn>; MSVBVM60.__vbaEnd
//Game Over!

可以运行了
2004-8-6 03:17
0
雪    币: 508
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
谢谢各位的帮助
2004-8-8 16:31
0
雪    币: 508
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
请教fly你上面的那段代码是怎么样跟到的,我脱壳后程序代码是这样的
00401FAC >  68 0C204000     PUSH nettv_Un.0040200C
00401FB1    E8 F0FFFFFF     CALL <JMP.&MSVBVM60.#100>
00401FB6    0000            ADD BYTE PTR DS:[EAX],AL
00401FB8    0000            ADD BYTE PTR DS:[EAX],AL
00401FBA    0000            ADD BYTE PTR DS:[EAX],AL
00401FBC    3000            XOR BYTE PTR DS:[EAX],AL
00401FBE    0000            ADD BYTE PTR DS:[EAX],AL
00401FC0    50              PUSH EAX
00401FC1    0000            ADD BYTE PTR DS:[EAX],AL
00401FC3    0040 00         ADD BYTE PTR DS:[EAX],AL
00401FC6    0000            ADD BYTE PTR DS:[EAX],AL
00401FC8    6D              INS DWORD PTR ES:[EDI],DX                ; I/O 命令
00401FC9    04 61           ADD AL,61
00401FCB    AA              STOS BYTE PTR ES:[EDI]
00401FCC    BD C3824D95     MOV EBP,954D82C3
00401FD1    A4              MOVS BYTE PTR ES:[EDI],BYTE PTR DS:[ESI]
00401FD2    BF 6035E0B0     MOV EDI,B0E03560
00401FD7    6F              OUTS DX,DWORD PTR ES:[EDI]               ; I/O 命令

然后怎么跟踪才能到比较大小的地方呢??谢谢!
2004-8-8 17:00
0
雪    币: 239
活跃值: (478)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
7
BP MSVBVM60.__vbaI4Abs
这样就可以了!
2004-8-8 18:33
0
游客
登录 | 注册 方可回帖
返回
//