我正在尝试使用Syringe使用C#应用程序注入C ++绕行dll。 以下是我到目前为止的情况:
-All注入哪个钩子从wsock32.dll中recv / send并记录通信(http://pastebin.com/JvnmYuz0)
- 启动目标应用程序的C ++加载器然后将dll加载到它(pastebin.com / mX68nTnx)//对不起,我不能发布超过2个链接
- 在任何进程中注入dll的C#应用程序(http://pastebin.com/FLRj45YF)
但我遇到了一些问题:
1-我不想使用c ++加载程序启动应用程序然后注入dll,我只使用它来测试dll挂钩,它运行良好,它确实挂钩并记录通信文件
2-我想使用c#应用程序(使用Syringe)注入c ++ dll(在我想要的任何进程中)。我可以毫无问题地注入它,但是它没有像使用c ++加载器那样挂起recv / send函数,但是,它表示所有内容都已成功附加,但它不会将任何内容记录到文件中,甚至不会致电MyRecv / MySend。我曾经在DetourTransactionCommit()中收到错误8(ERROR_NOT_ENOUGH_MEMORY),同时绕过send / recv函数,但是现在它说没有错误
3-能够使用MySend / MyRecv处理通信后,我想将通信发送回C#应用程序,然后在那里进行工作。
我是c +和dll注入的新手,但我对c#有一些经验。 它不需要使用注射器方法进行注射。 我试图使用EasyHook但没有成功。 任何注入方法都会很棒,只要我可以将dll注入任何进程然后在C#应用程序上进行通信。我不想在C ++ dll上做这项工作,因为我对C ++很陌生,做简单的事情似乎很难,学习曲线不是很友好
感谢
PS:我不想破解任何人/任何人,我只是想创建一个Ultima Online工具