不關注《一碳科技》,你會錯過很多編程知識哦!
前言
相信大家都聽說計算機木馬病毒吧?在很多人眼裡,計算機木馬都是一種很神秘的存在,悄悄的隱藏在計算機後臺運行,監視著計算機的一切行為,能夠在無人知曉的情況下拿走敏感文件,並且遠在另一端的木馬製作者,會通過計算機網絡對木馬宿主電腦進行控制,而這一切操作木馬宿主都無法知曉,那麼,木馬真的有這麼神秘嗎?
這裡,《一碳科技》教大家用C語言編寫一個簡單的木馬程序,這篇文章先教大家編寫遠程控制木馬中的“被控端”,也就是發送給宿主計算機的程序,這個程序比較簡單,目的是為了讓大家能理清C語言木馬的工作原理,只是編寫了基本實現遠程發送命令的基本框架。
源碼在文章末尾
話不多說,打開電腦寫起來!
首先,我們這篇文章只教木馬被控端的代碼,木馬控制端的代碼會在發佈在下一篇文章,請關注我們哦!
第一步
編寫C代碼的第一步,引用頭文件,這裡分別使用stdio.h、WinSock2.h、windwos.h(高大上一點),注意,WinSock2.h要在
windwos.h之前引用,否則會出現錯誤,並且我們還要加入Ws_32.lib這個靜態鏈接庫,否則connect()函數就無法使用。對第一步做個總結:
- WinSock2.h要在windwos.h之前引用
- 加入Ws_32.lib這個靜態鏈接庫
第二步
編寫我們連接控制端的函數,在這裡會用到socket()函數,recv()函數,WSAStartup()函數、MAKEWORD()函數,HIBYTE()和LOBYTE()函數,這裡給大家提一個建議,如果想要學習scoket編程,那麼,你就要把socket()、send()、recv()、accept()、listen()、connect()、bind()、這7個函數要學會怎麼用並且理解。
第二步的注意事項:
- socket API函數調用之前,調用的第一個函數都是WSAStartup()函數。
- MAKEWORD()函數幾乎都是配合WSAStartup()函數使用,一般情況下,MAKEWORD()函數的參數分別為:2、2。
初始化完成,我們就要連接服務器了,分別有四個步驟:
- 創建一個套接字
- 填寫向SOCKADDR_IN中填寫服務器IP地址、端口、使用的協議族(AF_INET)
- 向服務器發送數據,說明“肉雞”已經上線
- 接收服務器信息
如果想要“被控端”執行服務器的命令,可以自行添加system()函數,這裡就不演示了。
好了,寫到這裡,“被控端”的基本框架已經完成了,剩餘的功能可以自行添加,例如執行服務端指令、“被控端”後臺執行、“被控端”自啟動 等功能,這些功能的實現並不難,這裡就不多講了,如果不明白可以私信小編哦!
“被控端”完成了,那麼“控制端”在哪呢?別急,下一篇文章會有哦
“控制端”與“被控端”一樣,小編只是將基本的框架寫出來,能夠實現“控制端”與“被控 端”的數據交流,控制端能夠發送指令,被控端能夠接收指令。其餘的功能在近期的文章中會 教大家如何實現,請關注《一碳科技》!
各位看官別忙著收藏嘛,關注不是更好嗎?更多幹貨推送給你哦
閱讀更多 一碳科技 的文章