如何注入DLL(一)

如何注入DLL 這個方法 很多 很多  多到 亂七八糟 千變萬化 ......(以下省略上千字) 
 
今天 要分享的就是 HOOK CreateProcessA 獲取進程ID 注入  
 
以DNF 舉列 (特別說明 只是研究) 
 
DNF 直接HOOK CreateProcessA  是無效的 我們通過調式發現 他通過加載DLL 自己實現了 CreateP 
 
rocessA  這個API 的代碼 並且有2處 地方 (1年前的數據) 
 
那麼 這個樣子下 基本是 HOOK 不到的 他自己的實現代碼的(動態模塊+隨即調用 當然水品好的人  
 
不算 請直接無視它) 
 
解決方案如下 
 
調式發現 API  ntdll.memmove 沒有被模擬 那結果出來了 HOOK ntdll.memmove 
 
流程如下 HOOK ntdll.memmove 判斷是否 CreateProcessA 調用 如果是直接計算便宜 HOOK Creat 
 
eProcessA  RET 位置  如果不是放行   
 
RET 處理 讀取偏移可以獲取 創建的PID 遠線程注入  重複HOOK  (完) 
 
 
以上可能說的不夠清楚  多看幾遍 應該可以看懂  本人文盲 描述能力有限 請多包含 
 
沒有代碼~!!!!!  
 
附件文件如下 
 
1 HOOK.DLL 加載後 首先獲取當前進程PID BOX 彈出 然後 HOOK  ntdll.memmove 等待 CreatePro 
 
cessA 調用 
 
2 示範.exe  加載DLL後 CreateProcessA 調用 C:\WINDOWS\system32\calc.exe  
 
 
如果想仔細瞭解的 調式附件 完全能夠明白 附件在115網盤
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章