首页
社区
课程
招聘
[原创]Krypton0.5主程序脱壳
发表于: 2012-6-15 19:30 6542

[原创]Krypton0.5主程序脱壳

2012-6-15 19:30
6542

【软件简介】:这个壳的anti一般,使用了多线程(首次在壳中出现?)。it处理还可以,但强度不够。 http://www.lockless.com 注意: 长时间不更新,稳定性兼容性不是很好,不推荐商业软件采用。<出自看雪描述> 
 
【作者声明】:初学Crack,只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教! 
 
【调试环境】:WinXP、Ollydbg1.09、PEiD、LordPE、ImportREC V1.6 
 
前言:留一篇文章记录自己的成长,通过调试该软件使你彻底了解加密壳的世界,是如此复杂繁琐的一件事。同时崇拜Patch Code高手,写脚本调试就简单多了。但本
 
人因为很没有耐心,所以锻炼一下。<如果你有更好锻炼耐心的方法,请PM我,谢谢!>
 
本文主要讲解除了K-Protect on Api之外,其他选项全部扣上<英文不懂,翻译不准,O(∩_∩)O哈哈~>,因为K-Protect on API强度很弱。K-Protect on API 主要采用
 
flags - 0xff 来判断是否加密IAT,只要在中断处理Iat哪里找到该跳转并patch重定向代码即可。
 
快速到达OEP方法:
 
在VirtualAlloc F2断下三次,直接在Code段F2直接到达OEP<软件只添加K-Protect on API>的情况下使用。如果勾选K-Execution直接中断在该选项处理代码。
 
K-Execution一共有五种模拟代码处理方式<其实只有四种,但是通过asm编译程序的对比,主程序将FF25类型API也定向到FF15,所以也Patch相关代码进行处理>。因为
 
只处理FF15代码,导致不兼容其他编译程序,默认支持asm程序。<其他程序除了不勾选K-Execution选项才可以加壳成功>
 
第一种模拟方式:flags:0x5 模拟:API
第二种模拟方式:flags:0x0 模拟:push [Addr]
第三种模拟方式:flags:0x1 模拟:模拟一段代码,0xff之内字节。
第四种模拟方式:flags:0x2 模拟:mov [Addr],0x?
第五种模拟方式:flags:0x3 模拟:cmp [Addr],0x?
 
要还原还必须找到这些Addr处理代码的<偏移值>和处理<代码地址类型>判断,然后通过原程序的解码操作进行Patch。工作量有点大,研究数天,因为找了脱文,似乎都
 
只讲解API处理。主程序也只有fly发过,但是脱文提到Oep处Dump即可运行。<fly脱文往下拉,有解释(*^__^*) 嘻嘻……>
 
OD载入:
 

004A4000 > 54 push esp
004A4001 E8 00000000 call Krypton.004A4006
004A4006 5D pop ebp
004A4007 8BC5 mov eax,ebp
004A4009 81ED 71444000 sub ebp,Krypton.00404471
004A400F 2B85 64604000 sub eax,dword ptr ss:[ebp+0x406064]
004FEFFD 66:8138 FF15 cmp word ptr ds:[eax],0x15FF ; 判断是否未15FF
004FF026 /0F85 C7000000 jnz 004FF0F3 ; 找不到就 Addr + 1 Size - 1
004FF054 8378 02 05 cmp dword ptr ds:[eax+0x2],0x5 ; 判断是否[FF15+0x2]是否为5 壳作的Flags    <这个也要记住的>
004FF07D /75 74 jnz short 004FF0F3 ; 判断是否不为5则跳
004FF0C9 8970 02 mov dword ptr ds:[eax+0x2],esi ; 取ESI填充        <这个我们要记录的>
004FF11B 40 inc eax ; Addr + 1
004FF13F 49 dec ecx ; Size - 1
004FF161 85C9 test ecx,ecx ; 测试SIZE是否为零
004FF18A ^\0F85 4EFEFFFF jnz 004FEFDE ; 如果相等则填充完毕

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

上传的附件:
收藏
免费 6
支持
分享
最新回复 (4)
雪    币: 292
活跃值: (153)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
2
哥哥 新的一集 你死了 。。。好想你啊。。。。临死前 还想摸一下我的头。
2012-6-15 19:36
0
雪    币: 154
活跃值: (40)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
3
打开按钮和信息按钮以及保护API按钮有点问题,晚点修复,刚还没测试呢,有兴趣的朋友,欢迎来讨论。
2012-6-15 19:44
0
雪    币: 154
活跃值: (40)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
4
? ? ?
2012-6-15 19:45
0
雪    币: 154
活跃值: (40)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
5
壳不知道还加了什么代码,在第一种类型处理代码中,打开按钮,信息按钮,API-Prote勾选,都加了 空的跳转和Call eax pop eax Call[内容都是无关紧要的],直接NOP掉,就可以完美运行加壳了。!~
2012-6-15 20:38
0
游客
登录 | 注册 方可回帖
返回
//