介绍在我们开始学习反混淆之前 , 我们首先要了解一下代码混淆 。如果不了解代码是如何混淆的 , 我们可能无法成功对代码进行反混淆 , 尤其是使用自定义混淆器对其进行混淆时 。
什么是混淆混淆是一种技术 , 用于使脚本更难以被人类阅读 , 但从技术角度来看 , 它可以发挥相同的功能 , 尽管性能可能会较慢 。这通常是通过使用混淆工具自动实现的 , 该工具将代码作为输入 , 并尝试以更难以阅读的方式重写代码 , 具体取决于其设计 。
例如 , 代码混淆器通常将代码转换成代码中使用的所有单词和符号的字典 , 然后在执行期间尝试通过引用字典中的每个单词和符号来重建原始代码 。以下是一个简单的 JAVAScript 代码被混淆的示例:
文章插图
1690198624_64be626039ffce836c934.png!small
为什么用混淆?开发人员考虑混淆代码的原因有很多 。一个常见的原因是隐藏原始代码及其功能 , 以防止在未经开发人员许可的情况下重复使用或复制它 , 从而使对代码的原始功能进行逆向工程变得更加困难 。另一个原因是在处理身份验证或加密时提供安全层 , 以防止对代码中可能发现的漏洞进行攻击 。
必须注意的是 , 不建议在客户端进行身份验证或加密 , 因为这样代码更容易受到攻击 。
然而 , 混淆最常见的用途是用于恶意行为 。攻击者和恶意行为者通常会混淆其恶意脚本 , 以阻止入侵检测和防御系统检测其脚本 。
基础混淆代码混淆通常不是手动完成的 , 因为有许多针对各种语言的工具可以自动进行代码混淆 。尽管许多恶意行为者和专业开发人员开发了自己的混淆工具以使反混淆变得更加困难 , 但许多在线工具都可以这样做 。
明文示例
让我们以下面这行代码为例 , 尝试对其进行混淆:
console.log('Hello JavaScript Deobfuscation');
- 1.
Hello JavaScript Deobfuscation混淆示例
现在 , 让我们混淆我们的代码行 , 使其更加晦涩难懂 。首先 , 我们将尝试使用BeautifyTools来混淆我们的代码:
console.log('Hello JavaScript Deobfuscation');
- 1.
eval(function(p,a,c,k,e,d){e=function(c){return c};if(!''.replace(/^/,String)){while(c--){d[c]=k[c]||c}k=[function(e){return d[e]}];e=function(){return'\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\b'+e(c)+'\b','g'),k[c])}}return p}('0.1('2 3 4');',5,5,'console|log|Hello|JavaScript|Deobfuscation'.split('|'),0,{}))
- 1.
文章插图
1690199186_64be6492e6a86c606b98d.png!small?1690199187437
虽然加壳器在降低代码的可读性方面做得很好 , 但我们仍然可以看到它的主要字符串以明文形式编写 , 这可能会揭示它的一些功能 。这就是为什么我们可能想要寻找更好的方法来混淆我们的代码 。
高级混淆工具到目前为止 , 我们已经能够使我们的代码变得模糊并且更难以阅读 。但是 , 该代码仍然包含明文字符串 , 这可能会揭示其原始功能 。我们将尝试一些工具 , 它们应该完全混淆代码并隐藏其原始功能的任何残留 。
#0x1 JavaScript Obfuscator Tool - JS混淆工具有一个在线的混淆工具:JavaScript Obfuscator Tool
一个免费且高效的 JavaScript 混淆器(包括对 ES2022 的支持) 。使您的代码更难复制 , 并防止人们窃取您的工作 。这个工具是一个由Timofey Kachalov创建的优秀(和开源) javascript-obfuscator@4.0.0的Web UI 。
让我们访问https://obfuscator.io 。在单击 之前obfuscate , 我们将更改为:[Strings Transformations]->[String Array Encoding]->Base64如下所示:
推荐阅读
- 购买月饼注意事项及细节 购买月饼注意事项
- 皂角刺的功效与作用中用法禁忌宇网 皂角刺的功效和用量及禁忌
- 吉利丁粉和吉利丁片的正确使用及保存方法 吉利丁粉和吉利丁片如何使用
- 自酿米酒长白毛可以吃吗 自酿米酒长白毛的原因及怎么处理
- 好听的男孩名字及含义 好听的男孩名字及含义
- 房地产及其相关行业会逐步淡出市场,数千万人面临重新找工作?
- 宾馆装修注意事项及禁忌有哪些 宾馆装修注意事项及禁忌
- 各种颜色水晶的寓意及功效 各种颜色水晶的寓意
- 男子英文名 男子英文名大全及寓意好记
- 柚子树苗移栽注意事项 移栽柚子树时间及方法