一般没有办法可以保证获取EXE文件是什么语言写的,只是对于编译后没有进行任何处理的EXE文件,可以去看它是否符合常见的DELPHI、VB、VC++等编译器的规律,然后猜测其是什么语言编写的。
对于高级语言的反编译,理论上就是不可能的,除非是对于PHP、FOXPRO这些伪编译系统。虽然EXE都可以反汇编,但是真正想反汇编之后做个什么大的手足,是非常非常困难的。
用名为PEiD的这个软件把这个,exe查一下,如果它没有加壳的话,就可以看出是用什么语言写的,如果它加了壳,要把它脱壳以后,才能看得出是用什么语言写的。
从一些细节,例如需要那些DLL库,需要的其它配置,有无配置文件。 当然,还有更鸟的办法——反编译! Foxpro、VFP、Delphi都可以。PB、VB都有特定的文件;BCB可以用某个软件打开,虽然看不道源代码,但足以判断,另外的大概是VC了。至于C和汇编,WIN9X下无图标。
通过看它和什么库链接可以猜测出用过哪些语言。比如Java语言写的程序一般不会不与Java运行时的DLL链接(名字好像叫daojre.dll),Objective-C 和Swift语言写的程序往往是和objc运行时链接的。
C语言链接的DLL包括Unix/BSD/Linux系统上的libc、libxnet等,和Windows上的Kernel.dll等。C++也是如此,但链接的包括有libstdcxx,和Windows上的 mfc*.dll。
虽说几乎任何高级语言编译的exe文件都可以通过反编译的方法获得源代码,但到目前为止,还没有一种反编译的方法可以获得百分百完整、准确的源代码。
而学过编程的都知道,源程序中有时候哪怕错一个字符,运行结果都有可能完全出人预料。因此反编译获得的源代码,重新编译为exe文件后,要么就是无法运行,要么就是面目全非了。
从一些细节,例如需要那些DLL库,需要的其它配置,有无配置文件。
当然,还有更鸟的办法——反编译!
Foxpro、VFP、Delphi都可以。PB、VB都有特定的文件;BCB可以用某个软件打开,虽然看不道源代码,但足以判断,另外的大概是VC了。至于C和汇编,WIN9X下无图标。别的,你没有必要知道
用名为PEiD的这个软件把这个.exe查一下
如果它没有加壳的话,就可以看出是用什么语言写的
如果它加了壳,要把它脱壳以后,才能看得出是用什么语言写的。
另:如果需要知道它是如何写的,就需要反汇编一下了,这里不做介绍。
从一些细节,例如需要那些DLL库,需要的其它配置,有无配置文件。
当然,还有更鸟的办法——反编译!
Foxpro、VFP、Delphi都可以。PB、VB都有特定的文件;BCB可以用某个软件打开,虽然看不道源代码,但足以判断,另外的大概是VC了。至于C和汇编,WIN9X下无图标。别的,你没有必要知道