Js逆向教程-11常见混淆AA和JJ

js默认 支持Unicode的。
所以支持所有的国家语种。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1mhdHdn0-1668901881368)(02 - 副本.assets/image-20221120062217071.png)]](https://img-blog.csdnimg.cn/55be24ddfadb470580d0930c515118c1.png)
有没有哪些国家的和O很像但不是O,和0很像但不是0,和p很像但不是p
所以可以用这个相近的符号进行代码混淆。
var O00OO,o00oo;
一、AA混淆和OO混淆
https://www.sojson.com/aaencode.html
这个网站提供aa加密
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RY7vycvP-1668901881368)(aa加密.gif)]](https://img-blog.csdnimg.cn/47b87f35bd604b8b832c61213d74ad5b.gif)
二、JJ加密
jj加密的原理都是一样的
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mXtVU4Dl-1668901881369)(jj加密.gif)]](https://img-blog.csdnimg.cn/7284fa145daf47d0b93fcc4eda2f6967.gif)
三、拦截
他们的原理都是通过eval去执行一段代码的,
有没有比较针对的手段去破解此类加密呢?
可以将eval或者Function进行替换。
sojson.$ = function(){debugger;}
加上一个hook拦截住
。

拦截住之后 通过arguments
可以看到执行的语句



![[Spring Cloud] Eureka Server安装](https://img-blog.csdnimg.cn/0a8f89bac89b4d24ae6a8ffd29855648.png)






![[acwing周赛复盘] 第 78 场周赛20221119](https://img-blog.csdnimg.cn/dfe64a4463624d8d84d308599d0054f1.png)









