執行時生成其它EXE檔案(VB6)
大家經常能看到一些程式,如木馬程式能夠生成一個完整的可執行程式出來,是不是覺得很有意思?其實VB也能做到這一點。
首先我們需要把一個EXE檔案轉為容易在程式中儲存的文字形式,這裡我轉成16進製表示,大家也可以轉為Base64或其它相容的格式。下面這個函式能將二進位制檔案轉為VB可識別的語句。
Function ConvBinToHex(byval strVarName as string,byval strInFile as string,byval strOutFile as string)
Open strInFile For Binary Access Read As #1
ReDim bBytes(LOF(1))
Get 1, , bBytes
Close #1
Dim strHex As String, strHexTmp As String
Dim i As Long, n As Long
strHex = strVarName & " = """
For i = 0 To UBound(bBytes)
strHexTmp = Hex(bBytes(i))
If Len(strHexTmp) = 1 Then
strHexTmp = "0" & strHexTmp
End If
n = n + 1
If n = 50 Then '設定一行顯示50個位元組
strHex = strHex & """" & vbCrLf & strVarName & " = " & strVarName & " & """ & strHexTmp & " "
n = 0
Else
strHex = strHex & strHexTmp & " "
End If
Next
strHex = Left(strHex, Len(strHex) - 1) & """"
Open strOutFile For Output As #1
Print #1, strHex
Close #1
End Function
執行上面的函式後,我們會得到這樣的程式碼:
trBin = "4D 5A 90 00 03 00 00 00 04 00 00 00 FF FF 00 00 B8 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 "
strBin = strBin & "00 00 00 00 00 00 00 00 00 00 00 C0 00 00 00 0E 1F BA 0E 00 B4 09 CD 21 B8 01 4C CD 21 54 68 69 73 20 70 72 6F 67 72 61 6D 20 63 61 6E 6E 6F 74 20 62 "
.............
將這些程式碼放入VB的工程原始碼中,再使用下面的函式即可完成將文字恢復為二進位制的功能:
Public Function ConvHexToBin(ByRef strHex As String, ByRef OutputFile As String)
Dim vHex As Variant, bBytes() As Byte, i As Long
vHex = Split(strHex, " ", -1)
ReDim bBytes(UBound(vHex))
For i = 0 To UBound(vHex)
bBytes(i) = CDec("&H" & vHex(i))
Next
Open OutputFile For Binary Access Write As #1
Put #1, , bBytes
Close #1
End Function
大家有什麼好的想法歡迎留言:)
相關文章
- matlab (.m)檔案生成 windows 可執行(.exe)檔案MatlabWindows
- Python如何生成windows可執行的exe檔案PythonWindows
- matlab生成exe獨立執行檔案已破解(好用)Matlab
- Java執行exe,bat等可執行檔案JavaBAT
- wine-在mac上執行exe執行檔案Mac
- Matlab生成exe檔案Matlab
- 從cmake解決clion編譯生成的可執行檔案(.exe)不可執行的問題編譯
- Matlab生成.exe格式檔案Matlab
- 把可執行jar打包成exe檔案JAR
- Python 打包 windows 可執行的 exe 檔案PythonWindows
- MATLAB生成可執行檔案Matlab
- 如何獲取java執行時動態生成的class檔案?Java
- electron+puppeteer 封裝成exe可執行檔案封裝
- C++程式怎樣呼叫exe可執行檔案C++
- 如何讓bat,cmd檔案後臺執行?如何把檔案打包成EXE?BAT
- PyCharm GUI介面開發和exe檔案生成PyCharmGUI
- matlab開啟和生成使用.p檔案和exe檔案Matlab
- 使用Mavne生成可以執行的jar檔案JAR
- 怎麼生成可執行的.jar檔案???????????JAR
- GODADLY:EXE檔案海外雲伺服器可以執行嗎?Go伺服器
- 利用IDEA和exe4j生成exe檔案及資原始檔和so、dll檔案的放置Idea
- 減小Delphi xe系列生成的exe檔案大小
- .NET 中的動態編譯(生成exe檔案)編譯
- 標頭檔案生成器-javah.exe(轉)Java
- win10執行exe檔案無反應怎麼辦 win10執行exe無反應解決方法Win10
- win10不能執行exe檔案怎麼解決_win10打不開exe檔案解決步驟Win10
- 將Python程式(.py)轉換為Windows可執行檔案(.exe)PythonWindows
- 當編譯VC專案時提示不能開啟生成的動態庫.dll或者.exe檔案編譯
- windows 將bat exe 指令碼執行檔案放到window 當做服務WindowsBAT指令碼
- 將自己的python程式碼打包成exe的可執行檔案Python
- 請問網頁可以打包成exe可執行檔案嗎?謝謝網頁
- [python爬蟲] 招聘資訊定時系統 (二).呼叫pyinstaller包生成exe檔案Python爬蟲
- Lua環境搭建luavs.bat檔案不能生成exeBAT
- 執行jar檔案生成pdf報錯,Unsupported URL <file:///homeJAR
- 執行 adb 命令的時候自動生成並啟動 ._cache_adb.exe 程式
- Delphi程式執行時實時生成報表
- python2 反編譯pyinstaller打包的可執行exe檔案Python編譯
- 當主執行緒崩潰而其它執行緒繼續執行時發生什麼(2)(轉)執行緒