如何进行JS逆向某验滑动加密分析

  介绍

如何进行JS逆向某验滑动加密分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

<节>

抓包

进入官网,点击选择今天的主题滑动验证,其他验证类型的加密大同小异,只要你掌握了下面的方法!

<图数据工具=癿dnice编辑器”> 如何进行JS逆向某验滑动加密分析”>
  图>,</<p>点击按钮抓包,随意拖动一下,请求数据包如下</p> <图数据工具=癿dnice编辑器”> <img src=,,,,编码:,“utf-8"
});
const  visitor =, {
,,,,,,,, StringLiteral(路径),{
,,,,,,,,,,,,,,,, delete  path.node.extra
,,,,,,,,,,,,}
}

let  ast =, parser.parse (jscode);
导线(ast,游客);
let {代码},=,发电机(ast, opts =, {jsescOption: {“minimal":真正}});
fs.writeFile (& # 39; decode_slide.js& # 39;,,,, (err)=在{});
  ,

注意jscode就是之前扣下来的JS代码,最后将还原后的代码写入到decode_slide。js文件中

接下来是混淆数组的还原。观察调试代码,所有的数组都是基于js文件中开头的大数组KBBji。_Co美元,同时将该数组赋值给很多变量,这些变量名都是随机生成的。

所以接下来我们要做的找出这些变量名称,然后将其替换成对应的字符串值!

AST在线解析一下

<图数据工具=癿dnice编辑器”> 如何进行JS逆向某验滑动加密分析”>
  ,<figcaption> image.png </figcaption> </图> <p>根据解析结果,编写相应的遍历代码</p> <pre> <代码> const  visitor =, {<br/>,,,, VariableDeclaration(路径){<br/>,,,,,,,, const {声明},=,path.node; <br/>,,,,,,,,如果(! t.isMemberExpression(声明[0].init))返回;<br/>,,,,,,,,如果(声明[0].init.property.name  !==,“_Co"美元;)返回;<br/>,,,,,,,,如果(declarations.length  !==3, | |,声明[0].init.property ===,未定义的)回报,<br/>,,,,,,,, let  value1 =,声明[0].id.name; <br/>,,,,,,,, let  value2 =,声明[2].id.name; <br/>,,,,,,,, new_array.push (value1, value2); <br/>,,,,} <br/>}; <br/> </代码> </pre>
  ,<p>上面就将所有的变量名找出来了,找到之后就能将所有的这种形式_DFCB美元(66)代码还原了,这样代码就能有个直观感受! </p> <图数据工具=癿dnice编辑器”> <img src=如何进行JS逆向某验滑动加密分析