當前位置:首頁 » 操作系統 » 劫持系統源碼

劫持系統源碼

發布時間: 2022-10-29 22:25:12

㈠ 系統文件被劫持怎麼辦

你好,用360系統急救箱!可以恢復系統文件
恢復之後,請重啟電腦!
謝謝採納

㈡ 如何發現自己的網站被劫持,網站被劫持後又該怎麼處理

首先要確定是怎樣被劫持的?

1、網站域名泛解析。

處理方法:關閉域名的泛解析,進入了域名管理後台之後點擊我們的域名找到帶*號的域名解析,刪除點就可以了。

2、瀏覽器劫持。

處理方法:網路讓裝他們瀏覽器。

3、運營商劫持。

處理方法:這個劫持是最難以處理的,通常大家遇到的也是這種情況,如何處理這種情況就需要降到HTTPS加密了。

4、黑客攻擊種植木馬程序。

打開自己網站的時候跳轉到了別的網站的這種情況屬於黑客攻擊劫持的情況。

處理方法:對於備份文件,找到被修改的文件,清理木馬程序即可(注意:請養成備份習慣,最少每個星期備份一次)

㈢ 網站被劫持到非法網站,程序裡面找不到,源代碼看不出問題

系統不穩定,跟你的程序沒關系的

㈣ vb怎麼劫持文件就是劫持一個軟體其中一個dll 啟動軟體就會載入這個dll

DLL劫持利用系統未知DLL的搜索路徑方式,使得程序載入當前目錄下的系統同名DLL。所以可以告訴系統DLL的位置,改變載入系統DLL的順序不是當前目錄,而是直接到系統目錄下查找。
這個想法可以通過修改注冊表實現。
在注冊表鍵值:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs
是調用系統DLL的首要查找目錄。例如裡面有RE_SZ類型的ntdll=ntdll.dll項,則系統載入ntdll時會直接從系統目錄載入。
由此,添加LPK=LPK.DLL即可防止LPK被劫持,同理可以阻止一些其他DLL被劫持,例如USP10。
在Windows NT系統,XP默認只有少數關鍵DLL在此鍵值下,Win7下面此鍵值已經相當齊全,在Win7系統下發生DLL劫持的概率要比XP小很多。
一 回顧DLL挾持的發展
2010年08月24日微軟發布安全公告2269637,提到三方軟體編程不安全存在一個DLL挾持的缺陷可以導致遠程攻擊
2010年08月24日流行的漏洞信息共享網站exploit-db馬上就爆出多個DLL挾持漏洞涉及的軟體有:Wireshark(免費嗅探器),Windows Live email(郵箱客戶端), Microsoft MovieMaker(視頻編輯處理),Firefox(網頁瀏覽器), uTorrent (BT下載工具),PowerPoint 2010(辦公軟體)等
2010年08月25日-26日漏洞信息共享網站exploit-db繼續爆出Winamp,Google Earth,Photoshop等軟體存在DLL挾持漏洞,同時發布這個blog之前筆者的電腦中已經發掘存在的流行軟體有,QQ影音,QQ音樂,美圖秀秀,ppstream等
二新老DLL挾持的攻擊原理分析和防禦
1 動態鏈接庫文件通常載入順序如下
windows xp sp2系統以上會默認開啟SafeDllSearchMode,安全dll搜索模式下DLL文件的搜索順序如下所示
(1)可執行程序載入的目錄(可理解為程序安裝目錄比如 C:\Program Files\uTorrent)(2)系統目錄(即 %windir%\system32 )(3)16位系統目錄(即 %windir%\system)(4)Windows目錄(即 %windir%)(5)運行某文件的所在目錄,比如C:\Documents and Settings\Administrator\Desktop\test)(6)PATH環境變數中列出的目錄
2 老DLL挾持觸發的原理解析和防禦(漏洞觸發在DLL搜索流程的第一層,運行程序即載入病毒)
(1)老DLL挾持的特點:
為了增加觸發的概率,通常會使用usp1.dll,ws2_32.dll,lpk.dll等應用程序所必須的系統dll文件,然後利用DLL搜索第一順位是程序安裝目錄,在程序安裝目錄釋放一個同名DLL文件,搶先載入惡意病毒DLL文件,從而達到破壞的作用。這里可執行程序相當於惡意dll的載入器
(2)老DLL挾持病毒利用回顧重現
2007年羅姆病毒(ws2_32.dll導致很多殺毒軟體無法打開),2009年春節貓癬病毒(usp10.dll導致很多用戶重裝系統都無法解決病毒問題)
通常使用老DLL挾持的病毒木馬會枚舉電腦裡面的所有exe目錄,然後將惡意的usp10.dll釋放到每個exe所在的目錄。當用戶執行一個應用程序的時候,將會把惡意的usp10.dll文件優先載入從而感染系統
根據前面介紹的DLL載入順序,運行程序的時候會優先到程序執行的目錄下載入必須文件,下圖顯示了utorrent.exe在安裝目錄下的找到了usp10.dll文件並把它載入到內存中。

