當前位置:編程學習大全網 - 源碼下載 - 使用代碼導入DLL文件

使用代碼導入DLL文件

修改EXE文件的導入表,其實是壹個很老的話題了(如果妳是這方面的專家,請不要在這篇文章上浪費時間,如果發現什麽問題,請給我壹些建議)。壹些PE相關的軟件,比如Stud_PE,也實現了這個功能。

Stud_PE通過添加壹個新節並將導入表和添加的內容壹起復制到新節來導入DLL。

使用這種方法,只要是PE格式的EXE文件,都可以實現導入DLL的功能,但是這種方法實現了通用性,但是增加了文件大小。

對於存儲在磁盤上的PE文件,有很多空隙。我們知道PE中的數據是按照壹定的文件對齊方式組織的。IMAGE_OPTIONAL_HEADER結構中的文件對齊成員保存文件對齊大小,該大小由鏈接器在鏈接時指定。如果使用VC編寫程序,可以使用鏈接中的/file alignment來調整文件對齊大小。

在這裏,這些間隙用於使EXE在啟動時加載DLL(類似於某些病毒技術),而不改變文件大小。如何實現這壹點?我們仍然需要修改導入表。然而,這種方法的缺點是顯而易見的。不是每個EXE都有足夠的空間讓我們插入數據。根據我的測試,lsass.exe和services.exe有足夠的空間在Windows 2003 Enterprise sp1中插入數據。在Windows 2000 Advance Server sp4中,不能插入lsass.EXE,但可以插入services.exe。這些exe文件的文件對齊方式是0x200H。為什麽選擇這些exe文件?說了這麽多,我的意圖很明顯。黑客之門是壹匹用這種方法啟動自己的特洛伊馬。

上面有很多廢話。現在直接粘貼代碼。具體實現見程序的註釋。假設妳對PE格式有壹定的了解。將內容復制到剪貼板。

  • 上一篇:在哪裏可以找到源代碼?
  • 下一篇:Xilinx ip核生成後,怎樣在ModelSim中仿真?
  • copyright 2024編程學習大全網