首页
社区
课程
招聘
[急]pe文件加壳后还能添加区段和代码吗?
发表于: 2012-11-28 08:50 5040

[急]pe文件加壳后还能添加区段和代码吗?

2012-11-28 08:50
5040
pe文件加壳后还能添加区段和代码吗?
例如:一个文件被asprotect加壳,是否还可以在上面添加 区段和代码?

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 1844
活跃值: (35)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
2
前题是目标没有文件校验的,当然如果有,你的先搞定它

明确说就是什么情况下都可以,就看看你行不行
2012-11-28 09:55
0
雪    币: 3
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
即使加的壳,它也有自己的套程序,它也有自己的导入表。只不过运行完自己的再跳到真正程序里而已。所以是可以再它基础上再加区段和壳的。当然如果原有的壳代码对程序本身大小做了校验,那么的话你改变了pe大小,会被发现,这样就加不上了
2012-11-28 09:59
0
雪    币: 46
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
前题是目标没有文件校验的,当然如果有,你的先搞定它

明确说就是什么情况下都可以,就看看你行不行

加区段很麻烦,如果PE头大小改变的话,整个PE都要重定位,这个你可以加N个区段

编译可执行文件可能容易写,重定位必编译还要麻烦,处理不好程序就报废

你可以用找个exe,区段如下:

区段名    内存对齐数  代码实际大小  文件代码地址   文件对齐数    代码属性
.txet       00001000   0000002c     00000400       00000200    6000020
.rdata     00002000   00000093    00000600       00000200    4000040
.data      00003000   00000000     00000800      00000200    C000040
.rsrc       00004000   00000000     00000A00       00000200    4000040

用loadper查看pe信息,然后用C32asm在程序尾部加N个00

N是文件块对齐(这里为200h),用loadper查看pe信息“文件块对齐” N是10进制,loadpe是16进制,然后保存

转到 “loadpe”界面,添加区段,默认为.Newsec,右键“编辑区段”,如下

名称       .Newsec     随便改8个字节
虚拟地址   00004000    这个不用改,因为区段是加到最后的
虚拟大小   00000000    这个是代码的实际大小
物理偏移   00000C00    根据上面的文件对齐得到我们可以这样  rsrc段的文件代码地址+文件对齐数
物理大小   00000200    这个是 虚拟大小 必须对齐 文件块对齐 上面为200h  如果虚拟大小<=200h  物理大小=200h  如果虚拟大小=201h   物理大小=400h  
标记       60000020  自己看着改,代码属性

文件中C00  就是这个区段的开始
2012-11-29 10:53
0
游客
登录 | 注册 方可回帖
返回
//