首页
社区
课程
招聘
[求助]一个Aspack壳,ImportREC无法修复导入表。
发表于: 2013-12-5 13:55 11424

[求助]一个Aspack壳,ImportREC无法修复导入表。

bxc 活跃值
6
2013-12-5 13:55
11424
最近在弄一个软件的汉化,发现有壳,是ASPack的壳。于是脱壳:
OD ESP定律直接到OEP,然后转储。ImportREC一加载这个进程,就没了。
起先以为是WIN8的问题,换到虚拟机里也这样。
而且用ODDump出来的文件。Exescope无法看到DOS、PE头等信息。
这是什么情况啊?试了几个ASPack脱壳机也不能运行,提示0xC0000005.

程序下载

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (15)
雪    币: 135
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
Unpacked。文件有点大。http://good.gd/2871162.htm

为啥我的OD都载入不了。晕菜。
2013-12-5 16:05
0
雪    币: 965
活跃值: (1186)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
伪壳吧,再仔细看看。
2013-12-5 18:21
0
雪    币: 239
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
你这程序本来就运行不了吧
2013-12-5 21:50
0
雪    币: 7048
活跃值: (3527)
能力值: ( LV12,RANK:340 )
在线值:
发帖
回帖
粉丝
5
本来可以的
2013-12-5 22:28
0
雪    币: 7048
活跃值: (3527)
能力值: ( LV12,RANK:340 )
在线值:
发帖
回帖
粉丝
6
这个程序原版是没壳的,破解版的EXE有壳,就是这个ASPack。
主要就是ImportREC一加载这个进程就退了。
选了保护模式就直接卡死。不知道什么情况。
2013-12-5 22:29
0
雪    币: 7048
活跃值: (3527)
能力值: ( LV12,RANK:340 )
在线值:
发帖
回帖
粉丝
7
你的脱掉了。请教下你是怎么修复IAT的啊。
2013-12-5 22:32
0
雪    币: 965
活跃值: (1186)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
8
用loadpe删除程序的tls数据。可正常载入OD,ImportREC选择伪装模式,不被ANTI,但是无法获取到IAT,不知道啥原因。最后JR发现Scylla_可修复输入表。且0.9版不行,只能用0.4版。
2013-12-6 15:36
0
雪    币: 7048
活跃值: (3527)
能力值: ( LV12,RANK:340 )
在线值:
发帖
回帖
粉丝
9
我的OD直接就能载入。
吾爱破解的人也说Scylla可以修复IAT。
2013-12-6 16:15
0
雪    币: 239
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
我用0.92的可以
OD载入的问题
不要用SOD就可以了
2013-12-6 22:40
0
雪    币: 965
活跃值: (1186)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
11
我只有0.91,有空了更新下。
2013-12-6 22:53
0
雪    币: 627
活跃值: (663)
能力值: ( LV9,RANK:270 )
在线值:
发帖
回帖
粉丝
12
OD载入目标会退出!
感谢amulin的提示,后来发现:1) 在OD的调试选项“异常”标签里将忽略全部勾选;2) StrongOD选项里不要勾选"!*Kill BadPE Bug"。就可以正常载入并停在ASPack的入口处。

用“ESP定律”脱壳,在OEP处,ImportREC确实不可用,可能有Bug。改用"Scylla x86 v0.9.1"可以,但不准确。
Scylla的"IAT Info"里OEP填入006E4493,点"IAT Autosearch"按钮显示:
  IAT found at VA 00D81000 RVA 00981000 Size 0x31F0 (12784)
点"Get Imports"按钮得到:
  IAT parsing finished, found 3160 valid APIs, missed 0 APIs
在OD里检查了一下,不是全部。于是手工在VA填入00D81000,Size填入00005B6C,再点"Get Imports"后得到完整的结果:
  IAT parsing finished, found 5793 valid APIs, missed 0 APIs
看来Scylla也不靠谱,其它版本未试。后来干脆不用工具,手工脱。

