2016-08-01 59 views
-3

我已经试过了如何在Chrome中注入DLL中的old example但是当我用CreateProcess打开的chrome.exe似乎立即关闭并重新启动一个新的PID违背存储在PROCESS_INFORMATION结构的dwProcessId成员之一我传递给CreateProcess。我也尝试了一个函数来计算LoadLibraryA相对于远程进程中kernel32.dll的基本加载地址的偏移量。我已经在notepad.exe等其他进程上尝试过这种方法,并且成功了,所以我知道我的功能可以在其他进程中找到该函数,即使它们没有在首选地址加载kernel32。每当我尝试在chrome中加载LoadLibraryA的dll时,chrome会立即崩溃,我认为这是一项安全功能。我很难过,一直试图弄清楚这个问题大概一个半月。任何信息将不胜感激。在铬中注入DLL的新方法?

+0

太宽泛,不适合SO。投票结束并继续......请参阅[提问](http://stackoverflow.com/help/how-to-ask)上的帮助部分。 –

+0

@CaptainObvlious如何提出一个关于如何以编程方式注入dll过于宽泛的问题时,我已经具体说明了我是如何尝试去做的,以及我正在尝试这么做的确切过程?它有合法的用途,并且有许多程序员可以做到这一点,特别是为了网络通信集线器等目的而使用chrome。由于这是比安全性更多的面向编程,我认为它更适合于像SO这样专注于编程解决方案的站点。 –

+0

@CaptainObvlious你看过我给_old example_的链接吗? uTorrent和其他应用程序也是这样做的,以避免必须颁发数字证书。 –

回答

1

这很可能如果它不工作这是你做错了什么。无论是试图将一个64位的DLL注入一个32位的进程,反之亦然。确保你的dll与Chrome相同的位架构。如果Chrome在Program Files(x86)那么这意味着它是32位,你需要为它创建一个32位的DLL。在其他一些问题中,你问过你说过你在其他进程中计算了地址LoadLibraryA的函数,但是由于你将它映射到你自己的进程中,你只能在具有相同比特结构的进程中找到它的地址。发布您的代码。

+0

编译它们都为32位和IT工作!你真棒!!!!! –