嗨大家好我是Andy,昨天和前天講述過DLL的殼和脫殼的工具,那今天我們來看一下要怎麼實際用PEiD查殼,或是他有甚麼方便的功能讓我們用呢?!今天就來探討看看吧!廢話不多說,我們直接進入主題。
我們今天使用PEiD來做查詢的動作,目前先選一個檔案
在這個檔案中可以發現他是使用Microsoft Visual C++6.0 DLL創建而成的,而我們可以在擴展訊息上面在點開
看起來是沒有加殼的狀態
接著我們可以點開
會看到一大長串的組合語言
可以一次掃很多個檔案方便找哪個有加殼哪個沒有加殼
這邊就有找到一個檔案是常見的UPX加殼
找到是甚麼殼之後就可以利用現有的軟體進行脫殼,當然如果是高手高手高高手可以用手動脫殼
DLL中的OEP是DllMain原始函數的開始地址,加殼DLL列出的開始地址是脫殼中的一個地址。
OEP是調用GetModuleHandleA的GetVersion
exe的入口只會開始時執行一次,但DLL的入口在整個執行過程中至少會跑兩次,一次是開始,另外一次是退出,就跟我們一開始說的那四個case一樣都放在入口點,所以才會被調用兩次。
本來今天想說可以反組譯一下DLL,但是由於智慧財產權的關係要自己去弄一個DLL加密,加密後脫殼再反組譯,各位也不要去輕易嘗試惹禍上身,好了今天的學習筆記就到這裡了,目前只剩兩天,一天看看明天有甚麼可以看的,最後一天是照常的完賽心得?!這必須的,感謝各位這一個月的觀看,看一個菜雞寫文章哈哈哈,我們明天見。