如何确定用于制作Windows应用程序的开发工具?
我有一个可用的专有应用程序(Windows exe),并且想知道使用哪个特定的工具包来制作它。原因是我喜欢它使用的小部件,并寻求在我的项目中使用相同的库(如果它也是专有的,则购买它)。
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).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
只需使用 Process Explorer 即可查看应用程序加载了哪些 DLL。这将是您的小部件集。按文件夹对结果进行排序,以大致按制造商对它们进行分组。您可能还需要检查 DLL 的属性以获取更详细的信息。
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.
如果库是静态链接的,您可能需要进行一些深入的查找,也许您会很幸运并找到一个表示库名称或其中的类/函数的字符串。您可以使用 OllyDbg 来查看运行时加载的字符串,或者类似于 linux 命令
strings
静态地查看,尽管如果程序在启动时自行解码,这将不起作用。如果这不起作用,您必须列出一个库列表,这些库可以完成您正在查看的库的功能,并在二进制文件中找到两者之间常见的一些工件。不管怎样,最好像 Paul Sasik 所说的那样先检查 dll。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.您可以使用 PEiD 来标识编译器,这也可以是一个提示。 PEiD 还有一个很好的流程浏览器。
例如,Google Chrome 使用
C:\WINDOWS\SYSTEM32\IEFRAME.DLL
:-) 很好,不是吗?(不要百分百相信它。例如,我自己的编译器有“Morphine 1.2 - 1.3 -> rootkit”描述,我觉得这很尴尬:这是一个加壳器/编译器跟踪混淆器。)
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.)