免扫码快速登录设为首页收藏本站帮助中心
查看: 166|回复: 0
收起左侧

易语言MASM置入代码实现检测、判断是否为空字节集 (0字节的字节集数据) (返回逻辑型)

[复制链接]
发表于 2019-7-31 09:45:55 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?加入我们

x

  1. .版本 2

  2. .程序集 程序集1

  3. .子程序 _启动子程序, 整数型, , 请在本子程序中放置易模块初始化代码


  4. _临时子程序 ()  ' 在初始化代码执行完毕后调用测试代码
  5. 返回 (0)  ' 可以根据您的需要返回任意数值

  6. .子程序 _临时子程序
  7. .局部变量 A, 字节集

  8. ' 本名称子程序用作测试程序用,仅在开发及调试环境中有效,编译发布程序前将被系统自动清空,请将所有用作测试的临时代码放在本子程序中。 ***注意不要修改本子程序的名称、参数及返回值类型。
  9. A = 到字节集 (“”)
  10. 输出调试文本 (是否为空字节集 (A))

  11. A = {  }
  12. 输出调试文本 (是否为空字节集 (A))
  13. A = { 0 }
  14. 输出调试文本 (是否为空字节集 (A))
  15. A = 到字节集 (“0”)
  16. 输出调试文本 (是否为空字节集 (A))
  17. 输出调试文本 (是否为空字节集 ({  }))

  18. .子程序 是否为空字节集, 逻辑型, 公开
  19. .参数 字节集, 字节集

  20. 置入代码 ({ 81, 139, 69, 8, 232, 19, 0, 0, 0, 128, 249, 1, 117, 7, 184, 1, 0, 0, 0, 235, 2, 51, 192, 89, 201, 194, 4, 0, 80, 139, 0, 11, 192, 117, 4, 177, 1, 235, 13, 139, 64, 4, 11, 192, 117, 4, 177, 1, 235, 2, 50, 201, 88, 195 })
  21. ' push ecx
  22. ' mov eax,[ebp+8]
  23. ' call IS_DATA_NULL
  24. ' .if cl == 1
  25. ' mov eax,1
  26. ' .else
  27. ' xor eax,eax
  28. ' .endif
  29. ' pop ecx
  30. ' leave
  31. ' retn 4
  32. ' IS_DATA_NULL: ;是否为空字节集 参数1(字节集指针,EAX传入,由[EBP+n]返回) (CL寄存器返回,空为1,非空为0)
  33. ' push eax
  34. ' mov eax,[eax]
  35. ' .if eax == 0
  36. ' mov cl,1
  37. ' jmp IS_DATA_NULL_END
  38. ' .endif
  39. ' mov eax,[eax+4]
  40. ' .if eax == 0
  41. ' mov cl,1
  42. ' jmp IS_DATA_NULL_END
  43. ' .endif
  44. ' xor cl,cl
  45. ' IS_DATA_NULL_END:
  46. ' pop eax
  47. ' ret

  48. 返回 (假)
复制代码

相关帖子

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入我们

本版积分规则