dex0423 的博客

记录工作学习的点点滴滴。

JS逆向:破解某某文书网反爬虫JS加密策略

1. 破解返回结果 1.1. 分析 response 打开网站,在输入框输入查询关键字【吴*凡】,分析 response 发现找不到返回的数据,但是却能找到以下内容: 根据经验推测,这里的 result 结果就是我们要抓取的数据,只不过被某种加密方式加密了,我们无法直接获取。 这里我们注意到,返回的 response 中包含一个 secretKe...

安卓逆向:破解某手机游戏商品内购功能

0x00. 前言 本文介绍的内容,是对某手机游戏进行逆向分析,破解商品内购功能,从而实现不用实际支付就可以完成商品购买; 法律风险提示:本文内容主要为交流和分享安卓逆向技术,严禁用于任何商业用途! 0x01. 环境 Windows 10; JEB 版本 3.0.0.201808031948 Beta; 雷电模拟器 3.94; Android Killer ...

JS逆向:破解某专利检索网无限反 debug 问题

1. 网页反 debug 机制分析 反 debug 调试措施,是通过在代码中 添加 debugger 代码 实现,通过 debugger 阻止非法用户调试代码,一般会同时通过内部死循环逻辑让网页呈现无限 debug 状态; 打开 国家知识产权局专利检索网页( http://cpquery.cnipa.gov.cn/ ),打开网页调试模式,随机出现下面的状况; 将跳出的...

JS逆向:破解国家某部官网某速乐加密策略

本文我们以某安部的官网为例,破解某速乐的加密策略。本站的加密技术比较简单,适合小白进行练手。 1. 抓包分析 打开调试面板,分析请求,发现成功请求的 cookie 中有 __jsl_s=...,同时前三个请求返回了 521,这是某速乐的典型特征。前面的三个请求其实是 状态码欺骗,服务器返回的东西被浏览器请掉了。 我们想要进行逆向分析,要借助于 Fiddler 抓包工具,使用抓包...

JS逆向:常见的雪碧图反爬策略与破解

1. 雪碧图 1.1. 雪碧图 雪碧图(sprite)也叫CSS精灵, 是一CSS图像合成技术; 该方法是将小图标和背景图像合并到一张图片上,然后利用css的背景定位来显示需要显示的图片部分;简单说就是在一整张图片中分割出自己想要的部分,也可理解为图片截取显示(坐标的移动) ; 1.2. 雪碧图的优点 减少加载网页图片时对服务器的请求次数 可以合并多数背景图片和小图...

JS逆向:常见的无限debugger反调试策略以及应对方法

种类划分 按代码逻辑划分 无限循环 for 循环 while 循环 注意:使用 while 循环一定会有次数上限,否则浏览器会卡死掉。 无限递归 调用自身 两个方法循环互调 顾名思义 计时器 setInterval 这个是 JS 语言当中的 定时器,它有两个参数:第一个是要执行的代码,第二个执行时间。 下方是 sojson 混淆后的一段...

JS逆向:常见的JS代码混淆策略的逆向特征

eval 混淆 Javascript 提供了将字符串当做代码执行(evaluate)的能力,可以通过 Function 构造器、eval、setTimeout、setInterval 将字符串传递给 js 引擎进行解析执行。其最明显的特征是生成的代码以 eval(function(p,a,c,k,...){...}) 开头。 这类混淆的关键思想在于将需要执行的代码进行一次编码,在执行的时候...

JS逆向:使用 jsnice 提高混淆代码的可读性

1、jsnice 简介 jsnice 是一个反混淆利器之一,可以将混淆后的代码进行更加有好的展示,从而提升代码的可读性; jsnice 在元素关系的建立上大部分来自于 AST 语法树,同时采用了概率图模型进行 推理 和 联想,通过样本学习推测出未混淆JS脚本的 概率图; jsnice 本质上是一种 机器学习。 详细的工作原理,强...

JS逆向:jsfuck 技术原理解析

jsfuck 简介 jsfuck 源于一门编程语言 brainfuck,其主要的思想就是只使用8种特定的符号来编写代码; jsfuck 也是沿用了这个思想,它仅仅使用6种符号来编写代码,它们分别是 (、)、+、[、]、!; github:https://github.com/aemkei/jsfuck 下面这串代码,复制黏贴到 consle 中执行: ...

JS逆向:破解企查查无限 debugger 反爬策略

Fiddler + AutoResponder 篡改 js 代码

1. 前言 今天在搞企查查的时候,发现企查查开启了无限 debugger,右键检查打开调试窗口后,无论在企查查页面进行任何操作,都会进入 debugger 调试状态。 如下图: 按照常规的思路,找到 debugger 关键字,之后禁用调试或者添加 false 条件,不执行 debugger 就可以了,但是当我全局搜索 debugger 关键字的时候,却发现 js 文件中的 debugg...