吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4361|回复: 27
收起左侧

[Web逆向] 什么?!某度营销数据js逆向只用5行代码?

[复制链接]
shiyier 发表于 2023-1-30 17:46

百度营销reqid的js逆向

前言

最近有个客户要求获取百度营销的数据,说是有加密比较复杂。我先来看看情况。

问题分析

打开百度营销,打开数据报告看一下数据。一眼就看到了下载按钮,我就问客户,可以直接下载啊。客户说每天点击下载太麻烦,想要自动操作的程序。OK,Fine.

api分析

翻了两页发现了规律,每次请求reqid都会变化,看来这个就是加密的参数,这里就是客户说的复杂的地方。我现在看看这个参数到底是怎么个事。

reqid参数解密

常规操作,现在搜索里面搜索reqid,看看有哪些js文件有。

好家伙,搜出来了5个结果,一眼看去什么都没有。别说加密结果了,连加密方式也看不出来。这个时候就只能一个个点击进去看看啥情况了。

我们点进去第一个,在文件里搜索repid,发现只有俩结果,那个“o = xxxxx”好像有点意思,下面一行就是“reqid: i”,好像就是我们要找的东西,但是i这个变量也太多了,完全找不到哪个才是我们要的,我们继续看看第二个搜索结果。

第二个结果页面搜索连repid都搜索不到,跳过,看第三个。

第三个有点意思,这里有很多我们请求需要的参数,像token、optid什么的都有,这里值得注意一下。

这里有个“reqid: o ”,然而第875行还有o=xxxx,猜一下,这个应该就是加密的参数了。在这里打一个断点,翻页看一下会不会有结果。

果然,这里就是repid的加密方式了

我们把鼠标放到v.Z上面,弹出来了函数位置,我们点击进去看看。

在这里运行一下,果然就是repid的加密了,我们把代码扣下来,居然加密只有5行。

这次加密麻烦的是如何找到repid的位置,其实解密就很简单。

js加密代码:

function n() {
for (var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 0, t = [], n = 0; n < e; n++) t.push("0123456789abcdef".charAt(Math.floor(16 * Math.random())));
return t.join("")
}

function getrepld() {
var e = (new Date).valueOf().toString();
return ["4b534c47", n(4), "4" + n(3), n(4), e.substring(0, 12)].join("-")
}

之后调用用python的execjs库就行。

免费评分

参与人数 15吾爱币 +22 热心值 +14 收起 理由
涛之雨 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
笙若 + 1 + 1 谢谢@Thanks!
1MajorTom1 + 1 热心回复!
蓝风 + 1 + 1 有api可以直接调用的,账户后台申请下,就通过了。
O丶ne丨柒夜彡 + 1 + 1 热心回复!
逆向学习 + 1 + 1 用心讨论,共获提升!
qujunde + 1 + 1 用心讨论,共获提升!
heimaojingzhang + 1 + 1 热心回复!
小白白爱吃糖 + 1 + 1 谢谢@Thanks!
tflyr + 2 + 1 谢谢@Thanks!
Burpcka + 1 我很赞同!
lymuck33 + 1 + 1 谢谢@Thanks!
trypk + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
Yuaner5200 + 1 + 1 热心回复!
魔道书生 + 2 + 1 热心回复!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

1188 发表于 2023-1-30 22:32
js跟着最累人了,最不喜欢分析这个了,特别是混淆过的,他妈都不一定更是什么逻辑,都把这个思路理清的,都是厉害的。
芊雨千寻 发表于 2023-2-1 08:47
之前写了个PHP的
[PHP] 纯文本查看 复制代码
<?php
function getUnixTimestamp(){
    list($s1, $s2) = explode(' ', microtime());
    return sprintf('%.0f',(floatval($s1) + floatval($s2)) * 100);
}
function a($n){
	$t = array();
	$s = array(0,1,2,3,4,5,6,7,8,9,'a','b','c','d','e','f');
	for($i=0;$i<$n;$i++){
		$t[] = $s[rand(0,15)];
	}
	return implode('',$t);
}
$reqid = '4b534c47-'.a(4).'-4'.a(3).'-'.a(4).'-'.getUnixTimestamp();
pwp 发表于 2023-1-30 21:13
只能用一个字形容佩服大佬佩服得五体投地:牛逼
oxding 发表于 2023-1-30 22:30
如何每天自动导出表格呢?
jasonwei 发表于 2023-1-30 22:50
可以的确实
LiLittleCat 发表于 2023-1-31 00:25
大佬太强了
o987654321 发表于 2023-1-31 07:57
js本来就很难,学不会
vwvxia 发表于 2023-1-31 08:53
大佬NB啊,原来js还可以这么玩
QingTianGG 发表于 2023-1-31 09:04
每次我看到这种混淆的js就只能皱眉头了
xiaoyu907 发表于 2023-1-31 09:41
厉害厉害
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-23 15:23

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表