观书散遗帙,探古穷至妙。这篇文章主要讲述JS逆向入门学习之回收商网,手机号码简易加密解析相关的知识,希望能为你提供帮助。
@[toc]
?? 实战场景本次要采集的目标站点是 huishoushang.com/
,其数据详情页有公开的联系电话,页面采用前台 JS 加密,测试时原以为是字体反爬,结果不是。
随机打开二手市场的某条数据,我们又看到了熟悉的手机号码,然后快速的切换到了开发者工具的字体选项卡,结果什么都没有抓取到。

文章图片
呈现效果如下所示,可以看到网页源码并没有返回任何数字相关信息,但是有一个
decrypt
映入眼帘,这么明显的加密提示吗?
文章图片
?? 实战编码由于加密信息在 html 元素的属性中,所以直接检索关键字
decrypt
即可。首先将加密字符串提取一个,用作测试
(((((((((a01 % a03) % g02) % g08) % a08) % g04) % a09) % c07) % c00) % b09) %
b08;
搜索之后得到如下解密代码:
var str = $(th).attr("decrypt");
if (str != null || str != undefined || str != )
$(th).attr("decryptok", "");
// str = str.replace(/-/g, ",").replace(/ /g, ",");
let strArray = str.split(%);
var newArray = [];
for (var i = 0;
i <
strArray.length;
i++)
let _rTemp = this.model.rArray.filter((a) =>
a.l == strArray[i]);
if (_rTemp.length >
0)
newArray.push(_rTemp[0].v);
else
newArray.push(strArray[i]);
$(th).html(newArray.join());
其中发现了一个关键点,即通过
str.split(%)
,截取了字符串,而且 this.model.rArray
也成为了问题的突破点。在源码中再次检索
rArray
,又找到了其定义的位置。/*数字解密 */
var NumberDecrypt =
model:
rArray: [
l: a01, v: 1 ,l: b02, v: 1 ,l: c03, v: 1 ,l: f04, v: 1 ,l: g01, v: 1 ,
l: a02, v: 2 ,l: b03, v: 2 ,l: c04, v: 2 ,l: f05, v: 2 ,l: g00, v: 2 ,……
],
refreshTime: null,
refreshCount: 0
,
【JS逆向入门学习之回收商网,手机号码简易加密解析】此时相信你已经知道了解决方案,即加密字符串通过
%
切割,然后将得到的值,例如 a01
在转换为数字 1
。推荐阅读
- 4G/5G无线便携式录播主机使用哪种无线摄像机匹配好
- HBase Shell操作HBase创建表添加数据查看表数据操作列簇删除表
- 深度分析NFT盲盒卡牌dapp系统开发(源码详情)
- #yyds干货盘点# leetcode算法题(括号生成)
- 替代LT8711UX方案|TypeC转HDMI(4K60HZ)高清视频转换芯片方案简介
- 基于grpc从零开始搭建一个准生产分布式应用 - QuickStart
- 处理用户输入与显示数据------------(从键盘输入的命令read,对输入计时计数)
- 处理用户输入与显示数据------------(更高级的getopts命令标准化选项)
- 基于grpc从零开始搭建一个准生产分布式应用 - Service业务逻辑层实现