代码修正:
Public Sub Thread2(ByVal 模块基址 As Long) '子线程2
'***********************************(重要!)VB6线程环境初始化*************************************************
init ByVal hh 'VB6运行库初始化
CoInitializeEx ByVal 0&, ByVal (COINIT_MULTITHREADED Or COINIT_SPEED_OVER_MEMORY) 'COM组件初始化
InitVBdll '诱导VB6运行库内部其他部分的初始化
'***********************************(重要!)VB6线程环境初始化*************************************************
Dim 原始API地址 As Long, 新的API代码 As String, TMP As String
原始API地址 = 获取过程地址(AddressOf ModDXC.隐藏自身)
新的API代码 = "64A1300000008B400C8B400C8B58183B5C24049075148B7028C706000000008B7030C70600000000EB048B00EBDE 6A fE B8" & 补全函数(Hex$(htonl(GetProcAddress(LoadLibrary("kernel32.dll"), "SuspendThread")))) & " FFD0 90 90 90"
If 写入内存(原始API地址, 新的API代码) = False Then
MsgBox "自我隐藏构建失败!", 0, "提示"
Else
隐藏自身 模块基址
End If
'SuspendThread -2 '挂起自身线程 以防止出现意外崩溃错误!
End Sub