基地首页 | 基地文章 | 基地动画 | 基地软件 | 技术论坛 | 会员学院
 
 
热门搜索:安全 安全工具 网络安全 会员培训 安全动画 安全
攻防总结免费资源网赚文章网管技巧防火墙技术端口入侵Sniffer嗅探arp技术
DDOS攻防3389攻防灰鸽子文章逆向工程破解实例加密技术脱壳技术溢出漏洞
serv-u漏洞社会工程学渗透技术跨站技术提权技术
 您现在的位置: 新世纪网安基地 >> 文章 >> 菜鸟宝典 >> 破解基础 >> 文章正文
脱壳后软件减肥大法
作者:admin    文章来源:转载    点击数:    更新时间:2008-11-8

最近练习脱壳,将用98的记事本用Armadillo 3.10加壳作试验,52K --> 324K脱壳后文件大小达到了588K,比脱壳前竟然大了10倍多,于是想将之减肥,查看雪精华,没找到这方面的内容。正在学习PE文件结构,于是自己动手试验一下。 


先看看加壳前文件的sections 

建议装入地址:      0x00400000 
---------------------------------------------------------- 
节区名称  节区大小  虚拟地址  Raw_尺寸  Raw_偏移  节区属性 
---------------------------------------------------------- 
.text     00003FD4  00001000  00004000  00001000  60000020 
.data     0000084C  00005000  00001000  00005000  C0000040 
.idata    00000E02  00006000  00001000  00006000  40000040 
.rsrc     00004FB8  00007000  00005000  00007000  40000040 
.reloc    00000AC6  0000C000  00001000  0000C000  42000040 

加壳后: 
建议装入地址:      0x00400000 
---------------------------------------------------------- 
节区名称  节区大小  虚拟地址  Raw_尺寸  Raw_偏移  节区属性 
---------------------------------------------------------- 
.text     00003FD4  00001000  00000000  00000000  60000020 
.data     0000084C  00005000  00000000  00000000  C0000040 
.idata    00005E02  00006000  00000000  00000000  40000040 
.reloc    00000AC6  0000C000  00000000  00000000  42000040 
.text1    00020000  0000D000  00014000  00001000  E0000020 
.adata    00010000  0002D000  00005000  00015000  E0000020 
.data1    00010000  0003D000  00006000  0001A000  C0000040 
.reloc1   00010000  0004D000  00002000  00020000  42000040 
.pdata    00030000  0005D000  0002A000  00022000  C0000040 
.rsrc     00005000  0008D000  00005000  0004C000  40000040 

脱壳后文件节表: 
建议装入地址:      0x00400000 
---------------------------------------------------------- 
节区名称  节区大小  虚拟地址  Raw_尺寸  Raw_偏移  节区属性 
---------------------------------------------------------- 
.text     00003FD4  00001000  00003FD4  00001000  60000020 
.data     0000084C  00005000  0000084C  00005000  C0000040 
.idata    00005E02  00006000  00005E02  00006000  C0000040 
.reloc    00000AC6  0000C000  00000AC6  0000C000  42000040 
.text1    00020000  0000D000  00020000  0000D000  E0000020 
.adata    00010000  0002D000  00010000  0002D000  E0000020 
.data1    00010000  0003D000  00010000  0003D000  C0000040 
.reloc1   00010000  0004D000  00010000  0004D000  42000040 
.pdata    00030000  0005D000  00030000  0005D000  C0000040 
.rsrc     00005000  0008D000  00005000  0008D000  40000040 
.mackt    00001000  00092000  00001000  00092000  E0000060 

其中.rsrc是文件资源节,.mackt节是imprec修复输入表时候新加的节。 

容易发现有用的节只有 
---------------------------------------------------------- 
节区名称  节区大小  虚拟地址  Raw_尺寸  Raw_偏移  节区属性 
---------------------------------------------------------- 
.text     00003FD4  00001000  00003FD4  00001000  60000020 
.data     0000084C  00005000  0000084C  00005000  C0000040 
.idata    00005E02  00006000  00005E02  00006000  C0000040  
.rsrc     00005000  0008D000  00005000  0008D000  40000040 
.mackt    00001000  00092000  00001000  00092000  E0000060 
其他节都是脱壳后留下的无用的垃圾,所以只要将它们删掉就可以了达到我们减肥的效果了。当然对具体的壳也要删除的节也不同,具体问题具体分析吧,。 

