从网上找了几个,试了下去掉最后的括号后直接秒解... 即使这么搞不定,直接把 eval 改成打印也就 ok 了。
google 家的混淆方案倒是挺牛,可惜目的是压缩代码及提升性能,没往加密上面考虑。
目前有实现到语义级别的加密吗?
比如将单个函数内容拆分到多个函数。 然后将函数内容互相交叉,互相调用的方式来使用。
对变量名、函数名等能混淆就混淆,库名等不能混淆的就加密。 变量能复用就复用,前一段代码表示是用户名,用完下一句就改成存放用户年龄。
不直接使用标准库,改成动态映射,和变量名一样复用着玩。
实在想坑人还可以改成动态加密,加密时随机数参与进去,每次加密结果都变化,刚刚解密完一部分下次又需要从头再来...
这么搞应该没人愿意解密了,但是对性能应该很大。