我在互联网上到处搜索二进制程序,人们似乎唯一愿意给出的答案是:“你为什么要用二进制语言编程?”“这太蠢了,使用组装”“你不可能从中得到任何东西,学习是没有意义的。”
如果你是这些人之一,我感谢你的意见,但它没有回答我的问题。
虽然我不打算实际尝试用二进制进行编程,但我知道的原因是:
话虽如此,有没有人知道可以学习二进制编程的任何资源?
发布于 2011-11-04 20:04:24
一般来说,汇编指令和机器代码之间有一对一的映射(您称之为二进制)。您可以在指令集架构文档中为您所关心的任何机器找到这些映射。流行的例子:
您将能够为您想要使用的架构找到类似的文档。您可以使用这些手册中的信息来对给定程序的机器指令进行解码,并识别它们是如何从程序集源生成的,或者,如果您愿意,也可以手工组装您自己的程序。
发布于 2011-11-04 20:09:42
下面是我学习二进制文件时所做的工作: 1.打开命令提示符并键入"debug“作为命令。
请注意,要在实际二进制文件中进行编程,您需要一个十六进制编辑器。我用的是这个:
http://www.chmaas.handshake.de/delphi/freeware/xvi32/xvi32.htm
为了学习更复杂的语言(如c++),我的另一个想法是和程序集一样,但在十六进制编辑器中打开它。
发布于 2011-11-04 20:08:59
指令集手册非常有用,并具备一定程度的计算机硬件体系结构知识。下面是一些示例文档:
ARM:http://simplemachines.it/doc/arm_inst.pdf
英特尔:http://www.intel.com/content/dam/doc/manual/64-ia-32-architectures-software-developer-vol-1-2a-2b-3a-3b-manual.pdf
SPARC V9:http://www.sparc.com/standards/SPARCV9.pdf
https://stackoverflow.com/questions/8015053
复制相似问题