(3)老DLL挾持的通用免疫方案
可以通過編輯HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs來添加需要面議的DLL文件,比如:新建一個ws2_32 指向ws2_32.dll
3 新DLL挾持觸發的原理解析和防禦(漏洞觸發在DLL搜索流程的第五層,運行圖片即載入病毒)
(1)新DLL挾持的特點:
應用程序為了擴展或者兼容等目的需要載入相應的DLL文件,但是因為某些原因導致這個DLL文件默認不存在於當前系統,比如plugin_dll.dll文件默認情況下不存在utorrent的安裝目錄,dwmapi.dllxp環境下不存在(Vista以上系統存在),ie6環境下沒有ieframe.dll(ie7以上版本存在)。正是因為程序需要的DLL文件在DLL搜索順序的(1)-(4)中都不可能存在,此時就會嘗試載入文件所在目錄下的惡意dll文件,從而達到破壞的作用。這里運行的文件(比如mp3)相當於觸發者,根據文件關聯它會啟動一個應用程序去播放mp3文件。而因為應用程序存在DLL挾持漏洞(比如QQ影音),此時QQ影音就會因為設計上的不足導致成為惡意DLL的載入器。相當於老DLL挾持,簡直達到了運行圖片/視頻文件就會執行惡意文件的目的,當然前提是大灰客們能猜中你電腦裡面的默認查看的軟體是否存在DLL挾持漏洞了,目前已經發現的存在DLL挾持缺陷的主要有以下幾類
① 特定系統環境下的文件
典型的有dwmapi.dll文件,xp環境下不存在,vista以上版本存在,也就是說需要觸發這個漏洞的系統環境只能是XP系統
② 特定軟體版本下的文件
典型的有:ieframe.dll,IE6下不 存在,ie7以上版本有,也就是說觸發漏洞的電腦IE必須是IE6版本
③ 特定的庫文件
典型的有:mfc80chs.dll
④ 程序自己需要的dll文件,可能是為了功能擴展或者兼容
典型的有:plugin_dll.dll
⑤ 其它未知
(2)新DLL挾持利用重現
通常灰客們會先通過DLL挾持挖掘工具尋找存在DLL挾持漏洞的流行應用程序,然後構造相應的文件上傳到網路上供用戶下載(具體的傳播方式請看下一章),如果用戶的電腦存在漏洞那麼運行相應文件的時候就會執行存在漏洞的程序,從而使得惡意dll被不知不覺載入
根據前面介紹的DLL載入順序和新DLL挾持的特點,程序在前四個流程都沒有找到需要的文件,只能勉為其難的在第五流程-當前文件目錄下載入惡意dll文件,下圖就顯示了uTorrent載入plugin_dll.dll順序(前四個流程都是 name not found)並且載入當前目錄下惡意plugin_dll.dll文件(第五流程顯示的是success )的過程

㈤ dll劫持的如何防止DLL劫持

