我如何检查程序编译语言?

时间:2016-08-02 06:58:11

标签: c++ vb.net

我想问一个问题,我怎么能简单地检查一个用哪种语言编译的程序。我试过了#34; PEiD"但我不再适合我。它不适用于编译的一些程序,它说没有检测到,所以还有什么我可以用它检查编程语言。谢谢。

1 个答案:

答案 0 :(得分:1)

这在任何方面都不可靠,但是当你能够decode mangled function names时,你可以区分C和C ++。

举一个例子,在Linux系统上,

objdump -CT /usr/lib/x86_64-linux-gnu/libxml2.so | less
objdump -CT /usr/lib/x86_64-linux-gnu/libQtCore.so | less

将告诉您libxml2中的所有函数都具有基于字符串的名称,而libQtCore使用名称空间和运算符重载。 由于后者的功能在C中不存在,因此可以排除C作为libQtCore的源语言。 不可否认,这种方法非常有限,你得到的答案很少。