首页
社区
课程
招聘
关于 ASProtect 2.1x SKE 脱壳
发表于: 2005-12-26 16:31 7164

关于 ASProtect 2.1x SKE 脱壳

2005-12-26 16:31
7164
论坛上SYSCOM发了很多关于ASProtect 2.1x SKE的脱壳文章,
我也照葫芦画瓢练习了一下。凑巧遇到一程序就是用的
ASProtect 2.1x SKE加的壳(PEID0.94),于是实战开始:

1.忽略除内存访问异常外的其它异常 F9运行
2.按 CTRL+B 搜索 83 C4 2C 5D 5F 5E 5B C3  找到一处位置。
  但是下硬件断点后直到程序运行也没有中断下来!
  于是在第31次异常后(32次异常后程序运行)在SEH句柄处F2
  下断点,SHIFT+F9一次中断下来后取消断点。这时向下翻就
  可以看到刚才搜索到的位置! 下F2断点 F9运行后中断下来了:)
3.取消断点 F7跟进CALL 运行到RET时 按 CTRL+B 搜索
  89 45 F0 B8 00 07 00 00 找到一处地方 修改跳转吧。
4.F7一下来到伪OEP开始处(?) 找空地贴上PATCH代码 并在代码开始处
  新建EIP,开始模拟运行每一处的 CALL 00XX0000。
  但是跳到相应位置执行call时出错了! :(  感觉是模拟运行的
  参数可能有问题,无奈汇编基础太差,找不出原因。 恳请高手指点!

脱壳无果只有考虑INLINE PATCH了。幸运的是ASProtect 2.1x SKE对付
inline patch的方法没什么特别的,按照以前的方法就可以搞定。只是
需要注意的是壳中增加了对一些空闲位置的检测,不小心就会发现你写
的修复代码被清零了!下内存访问断点就能找到清除代码 也相应PATCH
一下就OK了。

个人感觉对付ASProtect 2.1x SKE加壳程序,采用INLINE PATCH更好破
解,但不利于软件的汉化。

不知道大家怎么看,希望能多多交流一下。

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

收藏
免费 0
支持
分享
最新回复 (15)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
正在努力学习ASProtect 2.1x SKE脱壳中!
你能看的懂!我还看不懂!晕了
2005-12-28 22:51
0
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
3
代码被清零是因为你用了程序原来的空间,而这些地方被使用到
自己加空间就行了
2005-12-28 22:57
0
雪    币: 233
活跃值: (10)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
4
感谢回复

这些天研究ASPR的壳 发现很多都不能用LOVEBOOM和SYSCOM的方法
主要原因在于SYSCOM的关键PATCH位置 (push 700)以及LOVEBOOM
的PATCH点(call ????)在到达stolen code开始处进行修复时并没有
运行到那些位置(ASPR作者做了改进?) 但是进入CALL慢慢跟踪能
找到API解密地址出现的地方:)  

修复真是很麻烦的事 底子差 郁闷啊  
2005-12-28 23:51
0
雪    币: 312
活跃值: (27)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
顶上去,,请各位大侠们多好几篇ASProtect脱壳的详文,我这等初学者实在需要的很!!
2005-12-29 19:02
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
兄弟别郁闷了!
我现在ASProtect 2.1x SKE -> Alexey Solodovnikov
这个壳我脱了不知道怎么修复!
脱后为Borland Delphi 6.0 - 7.0编写

还有PEBundle 2.0x - 2.4x-> Jeremy Collake [Overlay]
这个壳脱后也怎么修复?我也不会!
脱后是Microsoft Visual C++ 6.0编写!

还真郁闷了!哎呀!
2005-12-29 19:28
0
雪    币: 133
活跃值: (22)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
现在流行新人脱变态壳,老鸟自称是壳盲。。。
2005-12-29 20:15
0
雪    币: 233
活跃值: (10)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
8
ASPR2.1X的壳总算搞定了

再次感谢SYSCOM和LOVEBOOM的精彩脱壳教程