DLL劫持利用系統未知DLL的搜索路徑方式,使得程序載入當前目錄下的系統同名DLL。所以可以告訴系統DLL的位置,改變載入系統DLL的順序不是當前目錄,而是直接到系統目錄下查找。
這個想法可以通過修改注冊表實現。
在注冊表鍵值:HKEY_LOCAL_ ManagerKnownDLLs
是調用系統DLL的首要查找目錄。例如裡面有RE_SZ類型的ntdll=ntdll.dll項,則系統載入ntdll時會直接從系統目錄載入。
由此,添加LPK=LPK.DLL即可防止LPK被劫持,同理可以阻止一些其他DLL被劫持,例如USP10。
在Windows NT系統,XP默認只有少數關鍵DLL在此鍵值下,Win7下面此鍵值已經相當齊全,在Win7系統下發生DLL劫持的概率要比XP小很多。
一 回顧DLL挾持的發展
2010年08月24日微軟發布安全公告2269637,提到三方軟體編程不安全存在一個DLL挾持的缺陷可以導致遠程攻擊
2010年08月24日流行的漏洞信息共享網站exploit-db馬上就爆出多個DLL挾持漏洞涉及的軟體有:Wireshark(免費嗅探器),Windows Live email(郵箱客戶端), Microsoft MovieMaker(視頻編輯處理),Firefox(網頁瀏覽器), uTorrent (BT下載工具),PowerPoint 2010(辦公軟體)等
2010年08月25日-26日漏洞信息共享網站exploit-db繼續爆出Winamp,Google Earth,Photoshop等軟體存在DLL挾持漏洞,同時發布這個blog之前筆者的電腦中已經發掘存在的流行軟體有,QQ影音,QQ音樂,美圖秀秀,ppstream等
二新老DLL挾持的攻擊原理分析和防禦
1 動態鏈接庫文件通常載入順序如下
windows xp sp2系統以上會默認開啟SafeDllSearchMode,安全dll搜索模式下DLL文件的搜索順序如下所示
(1)可執行程序載入的目錄(可理解為程序安裝目錄比如 C:Program FilesuTorrent)(2)系統目錄(即 %windir%system32 )(3)16位系統目錄(即 %windir%system)(4)Windows目錄(即 %windir%)(5)運行某文件的所在目錄,比如C:Documents and SettingsAdministratorDesktop est)(6)PATH環境變數中列出的目錄
2 老DLL挾持觸發的原理解析和防禦(漏洞觸發在DLL搜索流程的第一層,運行程序即載入病毒)
(1)老DLL挾持的特點:
為了增加觸發的概率,通常會使用usp1.dll,ws2_32.dll,lpk.dll等應用程序所必須的系統dll文件,然後利用DLL搜索第一順位是程序安裝目錄,在程序安裝目錄釋放一個同名DLL文件,搶先載入惡意病毒DLL文件,從而達到破壞的作用。這里可執行程序相當於惡意dll的載入器
(2)老DLL挾持病毒利用回顧重現
2007年羅姆病毒(ws2_32.dll導致很多殺毒軟體無法打開),2009年春節貓癬病毒(usp10.dll導致很多用戶重裝系統都無法解決病毒問題)
通常使用老DLL挾持的病毒木馬會枚舉電腦裡面的所有exe目錄,然後將惡意的usp10.dll釋放到每個exe所在的目錄。當用戶執行一個應用程序的時候,將會把惡意的usp10.dll文件優先載入從而感染系統
根據前面介紹的DLL載入順序,運行程序的時候會優先到程序執行的目錄下載入必須文件,下圖顯示了utorrent.exe在安裝目錄下的找到了usp10.dll文件並把它載入到內存中。

