Answer the question
In order to leave comments, you need to log in
Windows: Find out the technologies/libraries/frameworks used by the application?
There is a certain application, and now I would like to know as much as possible about the technologies used, what language was used, what libraries are connected. Is it possible to do this simply and quickly?
Answer the question
In order to leave comments, you need to log in
Which libraries are statically linked will be shown by a bunch of specialized utilities.
This is the aforementioned Process Explorer and console utilities that come with compilers.
For Borland/CodeGear/Embarcadero products this is tdump.exe, for Microsoft products it is dumpbin.exe with the /exports key.
Based on the linked libraries, it is already possible to make assumptions about the technologies used.
So, the presence of mscoree.dll in the list of used libraries will give reason to assume that the application is written for .Net, and the presence of msvc*.dll will hint at the use of MS Visual C.
If the file exports functions, then it makes sense to search by the names of exported functions in Google. The subject could be someone else's plugin.
It will also not be superfluous to look at the resources inside the executable file.
The presence of resources named DVCLAL and PACKAGEINFO is a sign that the application was most likely created either in Delphi or in C++Builder.
By the contents of PACKAGEINFO, you can find out the names of the modules used in the program and identify the used component libraries by them.
The presence of resources in the TYPELIB section will indicate to us that this file can be a COM server.
Some programs (for example, malware) are packaged with special packers, many of which will help to recognize PEiD.
There are often free unpackers available for packers. In this case, after unpacking, you can continue to study the file.
This, of course, is not a complete list of methods to find out details about the program of interest to us.
The more experience you have in this area, the easier and faster you will get the information you are interested in.
Process Explorer is here to help.
technet.microsoft.com/en-us/sysinternals/bb896653
Dependency Walker will show the imported libraries.
PEiD will show (if you're lucky) which compiler, and accordingly, which programming language was used. But neither this nor similar utilities will give guarantees.
In general, there may be (or not be) a lot of subtleties, and it is not in the interests of developers that it is easy to put all the details on a silver platter.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question