某东联盟js逆向

声明:

本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!wx a15018601872              
本文章未经许可禁止转载,禁止任何修改后二次传播,擅自使用本文讲解的技术而导致的任何意外,作者均不负责,若有侵权,请联系作者立即删除!q 2766958292

声明:

这几天尝试了一下227,对比了一下环境检测点,发现弄的已经挺不错的了,还有几个左右监测点被他检测了,想了半天没想明白长度基本一致竟然还不行。后面用了框架代理了一下发现开局就检查了6个原型对象。我是真的无语了,决定暂时不搞了,我全程基本都是obj.key=value,少数是obj.prototype.key=value,基本套路我是搞明白了。环境检测有点多,我不可能像boss那一样一个个插桩一个个根,一个个进去找监测点。boss我用了10多天,才勉强完成227就更别提了,而且估摸着也快更新了就不研究了。水篇文章。

1.逆向过程

1.1.h5st

这是如下伪代码。

L = sign(3858)
sign(27409)
F = sign(52153)
K = sign.n(F)
_ = sign(59340)
k = sign.n(_)
x = sign(2991)
w = sign.n(x)
function getH5st(){i={"funName": "#","param": #,"clientPageId": "#"
}g = "#"
v='#'
m = null == v ? void 0 : v.split(".")[1]
b = {functionId: "#",appid: "#",_: #,loginType: "#",uuid: #,"x-api-eid-token": '#'
}
x = new L.Z({appId: "586ae"
})i = _J(_J({}, i), {}, {clientPageId: "jingfen_pc"})
w = {functionId: "unionSearch",appid: "unionpc",body: K()(k()(i)).toString()
}
x.sign(w)
env_r = {"sua": "Windows NT 10.0; Win64; x64","pp": {},"fp": x['_fingerprint']
}
env = JSON.stringify(env_r, null, 2)
o = _Uv['AES']['encrypt'](env, _Uv['enc']['Utf8']['parse']('#'), {iv: _Uv['enc']['Utf8']['parse']('#'),mode:_Uv['mode'].CBC,padding: _Uv['pad']['Pkcs7']
})
o=o['ciphertext']['toString']()
e = x['__checkParams'](w)_o= x['__makeSign'](e, o)result=Object.assign({}, w, _o)b = _J(_J({}, b), {}, {h5st: encodeURI(result['h5st'])})b['body']=JSON.stringify(i)return b
}

 对应逻辑是这里图1.1

图1.1

case12里面跟进去就可以发现key和iv了。

1.2.结果

1.3.总结

1.我发现我一直在逆向但是我数据分析处理能力却像一坨一坨大便,发现自己又是太差劲了后续拿豆瓣练练手学学数据处理分析应用。

2.出于安全考虑,本章未提供完整流程,调试环节省略较多,只提供大致思路,具体细节要你自己还原,相信你也能调试出来。

如果侵犯到你的权益联系我,我会马上删除
wx a15018601872   
q 2766958292

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/762094.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql无法看到3306端口监听

参考:https://blog.csdn.net/shumeigang/article/details/103902459 mysql> show global variables like ‘port’; 是0 原因是我的my.cnf有话: skip-network 或 注释掉,然后重新启动下数据库,运行netstat -an|grep 3306 就可以看到了

C#非强签名dll搜索顺序

由于不是强签名dll,所以无效考虑全局程序集缓存 (GAC)。 预备工作 新建解决方案ClassLibrary1,新建类库ClassLibrary1,新建控制台程序ShowDllLoc。 利用VS添加引用。 一,利用app.config设置codebase,设置dll的加载路径为:code…

Java中的类与对象

面向对象 设计对象并使用 类: 是共同特征的描述(设计图) 对象: 是真实存在的具体实例 Javabean类: 用来描述一类事物的类,在Javabean类里是不写main方法的 注意: 类名首字母要大写,见名知意,(驼峰模式) 注意: 在实际开发中,建议一个文件定义一个class类 代码: package com.…

C#探索之路基础篇(1):编程中面向过程、数据、对象的概念辨析

文章目录 C#探索之路基础篇(1):编程中面向过程、数据、对象的概念辨析1 面向过程编程1.1 概念1.2 示例代码:1.3 使用范围与时机:1.4 注意事项:1.5 通俗讲法 2 面向对象编程2.1 概念2.2 示例代码2.3 使用范围2.4 注意事项2.5 通俗讲…

软考高级:UML定时图概念和例题

作者:明明如月学长, CSDN 博客专家,大厂高级 Java 工程师,《性能优化方法论》作者、《解锁大厂思维:剖析《阿里巴巴Java开发手册》》、《再学经典:《Effective Java》独家解析》专栏作者。 热门文章推荐&am…

每天学习一个Linux命令之useradd

每天学习一个Linux命令之useradd 介绍 Linux操作系统提供了许多命令来管理用户和用户组。其中一个重要的命令是useradd,它用于在系统中创建新用户。useradd命令提供了许多选项来控制创建用户的行为。本文将逐一介绍useradd命令的所有可用选项。 可用选项 userad…

