人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動態(tài)

VC 下黑客軟件隱蔽程序的手段

發(fā)布日期:2021-12-17 20:48 | 文章來源:gibhub
一、引言 隨著計算機(jī)網(wǎng)絡(luò)的不斷發(fā)展,黑客技術(shù)也日益成為一支不可忽視的技術(shù)力量,盡管多數(shù)黑客的攻擊目標(biāo)以服務(wù)器為主,對大多數(shù)的互連網(wǎng)用戶的直接危害并不大。但有一類稱為"特洛伊木馬"的黑客程序可以通過欺騙等手段在普通網(wǎng)絡(luò)用戶端安裝木馬的服務(wù)端,使用戶的計算機(jī)在上網(wǎng)時留有后門,而黑客則可以通過這個后門對被感染的計算機(jī)隨心所欲地進(jìn)行監(jiān)視、破壞。顯然這種黑軟對于普通網(wǎng)絡(luò)用戶的危害是非常嚴(yán)重的。 此類黑軟仍然屬于應(yīng)用程序,其本質(zhì)是基于套接字的網(wǎng)絡(luò)通訊程序。因此黑客能成功攻擊被感染計算機(jī)的一個非常必要的先決條件就是此時被攻擊方已經(jīng)有木馬程序的服務(wù)端在運(yùn)行。由于木馬程序是一種惡意程序,能在被攻擊者沒有察覺的情況下悄悄啟動運(yùn)行為攻擊者打開后門,故顯然不能象其他程序一樣堂而皇之的顯示在任務(wù)欄和任務(wù)列表中,否則會立即為用戶所察覺而將其關(guān)閉,也就失去了為攻擊者提供后門的作用。本文下面就針對其隱藏程序的機(jī)理展開討論。 二、程序在任務(wù)欄中的隱藏原理 程序在任務(wù)欄的隱藏比較簡單,首先要保證程序主界面的隱藏,一般是通過修改應(yīng)用程序類的初始化實(shí)例函數(shù)InitInstance()的ShowWindow()語句的SW_SHOW參數(shù)為SW_HIDE來實(shí)現(xiàn)的。主界面隱藏的同時任務(wù)欄雖然也會消失,但在程序啟動時會閃一下,因此需要修改程序的擴(kuò)展屬性。一種方法是SDK的寫法,即直接利用GetWindowLong()獲取到當(dāng)前的擴(kuò)展屬性然后通過邏輯運(yùn)算去掉原有的WS_EX_APPWINDOW屬性,并新添加一個WS_EX_TOOLWINDOW屬性,這樣系統(tǒng)會將其認(rèn)為是一個工具條窗口而不會再在任務(wù)欄中加以顯示。最后需要將修改過的擴(kuò)展屬性通過SetWindowLong()函數(shù)將其寫回。這兩個函數(shù)的聲明分別如下: LONG GetWindowLong(HWND hWnd,int nIndex);
LONG SetWindowLong(HWND hWnd,int nIndex,LONG dwNewLong); 另一種很簡便的是MFC的寫法:在程序框架類的預(yù)創(chuàng)建窗口函數(shù)里通過直接對CREATESTRUCT結(jié)構(gòu)對象的邏輯操作而將程序?qū)傩赃M(jìn)行改變: cs.style=WS_POPUP;
cs.dwExStyle|=WS_EX_TOOLWINDOW; 這兩種寫法雖然表現(xiàn)形式各不相同,其本質(zhì)都是一樣的。 三、程序在任務(wù)列表中的隱藏原理 任務(wù)列表(Ctrl Alt Del時彈出的對話框)顯示了當(dāng)前系統(tǒng)正在運(yùn)行的一些應(yīng)用程序,如果實(shí)現(xiàn)了上一步,雖然在任務(wù)欄看不見程序,但有經(jīng)驗(yàn)的用戶可以通過觀察任務(wù)列表而發(fā)現(xiàn)一些值得懷疑的應(yīng)用程序而在此將其關(guān)閉。所以大多數(shù)黑軟也都通過較復(fù)雜的手段實(shí)現(xiàn)了自身在任務(wù)列表中的隱藏,使被發(fā)現(xiàn)的機(jī)會大大降低。 在Win9x中,一般每個應(yīng)用程序都要通過一個API(應(yīng)用程序接口)函數(shù)RegisterServiceProcess()向系統(tǒng)申請注冊成為一個服務(wù)進(jìn)程,并且也是通過這個函數(shù)注銷其服務(wù)進(jìn)程來結(jié)束這個服務(wù)進(jìn)程的運(yùn)行。如果一個進(jìn)程注冊為一個服務(wù)進(jìn)程,通過Ctrl Alt Del就可以在任務(wù)列表里看見該進(jìn)程的標(biāo)題。而如果一個進(jìn)程運(yùn)行了但沒有向系統(tǒng)申請注冊成為服務(wù)進(jìn)程那么就不會在任務(wù)列表里顯示。黑軟也正是利用這個原理使自身在運(yùn)行時能在任務(wù)列表中實(shí)現(xiàn)隱藏。該函數(shù)存放于系統(tǒng)內(nèi)核Kernel32.dll中,具體聲明如下:
DWORD RegisterServiceProcess(DWORD dwProcessId,DWORD dwType); 其第一個參數(shù)指定為一個服務(wù)進(jìn)程的進(jìn)程標(biāo)識,如果是0則注冊當(dāng)前的進(jìn)程;第二個參數(shù)指出是注冊還是注銷當(dāng)前的進(jìn)程,其狀態(tài)分別為:RSP_SIMPLE_SERVICE和RSP_UNREGISTER_SERVICE。黑軟一般是在程序啟動初始化時首先從Kernel32.dll動態(tài)連接庫中將RegisterServiceProcess()函數(shù)加載到內(nèi)存,然后再通過該函數(shù)將程序從任務(wù)列表中隱藏: //從Kernel32.dll中加載RegisterServiceProcess()
HMODULE m_hKernel=::GetModuleHandle("Kernel32.DLL");
RSP m_rsp=(RSP)::GetProcAddress(m_hKernel,"RegisterServiceProcess");
m_rsp(::GetCurrentProcessId(),1);//此時為隱藏,當(dāng)?shù)诙€參數(shù)為0時顯示 另外,還有一部分黑軟是通過ShowWindowAsync()函數(shù)啟動一個新的線程來顯示一個新窗口的。該函數(shù)的原形為: BOOL ShowWindowAsync(HWND hWnd,int nCmdShow); 而黑軟正是鉆了該函數(shù)的第二個參數(shù)可以設(shè)置窗體顯示狀態(tài)的空子,在設(shè)置成SW_HIDE時就可以使目標(biāo)窗體(黑軟)從任務(wù)列表中隱藏。 小結(jié):以上就是Win9x下的黑客程序所具備的一些基本功能,在此基礎(chǔ)上我們可以借助于其實(shí)現(xiàn)技巧來編寫出一些諸如后臺監(jiān)控之類的實(shí)用程序。并且可以通過對黑客類軟件的隱藏機(jī)理的分析能使廣大用戶對此類黑軟采取一些必要的措施,通過加強(qiáng)防范來使自己的損失防患于未然。

版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實(shí)時開通

自選配置、實(shí)時開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對1客戶咨詢顧問

在線
客服

在線客服:7*24小時在線

客服
熱線

400-630-3752
7*24小時客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部