首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正在检测PE的“on-the-wire”

正在检测PE的“on-the-wire”
EN

Stack Overflow用户
提问于 2013-05-01 23:42:41
回答 1查看 64关注 0票数 1

我正在寻找关于如何通过检查字节流来检测windows PE (可移植执行)开始的建议

我知道我可以查找某些标头,这些标头的组合可以识别PE吗?或者,有没有其他技术可以做得更好?

我需要它尽可能轻的重量,但尽可能少的假阳性。

只是在寻找一些方向,而不是一个编码的例子,但如果人们有任何代码来做这件事,那就更好了:)

(只要看看可行性,除了c或matlab或类似的语言之外,任何语言都可以做到这一点,这可能是我要走的方向)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-01 23:50:43

您的第一步将是查找4字节序列

PE\0\0

这是PE报头的签名。

然后,查找任何有效的体系结构代码(或者,如果您希望只查找英特尔体系结构,请查找特定的体系结构代码)

0x14d英特尔i860

0x14c英特尔I386 ( 486和586使用相同的ID )

0x162 MIPS R3000

0x166 MIPS R4000 0x183解码器Alpha AXP

根据线路上的其他数据和您的需要,这可能足以合理地假设数据表示的是PE二进制文件,并且您可能希望在此时尝试将数据作为可执行文件加载。如果你必须有绝对的信心,你将需要像加载器一样解析头部。有关PE结构的完整信息,请访问

http://msdn.microsoft.com/en-us/library/ms809762.aspx

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16321421

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档