180224 逆向-脱壳技术(7)

1625-5 王子昂 总结《2018年2月24日》 【连续第511天总结】
A. 脱壳技术(7) PE文件的优化
B.

脱壳后的优化

一般脱壳没有将外壳本身的代码去除,资源也没有完全释放,此时脱壳后的程序会比原始程序大
另外虽然能正常运行,但在一些场合下可能会遇到问题,例如一些汉化工具不识别脱壳后的文件,或某些功能无效等

优化输入表存放位置

用ImportREC重建输入表,一般是将生成的表放在新增的区块上。
这里存在可以优化的余地–原输入表位置一般存放在.data区块上

因此可以在该区块中找一片属性为“只读”的地方(防止被程序征用写入),将输入表复制过去即可

优化资源

有些软件脱壳后的资源不可查看、编辑,或者能编辑但无法保存,这是因为脱壳后资源没有完全释放

如Icon、Group icon等资源是放在外壳的内存空间中的,正常脱壳时没有把它们还原到应该呆的地方(.rsrc区段)导致无法读取或编辑

资源修复工具有很多,例如DT_ResFix, freeRes等

优化区段

下一步就是去除多余代码–外壳区段了,将这段不再需要被调用的代码删除即可

优化文件头

有一些文件头的字段需要被修复,重要的有以下几个:

  • EntryPoint
    函数入口点OEP,一般ImportREC会自动修正
  • BaseOfCode
    代码段的起始RVA,一般是第一个区段的RVA
  • BaseOfData
    数据段的起始RVA,一般是出了代码外的部分开始的RVA
  • SizeOfImage
    装入文件从基址到最后一个块的大小,向上取整,一般工具也会自动修正

C. 明日计划
脱壳技术(8)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值