无节操版VB6多线程
谁说VB6不能多线程?谁说VB6不能用CreateThread?我发现用得好好的。前提是线程函数用机器码来写。{:soso_e113:}Private Sub Command9_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。。。效果就是按下按钮,会弹出一个空白框框。。。 支持老大~ 感谢分享{:soso__f73f06b52e0b5055-f4f4f7819eeb3400-ff473bed7b999d0fa688f0eb32c07e20.jpg_1:}
页:
[1]