views:

49

answers:

3

I've got a working proprietary application (windows exe) and would like to know which particular toolkit was used to make it. The reason is that I like the widgets it uses and seek to use same library in my project (to buy it if it's proprietary as well).

+3  A: 

Just use Process Explorer to see what DLLs the application has loaded. That will be your widget set. Sort the results by folder to roughly group them by manufacturer. You may need to examine the properties of the DLLs for more detailed info as well.

Paul Sasik
Unless the widgets are custom-made, then there likely won't be any DLLs associated with them.
Remy Lebeau - TeamB
+1  A: 

You can use PEiD to identify the compiler, which can be a hint aswel. PEiD also has a nice process explorer.

For instance, Google Chrome uses C:\WINDOWS\SYSTEM32\IEFRAME.DLL :-) Nice isn't it?

(Don't trust it 100%. For instance, my own compiler has the "Morphine 1.2 - 1.3 -> rootkit" description, which I find quite awkward: that's a packer/compiler trace obfuscator.)

Pindatjuh
+2  A: 

If the library is statically linked you may have to do some deep looking around, maybe you'll get lucky and find a string saying the name of the library or a class/function in it. You can use OllyDbg for this to view strings loaded at runtime, or something like the linux command strings to look through statically, although that wont work if the program decodes itself at startup. If that doesn't work, you'd have to come up with a list of libraries that do what the one you are looking at does, and find some artifacts in the binary that are common between the two. Anyways, better to check the dlls first like Paul Sasik said.

Longpoke
OllyDbg +1! Really that's the best tool for reverse engineering ever. (Especially the latest Beta of version 2)
Pindatjuh
@Pindatjuh, it has _very_ nice GUI, but other than that I haven't found it really great for anything other than ghetto dynamic analysis on 32-bit x86 :)
Longpoke