+ -
当前位置:首页 → 问答吧 → [请教]pe格式,没发错地方,pe是引子。花生瓜子大杏仁叻,不买的大爷也请看看。

[请教]pe格式,没发错地方,pe是引子。花生瓜子大杏仁叻,不买的大爷也请看看。

时间:2011-09-09

来源:互联网

那个,先从pe格式引出话题,以说明实质问题,
诚心请教:


把正常的可执行文件用文本编辑器,比如记事本打开

好吧,很乱很花……耐心,细心……

.
.
.

会发现有很多绝对路径字符串,象什么f:\coder_king\project1\debug\...,
就是编译时所在机器上磁盘路径。

标新立异,创造力able的程序员,
操作系统用户名啊,或者某些文件夹名啊,工程名啊
很多都是全世界也找不出第二个的,
如果是写马的同学,这上面容易翻车。

我想问的是,这些字符串怎么去掉,
编译器(或者在连接器?)应该有相关的选项吧?
比如gcc。
<--------------------------------- hey, question 1 is her.

当然 用upx之类的压缩壳表面能去掉(至少记事本看不到,嗬)。

可执行文件格式,对任何OS来说都是核心级别的东西,
感觉从设计上应该是很严肃的,不谈什么泄露程序作者信息,
就说这样可执行文件大小也大了不少,
实际上运行程序的机器上这些路径完全不存在,

也就是这些字符串没有存在必要(因此发问)。
那为什么还有这些玩意,做为这行的菜鸟,是否有野史或者暧昧的故事我
还不知道?求告知。
<--------------------------------- hey, question 2 is here.

另外,发现不单是pe格式, Xnux 可执行文件也有这样字符串。
是否有前辈收藏过,或者有印象,如对常见OS的可执行文件格式做介绍的通
俗文章、材料(只要通俗或者生动,e文我也啃了)?
求共享。
<--------------------------------- hey, question 3 is here.

P.S
-------------------------------------------------------------------

前几次问了别的pe格式相关的问题,
windows相关板块的大牛直接告诉我,msdn啊,啥都有!这是地址……pia &*(%&@ pia

这次的问题 Xnux 平台可执行文件也涉及,所以到这里来了,刀下留帖。
.
.

作者: c154387417   发布时间: 2011-09-09

这个……pe格式用这几个结构体就能差不多描述了吧

IMAGE_DOS_HEADER
IMAGE_NT_HEADERS
IMAGE_FILE_HEADER
IMAGE_OPTIONAL_HEADER

在参考MSDN的解释确实差不多了……
这是地址
http://msdn.microsoft.com/en-us/magazine/cc301805.aspx

哈哈,开玩笑的,不过不涉及太深入的应用,确实够了

作者: jackyjkchen   发布时间: 2011-09-09

三个问题,您回答的是哪一个?迷茫……

作者: c154387417   发布时间: 2011-09-09