2016-08-01 29 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工作!你真棒!!!!! –