当前位置:网站首页>Airport cloud business sign analysis
Airport cloud business sign analysis
2022-07-27 14:24:00 【respectable:】
Here, go directly to the algorithm to find the topic , As for how to reverse the applet, you can GitHub On the search wxunpack hear .
Here I will not repeat the process of capturing bags , We saw it in the bag header Are there in nonceStr、sign
Search the applet source code directly through keywords to get the key parts :
if ("POST" === t) y.sign = r(d, m.url.replace(a.default.HOST, ""), p, v, S), m.data = d; else {
for (var h = m.url + "?", b = 0, w = Object.keys(d); b < w.length; b++) {
var P = w[b];
h += P + "=" + d[P] + "&";
}
h = h.substring(0, h.length - 1), m.url = h, y.sign = r({}, m.url.replace(a.default.HOST, ""), p, v, S);
}
Let's take a look at this 2 The difference between lines of code :
r(d, m.url.replace(a.default.HOST, ""), p, v, S)
r({}, m.url.replace(a.default.HOST, ""), p, v, S)
Through the analysis here, we can see , If t It should be the stored interface access type POST/GET, If it is POST It calls r The first argument to the function is d, If it is GET It is directly {}, that d It's a post data , Even dynamic debugging is not necessary .
and r The implementation process of the function is a splicing and md5 encryption , As shown below
function r(o, n, r, s, i) {
for (var u = "", c = 0, l = Object.keys(o).sort(); c < l.length; c++) {
var d = l[c], f = o[d];
if ("object" === e(f) && null !== f) {
var g = JSON.stringify(o[d]);
u += d + "=" + (g = g.split("").sort().join("")) + "&";
} else 0 === f || f ? u += d + "=" + o[d] + "&" : (o[d] = "", u += d + "=&");
}
return u += "url=" + n + "&", u += r ? "accessToken=" + r + "&" : "", u += "timestamp=" + s + "&",
u += "nonceStr=" + i + "&", u += "key=" + a.default.PLAM_KEY, t.md5Encrypt(u);
}
You can guess this through its splicing 5 Parameters
1、post data , If it is get Then submit {}
2、url, But it's the host Partially replace with empty
3、r Parameter is accessToken, If you are not logged in, the status should be empty
4、v The parameter is also obviously a timestamp Time stamp ,head It will also contain
5、 This is nonceStr, We also need to know how this parameter is generated .
nonceStr The origin of the parameter Finally, the finished product is listed 
边栏推荐
- How to return to the parent directory with commands
- [training day3] reconstruction of roads [SPFA]
- [x for x in list_a if not np.isnan(x)]和[x if not np.isnan(x) else None for x in list_a]的区别
- Flat die cutting machine
- Hdu1422 revisits the world cup [DP]
- 面向流行性疾病科普的用户问题理解与答案内容组织
- 开源版思源怎么私有部署
- Chapter 3 business function development (view clue details)
- watch VS watchEffect
- 机场云商sign解析
猜你喜欢

Electronic bidding procurement mall system: optimize traditional procurement business and speed up enterprise digital upgrading

关于max做动画的一些关键信息(shift+v)

windows10 安装Sql Server 2019

Dako held a meeting for the biological IPO: the annual revenue was 837million, and Wu Qingjun and his daughter were the actual controllers

Real image denoising based on multi-scale residual dense blocks and block connected cascaded u-net

平板模切机

Advanced MySQL III. storage engine

万字详解 Google Play 上架应用标准包格式 AAB

面向不平衡数据的电子病历自动分类研究

知识关联视角下金融证券知识图谱构建与相关股票发现
随机推荐
Arduino+ze08-ch2o formaldehyde module, output formaldehyde content
poj3461 Oulipo【KMP】
网上券商APP开户安全有保障吗?
灵活易用所见即所得的可视化报表
Zhishang technology IPO meeting: annual revenue of 600million, book value of accounts receivable of 270Million
递归方法实现最大公约数
万字详解 Google Play 上架应用标准包格式 AAB
This points to problems, closures, and recursion
c语言分层理解(c语言数组)
Interview eight part essay · TCP protocol
Download address of each version of libtorch
Getting started for beginners: build your own blog with WordPress
592. 分数加减运算
Carla notes (04) - client and world (create client, connect world, batch object, set weather, set lights, world snapshots)
Why does script file 'd:\anaconda3\envs\pad appear_ env\Scripts\pip-script. py‘ is not present.
Architecture - the sublimation of MVC
Slam overview Reading Note 6: slam research based on image semantics: application-oriented solutions for autonomous navigation of mobile robots 2020
np.arange()和 range()的用法及区别
poj3461 Oulipo【KMP】
A Keypoint-based Global Association Network for Lane Detection