首页
社区
课程
招聘
[求助]请教手动曾加Section的实现原理
发表于: 2005-12-28 23:17 3977

[求助]请教手动曾加Section的实现原理

2005-12-28 23:17
3977
请教手动曾加Section的实现原理
已知修改NumberOfSections的值能实现增加Section
但Section对后的遍移和大小是如何计算取值的呢,这个问题我一直搞不懂
请大家帮忙解答一下,谢谢

[课程]Linux pwn 探索篇!

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
除了改NumberOfSections,还要改 sizeofimage,反正在xp不改是不行的

文件偏移 就是原来的 pe文件的最末尾的位置啊
section 偏移 就是 上一个节 的section 偏移+ section 对齐后的大小
2006-1-12 16:19
0
雪    币: 272
活跃值: (143)
能力值: ( LV15,RANK:930 )
在线值:
发帖
回帖
粉丝
3
据我所知并不是每个文件都可以增加新的节。
要想增加一个节主要要看最后一个节头到第一个节之间是否有足够的空间(这个空间应该为节头大小的 2 倍)
来增加添加一个节头。新节的文件偏移为最后一个节的文件偏移加上物理大小对齐后的位置(我也不清楚,为什么
在有些文件尾添加节不可以,这是我在处理 gcc 编译的 pe 文件时发现不可以的)

我说的不一定正确.
2006-1-12 17:35
0
雪    币: 233
活跃值: (130)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
4
最初由 dummy 发布
据我所知并不是每个文件都可以增加新的节。
要想增加一个节主要要看最后一个节头到第一个节之间是否有足够的空间(这个空间应该为节头大小的 2 倍)
来增加添加一个节头。新节的文件偏移为最后一个节的文件偏移加上物理大小对齐后的位置(我也不清楚,为什么
在有些文件尾添加节不可以,这是我在处理 gcc 编译的 pe 文件时发现不可以的)

........


可以增加PE头的大小, 然后各节的起始位置和大小相应的增加
只要保证各节的RVA和SIZE不变就可以
2006-1-12 22:16
0
雪    币: 2223
活跃值: (866)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
谢谢大侠们的解答
我去试一下……
2006-1-13 09:48
0
游客
登录 | 注册 方可回帖
返回
//