(3)老DLL挾持的通用免疫方案
可以通過編輯 ManagerKnownDLLs來添加需要面議的DLL文件,比如:新建一個ws2_32 指向ws2_32.dll
3 新DLL挾持觸發的原理解析和防禦(漏洞觸發在DLL搜索流程的第五層,運行圖片即載入病毒)
(1)新DLL挾持的特點:
應用程序為了擴展或者兼容等目的需要載入相應的DLL文件,但是因為某些原因導致這個DLL文件默認不存在於當前系統,比如plugin_dll.dll文件默認情況下不存在utorrent的安裝目錄,dwmapi.dllxp環境下不存在(Vista以上系統存在),ie6環境下沒有ieframe.dll(ie7以上版本存在)。正是因為程序需要的DLL文件在DLL搜索順序的(1)-(4)中都不可能存在,此時就會嘗試載入文件所在目錄下的惡意dll文件,從而達到破壞的作用。這里運行的文件(比如mp3)相當於觸發者,根據文件關聯它會啟動一個應用程序去播放mp3文件。而因為應用程序存在DLL挾持漏洞(比如QQ影音),此時QQ影音就會因為設計上的不足導致成為惡意DLL的載入器。相當於老DLL挾持,簡直達到了運行圖片/視頻文件就會執行惡意文件的目的,當然前提是大灰客們能猜中你電腦裡面的默認查看的軟體是否存在DLL挾持漏洞了,目前已經發現的存在DLL挾持缺陷的主要有以下幾類
① 特定系統環境下的文件
典型的有dwmapi.dll文件,xp環境下不存在,vista以上版本存在,也就是說需要觸發這個漏洞的系統環境只能是XP系統
② 特定軟體版本下的文件
典型的有:ieframe.dll,IE6下不 存在,ie7以上版本有,也就是說觸發漏洞的電腦IE必須是IE6版本
③ 特定的庫文件
典型的有:mfc80chs.dll
④ 程序自己需要的dll文件,可能是為了功能擴展或者兼容
典型的有:plugin_dll.dll
⑤ 其它未知
(2)新DLL挾持利用重現
通常灰客們會先通過DLL挾持挖掘工具尋找存在DLL挾持漏洞的流行應用程序,然後構造相應的文件上傳到網路上供用戶下載(具體的傳播方式請看下一章),如果用戶的電腦存在漏洞那麼運行相應文件的時候就會執行存在漏洞的程序,從而使得惡意dll被不知不覺載入
根據前面介紹的DLL載入順序和新DLL挾持的特點,程序在前四個流程都沒有找到需要的文件,只能勉為其難的在第五流程-當前文件目錄下載入惡意dll文件,下圖就顯示了uTorrent載入plugin_dll.dll順序(前四個流程都是 name not found)並且載入當前目錄下惡意plugin_dll.dll文件(第五流程顯示的是success )的過程


(3)新DLL挾持的免疫
目前微軟沒有提供有效的免疫方案可以使用,建議升級你常用軟體到最新版本.
三 新DLL挾持可能存在的攻擊方式
exploit-db公布了存在DLL Hijacking的大量常用軟體,這些軟體裡面有視頻音頻播放器,圖像設計瀏覽軟體,IM聊天工具,文字處理軟體,網頁瀏覽器,下載軟體,殺毒軟體。根據在下的一點拙見如果病毒作者想要利用這個漏洞來實現廣泛傳播的話主要有幾種方式。
1 BT下載大片傳播
挖掘出支持BT下載的流行軟體(比如uTorrent )的DLL Hijacking漏洞,然後構造一個惡意dll文件(估計會設置隱藏屬性,這樣你解壓以後將不會看到這個文件)和BT種子文件打包成壓縮包上傳到網上供用戶下載,用戶一旦下載了這個壓縮包雙擊BT種子文件的時候會調用uTorrent 打開,uTorrent 運行的時候由於設計上的不河蟹根據dll載入的順序最後會將種子所在目錄的惡意dll載入
2 美女圖片分享傳播
挖掘出流行圖片瀏覽工具(比如美圖秀秀)的DLL Hijacking漏洞,然後構造一個惡意dll文件(估計會設置隱藏屬性,這樣你解壓以後將不會看到這個文件)和圖片文件打包成壓縮包上傳到網上供用戶下載,用戶一旦下載了這個壓縮包,解壓瀏覽美女靚照的時候可能會調用圖片瀏覽工具打開從而觸發漏洞載入惡意dll文件
3 軟體下載包含的網頁文件傳播
挖掘出流行網頁瀏覽工具(比如firefox)的DLL Hijacking漏洞,然後構造一個惡意dll文件(估計會設置隱藏屬性,這樣你解壓以後將不會看到這個文件),應用程序和htm等網頁文件打包成軟體壓縮包並上傳到網上供用戶下載。用戶一旦下載了這個軟體壓縮包,解壓以後運行安裝必看.htm之類的網頁文件會調用網頁瀏覽工具打開從而觸發漏洞載入惡意dll文件
4 熱門視頻音頻文件傳播
挖掘出流行視頻音頻播放工具(比如QQ影音)的DLL Hijacking漏洞,然後構造一個惡意dll文件(估計會設置隱藏屬性,這樣你解壓以後將不會看到這個文件)和rmvb等視音頻文件打包壓縮包並上傳到網上供用戶下載。用戶一旦下載了這個壓縮包,解壓播放相應視頻的時候從而觸發漏洞載入惡意dll文件
5 目前公布的部分軟體列表
Google Earth
Nullsoft Winamp 5.581
Media Player Classic 6.4.9.1
Mozilla Thunderbird
Microsoft Office PowerPoint 2007
Adobe InDesign CS4
Nvidia Driver
Adobe Illustrator CS4
Adobe Premier Pro CS4
Skype <= 4.2.0.169
TechSmith Snagit 10
Safari v5.0.1
uTorrent
Microsoft Visio 2003
Adobe Photoshop CS2
avast! <= 5.0.594
Adobe Dreamweaver CS5
Opera v10.61
Firefox <= 3.6.8
四 DLL安全編程,避免產生DLL挾持問題

