我已经花了一小笔免费使用15kb程序并成功将其未压缩版本转换为新的exe(大小约为56kb)(原始文件包装在UPX中)然后我将其加载到IDA Pro中,然后快速点击该消息告诉我导入被搞砸了(这是奇怪的,因为我使用OllyDump的选项来修复导入表)我被带到了这个屏幕
Is This Machine Code? 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代码后,有哪些可能性?
如果倒退到源代码是如此困难或几乎不可能(如一些谷歌搜索结果中所述)为什么人们首先拆解程序?
我想更多地了解这里的原因。我只是鼓励这样做,因为我正在挑选的代码是一个非常可爱的小程序,我想学习和阅读,因为我是一个有志成为专家程序员的初学者。
答案 0 :(得分:2)
它是汇编语言(ASM)。
人们反汇编程序以了解它们的工作原理。如果您有足够的耐心,并学习相关CPU的语言,您可以像任何编程语言一样阅读此代码。这需要大量的练习,但通过阅读ASM来了解程序的工作原理并非不可能。
如果使用正确的知识和工具,将其转回源代码是完全可能的,特别是如果程序是使用流行的编译器生成的。