首页
社区
课程
招聘
[求助]编程确定可执行文件代码段,数据段等的地址范围,用到那些知识
发表于: 2007-4-11 08:34 6489

[求助]编程确定可执行文件代码段,数据段等的地址范围,用到那些知识

2007-4-11 08:34
6489
请问各位如何编成确定可执行文件的代码段,数据段等的地址范围,请指点一下思路,用到哪些知识?谢谢!

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

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 2506
活跃值: (1030)
能力值: (RANK:990 )
在线值:
发帖
回帖
粉丝
2
了解一下PE文件格式。
2007-4-11 09:44
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
谢谢楼上,俺一直在了解。但是,调试技术揭秘中讲到:
每段中的Characteristic字段定义了段的访问属性,有三种定义段的内容的属性,即代码,初始化和为初始化数据(分别为IMAGE_SCN_CNT_CODE,IMAGE_SCN_CNT_INITIALIZED_DATA以及IMAGE_SCN_CNT_UNINITIALIZED_DATA)。但是系统装载程序忽略它们的值。因此,你不应该以来它们。
   有些病毒/压缩程序/保护程序根据是否存在属性IMAGE_SCN_CNT_CODE来确定代码段。这似乎不是一个坏主意。但是,应该注意可能出现以下情形,即没有段具备这种属性(这并不常见)或者这种属性被赋予数据段(并不频繁出现,但是仍然有可能出现)。
   我的疑问就是,根据某段的Characteristic字段来确定该段装载到内存后的属性(即代码段,数据段),是不是可靠,是不是可以通过这种方法确定段的属性。
2007-4-11 10:54
0
雪    币: 2506
活跃值: (1030)
能力值: (RANK:990 )
在线值:
发帖
回帖
粉丝
4
用Characteristic来定位某区段的属性是不可靠的。一般对于无壳的程序,可以通过读取入口点所在段来确定代码段。而跟在代码段下面的那个段一般就是数据段了。
2007-4-12 11:30
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
谢谢,明白了!
2007-4-12 16:48
0
游客
登录 | 注册 方可回帖
返回
//