(1) 調用LoadLibrary, LoadLibraryEx, CreateProcess的,或者 的ShellExecute 等涉及到模塊載入的函數的時候,指定DLL載入的完整路徑,貌似應該有API可以獲取當前程序運行的目錄的
(2)考慮使用 的DLL重定向 或 Manifests文件 ,以確保您的應用程序使用正確的DLL。
HKEY_LOCAL_ ManagerKnownDLLs
(3)確保DLL安全搜索模式被激活。未使用安全搜索設置的話,第二載入項就是當前目錄。
Manager SafeDllSearchMode
(4)從搜索列表中取消當前目錄,可以通過調用SetDllDirectory 參數設置為一個空字元串

㈥ 如何處理網站劫持現象

要想解決網站被惡意劫持,比較簡單的方法就是可以給網站安裝一個SSL證書,它的主要功能就是數據加密傳輸和伺服器身份驗證,其好處是:
1、提升企業網站排名
目前Google、網路等主流搜索引擎表示會優先收錄以HTTPS開頭的網站,並賦予網站高權重,有效提高網站關鍵詞的排名。網站安裝SSL證書便可以實現網站從HTTP升級到HTTPS。
2、網站隱私信息加密
對網站傳輸的數據進行加密,包括網站用戶的賬戶密碼、身份證等隱私信息,防止被黑客監聽、竊取和篡改。目前大部分網站都會涉及到用戶的隱私數據傳輸,安裝SSL證書很有必要。
3、瀏覽器受信任
任如果沒有安裝SSL證書,用戶通過谷歌、火狐等瀏覽器訪問企業網站時會提示不安全,這必然會影響到用戶的訪問體驗,而安裝由受信任的證書頒發機構簽發的SSL證書,會成為谷歌、火狐等主流瀏覽器受信任站點。
4、防止流量劫持
普通的http網站非常容易遭受網路攻擊,尤其是流量劫持,會強制用戶訪客其他網站,從而造成網站流量損失。而安裝受信任的SSL證書,你的網站就能有效避免流量劫持。
5、提升企業形象
安裝高級的SSL證書不僅會出現綠色小鎖及「https」,還會顯示出企業名稱,這會大大增加用戶的信任,同時提升企業的形象和可信度。

㈦ DLL文件劫持應該怎麼辦 急啊

DLL當一個可執行文件運行時,Windows載入器將可執行模塊映射到進程的地址空間中,載入器分析可執行模塊的輸入表,並設法找出任何需要的DLL,並將它們映射到進程的地址空間中。

由於輸入表中只包含DLL名而沒有它的路徑名,因此載入程序必須在磁碟上搜索DLL文件。首先會嘗試從當前程序所在的目錄載入DLL,如果沒找到,則在Windows系統目錄查找,最後是在環境變數中列出的各個目錄下查找。利用這個特點,先偽造一個系統同名的DLL,提供同樣的輸出表,每個輸出函數轉向真正的系統DLL。程序調用系統DLL時會先調用當前目錄下偽造的DLL,完成相關功能後,再跳到系統DLL同名函數里執行,如圖18.4。這個過程用個形象的詞來描述就是系統DLL被劫持(hijack)了。

184.gif

利用這種方法取得控制權後,可以對主程序進行補丁。此種方法只對除kernel32.dll, ntdll.dll等核心系統庫以外的DLL有效,如網路應用程序的ws2_32.dll,游戲程序中的d3d8.dll,還有大部分應用程序都調用的lpk.dll,這些DLL都可被劫持。
利用5.6.2章提供的CrackMeNet.exe來演示一下如何利用劫持技術製作補丁,目標文件用Themida v1.9.2.0加殼保護。

