JS混同加密是一种将JavaScript代码进行混同和加密的技术,旨在使代码更难以浏览和了解,从而减少破解难度。控制流平坦化是其中一种罕用的混同技术,它能够使代码的管制流程变得非常复杂,减少代码的可读性和可维护性的难度。上面是一个应用控制流平坦化进行混同加密的示例代码:

javascriptCopy codefunction encrypt(text) {  var encrypted = "";  for (var i = 0; i < text.length; i++) {    var code = text.charCodeAt(i);    var newCode = code + 10;    encrypted += String.fromCharCode(newCode);  }  return encrypted;}function decrypt(encrypted) {  var decrypted = "";  for (var i = 0; i < encrypted.length; i++) {    var code = encrypted.charCodeAt(i);    var newCode = code - 10;    decrypted += String.fromCharCode(newCode);  }  return decrypted;}var input = "Hello World!";var encrypted = encrypt(input);var decrypted = decrypt(encrypted);console.log(decrypted);

以上代码能够加密和解密一个字符串,然而它非常容易被破解,因为加密和解密的过程都是固定的,没有任何随机性和变动。为了减少代码的破解难度,咱们能够应用控制流平坦化技术,如下所示:

javascriptCopy codefunction encrypt(text) {  var encrypted = "";  var a = Math.floor(Math.random() * 10);  if (a == 0) {    for (var i = 0; i < text.length; i++) {      var code = text.charCodeAt(i);      var newCode = code + 10;      encrypted += String.fromCharCode(newCode);    }  } else if (a == 1) {    for (var i = 0; i < text.length; i++) {      var code = text.charCodeAt(i);      var newCode = code + 20;      encrypted += String.fromCharCode(newCode);    }  } else if (a == 2) {    for (var i = 0; i < text.length; i++) {      var code = text.charCodeAt(i);      var newCode = code + 30;      encrypted += String.fromCharCode(newCode);    }  } else if (a == 3) {    for (var i = 0; i < text.length; i++) {      var code = text.charCodeAt(i);      var newCode = code + 40;      encrypted += String.fromCharCode(newCode);    }  } else if (a == 4) {    for (var i = 0; i < text.length; i++) {      var code = text.charCodeAt(i);      var newCode = code + 50;      encrypted += String.fromCharCode(newCode);    }  } else if (a == 5) {    for (var i = 0; i < text.length; i++) {      var code = text.charCodeAt(i);      var newCode = code + 60;      encrypted += String.fromCharCode(newCode);    }  } else if (a == 6) {    for (var i = 0; i < text.length; i++) {

jsjiami.com

如果您对文章内容有不同认识,或者疑难,欢送到评论区留言,或者私信我都能够。

也能够到上方网站,底部有我联系方式详谈

如遇本人源码加密后没备份,能够找咱们解决解出复原源码,任何加密都能够。