Let’s go! 

第一步:从节表中删除 
先几下这几个节的起始位置,几个节的Raw是从0000C000到0008D000-1 
LordPE中PE Edit中在这几个节点右键选"wipe section header",将这几个节从节表中删除. 


第二步:从文件中删除 
HexWorkshop打开该文件,选择偏移0000C000到0008D000-1,然后按del删除。 


第三步:调整节表属性 
只是删除了节表项目和文件中内容还不行,还要设置好节属性。 

可以通过编程实现资源节的RVA调整,使RVA偏移等于文件偏移,较麻烦,且.mackt存有输入表信息很多RVA值不好改动。 
我们用简单的办法,不动它的RVA地址,只改变它的文件偏移。 
PE Edit中 先点击sections,然后选择.rsrc节,右键edit section header 
因为删除的节首的Raw offset为0000C000,所以现在.rsrc节的节首Raw Offset为0000C000,更改后。 

.rsrc下面的节.mackt的Raw_偏移 = .rsrc节的Raw_偏移 + .rsrc节的Raw_尺寸 = 0000C000 + 00005000 =  

00011000  
故更改.mackt 节的Raw_偏移为 00011000  

还没完,如果呢现在试验一下,就会报告不是有效的win32程序 
还要调整一下.rsrc节上面的这一节.idata的节区大小,保证相邻节的VA地址是连续的 
(.rsrc节的虚拟地址0008D000) - (.idata节的虚拟地址00006000)  = 00087000 
所以设置.idata的节区大小为00087000 


第四步:调整数据目录表属性 
由于我们把.reloc节给删除了,所以还要在数据目录表中将Relocation Table清0,当然这一步不是必要, 
因为exe文件基本上不会用到这一节的。 


保存,试验一下,是不是OK了呢,588K --> 72K,比起原先52K虽然还大了一点,但已经比较满意了。 

『关闭该页』 『打印该页』

  • 上一篇文章:
  • 责任编辑:Wangtianxiang 
  • 下一篇文章: 没有了
  • 最近更新
    推荐文章ms08067利用方法傻瓜化
    推荐文章让你彩虹QQ显示你的IP
    推荐文章不让自己显示在彩虹QQ
    推荐文章盗版Windows XP系统避
    推荐文章DOS命令综合学习版
    推荐文章不怕服务器被入侵---搞
    推荐文章黑客攻防:网页挂马攻
    推荐文章ADSL搭配无线路由器组
    推荐文章HTML七种加密解密
    推荐文章实例讲解:管理员常用D
    热门文章
    推荐文章ms08067利用方法傻瓜化
    普通文章教你ms08-067溢出的超
    普通文章Ms08-067 Exp 详细测试
    推荐文章让你彩虹QQ显示你的IP
    普通文章微软MS08-067远程控制
    普通文章Ms08-067 Exp 详细测试
    普通文章共享宽带的免费管理员
    普通文章10个常用菜鸟必学DOS命
    推荐文章不让自己显示在彩虹QQ
    普通文章知道手机号码如何查到
    相关文章
    经验分享:用流量赚钱的
    嗅探中当机的一点点启示
    微软“黑屏”最大后遗症
    反围剿,快速扫清系统中
    100%成功取回被盗的QQ号
    巧破ADSL账号被盗案
    看到一个思路新颖的下载
    将入侵者关在门外
    反腐作战 三招揪出系统启
    网管人员必看 优化局域网
    金山毒霸2009大规模公测
    全国依法打击整治网络淫
    教你提高杀毒效率 永久告
    惊天揭秘:奥运网络安保
    警报:Adobe Reader/Acro
    Windows Server安全漏洞
    新手必学的安全保护常识
    解读“鼠标乱动是否中毒
    系统注册表知识完全揭秘
    多种杀毒方式 三分钟轻松
    关于我们 | 加入会员 | 网安商城 | 投稿方法 | 广告报价| 友情连接 | 网站地图 | 网安论坛网安招聘
    加入会员咨询QQ:65444425 投稿方法: 广告与合作QQ:9324223

    浙ICP备06031184号