汇聚知识碎片,解决技术难题,专注提供易语言源码资源,视频教程,等在线学习交流论坛
 
发新帖
楼主: 666
查看: 405|回复: 0

Nt_Event_* - Routine

[复制链接]
666VIP1 发表于 2021-5-29 01:33:11 | 显示全部楼层
  1. .版本 2

  2. .DLL命令 CreateThread, 整数型, "kernel32.dll", "CreateThread"
  3.     .参数 a, 整数型
  4.     .参数 b, 整数型
  5.     .参数 c, 整数型
  6.     .参数 d, 整数型
  7.     .参数 e, 整数型
  8.     .参数 f, 整数型

  9. .版本 2
  10. .支持库 spec

  11. .程序集 程序集1
  12. .程序集变量 event
  13. .程序集变量 event1

  14. .子程序 _启动子程序, 整数型, , 本子程序在程序启动后最先执行
  15. .局部变量 ObjectAttributes
  16. .局部变量 unicode, 长整数型
  17. .局部变量 handle
  18. .局部变量 a
  19. .局部变量 b, 长整数型

  20. Nt_Trans_RtlCreateUnicodeStringFromAsciiz (Asm_GetH (unicode), Asm_GetDataH (“\BaseNamedObjects\a”))
  21. ObjectAttributes = Nt_Heap_RtlAllocateHeap (g_heap, 12, 24)

  22. Asm_writeDword (ObjectAttributes, 24)
  23. Asm_writeDword_ (ObjectAttributes, 4, 0)
  24. Asm_writeDword_ (ObjectAttributes, 8, Asm_GetH (unicode))
  25. Asm_writeDword_ (ObjectAttributes, 12, 64)

  26. .判断开始 (假)
  27.     Nt_Event_ZwCreateEvent (Asm_GetH (event), #EVENT_ALL_ACCESS, 选择 (假, 0, ObjectAttributes), 假, 假)
  28.     Nt_Event_ZwCreateEvent (Asm_GetH (event1), #EVENT_ALL_ACCESS, 0, 假, 假)

  29.     handle = 取下一行子程序地址_开始 (0, a, b)
  30.     子程序1 (0)
  31.     取下一行子程序地址_恢复 (a, b)

  32.     Nt_Event_ZwClearEvent (event)

  33.     CreateThread (0, 0, handle, 0, 0, 0)
  34.     延迟 (1000)
  35.     Nt_Event_ZwSetEvent (event, 0)
  36.     CreateThread (0, 0, handle, 0, 0, 0)
  37. .默认


  38.     Nt_Event_ZwCreateEvent (Asm_GetH (event), #EVENT_ALL_ACCESS, 选择 (假, 0, ObjectAttributes), 真, 假)
  39.     Nt_Event_ZwSetEvent (event, 0)

  40.     handle = 取下一行子程序地址_开始 (0, a, b)
  41.     子程序2 (0)
  42.     取下一行子程序地址_恢复 (a, b)

  43.     CreateThread (0, 0, handle, 0, 0, 0)
  44.     延迟 (1000)
  45.     CreateThread (0, 0, handle, 0, 0, 0)
  46.     延迟 (1000)
  47.     CreateThread (0, 0, handle, 0, 0, 0)

  48. .判断结束


  49. 信息框 (“”, 0, , )
复制代码


快速回复 返回顶部 返回列表