⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 modaddcode.bas

📁 软件作者:kylinpoet (E.S.T) PS:发现网上用VB写加花程序的源码很难找 同时也为了加深一下对PE结构的了解 就动手写了这个程序 本来还想加个 crc校验 或者 修改PE结
💻 BAS
字号:
Attribute VB_Name = "ModAddCode"
'********************************************
''' 作者:kylinpoet or 獬独
''''2007-05-14 23:44 初稿
''''2007-05-15 13:32 修改
''''转载请保留作者 声明
'********************************************
Private Const BUF_MAX           As Long = 512

Private Type tCode
  Buf(0 To BUF_MAX) As Byte       'Opcode 缓冲区
End Type

Public Type tCodeBuf
  Code              As tCode      ';定义包括长度的Opcode结构
  nBuf              As Long
End Type


Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" _
(Destination As Any, _
Source As Any, _
ByVal Length As Long)
Public CodeBuf      As tCodeBuf   '公共变量

Public Sub AddCode(sOps As String)

    Dim i As Long
    Dim j As Long
  
    With CodeBuf
        j = Len(sOps)
        Debug.Assert (j Mod 2 = 0)
        Debug.Assert (.nBuf + (j \ 2) <= BUF_MAX)

        For i = 1 To j Step 2
            .Code.Buf(.nBuf) = Val("&H" & Mid$(sOps, i, 2))
            .nBuf = .nBuf + 1
        Next i
    End With

End Sub

'将整型转化为 8长度的字符串
Public Function Hex8(lValue As Long) As String

    Dim s As String
  
    s = Hex$(lValue)
    Hex8 = String$(8 - Len(s), "0") & s

End Function
Function ReverseBytes(pVal As String) As String
Dim pTemp As String
For x = Len(pVal) - 1 To 1 Step -2
    pTemp = pTemp & Mid(pVal, x, 2)
Next
'每个字节为 8 长度 不足补 0
ReverseBytes = pTemp & String(8 - Len(pTemp), "0")
End Function

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -