您的位置: 网站首页 > 编程乐园 > 阅读文章

伟伟VB编程系列┊VB实现从EXE文件中生成EXE文件,并写入配置信息

VB实现EXE生成EXE

  现在网上用VB所写的下载者,基本上都是生VBS服务端的,因为要想用VB实现直接生成EXE木马服务端是有难度的。我花不少时间在网上找资料,但是关于这方面的东西太少了。幸好,通过网上资料的帮助和我自己的思考,终于可以写出一个最基本的从EXE文件中生成出另一个EXE文件,并写入我们的配置信息的程序,希望对大家有帮助。

  源代码我已做了较详细的解释:

服务端

Const file_size = 20480
Private Sub Form_Load()
Dim snum As Long
Dim sinfo As String, sappend As Byte
Open App.Path & "\" & App.EXEName & ".exe" For Binary Access Read As #1
Seek #1, file_size + 1 ’'将读取指针定位到文件尾部
For snum = 1 To FileLen(App.Path & "\" & App.EXEName & ".exe") - file_size
Get #1, , sappend ’'读出超出模板大小的字节部分,即我们写进去的配置信息
sinfo = sinfo + Chr(sappend)
Next snum
Close #1
Text1.Text = sinfo
End Sub

保存为工程1.exe。

生成端

Private Sub Command1_Click()
Const FILE_SIZE = 20480 '这是101号资源中的服务端文件1.exe的大小
Dim bInfo As Byte
Dim bFile() As Byte
Dim iInfoLen As Integer
Dim i As Integer, lFile As Long, filesavename As String
On Error Resume Next
iInfoLen = Len(Text1.Text) 'text1中输入字符的长度
filesavename = Text2.Text & ".exe"      '打开文本中数据然后保存
If Text1.Text = "" Then
MsgBox "请输入内容"
Exit Sub
End If

bFile = LoadResData(101, "CUSTOM") '读出101号资源
Open filesavename For Binary Access Write As #1
For lFile = 0 To FILE_SIZE - 1 '判断资源大小
Put #1, , bFile(lFile) '输出
Next lFile
For i = 1 To iInfoLen '读出配置信息并追加
bInfo = Asc(Mid(Text1.Text, i, 1)) '转换成ASC格式
Put #1, , bInfo
Next i
Close #1
Shell App.Path & "/" & filesavename, vbNormalFocus
'Unload Me
End Sub

添加工程1.exe为自定义资源,生成即可。

  • 属于分类: 编程乐园
  • 本文标签:
  • 人气指数: 2,998
  • 文章作者: 野球小子
  • 生产日期: 2007年8月14日 - 14时15分31秒
看看还有没有您感兴趣的:

  1. 野球小子
    八月 18th, 2007 at 10:22 | #1

    不懂你说什么,对于没有VB基础的人是看不懂上面的代码的。

    [回复]

  2. 九月 23rd, 2011 at 22:44 | #2

    受教了,网上VB生成EXE的就你这篇文章转来转去的。但为什么要转化成asc格式。实在没有可读的资源。所以对一些基础的东西不太了解!比如要对生成EXE的图标更改,或者生成的时候能否自动加壳,还有。客户端传递的参数,是以明文的形式保存在生成的程序中么!有很多疑惑。请教下!期盼回复!

    [回复]

  • 您的大名(必填)
  • E-Mail (必填)
  • 您的网站(有的话就写一下吧~)
  • 评论内容:(必填)