ysy
ysy
驱动中牛
驱动中牛
  • 注册日期2002-02-18
  • 最后登录2008-08-25
  • 粉丝0
  • 关注0
  • 积分201分
  • 威望29点
  • 贡献值0点
  • 好评度19点
  • 原创分0分
  • 专家分0分
阅读:2156回复:14

如何把PE(win32标准可执行文件格式)格式的文件转换成纯二进制的?

楼主#
更多 发布于:2002-06-08 17:43
请教大侠
FoolishMan
驱动牛犊
驱动牛犊
  • 注册日期2002-05-10
  • 最后登录2002-10-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-06-08 22:48
编译连接后就是二进制的,用一般的编译器以二进制打开就能看到其二进制内容
fracker
驱动太牛
驱动太牛
  • 注册日期2001-06-28
  • 最后登录2021-03-30
  • 粉丝0
  • 关注0
  • 积分219分
  • 威望81点
  • 贡献值0点
  • 好评度23点
  • 原创分0分
  • 专家分1分
  • 社区居民
板凳#
发布于:2002-06-08 23:21
不懂你的意思,什么叫纯二进制的?
ysy
ysy
驱动中牛
驱动中牛
  • 注册日期2002-02-18
  • 最后登录2008-08-25
  • 粉丝0
  • 关注0
  • 积分201分
  • 威望29点
  • 贡献值0点
  • 好评度19点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-06-09 16:50
纯二进制就是说譬如:

int main()
{
   _asm nop
    return 0;
}

那么应该可执行文件的第一行代码应该就是
nop

而不是还有个PE头,Imgage表什么的。
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
地下室#
发布于:2002-06-09 17:35
你想怎么样?说出来大家帮帮你。
不要想什么稀奇古怪的“纯二进制”了。
没有那些“头”,还是可执行文件吗?
magicx
驱动老牛
驱动老牛
  • 注册日期2002-02-22
  • 最后登录2014-08-18
  • 粉丝1
  • 关注0
  • 积分-14分
  • 威望13点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-06-09 17:52

此兄。。。。。。。

大概是要以前dos下的。com的格式。。。。。。。

 :)
[color=red]大头鬼! :P[/color]
ysy
ysy
驱动中牛
驱动中牛
  • 注册日期2002-02-18
  • 最后登录2008-08-25
  • 粉丝0
  • 关注0
  • 积分201分
  • 威望29点
  • 贡献值0点
  • 好评度19点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-06-09 20:00
也不是以前的.com文件,那有一定的格式的!
如果让你做一个MBR你们说应该怎么做?
yanghui
驱动牛犊
驱动牛犊
  • 注册日期2002-01-29
  • 最后登录2009-10-29
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-06-09 22:08
如要做MBR也不可能用PE文件格式,实际上你可将MBR理解成一小段.COM形式的DOS小程序,PE文件格式是由操作系统支持的,执行MBR时操作系统还未载入,何来PE文件,况且去除分区表及分区表有效标志,实际上只有446个字节可供使用,除了.COM形式的DOS程序,谁又可担此重任,你只要想想为什么这么多年以来MBR基本上无啥变化就知道了,同时没有了文件头,PE还是PE吗?


引用:那么应该可执行文件的第一行代码应该就是 nop

这样理解是不对的,不说别的,有没有想过main()的代码哪去了,它做了什么,\"return 0\" 呢,好好反汇编一下程序看看,有很多隐藏的工作编译器替我们做了
magicx
驱动老牛
驱动老牛
  • 注册日期2002-02-22
  • 最后登录2014-08-18
  • 粉丝1
  • 关注0
  • 积分-14分
  • 威望13点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2002-06-09 23:32
也不是以前的.com文件,那有一定的格式的!
如果让你做一个MBR你们说应该怎么做?


嘿嘿,比较简单。。。。。。。。。。。

一种方法可用 dos 中debug直接写之。。。。。。

“.com文件,那有一定的格式的!”------当然。

另:完全可以用com写好程序,再将之写入的第一此道!

 :P
[color=red]大头鬼! :P[/color]
ysy
ysy
驱动中牛
驱动中牛
  • 注册日期2002-02-18
  • 最后登录2008-08-25
  • 粉丝0
  • 关注0
  • 积分201分
  • 威望29点
  • 贡献值0点
  • 好评度19点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2002-06-10 09:40
[quote]也不是以前的.com文件,那有一定的格式的!
如果让你做一个MBR你们说应该怎么做?


嘿嘿,比较简单。。。。。。。。。。。

一种方法可用 dos 中debug直接写之。。。。。。

“.com文件,那有一定的格式的!”------当然。

另:完全可以用com写好程序,再将之写入的第一此道!

 :P [/quote]
ysy
ysy
驱动中牛
驱动中牛
  • 注册日期2002-02-18
  • 最后登录2008-08-25
  • 粉丝0
  • 关注0
  • 积分201分
  • 威望29点
  • 贡献值0点
  • 好评度19点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2002-06-10 09:43
诸位,谢谢大家。还是我自己做吧,等我研究出来了,我在和大家来讨论。祝大家好运!*_*
fracker
驱动太牛
驱动太牛
  • 注册日期2001-06-28
  • 最后登录2021-03-30
  • 粉丝0
  • 关注0
  • 积分219分
  • 威望81点
  • 贡献值0点
  • 好评度23点
  • 原创分0分
  • 专家分1分
  • 社区居民
11楼#
发布于:2002-06-10 14:27
我想你没有理解文件这个东西是怎么回事,不管哪种文件,都是二进制数据流,只不过是使用这个文件的对象不同所以区分出来多种格式。
CCM
CCM
游客
游客
12楼#
发布于:2002-06-20 16:19
去掉文件中的PE头(4K个字节)就可.
编译时需要设置一些标志,用MASM
VanCheer
驱动老牛
驱动老牛
  • 注册日期2002-02-21
  • 最后登录2003-08-28
  • 粉丝0
  • 关注0
  • 积分-20分
  • 威望-10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2002-06-20 16:21
你到底要做什么???
给我money和你的文件,我帮你把代码摘出来
[img]http://www.driverdevelop.com/forum/upload/VanCheer/2003-03-21_mon.gif[/img][img]http://www.driverdevelop.com/forum/upload/VanCheer/2002-12-07_smallbaby.jpg[/img]
Nouk
驱动中牛
驱动中牛
  • 注册日期2001-08-22
  • 最后登录2006-10-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2002-06-21 10:28
Using GCC for DOS...
Taiwan's Driver Developer
游客

返回顶部