答案不是“查看导入地址表”。
我希望对我生成的一些二进制文件进行一些分析,特别是为了更好地了解我正在使用的库和Windows API函数。我已经使用Dependency Walker来看一下这个,但是我做过的一些测试向我表明,可能会有很多额外的函数调用放入IAT,即使它们没有被调用。
我正在寻找的是确定调用哪些函数的方法......而不仅仅是IAT中的内容。
最好的方法可能是扭转它并查看所有'CALL',但我也不知道这样做的好方法。
这样做的最佳方式是什么?
答案 0 :(得分:1)
运行以下命令
打开logviewer工具以及windows的调试工具来查看api, 默认日志路径是desktop \ logexts
答案 1 :(得分:1)
如果您使用link.exe链接二进制文件,请在链接时传递/ MAP标记。 这将生成一个MAP文件(binary.map)...它将具有使用的功能(不是所有功能)。
答案 2 :(得分:0)
我不知道这是否是“最好的方式”,但我同意你的建议,所有的CALL都给出了很好的概述。
使用“Ollydbg”调试器,您可以加载您的程序,转到您的过程的exe模块并右键单击 - >搜索 - >所有的模块间通话。
这为您提供了一个很好的可排序,可搜索的列表,列出了模块中出现的所有“CALL”,并指向其他模块。