今天遇到一个问题,如何调用陌生DLL中的函数,并为自己所用。首先想到VS的工具Depends可以查看DLL的导出函数。
结果还是很乐观的,但是这些@之类的编译器符号看的人真心不舒服,也不能一眼看出函数原型。
当然有经验的人,是能看懂这些@符号的含义的,列出参数列表也不奇怪。不过我是没有到那个功力的。
Googel了一番还是有点不给力,没有合适的方案来处理这个问题。
晚上回来,翻出IDA Pro,直接加载,找到对应的函数反汇编地址。
可以看出IDA强大的反汇编器还是能够很好的解决这个问题。后面的内容不是重点,因为是黑盒调用,所以下面的内容暂时不去管他。
typedef unsigned int (__cdecl *pFunc)(void *, unsigned int, unsigned int, FILE *);
现在就可以直接去进行操作了。这个也是一个简单的内容,后面还有很多东西需要认真的分析。