15913962968  2023-7-22 08:44:43 | 技术答疑|
4 282

104

回帖

1万

金币

6367

积分

积分
6367
发表于 2023-7-22 08:44:43 | 显示全部楼层 |阅读模式

马上注册,下载996引擎,与更多游戏开发者交流。

您需要 登录 才可以下载或查看,没有账号?注册

×
引擎版本:
问题描述:如何防止抓包
  1. [@一键回收]
  2. #if
  3. #act
  4. NEWREADCSV ..\QuestDiary\数值表\装备回收.csv
  5. mov N$初始行 1
  6. GetHLCSV ..\QuestDiary\数值表\装备回收.csv 0 N$最大行
  7. while N$初始行 < <$STR(N$最大行)>
  8. goto @进入回收判断
  9. inc N$初始行 1
  10. endwhile
  11. break

  12. [@进入回收判断]
  13. #if
  14. EQUAL <$GETSTRVALUE(HUMAN(回收勾选),<$STR(N$初始行)>)> 1
  15. #act
  16. NEWDQCSV ..\QuestDiary\数值表\装备回收.csv <$STR(N$初始行)> 1 S1
  17. NEWDQCSV ..\QuestDiary\数值表\装备回收.csv <$STR(N$初始行)> 2 S2
  18. NEWDQCSV ..\QuestDiary\数值表\装备回收.csv <$STR(N$初始行)> 3 S3
  19. TakeBagItem <$STR(S1)> 126  N10
  20. mul N$回收货币 <$STR(S3)> <$STR(N10)>

  21. #IF
  22. LARGE S$回收倍数 0
  23. LARGE N$回收货币 0
  24. LARGE N10 0
  25. #ACT
  26. MUL N$会员额外回收 <$STR(N$回收货币)> <$STR(S$回收倍数)>
  27. Div N$会员额外回收 10
  28. MONEY <$STR(S2)> + <$STR(N$会员额外回收)>
  29. MOV N10
  30. MOV N$回收货币
  31. break
  32. #elseact
  33. MONEY <$STR(S2)> + <$STR(N$回收货币)>
  34. MOV N10
  35. MOV N$回收货币
  36. break
复制代码

最后回复时间:2023-07-24 14:13:28官方回复了此贴
回复

使用道具 举报

43

回帖

5680

金币

3078

积分

积分
3078
发表于 2023-7-22 09:12:38 | 显示全部楼层

回帖奖励 +10 金币

被刷了吗
回复

使用道具 举报

24

回帖

1657

金币

964

积分

积分
964
发表于 2023-7-22 12:45:29 | 显示全部楼层
你不是已经 每次回收后
N$回收货币 N10 都归0了
应该不可能在刷了呀
回复

使用道具 举报

100

回帖

1万

金币

6251

积分

积分
6251
发表于 2023-7-22 20:19:14 | 显示全部楼层
版本防止被刷方法:

刷封包工具Wpe
原理:通过玩家对功能执行时获取二进制对应的执行功能,再用获取的执行功能函数进行截获然后通过截获的功能指令进行无限调用!Ps:[@函数]
解决方案:在执行时前加好判断条件!

玩家在操作物品或点击NPC执行触发的条件下,一定要做好符合逻辑性的判断条件!
执行调用:【@link、goto、#call、messagebox执行等@字段】时在对应的调用函数的接口上一定要做好指纹判断!
31类双击:必须要判断使用的道具名称

用Lua做面板时虽然客户端可以进行一些常规的检测判断,但服务端也必须要同时做判断,因客户端是可修改的就像微信可以改变任意余额一样,所以在客户端满足的情况下服务端也要同时判断

输入框中请必须判断是否包含“<,>,/,\,@”符号,如有请禁止

作为判断的变量及临时计算或赋值时尽量使用(S$、N$)类型的自定义变量

常见被刷的几种方式:

错误示例:
[@main]
#IF
checkmoney 元宝 > 1000
#ACT
money 元宝 - 1000
goto @给予屠龙


[@给予屠龙]
#IF
checklevelex ? 40
#ACT
give 屠龙
#elseact
messagebox 条件不满足无法给予!

正确示例:
[@main]
#IF
checkmoney 元宝 > 1000
#ACT
MOV S$调用指纹判断 已开启
goto @给予屠龙


[@给予屠龙]
#IF
NOT EQUAL S$调用指纹判断 已开启
#ACT
messagebox 非法封包!
BREAK


#IF
checklevelex ? 40
#ACT
money 元宝 - 1000
give 屠龙
MOV S$调用指纹判断
#elseact
MOV S$调用指纹判断
messagebox 条件不满足无法给予!



错误示例:
[@StdModeFunc150]
#if
checkitem 1000元宝
#ACT
messagebox 是否确定要领取? @确定 @取消

[@确定]
#IF
#ACT
GAMEGOLD + 1000

[@取消]
#if
#ACT
GIVE 1000元宝

正确示例:

[@StdModeFunc150]
#if
checkitem 1000元宝
#ACT
MOV 双击150判断 已开启
messagebox 是否确定要领取? @确定 @取消

[@确定]
#IF
EQUAL 双击150判断 已开启
#ACT
MOV 双击150判断
GAMEGOLD + 1000

[@取消]
#if
EQUAL 双击150判断 已开启
#ACT
MOV 双击150判断
GIVE 1000元宝

评分

参与人数 1金币 +30 收起 理由
口子 + 30

查看全部评分

回复

使用道具 举报

1万

回帖

2万

金币

1万

积分

积分
16331
发表于 2023-7-24 14:13:28 | 显示全部楼层
检测判断条件 基本等于无效检测。。
感谢楼上的回复
回复

使用道具 举报