首页
社区
课程
招聘
[旧帖] [求助]关于缩小PE文件的SIZE问题 0.00雪花
发表于: 2008-1-31 17:38 4074

[旧帖] [求助]关于缩小PE文件的SIZE问题 0.00雪花

2008-1-31 17:38
4074
如题,我想手工删除PE文件的空白区域,即后面的一大段00 00 00 00 00 00 00 .......................
我现在只能删除最后一个段中的空白区域,删除之后改一下raw size就可以正常运行了

但是我想删除前面的段中的大片空白,如.text段等,但是我发现删除了之后,即使我改了raw size,也改了后面的段的raw offset(还有size of image等),都会提示"无效的win32程序......"
请问我需要怎么修改才能让程序正常的运行起来呢?
希望详细解答一下,最好做个简单的教程吧,在此谢过了

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 485
活跃值: (12)
能力值: ( LV9,RANK:490 )
在线值:
发帖
回帖
粉丝
2
对齐呢?改了吗?
2008-1-31 18:09
0
雪    币: 221
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
3
是Section Alignment 吗?
这个应该如何调整呢?
2008-1-31 18:34
0
雪    币: 221
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
4
改了还是不行,petnt能否举个例,删除掉.text段中的空白之后需要进行怎样的调整,谢谢
2008-1-31 18:45
0
雪    币: 849
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
嗯,关注一下
2008-1-31 18:57
0
雪    币: 485
活跃值: (12)
能力值: ( LV9,RANK:490 )
在线值:
发帖
回帖
粉丝
6
要注意两个地方:
一、注意对齐
File Alignment 一般情况下为200,所以你删除空白区域后一定要保证下一个节的起始位置是200的倍数。
二、主要修改的参数应该是RawOffset,其他的倒可以不必太关心。RawSize我试过,修改为0居然也不影响程序运行。注意如果修改在中间的段,需要对后面所有的段的RawOffset进行更改。

附我更该过的例子:
其中:dump2_.exe为 我加壳又脱壳后的记事本
      dump2_1.exe为 将第一个节RawOffset改为400的文件(原1000)
      dump2_2.exe为 将第三个节向前移到20E00的例子(原21000)

所有更改之修改了RawOffset,请用Stud_PE对更改前后进行对比。
上传的附件:
2008-1-31 19:45
0
雪    币: 221
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
7
petnt你真够热心!
感激之情,无以言表
2008-1-31 20:54
0
雪    币: 221
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
8
File Alignment不能修改吗?我想把它修改为50,然后起始位置为50的倍数怎么不行?
2008-1-31 20:58
0
雪    币: 485
活跃值: (12)
能力值: ( LV9,RANK:490 )
在线值:
发帖
回帖
粉丝
9
对于X86可执行文件,这个值通常是0x200或0x1000。这个值必须是2的幂,并且,如果SectionAlignment小于cpu的页尺寸,这个域必须与SectionAlignment匹配。

       ---------------------摘自《软件加密技术内幕》
具体多少可行,可试验验证。
2008-1-31 21:40
0
游客
登录 | 注册 方可回帖
返回
//