打印本文 打印本文 关闭窗口 关闭窗口
vb.net实现木马注册机原理:动态配置exe
作者:武汉SEO闵涛  文章来源:敏韬网  点击数2247  更新时间:2009/4/23 19:00:11  文章录入:mintao  责任编辑:mintao

         注册机就是批量生成相同功能的而内部配置不用程序文件的程序,这个程序的好处是不用在修改源代码重新编译的情况下产生新的文件,广泛应用与木马行业。

        原理有很多,这里实现的是在文件结尾追加配置字符的方法。

 程序下载,右键另存为rar文件:http://blog.csdn.net/images/blog_csdn_net/Qqwwee_Com/RAR_ExeProc.rar.gif

没有配置过的界面:

已经配置过的运行界面,背景是用notepad.exe打开文件可以看到文件最后的配置字符串:

主要源代码:

  Private Sub b_OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles b_OK.Click

        ''''检查配置

        If Len(Me.tb_myConfig.Text) = 0 Then

            Me.l_res.Text = "请输入你要设置的字符!"

            Return

        End If

        ''''设置文件保存位置

        Dim strUrl As String

        If ofd.ShowDialog = DialogResult.OK Then

            strUrl = ofd.FileName

        Else

            Return

        End If

        ''''复制本身到指定文件

        IO.File.Copy(Application.ExecutablePath, strUrl, True)

        Dim ms As IO.FileStream

        Dim bw As IO.BinaryWriter

        Try

            '''' ''''打开文件

            ms = New IO.FileStream(strUrl, IO.FileAccess.ReadWrite)

            bw = New IO.BinaryWriter(ms)

            ''''读取中文件配置的位置,以确定该文件是否被配置过

            Dim ip As Integer = SeekPostion(Application.ExecutablePath)

 

 

            If ip = 0 Then

                ''''如果没有配置过,就定位到文件结尾

                bw.Seek(0, IO.SeekOrigin.End)

            Else

                ''''已经配置过的话,就定位到配置位置

                bw.Seek(ip, IO.SeekOrigin.Begin)

            End If

            ''''连续写2个 vbcrlf,这个就是是否被配置的标志

            bw.Write(vbCrLf)

            bw.Write(vbCrLf)

            ''''这里写配置进去!

            bw.Write(System.Text.Encoding.Default.GetBytes(Me.tb_myConfig.Text))

            bw.Flush()

        Catch ex As Exception

            Me.l_res.Text = "错误:" & ex.Message

            Return

        Finally

            ''''关闭文件

            bw.Close()

      &nbs

[1] [2] [3]  下一页

打印本文 打印本文 关闭窗口 关闭窗口