为什么这个 lua 代码移除了所有的"%"

我在写一个混淆器,但是当我在第一个")"后面加入我的编码算法后,它会把算法里的所有"%"都删除,我该如何解决这个问题呢?以下是我写代码的方式:

newScript = newScript:gsub('%)', algorithm , 1)
点赞
用户14274597
用户14274597

我建议阅读 PIL 关于 captures 的部分。符号 % 是特殊字符,因此需要转义:

newScript = newScript:gsub('%)', algorithm:gsub('%%', '%%%%'), 1)

这将用你的替换字符串中的每个 % 替换为 %%,然后在用作 newScript 的替换时变为 %

PIL 甚至明确表示:

顺便说一下,由于这些更改,替换字符串中的 `%´ 必须转义为 "%%"。

2021-07-31 20:39:02