第一步:从节表中删除 先纪录这几个节的起始位置,几个节的Raw是从0000D000到0009E000-1 LordPE中PE编辑器中在这几个节点右键选“清除区段”。 第二步:调整节表属性 只是删除了节表项目和文件中内容还不行,还要设置好节属性。 可以通过编程实现资源节的RVA调整,使RVA偏移等于文件偏移,较麻烦,且.mackt存有输入表信息很多RVA值不好改动。 我们用简单的办法,不动它的RVA地址,只改变它的文件偏移。 用PE编辑器中,打开区段,选择.rsrc节,编辑,因为删除的节首的ROffset为0000D000,所以现在.rsrc节的节首ROffset为0000D000,更改! .rsrc下面的节.mackt的Raw_偏移 = .rsrc节的Raw_偏移 + .rsrc节的Raw_尺寸 = 0000D000 + 00005000 =00012000,故更改.mackt 节的Raw_偏移为 00012000 还要调整一下.rsrc节上面的节.idata的节区大小,保证相邻节的VA地址是连续的 (.rsrc节的虚拟地址0009E000) - (.idata节的虚拟地址00007000) = 00097000 所以设置.idata的节区大小为97000第三步:从文件中删除 HexWorkshop打开该文件,选择偏移0000D000到0009E000-1,全部删除! 保存,656K --> 76K,比起原先52K虽然还大了一点,但已经比较满意了。“减肥两大法则”1、 Contains(包含) 有标记的区段一般不能删除,没有标记的可优先考虑2、 用OD载入需要减肥的文件,忽略所有异常,打开内存镜像,分别在各个区段上F2下断,F9运行!如果程序能够跑起来的话,那么这个区段一般就可以删除掉了(无用/垃圾区段)!“心中有数”熟悉5中常见的语言特征以及特征区段!附录Contains .text 代码段,我们反编译程序经常看到。.data 数据快,程序初始化用。.idata 输入表.rsrc 全部资源,如图标,菜单,位图。.reloc 保存基地址重定位
区段减肥简单技巧
发布日期:2021-08-26 18:53:45
浏览次数:14
分类:技术文章
本文共 978 字,大约阅读时间需要 3 分钟。
转载于:https://www.cnblogs.com/cracksa/archive/2012/08/30/debug_qdjf_7.html
转载地址:https://blog.csdn.net/weixin_33894992/article/details/92881375 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
感谢大佬
[***.8.128.20]2024年04月02日 08时29分35秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Matlab与C++混合编程
2019-04-27
unity3D 射线球体投射碰撞检测
2019-04-27
Unity3D 摇一摇功能
2019-04-27
unity3D 在屏幕边框创建碰撞框
2019-04-27
unity3D 音频播放
2019-04-27
xml中常用的转义符
2019-04-27
腾讯MSDK手Q微信授权登录
2019-04-27
腾讯MSDK for Unity
2019-04-27
关于MSDK的几个难点
2019-04-27
使用UnityEditor做工具
2019-04-27
Visual Studio我常用的快捷键
2019-04-27
写C# dll供Unity调用
2019-04-27
Linux制作run安装包
2019-04-27
一分钟学会C#解析XML
2019-04-27
unity AssetBundle的资源管理
2019-04-27
【转】Unity中HideInInspector和SerializeField一起使用
2019-04-27
单例模板类
2019-04-27
Unity与java相互调用
2019-04-27
android截屏代码
2019-04-27
unity NGUI图文混排
2021-06-30