.版本 2
.支持库 shellEx
.程序集 Virus, , , win7远程调用汇编易源码
.程序集变量 address, 整数型
.程序集变量 daxiao, 整数型
.子程序 _启动子程序, 整数型, , 请在本子程序中放置易模块初始化代码 win7远程调用汇编易源码
_临时子程序 () ' 在初始化代码执行完毕后调用测试代码
返回 (0) ' 可以根据您的需要返回任意数值
.子程序 _临时子程序
.子程序 申请远程内存, 整数型, 公开, 默认申请1024字节的内存 win7远程调用汇编易源码
.参数 size, 整数型, 可空
.局部变量 addrss, 整数型
.如果真 (size = 0)
size = 1024
.如果真结束
daxiao = size
addrss = win7远程调用汇编_VirtualAllocEx (hProcess, 0, size, 4096, 64) ' 申请内存
返回 (addrss)
.子程序 字集远程写入, 整数型, 公开, 返回地址 win7远程调用汇编易源码
.参数 字集, 字节集
.局部变量 len, 整数型
len = 取字节集长度 (字集)
address = 申请远程内存 (len)
win7远程调用汇编_WriteProcessMemory (hProcess, address, 取指针地址 (字集), len, 0)
返回 (address)
.子程序 字集倒转, 字节集, 公开, win7远程调用汇编易源码
.参数 字集, 字节集
.局部变量 临时, 字节集
.局部变量 i, 整数型
.计次循环首 (取字节集长度 (字集), i)
临时 = 临时 + 取字节集中间 (字集, 取字节集长度 (字集) - i + 1, 1)
.计次循环尾 ()
返回 (临时)
.子程序 汇编远程执行, 逻辑型, 公开, win7远程调用汇编易源码
.参数 Asmcode, 字节集
.参数 wait, 逻辑型, 可空
.局部变量 CallWindowProcA_addr, 整数型
.局部变量 hRemoteThread, 整数型
.局部变量 addr3, 整数型
CallWindowProcA_addr = win7远程调用汇编_GetProcAddress (win7远程调用汇编_GetModuleHandleA (“user32.dll”), “CallWindowProcA”)
addr3 = 字集远程写入 (Asmcode)
' 调试输出 (Asmcode)
hRemoteThread = win7远程调用汇编_CreateRemoteThread (hProcess, 0, 0, CallWindowProcA_addr, addr3, 0, 0)
.如果真 (wait)
win7远程调用汇编_WaitForSingleObject (hRemoteThread, -1)
释放远程内存 ()
.如果真结束
释放远程内存 ()
返回 (hRemoteThread ≠ 0)
.子程序 释放远程内存, , , win7远程调用汇编易源码
win7远程调用汇编_VirtualFree (address, daxiao, 4096)
.子程序 开始Virus, 整数型, 公开, win7远程调用汇编易源码
.参数 ProcessId, 整数型, 可空, 进程ID
.如果真 (ProcessId = 0)
ProcessId = win7远程调用汇编_GetCurrentProcessId ()
.如果真结束
hProcess = win7远程调用汇编_OpenProcess (2035711, 0, ProcessId) ' 提升权限
返回 (hProcess)
.子程序 结束Virus, 整数型, 公开, win7远程调用汇编易源码
返回 (win7远程调用汇编_CloseHandle (hProcess))