首页
社区
课程
招聘
[旧帖] [讨论]如何在一PE文件中增加区块,然后填充数据,在程序中访问这段数据? 0.00雪花
发表于: 2007-9-5 12:51 5012

[旧帖] [讨论]如何在一PE文件中增加区块,然后填充数据,在程序中访问这段数据? 0.00雪花

2007-9-5 12:51
5012
如何在一PE文件中增加区块,然后填充数据,在程序中访问这段数据~

比如a.exe文件大小20k,我想增加5K的区块,然后填充,然后在a.exe的函数调用中访问这段我填充的数据,怎么做?

[课程]FART 脱壳王!加量不加价!FART作者讲授!

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
使用工具最为方便
比如 topo

操作简单

添加后工具会告诉你添加数据的地址,想调用 jmp过去就好了
2007-9-5 14:12
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
要在PE文件中加入新节有两种办法:
1、使用工具,如 壹群老虎 所说。
2、写程序自己添加,这种办法需要对PE文件格式有一定了解。大致有一下几个步骤。
     a)将文件读入内存。
     b)根据PE结构赋值几个重要数据结构:PIMAGE_NT_HEADERS, PIMAGE_SECTION_HEADER(是一个数组)
     c)在PIMAGE_SECTION_HEADER数组中添加一个新成员,就是你自己添加节的IMAGE_SECTION_HEADER,注意结构中各个属性的赋值。
     4)为新建分配空间。
     5)将在内存中构造的新的PE写回到磁盘上。

写的不是很清楚,具体的可以看 罗云彬 老师编著的 《Windows环境下32位汇编语言程序设计》这本书,有详细的例子,非常经典。
2007-9-5 19:00
0
雪    币: 33
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
要注意的问题。在可选头部中有文件大小的效验。
我有个方法。填充MS_DOS实模式残留程序那段。
然后修改大小。修改MZ头部的NTHEADER偏移量
Q群:20465971
欢迎加入。
我做C的。有需要可以帮忙
2007-9-8 20:11
0
游客
登录 | 注册 方可回帖
返回
//