我已經在js1k比賽中看到了一個演示,我很驚訝這個混淆算法。有人可以解釋它是如何工作的?我得到了混淆結果,但我無法理解它的工作方式(混淆算法) 這是什麼魔法? LOL這個javascript正則表達式混淆算法是如何工作的?
我已經提取這一點:
for(
encoded_string = '... encoded string ...';
g = /[^ -IM[-~]/.exec(encoded_string);
){
encoded_string = encoded_string.split(g).join(encoded_string.split(g).shift());
}
// ... Use encoded_string to do what you want
我想,也許關鍵是在正規表達式。
原代碼(http://js1k.com/2014-dragons/details/1854)
如果你願意,你可以在這裏看到模糊的結果(http://jsbin.com/xeruqita/1/edit) 我已經添加了第一個VAR線。