我需要在进程的主线程中注入一个dll(否则我的进程会崩溃) 我该怎么做呢?我的dll显然是C ++,我的注入方法虽然使用了C#和CreateRemoteThread。 我尝试过使用std :: thread(func)但是没有用(当然它可能不会因为它很可能创建一个新线程) 我不知道这对我的DLL或我的注射器是否有问题,因此感谢所有帮助和尝试提供帮助。
答案 0 :(得分:0)
您可以创建暂停的目标进程并使用CreateRemoteThread()进行注入,但请注意以下限制:
您可以在此处阅读更多内容:http://blogs.microsoft.co.il/pavely/2017/03/14/injecting-a-dll-without-a-remote-thread/
答案 1 :(得分:0)
你的DllMain
将在每个线程的上下文中运行...找出哪个是主线程。
由于在保持加载程序锁定时无法做很多事情,因此请创建一个具有线程关联性的回调(例如使用SetTimer
)并从该回调中完成所有工作。