1.補丁地址
去除這個CrackMe網路驗證方法參考第5章,將相關補丁代碼存放到函數PatchProcess( )里。例如將401496h改成:
代碼:00401496 EB 29 jmp short 004014C1
補丁編程實現就是:
代碼:
unsigned char p401496[2] = {0xEB, 0x29};
WriteProcessMemory(hProcess,(LPVOID)0x401496, p401496, 2, NULL);
p401496這個數組的數據格式,可以用OllyDBG插件獲得,或十六進制工具轉換。例如Hex Workshop打開文件,執行菜單Edit/Copy As/Source即可得到相應的代碼格式。

2.構建輸出函數
查看實例CrackMeNet.exe輸入表,會發現名稱為ws2_32.dll的DLL,因此構造一個同名的DLL來完成補丁任務。偽造的ws2_32.dll有著真實ws2_32.dll一樣的輸出函數,完整源碼見光碟。實現時,可以利用DLL模塊中的函數轉發器來實現這個目標,其會將對一個函數的調用轉至另一個DLL中的另一個函數。可以這樣使用一個pragma指令:
代碼:#pragma comment(linker, "/EXPORT:SomeFunc=DllWork.someOtherFunc")
這個pragma告訴鏈接程序,被編譯的DLL應該輸出一個名叫SomeFunc的函數。但是SomeFunc函數的實現實際上位於另一個名叫SomeOtherFunc的函數中,該函數包含在稱為DllWork. dll的模塊中。
如要達到劫持DLL的目的,生成的DLl輸出函數必須與目標DLL輸出函數名一樣,本例可以這樣構造pragma指令:
代碼:#pragma comment(linker, "/EXPORT:WSAStartup=_MemCode_WSAStartup,@115")
編譯後的DLL,會有與ws2_32.dll同名的一個輸出函數WSAStartup,實際操作時,必須為想要轉發的每個函數創建一個單獨的pragma代碼行,讀者可以寫一個工具或用其他辦法,將ws2_32.dll輸出函數轉換成相應的pragma指令。

當應用程序調用偽裝ws2_32.dll的輸出函數時,必須將其轉到系統ws2_32.dl中去,這部分的代碼自己實現。例如WSAStartup輸出函數如下構造:
代碼:
ALCDECL MemCode_WSAStartup(void)
{
GetAddress("WSAStartup");
__asm JMP EAX;//轉到系統ws2_32.dll的WSAStartup輸出函數
}
其中GetAddress()函數的代碼如下:
代碼:
// MemCode 命名空間
namespace MemCode
{
HMODULE m_hMole = NULL; //原始模塊句柄
DWORD m_dwReturn[500] = {0}; //原始函數返回地址
// 載入原始模塊
inline BOOL WINAPI Load()
{
TCHAR tzPath[MAX_PATH]={0};
TCHAR tzTemp[MAX_PATH]={0};
GetSystemDirectory(tzPath, sizeof(tzPath));
strcat(tzPath,"\\ws2_32.dll");
m_hMole = LoadLibrary(tzPath);//載入系統系統目錄下ws2_32.dll
if (m_hMole == NULL)
{
wsprintf(tzTemp, TEXT("無法載入 %s,程序無法正常運行。"), tzPath);
MessageBox(NULL, tzTemp, TEXT("MemCode"), MB_ICONSTOP);
}
return (m_hMole != NULL);
}

// 釋放原始模塊
inline VOID WINAPI Free()
{
if (m_hMole)
FreeLibrary(m_hMole);
}
// 獲取原始函數地址
FARPROC WINAPI GetAddress(PCSTR pszProcName)
{
FARPROC fpAddress;
TCHAR szProcName[16]={0};
TCHAR tzTemp[MAX_PATH]={0};

if (m_hMole == NULL)
{
if (Load() == FALSE)
ExitProcess(-1);
}

fpAddress = GetProcAddress(m_hMole, pszProcName);
if (fpAddress == NULL)
{
if (HIWORD(pszProcName) == 0)
{
wsprintf(szProcName, "%d", pszProcName);
pszProcName = szProcName;
}
wsprintf(tzTemp, TEXT("無法找到函數 %hs,程序無法正常運行。"), pszProcName);
MessageBox(NULL, tzTemp, TEXT("MemCode"), MB_ICONSTOP);
ExitProcess(-2);
}
return fpAddress;
}
}
using namespace MemCode;
編譯後,用LordPE查看偽造的ws2_32.dll輸出函數,和真實ws2_32.dll完全一樣,如圖18.5所示。

