首页
社区
课程
招聘
[旧帖] 高手来帮下忙 关于程序section 和内存的关系 0.00雪花
发表于: 2009-11-22 14:00 3707

[旧帖] 高手来帮下忙 关于程序section 和内存的关系 0.00雪花

2009-11-22 14:00
3707
小弟有2个问题
1
为了让程序更加好看
扩大一个code段即代码段(并非在程序末尾加一个区段)
主要是不想调用补丁的时候还要跨区段 而且多了个区段也不好看啊
如果按照我这样的做法的话 应该要改些什么地方啊?
比方说 把代码段加长1000
name       voffset    vsize           roffset    rsize
.text       1000      2000            400        2000
.data       3000      1000            2400       1000

改为:
name       voffset    vsize          roffset    rsize
.text       1000      3000             400       3000
.data       4000      1000            3400       1000
结果出错..
还需要改什么地方啊?

2
小弟最近在学习PE diy 但对文件怎么从硬盘加载到内存 而区段分别映射到哪些地方有很大的以后
比如 text段有大小2000(400开始)
我想把text段分为2 个段 text1和 text2 大小都为1000
于是
name       voffset    vsize         roffset    rsize
.text1     1000      1000           400        1000
.text2     2000      1000           1400       1000
.data       3000      1000          2400       1000

结果程序错误

这样难道有错嘛?
很困惑啊
小弟菜 刚接触这DIY 却对这有着浓厚的兴趣 希望哪位大牛指点下  或者是有关exe怎么加载到内存(主要是对硬盘上的东西加载到内存中感到很困惑)中方面的文章
希望发个链接  

映射的时候是按照可执行文件区段1个字节一个字节的copy进内存去吗?

[课程]Linux pwn 探索篇!

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 2523
活跃值: (520)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
注意程序中内存对齐和文件对齐的粒度
2009-11-22 14:05
0
雪    币: 46
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
注意了啊 还是不行 观望中
希望各位大牛能给我个满意的答案
2009-11-22 15:09
0
雪    币: 162
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
必须得把段一个一个分离再重建PE才行,因为voffset  3000处原来是数据段,你手动将当标识成代码段的时候,必须把内容同时也替换了
2009-11-22 16:07
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
qa aa a a a a  a
2009-11-22 16:15
0
雪    币: 46
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
主要是代码段和数据段的问题
你的意思是代码段可以移动了嘛
我一直对代码段和数据段有疑惑
数据段可以随便移动吗?
比如说以前的RVA是2000 我想把它移动到3000 当然 后面的区段RVA也要跟着加1000
这样行么
windows的代码段是不是这样一个访问机制:
比如  00401000           push    eax         (eax=00402000即访问了一个在数据段里面的值)
那么移动了数据段之后 原来的 在00402000的数据跑到00403000去了
就访问不到了啊
2009-11-22 17:10
0
雪    币: 724
活跃值: (81)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
7
你修改后面所有SECTION的重定位,如果你的PE是加载在固定地址的,则基本没戏,除非你能找到所有的指针并修改它。
2009-11-23 10:40
0
游客
登录 | 注册 方可回帖
返回
//