Java部署运维

1.docker Docker(一):安装、命令、应用Docker(二):数据卷、Dockefile、Docker-composeDocker(三) 通过gitlab部署CICD Docker超详细教程——入门篇实战 Docker教程 2.nginx 3.keepalived 4.k8s 5.jekenis

KW音乐搜索参数

声明: 本文章中所有内容仅供学习交流,抓包内容、敏感网址、数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除! 逆向目标: …

Pytorch之Dataset和DataLoader的注意事项

1、数据集的保存形式:一行一行的。 比如说预测两个值的加法:abc,那么传进Dataset的形式应该是 a1,b1,c1 a2,b2,c2 ... an,bn,cn 2、代码 import numpy as np import pandas as pd import torch from torch.utils.data import DataLoader, D…

【Git】第一课:Git的介绍

简介 什么是Git? Git是一个开源的分布式版本控制系统,用于跟踪代码的改变和协同开发。它最初由Linus Torvalds为了管理Linux内核开发而创建,现已成为开源软件开发中最流行的版本控制系统,没有之一。Git允许多人同时在不同的分支上工作&…

【leetcode热题】轮转数组

给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。 示例 1: 输入: nums [1,2,3,4,5,6,7], k 3 输出: [5,6,7,1,2,3,4] 解释: 向右轮转 1 步: [7,1,2,3,4,5,6] 向右轮转 2 步: [6,7,1,2,3,4,5] 向右轮转 3 步: [5,6,7,1,2,3,4…

Linux配置bond(网卡绑定)

Linux配置bond(网卡绑定) 最近需要搭建测试环境,为了保证带宽不成为瓶颈,就需要使用bond来提升网络带宽 1 概念、原理、工作模式 1.1 概念:网卡捆绑 网卡绑定,也称作网卡捆绑。就是将两个或者更多的物理网卡绑定成一…

Leetcode 200. 岛屿数量

心路历程: 在没有看图论这一章之前看这道题没什么直接的思路,在看完图论之后,学着使用DFS和BFS去套用解决。第一次自己做的时候还是遇到了很多小问题。整体思路很流畅,但是需要处理的细节第一次没怎么处理好,花了很多…

[C语言]手动实现strcat strcmp strcpy strstr strtok(静态全局指针初始化方式)代码

strcat strcmp strcpy strstr strtok这些代码均存储在c语言的头文件<string.h>中&#xff0c;如果要使用的话直接调用即可&#xff0c;但是为了增加我们对代码的理解&#xff0c;我们看一下如何手动实现这些代码吧&#xff01; strcat strcat是在字符串后面增加上自己想…

Postgresql数据库入门简介

Postgresql入门 1.Postgresql数据库简介 PostgresQL是一个功能强大的开源数据库系统。经过长达15年以上的积极开发和不断改进&#xff0c;PostgreSQL已在可靠性、稳定性、数据一致性等获得了业内极高的声誉。目前PostgreSql可以运行在所有主流操作系统上&#xff0c;包括Linux…

WebGIS管线在线编辑器(电力、水力、燃气、热力、热能管线)

随着GIS等信息技术的发展&#xff0c;地下管线管理也从二维平面向三维立体管理迈进。传统管线信息管理系统将管线及其附属设施抽象成二维平面内的点、要素&#xff0c;并使用各类点符号、不同颜色线段进行表达。虽能一定程度上满足城市智慧运行的需要&#xff0c;但不能很直观的…

分布式锁简单实现

分布式锁 Redis分布式锁最简单的实现 想要实现分布式锁&#xff0c;必须要求 Redis 有「互斥」的能力&#xff0c;我们可以使用 SETNX 命令&#xff0c;这个命令表示SET if Not Exists&#xff0c;即如果 key 不存在&#xff0c;才会设置它的值&#xff0c;否则什么也不做。 …

mpyboard开发板使用REPL

文章目录 WindowsMacOS XLinux使用REPL提示符重启开发板 REPL是指交互式解释器&#xff08;Read Evaluate Print Loop&#xff09;&#xff0c;就是一种命令输入交互模式&#xff0c;可以使用命令行的方式与pyboard进行交互。REPL是测试代码和运行命令最简单的方式之一&#xf…

Premiere模板|200个视频标题文字动画pr字幕模板包

Premiere模板&#xff0c;13个类别200个Pr视频标题字幕文字动画模板mogrt包。 几乎适用于任何场景。粗体标题&#xff0c;标注&#xff0c;未来主义和线条标题&#xff0c;下三分之一&#xff0c;霓虹灯&#xff0c;带数字的标题&#xff0c;倒计时&#xff0c;表格&#xff0c…

【爬虫】Selenium打开新tab页截图并关闭

如果说 你曾苦过我的甜 我愿活成你的愿 愿不枉啊 愿勇往啊 这盛世每一天 山河无恙 烟火寻常 可是你如愿的眺望 孩子们啊 安睡梦乡 像你深爱的那样 &#x1f3b5; 王菲《如愿》 在自动化测试和网页抓取中&#xff0c;Selenium WebDriver 是一个强大的工具&…