python之JS逆向—破解头条抖音登录协议

抖音与头条登录协议方法相同

从以下图片可以看出
account:
password:
都加过密

1.在搜索框中输入password

2.查找password加密并在此处打断点


进入之后跳到此处,继续一步一步往下走

3.运行到此处时注意参数变化

e = this.__encryptParams(e, ["account", "password"]);

进去之后,鼠标悬浮在 2 处 进入函数
le.prototype.__encrypt = function(e)

4.最后把这段JS抠出来

复制 js_str = """function fe(e) {
var t = [];
var r;
var n = 0;
var a = 0;
for (n = 0; n < e.length; n++) {
    r = e.charCodeAt(n);
    if (0 <= r && r <= 127) t.push(r);
    else if (128 <= r && r <= 2047) {
        t.push(192 | 31 & r >> 6);
        t.push(128 | 63 & r)
    } else if (2048 <= r && r <= 55295 || 57344 <= r && r <= 65535) {
        t.push(224 | 15 & r >> 12);
        t.push(128 | 63 & r >> 6);
        t.push(128 | 63 & r)
    }
}
for (a = 0; a < t.length; a++) t[a] &= 255;
return t
}
//获取
//pwd="www123456"
//手机号
//account ="+8613918777711"
function get_pwd_account (e) {
var t, r;
var n = [];
var a = [];
if (void 0 === e) return "";
e = String(e);
a = fe(e);
for (t = 0, r = a.length; t < r; ++t) n.push((5 ^ a[t]).toString(16));
return n.join("")
}"""

5.python之execjs

复制import requests
import execjs
js_obj = execjs.compile(js_str)
account = js_obj.call("a", f'+86{phone}')
password = js_obj.call("a", pwd)
# print(account, password)

6.改写python方法

复制def jing_ri_tou_tiao_encrype(data):
    ls = list(data.encode('utf8'))
    new_list = []
    print(ls)
    for index in range(len(data)):
        new_list.append(str(hex(5 ^ls[index]).replace('0x','')))
    data = ''.join(new_list)
    print(data)
if __name__ == '__main__':
    jing_ri_tou_tiao_encrype('www123456')
    jing_ri_tou_tiao_encrype('+8613822222211')
'2e3d3334303230323d3233373d36 7472603433323130'


如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载!
posted @   莫贞俊晗  阅读(2704)  评论(1编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示