阅读:2156回复:14
如何把PE(win32标准可执行文件格式)格式的文件转换成纯二进制的?
请教大侠
|
|
沙发#
发布于:2002-06-08 22:48
编译连接后就是二进制的,用一般的编译器以二进制打开就能看到其二进制内容
|
|
板凳#
发布于:2002-06-08 23:21
不懂你的意思,什么叫纯二进制的?
|
|
地板#
发布于:2002-06-09 16:50
纯二进制就是说譬如:
int main() { _asm nop return 0; } 那么应该可执行文件的第一行代码应该就是 nop 而不是还有个PE头,Imgage表什么的。 |
|
地下室#
发布于:2002-06-09 17:35
你想怎么样?说出来大家帮帮你。
不要想什么稀奇古怪的“纯二进制”了。 没有那些“头”,还是可执行文件吗? |
|
5楼#
发布于:2002-06-09 17:52
此兄。。。。。。。 大概是要以前dos下的。com的格式。。。。。。。 :) |
|
|
6楼#
发布于:2002-06-09 20:00
也不是以前的.com文件,那有一定的格式的!
如果让你做一个MBR你们说应该怎么做? |
|
7楼#
发布于:2002-06-09 22:08
如要做MBR也不可能用PE文件格式,实际上你可将MBR理解成一小段.COM形式的DOS小程序,PE文件格式是由操作系统支持的,执行MBR时操作系统还未载入,何来PE文件,况且去除分区表及分区表有效标志,实际上只有446个字节可供使用,除了.COM形式的DOS程序,谁又可担此重任,你只要想想为什么这么多年以来MBR基本上无啥变化就知道了,同时没有了文件头,PE还是PE吗?
引用:那么应该可执行文件的第一行代码应该就是 nop 这样理解是不对的,不说别的,有没有想过main()的代码哪去了,它做了什么,\"return 0\" 呢,好好反汇编一下程序看看,有很多隐藏的工作编译器替我们做了 |
|
8楼#
发布于:2002-06-09 23:32
也不是以前的.com文件,那有一定的格式的! 嘿嘿,比较简单。。。。。。。。。。。 一种方法可用 dos 中debug直接写之。。。。。。 “.com文件,那有一定的格式的!”------当然。 另:完全可以用com写好程序,再将之写入的第一此道! :P |
|
|
9楼#
发布于:2002-06-10 09:40
[quote]也不是以前的.com文件,那有一定的格式的! 嘿嘿,比较简单。。。。。。。。。。。 一种方法可用 dos 中debug直接写之。。。。。。 “.com文件,那有一定的格式的!”------当然。 另:完全可以用com写好程序,再将之写入的第一此道! :P [/quote] |
|
10楼#
发布于:2002-06-10 09:43
诸位,谢谢大家。还是我自己做吧,等我研究出来了,我在和大家来讨论。祝大家好运!*_*
|
|
11楼#
发布于:2002-06-10 14:27
我想你没有理解文件这个东西是怎么回事,不管哪种文件,都是二进制数据流,只不过是使用这个文件的对象不同所以区分出来多种格式。
|
|
13楼#
发布于:2002-06-20 16:21
你到底要做什么???
给我money和你的文件,我帮你把代码摘出来 |
|
|
14楼#
发布于:2002-06-21 10:28
Using GCC for DOS...
|
|
|