- .版本 2
- .DLL命令 CreateThread, 整数型, "kernel32.dll", "CreateThread"
- .参数 a, 整数型
- .参数 b, 整数型
- .参数 c, 整数型
- .参数 d, 整数型
- .参数 e, 整数型
- .参数 f, 整数型
- .版本 2
- .支持库 spec
- .程序集 程序集1
- .程序集变量 event
- .程序集变量 event1
- .子程序 _启动子程序, 整数型, , 本子程序在程序启动后最先执行
- .局部变量 ObjectAttributes
- .局部变量 unicode, 长整数型
- .局部变量 handle
- .局部变量 a
- .局部变量 b, 长整数型
- Nt_Trans_RtlCreateUnicodeStringFromAsciiz (Asm_GetH (unicode), Asm_GetDataH (“\BaseNamedObjects\a”))
- ObjectAttributes = Nt_Heap_RtlAllocateHeap (g_heap, 12, 24)
- Asm_writeDword (ObjectAttributes, 24)
- Asm_writeDword_ (ObjectAttributes, 4, 0)
- Asm_writeDword_ (ObjectAttributes, 8, Asm_GetH (unicode))
- Asm_writeDword_ (ObjectAttributes, 12, 64)
- .判断开始 (假)
- Nt_Event_ZwCreateEvent (Asm_GetH (event), #EVENT_ALL_ACCESS, 选择 (假, 0, ObjectAttributes), 假, 假)
- Nt_Event_ZwCreateEvent (Asm_GetH (event1), #EVENT_ALL_ACCESS, 0, 假, 假)
- handle = 取下一行子程序地址_开始 (0, a, b)
- 子程序1 (0)
- 取下一行子程序地址_恢复 (a, b)
- Nt_Event_ZwClearEvent (event)
- CreateThread (0, 0, handle, 0, 0, 0)
- 延迟 (1000)
- Nt_Event_ZwSetEvent (event, 0)
- CreateThread (0, 0, handle, 0, 0, 0)
- .默认
- Nt_Event_ZwCreateEvent (Asm_GetH (event), #EVENT_ALL_ACCESS, 选择 (假, 0, ObjectAttributes), 真, 假)
- Nt_Event_ZwSetEvent (event, 0)
- handle = 取下一行子程序地址_开始 (0, a, b)
- 子程序2 (0)
- 取下一行子程序地址_恢复 (a, b)
- CreateThread (0, 0, handle, 0, 0, 0)
- 延迟 (1000)
- CreateThread (0, 0, handle, 0, 0, 0)
- 延迟 (1000)
- CreateThread (0, 0, handle, 0, 0, 0)
- .判断结束
- 信息框 (“”, 0, , )
复制代码
|