2014/02/15

找出所有已經載入的DLL以及隱藏已經載入的DLL

從PEB結構體裡面找出所有已經載入的DLL,以及隱藏的方法
可以用在什麼地方就不解釋了....XD

參考資料:
原文是 masm 寫的,我用 C++ 寫了一個
(不知道為什麼副檔名.c餵給cl就 吃屎 了...Q____Q,所以說是C++)
隱藏的部分大概就斷Link、抹除DLL Name和DLL Path、抹掉PE signature
缺點是可能會造成DLL重載、GetModuleHandle抓不到
(反正就說要隱藏了嘛哈哈哈哈)
不過應該還沒有完全隱藏起來,GetModuleHandle還是會掃過...明明Link都斷掉了阿 OTZ
後來發現不能把整個structure給填0,後面如果用到GetModuleHandle會crash
發生的記憶體存取錯誤的地方也附上了,但是有點懶得繼續追
如果有人找到GetModuleHandle用的Link在哪裡的話記得告訴我

Source: https://gist.github.com/Inndy/d9d1d37221a3a99a3c71