根据我脱这种壳的过程给新手一个建议:如果发现按教程无法
修复IAT时,一定要自己跟进那个CALL看看有什么地方出现API
解密后的地址,并写出相应的修复代码。

修复IAT后先DUMP FULL然后立即DUMP REGION附属数据,否则
脱壳后程序无法运行的
2006-1-2 16:24
0
雪    币: 224
活跃值: (147)
能力值: ( LV9,RANK:970 )
在线值:
发帖
回帖
粉丝
9
最初由 Phoenix 发布
现在流行新人脱变态壳,老鸟自称是壳盲。。。



此帖炫耀的成分比较重
放个教程出来吧
2006-1-2 16:33
0
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
10
楼主根据你的第3步


3.取消断点 F7跟进CALL 运行到RET时 按 CTRL+B 搜索
89 45 F0 B8 00 07 00 00 找到一处地方 修改跳转吧。


我找到这样的代码


009E7188 8945 F0 mov dword ptr ss:[ebp-10],eax
009E718B B8 00070000 mov eax,700
009E7190 E8 B7B3FDFF call 009C254C


请问如何修改跳转?谢谢
2006-1-2 17:13
0
雪    币: 233
活跃值: (10)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
11
最初由 chinadev 发布
如何修改


MOV EAX,700   修改 ==>JMP XXXXXXXX(补丁代码相应位置)

一般ASPR有检测 建议设置硬件执行断点并用脚本来完成跳转  
2006-1-2 18:59
0
雪    币: 215
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
最初由 okdodo 发布
ASPR2.1X的壳总算搞定了

ASPR2.1X的壳总算搞定了

再次感谢SYSCOM和LOVEBOOM的精彩脱壳教程

根据我脱这种壳的过程给新手一个建议:如果发现按教程无法
修复IAT时,一定要自己跟进那个CALL看看有什么地方出现API
解密后的地址,并写出相应的修复代码。

修复IAT后先DUMP FULL然后立即DUMP REGION附属数据,否则
脱壳后程序无法运行的

用的是哪个例子? 方法是INLINE PATCH吗?
2006-1-3 13:00
0
雪    币: 233
活跃值: (10)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
13
最初由 wwwddd 发布

用的是哪个例子? 方法是INLINE PATCH吗?


不是用的SYSCOM和LOVEBOOM教程的例子 稍微有些不同
换PATCH点脱壳后运行正常。

不是用的INLINE PATCH 复杂了很多 不过多数是体力活
2006-1-5 18:10
0
雪    币: 215
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
最初由 okdodo 发布


不是用的SYSCOM和LOVEBOOM教程的例子 稍微有些不同
换PATCH点脱壳后运行正常。

........


我照着SYSCOM的帖子“ASProtect 2.1x SKE + Delphi + Stolen Code ”所说步骤,一步步做下来,反复了几次也把壳脱了,发现之前修复版本运行不正常是因为full dump后有些多余的块没有去掉,里面的数据没有清除,导致脱壳后运行
错误。
后来试着同样方法脱一个使用ASProtect 2.1x SKE SDK的有注册版功能的软件,
我已经有完全注册版本了,结果脱出来的软件虽可初始运行,但后期运行发生异常,在Ollydbg里面还看到出现新线程等等信息,并且还经常有校验注册的情况,脱出来的块有>20个。像这种情况也是,INLINE PATCH可行,完全脱壳就
比较困难了。
2006-1-5 23:56
0
雪    币: 233
活跃值: (10)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
15
再次尝试一个asprotect2.1x加壳的程序~

发现和以前有点不同:忽略所有异常后,F9运行
结果到程序运行后只有两次INT3异常,无法找到
最后一次异常,有谁遇到这种情况吗?能否指点
一下 

不知道是不是新版的,没用到内存访问异常吗?
2006-1-13 08:14
0
雪    币: 233
活跃值: (130)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
16
你要是想再深入的研究aspr,别参考syscom的文章, 现在那几篇只是针对一般的delphi和bc的, 作为教程只会误导
2006-1-13 09:10
0
游客
登录 | 注册 方可回帖
返回
//