首页 /编程语言和算法/VB6/VBA/ASP
 VB6 无节操版VB6多线程-ZT
2025年8月23日 01:33

谁说VB6不能多线程?谁说VB6不能用CreateThread?我发现用得好好的。前提是线程函数用机器码来写。

Private Sub Command1_Click()
    Dim sc(15) As Byte
    Dim ptr As Long, buffer As Long
    'push 0
    sc(0) = &H6A
    sc(1) = &H0
    'push 0
    sc(2) = &H6A
    sc(3) = &H0
    'push 0
    sc(4) = &H6A
    sc(5) = &H0
    'push 0
    sc(6) = &H6A
    sc(7) = &H0
    'mov eax,MessageBoxA
    sc(8) = &HB8
    sc(9) = &HB8 'addr1
    sc(10) = &HB8 'addr2
    sc(11) = &HB8 'addr3
    sc(12) = &HB8 'addr4
    'call eax
    sc(13) = &HFF
    sc(14) = &HD0
    'ret
    sc(15) = &HC3
    '修正地址
    ptr = GetProcAddress(GetModuleHandleA("user32.dll"), "MessageBoxA")
    RtlMoveMemory VarPtr(sc(9)), VarPtr(ptr), 4
    '复制SHELLCODE
    buffer = VirtualAlloc(0, 16, MEM_COMMIT, PAGE_EXECUTE_READWRITE)
    RtlMoveMemory buffer, VarPtr(sc(0)), 16
    '远程线程
    CreateThread 0, 0, buffer, 0, 0, 0
End Sub

没有做稳定性分析,没有释放内存,just for test。。。效果就是按下按钮,会弹出一个空白框框。。。

 
全部回复(0)
首页 | 电脑版 |