脱出来的结果与“原版”非常接近。因为ASPack压缩时有些东西未保存,不可能做到与“原版”完全一致。主要处理了导入表、重定位表、TLS和修补了资源数据,这样把ASPack的东西完全去掉了。

Einsbing大概是用某个工具脱的,从区段名可见到"UnPackEr By LoveBoom"字样。
但不够“完美”,有以下几个问题:1) 因为没有修补资源区段,ASPack添加的两个区段只去掉了一个。2) 重定位表目录没有修正。3) TLS目录没有修正,也造成不能去掉ASPack区段。

比较脱掉的“破解版”与“原版”的代码部分,有以下差异:
[FONT="Courier"]Org. vs Unpacked
================
1) 001B7018~001B701C(File offset)
Org.:
005B8018: 8B442410       mov         eax,[esp][010]     <-
005B801C: 5F             pop         edi                <-
005B801D: 5E             pop         esi
005B801E: 5B             pop         ebx
005B801F: 8BE5           mov         esp,ebp
005B8021: 5D             pop         ebp
005B8022: C21400         retn        00014

Cracked:
005B8018: E9B08A7C00     jmp         000D80ACD

2) 004A8991~004A8996
008A9991: 6683F8FF       cmp         ax,-1              <-
008A9995: 750A           jnz         0008A99A1          <-

008A9991: E947714D00     jmp         000D80ADD
008A9996: 90             nop

3) 004A89AB~004A89AF
008A99AB: 6685C0         test        ax,ax              <-
008A99AE: 7558           jnz         0008A9A08          <-

008A99AB: E93B714D00     jmp         000D80AEB

4) 0097FACD~0097FAF7
Appended codes in the cracked/unpacked
00D80ACD: B855020000     mov         eax,000000255
00D80AD2: 5F             pop         edi
00D80AD3: 5E             pop         esi
00D80AD4: 5B             pop         ebx
00D80AD5: 8BE5           mov         esp,ebp
00D80AD7: 5D             pop         ebp
00D80AD8: C21400         retn        00014
00D80ADB: 0000           add         [eax],al
00D80ADD: 66B80100       mov         ax,1
00D80AE1: 6683F8FF       cmp         ax,-1
00D80AE5: E9B78EB2FF     jmp         0008A99A1
00D80AEA: 90             nop
00D80AEB: 66B80100       mov         ax,1
00D80AEF: 6685C0         test        ax,ax
00D80AF2: E9118FB2FF     jmp         0008A9A08
00D80AF7: 90             nop[/FONT]

前三处都改为跳向第四处(代码段末尾)添加的对应地址,应该是关键跳。
但似乎还差东西,无论运行“原版”或“破解版”(脱或未脱),都报:
  License Server: Server data is not registered in the system.
不再深究了,感兴趣的可参考softworm近十年前的文章“破解Materialise Magics RP 9.0 - 看雪论坛2002~2004年镜像”。
2013-12-9 17:03
0
雪    币: 1632
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
下载不了,。。。。
2013-12-9 18:45
0
雪    币: 7048
活跃值: (3527)
能力值: ( LV12,RANK:340 )
在线值:
发帖
回帖
粉丝
14
很详细,十分感谢!
2013-12-10 10:10
0
雪    币: 2401
活跃值: (1402)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
15
看到 MistHill 发帖了,我也说两句吧。

那天晚上群里面看到大家都在研究,
我也稍微看了一下。
发觉一个有趣的现象。

就像上面所说的,不用伪装模式的话,用 ImportREC 载入就直接退出了。
脱壳后的文件也是如此。
不知道是不是脱壳的时候没处理好?
当时夜深了,还在看相棒,所以也没想要花时间去深究。

另外,提示 License Server: Server data is not registered in the system. 应该是正常的。
我猜测上传的不是完整的软件安装包。

hxxp://pan.baidu.com/s/19u2as
2013-12-11 10:42
0
雪    币: 7048
活跃值: (3527)
能力值: ( LV12,RANK:340 )
在线值:
发帖
回帖
粉丝
16
是的,不是完整软件包。
2013-12-11 11:39
0
游客
登录 | 注册 方可回帖
返回
//