0

我采取了一个小的免费使用 15kb 程序并成功地将它的未压缩版本转储到一个新的 exe(大小约为 56kb)(原始打包在 UPX 中)然后我将它加载到 IDA Pro,然后快速点击离开消息告诉我导入被搞砸了(这很奇怪,因为我使用 OllyDump 的选项来修复导入表)我被带到了这个屏幕

这是机器码吗?http://imageshack.us/a/img401/9302/68696520.png

这是汇编还是机器代码?好的,它不是机器代码,但这被认为是汇编吗?是用这些十六进制数字编写的汇编文件还是调试器左侧的任何内容?

http://imageshack.us/a/img526/548/23865356.png

嘿公开开始。看起来很熟悉。

http://imageshack.us/a/img217/9457/62998986.png

如果这是机器码。人们有没有办法将机器代码转换为 ASM 代码?在您获得 ASM 代码之后,有哪些可能性?

如果退回到源代码是如此困难或几乎不可能(如一些谷歌搜索结果中所述),为什么人们首先要反汇编程序?

我想在这里了解更多关于原因的信息。我之所以这样做,是因为我选择的代码是一个非常可爱的小程序,我想从中学习和阅读,因为我是一个渴望成为专家级程序员的初学者。

4

1 回答 1

2

它是汇编语言(ASM)。

人们反汇编程序以查看它们是如何工作的。如果你有足够的耐心,并且学习了相关 CPU 的语言,你就可以像阅读任何编程语言一样阅读这段代码。这需要大量的练习,但通过阅读 ASM 来弄清楚程序是如何工作的并非不可能。

如果有正确的知识和工具,将其转换回源代码是完全可能的,特别是如果程序是使用流行的编译器生成的。

于 2012-10-19T00:54:34.963 回答