伟伟VB编程系列┊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为自定义资源,生成即可。
不懂你说什么,对于没有VB基础的人是看不懂上面的代码的。
[回复]
受教了,网上VB生成EXE的就你这篇文章转来转去的。但为什么要转化成asc格式。实在没有可读的资源。所以对一些基础的东西不太了解!比如要对生成EXE的图标更改,或者生成的时候能否自动加壳,还有。客户端传递的参数,是以明文的形式保存在生成的程序中么!有很多疑惑。请教下!期盼回复!
[回复]