引言
有时候,可能因为硬盘损坏等等原因,自己曾经写的动态链接库源码丢失了,幸好对应的头文件得以保留了下来,这个动态链接库主要是某种算法的实现,并没有继承其他的一些类库,比如MFC之类的,而自己对算法的实现已经忘得差不多了,而突然又需要该算法的实现过程,那么有什么办法可以帮助我们呢?
一个很好的办法就是采用IDA进行反编译,如果dll只是C语言的导出,那么反编译代码应该比较好看懂!(不过有一个难题是结构体的识别)
假如dll是C++类的导出,那么问题就比较复杂了,C++类成员函数中有隐含的this指针,直接反编译的话对成员函数的操作非常难以识别,此时自然而然就想到了在头文件上做文章,而IDA只支持导入C语言格式的头文件,直接导入C++头文件会报错,无法识别C++语法,那么应该怎么利用C++的头文件呢?
经过在互联网上的一番搜索,竟然没搜到类似的问题及解决办法,只能自己进行思考和尝试了。
其实,C++