我正在尝试注入代码,以尝试如何使用它。
当前,我有一个可执行的可执行文件,该可执行文件是代码注入的目标。我还有一个DLL,其中包含我要注入的代码和一个将DLL插入目标可执行过程中插入的喷油器过程。
我要专门尝试的是使用Mhook框架在目标可执行过程中挂接一个函数(尚未导出)。
。我的喷油器过程效果很好,我可以验证我的DLL是否已正确插入目标可执行过程。
我目前面临的挑战是试图确定要传达的地址作为我要挂接的功能的目标位置。由于它不是导出功能,因此我无法使用调用getProcaddress()的典型方法,并且在找出如何找到它时遇到了麻烦。
我已经在IDA中删除了目标可执行文件,并知道该函数位于可执行文件中的位置(Offset 0x1770),但是当我将其传递给mhook时,它不会调用我的蹦床函数,即我的挂钩不起作用。我尝试在该模块运行时找到该模块的起始内存位置,并将该偏移添加到其中,但这似乎也不起作用。
我似乎缺少对代码注射的理解,但无法弄清楚它是什么。Google也没有帮助我,尽管我已经研究了一个多星期了。
请帮助我弄清楚我应该传递到mhook的价值。
谢谢,请让我知道,blargfoot
得到了它。在IDA中找到该功能的地址,并减去IDA中列出的起始地址值。或使用ollydbg,在内存中找到函数的开始,然后从中减去.textbss..TextBess。这将使我在过程空间内函数的偏移。将其传递到mhook中,您应该全部设置。