sojson.v4混淆解密过程及其快捷代码

前言

js加密实际其实将javascript代码进行混淆,无论加密混淆的再厉害,前端还是释义成可执行的代码,这期对sojson.v4版本的进行解密

解密过程

function hi() {
  console.log("Hello World!");
}
hi();

encode后

['sojson.v4']["\x66\x69\x6c\x74\x65\x72"]["\x63\x6f\x6e\x73\x74\x72\x75\x63\x74\x6f\x72"](((['sojson.v4']+[])["\x63\x6f\x6e\x73\x74\x72\x75\x63\x74\x6f\x72"]['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65']['\x61\x70\x70\x6c\x79'](null,"102x117m110e99c116x105I111Q110y32Q104O105a40f41T32D123A10j32A32p99t111I110d115M111S108u101t46k108D111U103O40P34Q72e101G108I108G111n32m87N111q114R108d100g33F34V41t59a10U125M10a104T105M40T41F59"['\x73\x70\x6c\x69\x74'](/[a-zA-Z]{1,}/))))('sojson.v4');

首先对代码进行UTF16解码

['sojson.v4']["filter"]["constructor"](((['sojson.v4'] + [])["constructor"]['fromCharCode']['apply'](null, "102x117m110e99c116x105I111Q110y32Q104O105a40f41T32D123A10j32A32p99t111I110d115M111S108u101t46k108D111U103O40P34Q72e101G108I108G111n32m87N111q114R108d100g33F34V41t59a10U125M10a104T105M40T41F59" ['split'](/[a-zA-Z]{1,}/))))('sojson.v4');
false       =>  ![]
true        =>  !![]
undefined   =>  [][[]]
NaN         =>  +[![]]
0           =>  +[]
1           =>  +!+[]
2           =>  !+[]+!+[]
10          =>  [+!+[]]+[+[]]
Array       =>  []
Number      =>  +[]
String      =>  []+[]
Boolean     =>  ![]
Function    =>  []["filter"]
eval        =>  []["filter"]["constructor"]( CODE )()
window      =>  []["filter"]["constructor"]("return this")()

根据上面可知,eval => [][“filter”]“constructor”(),去除eval,再去console执行,得到如下图:

至此,得到源代码,结束。

工具(直接开发者工具调用)

((['sojson.v4'] + [])["constructor"]['fromCharCode']['apply'](null, "这里填写解密的代码" ['split'](/[a-zA-Z]{1,}/)))

给TA打赏
共{{data.count}}人
人已打赏
技术笔记

关于WEB端优酷YouKu弹幕分析笔记

2021-12-19 15:52:42

技术笔记

纯HTML实现毛玻璃效果

2021-12-21 23:25:00

声明 本站文章上的代码及教程皆来源于NOW世界(favnow.com),仅供学习交流,切勿用于非法用途。转载请备注来源!
如果您对此有任何有建树的想法都可以请您发送邮件至 cople@139.com 或点击右侧 私信:鲨鱼,我们将尽快处理!
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索