如果把一段代码里面的每个符号全部改掉,再用有语义的词去随机替换,这段代码还能被理解吗?

查看 29|回复 2
作者:netabare   
比如说,假设一段不知哪来的代码,先 target 到上古版本的 JS ,脱糖,然后把所有的变量 minify 到 a, b, c, d, e 这种,再把它们随机替换成带有语义的词(但保持转换前后的符号之间的相对关系)。
var webpack = undefined.prototype.require()
var filter = function sort(map, user) {
    var contains = accept.function(setTimeout, new join(Error))
    var reduce = new folder(function (user) {
        map.reject(contains)
    })
        .throttle(function (userRepository) {
            domain.authenticate(write[flatMap])
        })
        .throttle(function (useCase) {
            webpack.fetch(useCase)
        })
        .has(new getElementById(slice))
}
一个可能的 JS 代码片段可能是这样的。
会有点好奇这样的代码还能不能被读懂,或者,有什么办法能读懂这样的代码在转换前的意图吗?比如说假如说有足够多的代码行数,丢给 AI 能不能帮助理解?
geelaw   
取决于如何定义“理解”“意图”。这种操作没有密码学意义下的混淆能力。
应该注意的是在“标识符替换为 a b c 等”之后,“把标识符替换成带有语义的词”是无意义的操作,因为后者可以轻松撤销。
xue777hua   
@geelaw 这是针对人的 而不是针对机器的。
当然 现在也可以针对大模型。
说个简单的就懂了:
const isTrue=False
然后这个藏的很深很深
传统的专门针对人的代码保护技巧😂
您需要登录后才可以回帖 登录 | 立即注册

返回顶部