I'm curious that different Windows Applications are developed in different languages. Is there any way to find out that an application is compiled in which compiler and written in which language? It is sort of a reverse engineering question maybe.
Asked
Active
Viewed 114 times
-2
-
Not reliably. It's just binary and compilers might not leave any trace about themselves. – Sami Kuhmonen Aug 02 '16 at 07:13
-
How would that matter? – πάντα ῥεῖ Aug 02 '16 at 07:36
-
Are your only options C++ and VB.NET? Or is this a general question? – Bo Persson Aug 02 '16 at 09:09
-
@BoPersson nope actually tags are related to C++ & VB because i want to Decompile specific language and want to convert to VB.Net – Aug 03 '16 at 06:48
-
1@AHM3D decompiling and converting to VB.Net sounds unrealistic – SpamBot Aug 03 '16 at 07:57
-
@SpamBot i didnt learned other languages, so i work in VB.Net so if want to make a program like this so i need to find and example to work out – Aug 03 '16 at 08:32
1 Answers
1
This is not reliable in any way, but you can distinguish between C and C++ when you are able to decode mangled function names.
To give an example, on Linux systems,
objdump -CT /usr/lib/x86_64-linux-gnu/libxml2.so | less
objdump -CT /usr/lib/x86_64-linux-gnu/libQtCore.so | less
will tell you that all functions in libxml2 have string-based names, while libQtCore uses namespaces and operator overloads. Since the latter features do not exist in C, you can rule out C as a source language for libQtCore. Admittedly, this approach is very limited and you get few definite answers.
-
actually i m working on visual studio on windows , i m not related C++ but i have a tool that compiled in any language, so i want to check if that software/tool compiled in which language ? – Aug 03 '16 at 06:54