我用 IDA 反汇编了一个行为不端的 dll 并确定了错误代码。现在我想更进一步,用一个自己编写的函数替换这个函数,希望错误更少。我正在谈论的 dll 是用 C/C++ 编写的,并且没有导出有问题的函数。
什么是一种可行的方法来覆盖/替换此函数以及重定位信息等?我在网上找到的一切都是关于重建 MSIL dll。
我的猜测是在汇编程序中编写一个新函数,组装它,在 dll 中创建一个新部分,将代码放在那里,并以某种方式在原始实现的开头引入对新函数的调用。但我不知道这些步骤究竟会是什么样子,也不知道如何合并重定位信息等。或者有更好的解决方案吗?是否有任何入门或工具可以帮助我完成这样的事情?
编辑:同时我找到了关于类似主题的文章