[爆卦]DLL注射是什麼?優點缺點精華區懶人包

為什麼這篇DLL注射鄉民發文收入到精華區:因為在DLL注射這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者ym410804 (阿喜)看板C_and_CPP標題[問題] DLL中斷相關問題時間Mon Au...


開發平台(Platform): (Ex: VC++, GCC, Linux, ...)

visual6.0

額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)

windows.h

問題(Question):

現在在做一份HOOK API的程式

因此使用遠端執行緒注射DLL的方式

建立新程序的同時載入DLL這樣

而我在DLL中還會呼叫另外一個檔案(自己寫的另一個C檔)的funtion

來做我的一些處理

其中會有判斷式

簡單說YES就會關閉此執行緒跳離DLL

想請問版友

要如何做才能讓他直接跳到DLL離開點

case DLL_PROCESS_DETACH:

或是強制關閉這個執行緒呢?

懇請版上高手提供建議

謝謝

--
要感謝的東西太多了  那就謝天吧
 
  要改的程式太多了  那就改天吧

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.136.17.174
ym410804:轉錄至看板 Programming 08/29 20:02
WPC001:個人認為只要PostQuitMessage(0);即可 08/29 22:55
ym410804:s大提供的是在dll內部就強制關閉library 08/30 00:12
ym410804:不過普通是不太建議的樣子 08/30 00:13
ym410804:W大 PostQuitMessage(0) 除了在主程式之外 08/30 00:13
ym410804:dll之中也能呼叫嗎? 那這樣釋放的是主程式還是只有dll呢? 08/30 00:14
ym410804:或者是在dll中呼叫 連帶整個線程跟library都會同時釋放? 08/30 00:15
stupid0319:為什麼不設個判斷讓執行緒自我了決就好?? 08/30 00:21

先謝謝兩位版友的回答

我稍微解釋一下我的程式架構好了

我現在是做一個類似API monitor的東西

先有一個主程式 開啟另一個執行檔

同時注入DLL到新開的這個執行檔 原先的主程式不必做事

新開的這個程序也不用做事

再來都是利用DLL中所設立好的函式完成剩餘的動作

而DLL會依序捕捉API 美捕捉一個會進行我在DLL中所寫的一個演算法

這個函式會回傳true or false

true就強制關閉這個檔案 false就繼續捕捉下一個API

而這個DLL依附的執行緒是正常開啟 現有的另一個執行檔(不是自己寫的

因此一切動作都必須依賴DLL

這樣說明應該比較清楚了


希望有哪位版友可以幫到忙

也謝謝各位回答的版友!
※ 編輯: ym410804 來自: 220.136.17.174 (08/30 00:29)
stupid0319:就算執行緒不見DLL還是會在,怎會跳到DLL_PROCESS_DETAC 08/30 00:23
stupid0319:"跳離DLL"是執行緒跳離還是啥密東東跳離DLL??????? 08/30 00:24
ym410804:是在做類似異常行為偵測的事情 08/30 00:31
ym410804:希望這樣的解釋能比較好看的懂 > < 08/30 00:32
stupid0319:要不就是把Api hook的程式碼還原 08/30 00:34
stupid0319:或者在dll內做是否捕捉的開關,可參考wpepro的Hook法 08/30 00:35
ym410804:恩...謝謝S大 我研究看看! 08/30 00:39
loveme00835:學弟是在做丁老師的專題? 08/30 01:00
ym410804:我是跟吳老師的XD 不過這題目是自訂.... 08/30 01:01
loveme00835:@"@ 08/30 01:18

你可能也想看看

搜尋相關網站