为什么这会删除所有“%”lua

Why does this remove all "%" lua

所以我正在研究这个混淆器,当我在第一个“)”之后添加我的编码算法时,它删除了算法中的所有“%”,我该如何解决这个问题?

这是我的做法:

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

我建议阅读关于 captures 的 PIL。符号 % 是一个特殊字符,因此需要对其进行转义:

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

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

PIL 甚至明确指出:

By the way, because of those changes, a `%´ in the replacement string must be escaped as "%%".