首页
社区
课程
招聘
[求助]怎么识别一个PE文件有某个区域被填充了
发表于: 2009-8-5 10:33 4181

[求助]怎么识别一个PE文件有某个区域被填充了

2009-8-5 10:33
4181
假设在第一次碰到某个PE文件,这个PE文件标准的内容是:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX(一个X表示一块)
可是有人把它填充成

XX0XXXXXXXXXXXXXXXXXXXX0XXXXXXXXXXXXXXX(0表示被填充的区域)

现在用一个程序怎么识别出这个PE文件哪些区域是原始的,哪些区域是被填充了的。
分两种情况考虑:
1.用相同的十六进制填充,如:00 90 FF这些常用的填充码
2.用像WinHex里的随机填充。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 212
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
不明白什么意思。。。
2009-8-5 12:30
0
雪    币: 362
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
这个实现起来不太可能吧?。
除非你跟踪到了它的填充算法。
你能不能举个这样加密PE文件的例子?
期待高手指点。
2009-8-5 12:38
0
雪    币: 2368
活跃值: (81)
能力值: (RANK:300 )
在线值:
发帖
回帖
粉丝
4
UltraCompare.exe
二进制比较软件
2009-8-5 12:50
0
雪    币: 201
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
To 3楼的:填充算法可能是WinHex的随机填充法,也可能是用户自己用00之类的指令填充。我们必须想办法判断哪些是正常指令,要举个例子也很容易,最简单的就是有些人把一个病毒的特征码所在的模糊区域用一些无意义的指令填充了。

To 4楼的:我是说第一次见到(而且每历史记录)就要判断出来,二进制比较软件找谁做比较?
2009-8-5 14:03
0
雪    币: 201
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
怎么还是没人知道,很难吗?
2009-8-6 14:14
0
雪    币: 722
活跃值: (123)
能力值: ( LV12,RANK:300 )
在线值:
发帖
回帖
粉丝
7
楼主的意思好像是在不知道原始程序是什么样子的情况下进行的判断……
2009-8-6 15:21
0
雪    币: 201
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
这个问题好像把全坛的大虾给难倒了,哈哈!
2009-8-7 14:11
0
雪    币: 2368
活跃值: (81)
能力值: (RANK:300 )
在线值:
发帖
回帖
粉丝
9
我想你说的就是防止静态反汇编的方法。实际上有IDA在分析软件的时候,已经做的很好了。那些无效的数据是会被IDA挑出来的。不会被当做指令分析的。那个技术应该是"加花"..
2009-8-7 22:35
0
雪    币: 257
活跃值: (28)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
10
对我等菜鸟来说,这种问题和Stolen Code确实都是令人头痛的问题!又没原文件可作对比
2009-8-13 22:56
0
游客
登录 | 注册 方可回帖
返回
//