我有一个.exe文件,我需要知道程序是用什么语言开发的。还有,查看代码(基于该.exe文件)有什么窍门吗?我使用了反射器,现在我知道它不是.NET
发布于 2014-06-19 08:16:37
我以前遇到过这个问题。我刚在记事本里打开了.exe文件。我找到了编译器的名称和版本。希望这能帮助到一些人..
发布于 2010-03-11 05:20:56
我有一个.exe文件,我需要知道这个程序是用什么语言开发的。
一般来说,这是不可能的。可以想象,每种语言都可以编译自己版本的"Hello,world!“将给定的平台(或可执行文件格式)定位到相同的可执行文件(逐字节)。
以及是否有查看代码的技巧(基于该.exe文件)?
不,请参见上面的。但是,您可以尝试您选择的decompiler。
发布于 2010-03-11 05:31:17
将高级语言编译成低级.EXE通常是一个单向的过程-一旦该过程完成,几乎不可能从可执行文件中可靠地提取有关原始语言的有意义的信息。幸运的是,您可能会在二进制文件中找到一些可识别的线索,当然也可能会找到一个附带的文件(如.pdb),该文件会产生有关原始语言的线索。
然而,.EXE包含的是(通常)汇编语言,有时可以将其反编译成程序的高级表示。注意,这永远不会给你一个指令精确的源文件-结果很可能是非常“冗长”的,很难理解,仅仅是因为编译器首先做了什么-这是把一种高级的“概念性的”复杂语言变成了一系列低级的指令流,丢弃了CPU执行代码不需要的大部分上下文线索。
https://stackoverflow.com/questions/2420662
复制相似问题