185.gif

查看偽造的ws2_32.dll中任意一個輸出函數,例如WSACleanup:
代碼:
.text:10001CC0 ; int __stdcall WSACleanup()
.text:10001CC0 WSACleanup proc near
.text:10001CC0 push offset aWsacleanup ;"WSACleanup"
.text:10001CC5 call sub_10001000 ;GetAddress(WSACleanup)
.text:10001CCA jmp eax
.text:10001CCA WSACleanup endp
會發現輸出函數WSACleanup()首先調用GetAddress(WSACleanup),獲得真實ws2_32.dll中WSACleanup的地址,然後跳過去執行,也就是說ws2_32.dll各輸出函數被HOOK了。

3.劫持輸出函數
ws2_32.dll有許多輸出函數,經分析,程序發包或接包時,WSAStartup輸出函數調用的比較早,因此在這個輸出函數放上補丁的代碼。代碼如下:
代碼:
ALCDECL MemCode_WSAStartup(void)
{
hijack();
GetAddress("WSAStartup");
__asm JMP EAX;
}
hijack()函數主要是判斷是不是目標程序,如是就調用PatchProcess()進行補丁。
void hijack()
{
if (isTarget(GetCurrentProcess())) //判斷主程序是不是目標程序,是則補丁之
{
PatchProcess(GetCurrentProcess());
}
}
偽造的ws2_32.dll製作好後,放到程序當前目錄下,這樣當原程序調用WSASTartup函數時就調用了偽造的ws2_32.dll的WSASTartup函數,此時hijack()函數負責核對目標程序校驗,並將相關數據補丁好,處理完畢後,轉到系統目錄下的ws2_32.dll執行。
這種補丁技術,對加殼保護的軟體很有效,選擇掛接的函數最好是在殼中沒有被調用,當掛接函數被執行時,相關的代碼己被解壓,可以直接補丁了。有些情況下,必須用計數器統計掛接的函數的調用次數來接近OEP。此方法巧妙地繞過了殼的復雜檢測,很適合加殼程序的補丁製作。
一些木馬或病毒也會利用DLL劫持技術搞破壞,因此當在應用程序目錄下發現系統一些DLL文件存在時,應引起注意。

㈧ 遇到流氓http劫持網頁,怎麼辦

1/可能是你防火牆或者IE瀏覽器的問題;
2、檢查你的IP地址和DNS服務起地址的設置;
3、網路物理線路是否通暢;
4/給網通或電信公司打電話吧。

㈨ 被劫持的系統文件是怎麼回事用360自定義檢測檢測出的。電腦有時就吱吱幾聲後就黑屏了是不是中病毒了

你可以理解成被惡意替換了,朋友,建議你安裝專業的殺毒軟體,國產推薦金山毒霸安全套裝或微點,國外推薦小紅傘,AVAST,nod32,希望可以幫到你。

熱點內容
python路徑是否存在 發布:2025-05-13 19:08:38 瀏覽:569
保時捷卡宴哪個配置比較好 發布:2025-05-13 19:00:08 瀏覽:725
c語言負數運算 發布:2025-05-13 18:45:21 瀏覽:428
太空殺電腦版連接不到伺服器 發布:2025-05-13 18:40:19 瀏覽:457
同樣的配置為什麼跑分不同 發布:2025-05-13 18:39:06 瀏覽:278
獲取linuxcpu序列號 發布:2025-05-13 18:36:35 瀏覽:738
appleid為什麼連接伺服器出現問題 發布:2025-05-13 18:17:37 瀏覽:971
書翁怎麼配置 發布:2025-05-13 18:17:36 瀏覽:911
雲資料庫mongodb 發布:2025-05-13 18:16:12 瀏覽:774
A7編程 發布:2025-05-13 18:15:26 瀏覽:742