資源描述:
《從內(nèi)存資源中加載dll 模擬pe加載器》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、一種保護應用程序的方法?模擬Windows?PE加載器,從內(nèi)存資源中加載DLL1、前言目前很多敏感和重要的DLL(Dynamic-link?library)?都沒有提供靜態(tài)版本供編譯器進行靜態(tài)連接(.lib文件),即使提供了靜態(tài)版本也因為兼容性問題導致無法使用,而只提供DLL版本,并且很多專業(yè)軟件的授權(quán)部分的API,都是單獨提供一個DLL來完成,而主模塊通過調(diào)用DLL中的接口來完成授權(quán)功能。雖然這些軟件一般都采用了加殼和反調(diào)試等保護,但是一旦這些功能失去作用,比如脫殼,反反調(diào)試,HOOK?API或者干脆寫一個仿真的授權(quán)DLL(模擬授權(quán)DLL的所
2、有導出函數(shù)接口),然后仿真的DLL再調(diào)用授權(quán)DLL,這樣所有的輸入首先被仿真DLL截獲再傳遞給授權(quán)DLL,而授權(quán)DLL的輸出也首先傳遞給仿真DLL再傳遞給主程序,這樣就可以輕易的監(jiān)視二者之間的輸入輸出之間的關(guān)系,從而輕易的截獲DLL中的授權(quán)信息進行修改再返回給主程序。?2、目前隱式調(diào)用敏感DLL中可能存在的安全隱患以下通過兩個軟件的授權(quán)DLL來說明這種問題的嚴重性。如下是兩個軟件中授權(quán)DLL的部分信息,如下圖所示:(圖1)通過工具OllyICE可以輕易的看出IoMonitor.exe調(diào)用授權(quán)DLL(XKeyAPI.DLL),這樣就很容易在調(diào)用這
3、些API的地方設置斷點,然后判斷輸入輸出的關(guān)系,從而達到破解的目的。?一種保護應用程序的方法?模擬Windows?PE加載器,從內(nèi)存資源中加載DLL1、前言目前很多敏感和重要的DLL(Dynamic-link?library)?都沒有提供靜態(tài)版本供編譯器進行靜態(tài)連接(.lib文件),即使提供了靜態(tài)版本也因為兼容性問題導致無法使用,而只提供DLL版本,并且很多專業(yè)軟件的授權(quán)部分的API,都是單獨提供一個DLL來完成,而主模塊通過調(diào)用DLL中的接口來完成授權(quán)功能。雖然這些軟件一般都采用了加殼和反調(diào)試等保護,但是一旦這些功能失去作用,比如脫殼,反反調(diào)
4、試,HOOK?API或者干脆寫一個仿真的授權(quán)DLL(模擬授權(quán)DLL的所有導出函數(shù)接口),然后仿真的DLL再調(diào)用授權(quán)DLL,這樣所有的輸入首先被仿真DLL截獲再傳遞給授權(quán)DLL,而授權(quán)DLL的輸出也首先傳遞給仿真DLL再傳遞給主程序,這樣就可以輕易的監(jiān)視二者之間的輸入輸出之間的關(guān)系,從而輕易的截獲DLL中的授權(quán)信息進行修改再返回給主程序。?2、目前隱式調(diào)用敏感DLL中可能存在的安全隱患以下通過兩個軟件的授權(quán)DLL來說明這種問題的嚴重性。如下是兩個軟件中授權(quán)DLL的部分信息,如下圖所示:(圖1)通過工具OllyICE可以輕易的看出IoMonitor
5、.exe調(diào)用授權(quán)DLL(XKeyAPI.DLL),這樣就很容易在調(diào)用這些API的地方設置斷點,然后判斷輸入輸出的關(guān)系,從而達到破解的目的。?一種保護應用程序的方法?模擬Windows?PE加載器,從內(nèi)存資源中加載DLL1、前言目前很多敏感和重要的DLL(Dynamic-link?library)?都沒有提供靜態(tài)版本供編譯器進行靜態(tài)連接(.lib文件),即使提供了靜態(tài)版本也因為兼容性問題導致無法使用,而只提供DLL版本,并且很多專業(yè)軟件的授權(quán)部分的API,都是單獨提供一個DLL來完成,而主模塊通過調(diào)用DLL中的接口來完成授權(quán)功能。雖然這些軟件一般
6、都采用了加殼和反調(diào)試等保護,但是一旦這些功能失去作用,比如脫殼,反反調(diào)試,HOOK?API或者干脆寫一個仿真的授權(quán)DLL(模擬授權(quán)DLL的所有導出函數(shù)接口),然后仿真的DLL再調(diào)用授權(quán)DLL,這樣所有的輸入首先被仿真DLL截獲再傳遞給授權(quán)DLL,而授權(quán)DLL的輸出也首先傳遞給仿真DLL再傳遞給主程序,這樣就可以輕易的監(jiān)視二者之間的輸入輸出之間的關(guān)系,從而輕易的截獲DLL中的授權(quán)信息進行修改再返回給主程序。?2、目前隱式調(diào)用敏感DLL中可能存在的安全隱患以下通過兩個軟件的授權(quán)DLL來說明這種問題的嚴重性。如下是兩個軟件中授權(quán)DLL的部分信息,如下
7、圖所示:(圖1)通過工具OllyICE可以輕易的看出IoMonitor.exe調(diào)用授權(quán)DLL(XKeyAPI.DLL),這樣就很容易在調(diào)用這些API的地方設置斷點,然后判斷輸入輸出的關(guān)系,從而達到破解的目的。?一種保護應用程序的方法?模擬Windows?PE加載器,從內(nèi)存資源中加載DLL1、前言目前很多敏感和重要的DLL(Dynamic-link?library)?都沒有提供靜態(tài)版本供編譯器進行靜態(tài)連接(.lib文件),即使提供了靜態(tài)版本也因為兼容性問題導致無法使用,而只提供DLL版本,并且很多專業(yè)軟件的授權(quán)部分的API,都是單獨提供一個DLL
8、來完成,而主模塊通過調(diào)用DLL中的接口來完成授權(quán)功能。雖然這些軟件一般都采用了加殼和反調(diào)試等保護,但是一旦這些功能失去作用,比如脫殼,反反調(diào)試,HOO