当前位置:编程学习 > VB >>

关于将文件写入自身的问题

本帖最后由 bcrun 于 2011-01-25 10:23:39 编辑
MainFile = App.Path & "\" & App.EXEName & ".exe"
AlterFile = App.Path & "\" & App.EXEName & "1.exe"
Open MainFile For Binary Access Read As #1'打开原文件
Open AlterFile For Binary Access Write As #2'这个是写入后的文件
For i = 1 To LOF(1)
  Get #1, i, TempByte
  Put #2, i, TempByte
Next i
Close #1'至此,原文件复制完毕,以下为添加数据代码
For i = 1 To Len(Text1.Text)
  UserData(i) = Asc(Mid(Text1.Text, i, 1))
Next i
If Len(Text1.Text) < 20 Then
  For i = Len(Text1.Text) + 1 To 20
  UserData(i) = Asc(" ")
  Next i
End If'以上,把text1的内容转化为20位asc码,如没有20位以空格补足
For i = 1 To 20
  OffsetStep = OffsetStep - 1
  Record = LOF(2) - OffsetStep
  Put #2, Record, UserData(i)
Next i'至此,新文件已经追加20字节的数据,内容为text1里的文本

'NOW FOR REAL NAME
OffsetStep = 60
For i = 1 To Len(Text2.Text)
  UserData(i) = Asc(Mid(Text2.Text, i, 1))
Next i

If Len(Text2.Text) < 20 Then
  For i = Len(Text2.Text) + 1 To 20
  UserData(i) = Asc(" ")
  Next i
End If

For i = 1 To 20
  OffsetStep = OffsetStep - 1
  Record = LOF(2) - OffsetStep
  Put #2, Record, UserData(i)
Next i'再次追加20字节数据


'NOW FOR KEY

OffsetStep = 80
For i = 1 To Len(Text3.Text)
  UserData(i) = Asc(Mid(Text3.Text, i, 1))
Next i

If Len(Text3.Text) < 20 Then
  For i = Len(Text3.Text) + 1 To 20
  UserData(i) = Asc(" ")
  Next i
End If

For i = 1 To 20
  OffsetStep = OffsetStep - 1
  Record = LOF(2) - OffsetStep
  Put #2, Record, UserData(i)
Next i'第三次追加20字节数据

Close #2

大概是这个样子…… 估计会被安全软件屏蔽
补充:VB ,  基础类
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,