当前位置: 首页 > news >正文

大众点评js逆向过程(未完)

相关链接

1、控制流平坦化进行AST 解析 AST网址
2、JS进制转换(Function.prototype.call)

1、断点调试mtgsig参数

这里mtgsig已经被拼到url中
在这里插入图片描述

2、进入后mtgsig已经计算完, ir = he(this[b(4326)], !1), 就是加密函数

在这里插入图片描述

![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/4161e0eeef714c06a99ef7d7706ebe3d.png]
在这里插入图片描述

断点位置在这里插入图片描述

三、观察mtgsig的值

{"a1":"1.1",
"a2":1718468767104,
"a3":"xuy1zzu91zv25262z3259x8wx343501480981x32u65979585511yvv0",
"a5":"EO/9ybr3Lu84Fo+S/aTJ",
"a6":"hs1.4aOG4x69iuIGtADfqn9IKcfnvTEIjKjY9H6EeuMkKzu5/rXMEfcX4PkryisYfKr+LFobgDNzDmFr3cb73An0DxQ==",
"x0":4,
"d1":"3d8e870992de460f5333124faf50c103"}{"a1":"1.1",
"a2":1718468774352,
"a3":"xuy1zzu91zv25262z3259x8wx343501480981x32u65979585511yvv0",
"a5":"EO/9yMr3Lu84Fo+S/aTJ",
"a6":"hs1.4aOG4x69iuIGtADfqn9IKcfnvTEIjKjY9H6EeuMkKzu5/rXMEfcX4PkryisYfKr+LFobgDNzDmFr3cb73An0DxQ==",
"x0":4,
"d1":"6739982310bed1200c8b526977874905"}{"a1":"1.1","a2":1718469128184,
"a3":"xuy1zzu91zv25262z3259x8wx343501480981x32u65979585511yvv0",
"a5":"EO/98br3Lu84Fo+S/aTJ",
"a6":"hs1.4aOG4x69iuIGtADfqn9IKcfnvTEIjKjY9H6EeuMkKzu5/rXMEfcX4PkryisYfKr+LFobgDNzDmFr3cb73An0DxQ==",
"x0":4,
"d1":"0f681765340220edcd3b4a5b3b6a3781"}

四、断点调试加密过程

仔细观察上面mtgsig的值 发现 a2 是时间戳,a5 需要破解 , d1需要破解 , 其他是固定的

var guardOwl, md5 = {md5: function(s) {return hex(md51(s))},md5Array: md51,md5ToHex: hex
};md5.s(ik);
ij = N[510]  // 4294967295
ih =  hU& ij 
ij = fZ(null , ih)
ik = new Uint8Array(fW(i5)[concat](ij))im  = md5( md5 , ik)   // cee70b7578ff51b84f14efa2efbc7891i5=hs1.4aOG4x69iuIGtADfqn9IKcfnvTEIjKjY9H6EeuMkKzu5/rXMEfcX4PkryisYfKr+LFobgDNzDmFr3cb73An0DxQ==
io = new Uint8Array(fW(i5))iq  = md5( md5 , io ) 
ir  = fY(null , iq)  得到  , 
is = [fm[b1], fm[b2 ],fm[b3 ], fm[b5 ] ]     
it = h6( null , h8(null , ir , JOSN.stringify(is)))  // "EO/9JriScRkoUfM7cAq9Cc=="
iv = hb( ib , hU)
iw = fZ(null , iv )
ix = d0 ( null , fK ) ["dfpId"]   //  a3 : "xuy1zzu91zv25262z3259x8wx343501480981x32u65979585511yvv0"
iy = hb(null , new Uint8Array(fW(it)) ,  hU )
iz = fZ(null , iy )
iA = hex(md5 ,    [iv  , iy , iv ^ ih ,iv ^ iy - ih  ]  )
iB = h1(null ,  concat ( iw  , iz , iA)    )
iE = iy 
iC = a1 : fs  ,   a2 : hU , a3 : ix ,  a5 : it , a6 : i5 , x0  :4 , 
XXXXXXX
iF = a1 + a2    + a3 + iB + iE + im 
iG = md51( md5 , new Uint8Array(fW(iF))  )
iH =   ih   |   ( ih << iC [x0] )   <<  ( ih <<  iC [x0]   )   XXXXX
iG[0] = iG[0]  ^ iH 
iG[1] = iG[1]  ^ iE
iG[2] = iG[2]  ^ iE ^ iH 
iG[3]  =  iG[3]   ^   iG[0]  
iI = hex(md5 , iG )
iC[d1] = il
iK = iI 
iM  = parstInt ( null  ,  iK (0x  两位一组  ))
iJ  = [   iM = parstInt ( null  ,  iK (0x  两位一组  ))     ]
iL   < iK.length    false   
N[1145 ]
iO = hf ( null , fw ) 
iJ[12] = iJ[0]   ^   iJ[4] ^     iO [0]
iJ[13] =  (iJ[1 ]  ^  iJ[5 ] )   ^  iO [1 ]
iJ[14] = iJ[2 ]   ^  iJ[6 ]   ^   iO [2 ]
iJ[15] =    iJ[3 ]  ^   iJ[7 ]    ^   iO [3 ]iJ[9] =  iJ[4 ]   ^   iJ[5 ]   ^     iJ[5 ]   &   189 iJ[10] = ( iJ[5 ]  ^    iJ[6]   ^    iJ[1]   )  &   N[1287] iJ[11] = ( iJ[6 ]     ^ iJ[7]    ^   iJ[2]   )  &  N[1312]
iP =  fE   [ N[1321] ]   
iP [ 0  ]   iP [1]    iP [2]    iP [3]      iP [4]    iP [5] 1         1           1iJ[9] |= T[T.length - 1];  iJ[11] |= 1;iJ[8]   =   iJ[9]  ^   iJ[10]  ^      iJ[11]   ^     iJ[12]   ^    iJ[13]   ^  iJ[14]  ^ iJ[15]
iQ = ''  iR = ''
if( iJ [i]    <  16){1、小于 16  iJ [i] < 10    //   4   ->   04  2、大于等于16   g.call(182['toString'], 126 , 16)  // 十六进制转换?d1:  实现方案:Function.prototype.call.call(17['toString'], 125, 16).padStart(2, '0');
}
iS是最终结果, 进 796   第15次停  计算的  iQ  加上两位   就是d1

相关文章:

大众点评js逆向过程(未完)

相关链接 1、控制流平坦化进行AST 解析 AST网址 2、JS进制转换&#xff08;Function.prototype.call&#xff09; 1、断点调试mtgsig参数 这里mtgsig已经被拼到url中 2、进入后mtgsig已经计算完&#xff0c; ir he(this[b(4326)], !1), 就是加密函数 ![在这里插入图片描述…...

web前端如何设置单元格:深入解析与实用技巧

web前端如何设置单元格&#xff1a;深入解析与实用技巧 在web前端开发中&#xff0c;设置单元格是一个常见且重要的任务。无论是构建数据表格、表单还是其他界面元素&#xff0c;都需要对单元格进行精确的设置和样式调整。那么&#xff0c;web前端究竟如何设置单元格呢&#x…...

龙迅LT9611UXC 2 PORT MIPIDSI/CSI转HDMI 2.1,支持音频IIS/SPDIF输入,支持标准4K60HZ输出

龙迅LT9611UXC描述&#xff1a; LT9611UXC是一个高性能的MIPI DSI/CSI到HDMI2.0转换器。MIPI DSI/CSI输入具有可配置的单端口或双端口&#xff0c;1高速时钟通道和1~4高速数据通道&#xff0c;最大2Gbps/通道&#xff0c;可支持高达16Gbps的总带宽。LT9611UXC支持突发模式DSI视…...

红黑树(C++)

文章目录 写在前面1. 红黑树的概念及性质1. 1 红黑树的概念1. 2 红黑树的性质 2. 红黑树节点的定义3. 红黑树的插入3.1 按照二叉搜索的树规则插入新节点3.2 检测新节点插入后&#xff0c;红黑树的性质是否造到破坏 4.红黑树的删除5.红黑树的验证6.源码 写在前面 在上篇文章中&…...

PyCharm设置不默认打开上次的项目

第一步 第二步 第三步 测试...

Eureka到Nacos迁移实战:解决配置冲突与启动异常

问题&#xff1a;Eureka到Nacos迁移实战&#xff1a;解决配置冲突与启动异常 在进行微服务架构升级&#xff0c;特别是注册中心从Eureka转向Nacos的过程中&#xff0c;我遇到了一个典型的技术挑战。目标是为了减少因配置变更导致的服务重启频率&#xff0c;我决定拥抱Nacos以其…...

k8s 小技巧: 查看 Pod 上运行的容器

目录 1. 示例 Pod 的定义文件2. kubectl describe pod&#xff08;推荐&#xff09;3. kubectl get pod3.1 json 格式3.2 yaml 格式 4. 其他操作 1. 示例 Pod 的定义文件 # 文章中所用 pod 的 yaml 定义文件&#xff0c; multi-container.yaml apiVersion: v1 kind: Pod metad…...

【Git】基础操作

初识Git 版本控制的方式&#xff1a; 集中式版本控制工具&#xff1a;版本库是集中存放在中央服务器的&#xff0c;team里每个人work时从中央服务器下载代码&#xff0c;是必须联网才能工作&#xff0c;局域网或者互联网。个人修改之后要提交到中央版本库 例如&#xff1a;SVM和…...

Linux:基础IO(二.缓冲区、模拟一下缓冲区、详细讲解文件系统)

上次介绍了&#xff1a;Linux&#xff1a;基础IO&#xff08;一.C语言文件接口与系统调用、默认打开的文件流、详解文件描述符与dup2系统调用&#xff09; 文章目录 1.缓冲区1.1概念1.2作用与意义 2.语言级别的缓冲区2.1刷新策略2.2具体在哪里2.3支持格式化 3.自己来模拟一下缓…...

事件传播机制 与 责任链模式

1、基本概念 责任链模式&#xff08;Chain of Responsibility Pattern&#xff09;是一种行为型设计模式&#xff0c;将请求沿着处理链传递&#xff0c;直到有一个对象能够处理为止。 2、实现的模块有&#xff1a; Handler&#xff08;处理者&#xff09;&#xff1a;定义一个…...

uniapp 展示地图,并获取当前位置信息(精确位置)

使用uniapp 提供的map标签 <map :keymapIndex class"container" :latitude"latitude" :longitude"longitude" ></map> 页面初始化的时候&#xff0c;获取当前的位置信息 created() {let that thisuni.getLocation({type: gcj02…...

Autosar实践——诊断配置(DaVinci Configuration)

文章目录 一、制作诊断数据库文件(cdd文件)二、导入诊断数据库文件并修复模块生成的问题三、创建SWC CS接口Service Ports四、创建Service Runnable五、关联SWC和DCM/DEM模块六、RTE代码编写22服务2E服务31服务DTC Set/Get关联文章列表: Autosar-软件架构 Autosar诊断-简介和…...

植物大战僵尸杂交版全新版v2.1解决全屏问题

文章目录 &#x1f68b;一、植物大战僵尸杂交版❤️1. 游戏介绍&#x1f4a5;2. 如何下载《植物大战僵尸杂交版》 &#x1f680;二、解决最新2.1版的全屏问题&#x1f308;三、画质增强以及减少闪退 &#x1f68b;一、植物大战僵尸杂交版 《植物大战僵尸杂交版》是一款在原版《…...

【code-server】Code-Server 安装部署

Code-Server 安装部署 1.环境准备 可以参考 https://coder.com/docs/code-server/install code-server的安装流程进行安装&#xff0c;主机环境是 Centos7 建议使用 docker 方式进行安装&#xff0c;可能会出现如下报错&#xff0c;需要升级 GNC 的版本&#xff0c;由于影响较…...

博客摘录「 YOLOv5模型剪枝压缩」2024年5月11日

添加L1正则来约束BN层系数 语义边缘检测和语义分割的关系调研结果为&#xff0c;语义信息可以用来增强语义分割的效果&#xff0c;也有一定的优点和采用理由&#xff0c;但此类论文的数量并不是很多&#xff0c;语义分割的多数方法还是使用深度学习直接做像素分类。在对比两者…...

HttpSecurity

这是Spring Security提供的配置类, 用户保护基于HTTP的请求 ,通过HttpSecurity可以设置各种安全设置{认证,授权,CSRF保护,会话管理,异常处理} 主要功能和配置: 1.认证配置: 配置登录和登出功能,指定登录页面、登录处理 URL、成功和失败处理器等。配置认证方式,如表单登录、…...

Mysql union语句

开源项目SDK&#xff1a;https://github.com/mingyang66/spring-parent 个人文档&#xff1a;https://mingyang66.github.io/raccoon-docs/#/ mysql union操作符用于连接两个以上的select语句的结果组合到一个结果集&#xff0c;并去除重复的行&#xff0c;每个select语句的雷叔…...

MySQL之高级特性(四)

高级特性 查询缓存 什么情况下查询缓存能发挥作用 并不是什么情况下查询缓存都会提高系统性能的。缓存和失效都会带来额外的消耗&#xff0c;所以只有当缓存带来的资源节约大于本身的资源消耗时才会给系统带来性能提升。这跟具体的服务器压力模型有关。理论上&#xff0c;可…...

roles安装wordpress

debug模块 1.如何查看ansible-playbook执行过程中产生的具体信息 vim test3.yaml --- - hosts: allremote_user: roottasks:- name: lsshell: ls /rootregister: var_stdout # register:将var_stdout注册为变量- name: debugdebug:var: var_stdout # 查看所有的输出信息#var…...

【Python高级编程】饼状图中autopct和startangle用来做什么的

autopct 设置饼状图中每个扇区的百分比标签。接受一个格式字符串&#xff0c;用于指定如何格式化标签。默认值为 %.1f%%&#xff0c;表示保留一位小数的百分比格式。可以设置为 None 以禁用百分比标签。 startangle 设置饼状图中第一个扇区的起始角度。角度以顺时针方向从 3…...

STM32标准库-DMA直接存储器存取

文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA&#xff08;Direct Memory Access&#xff09;直接存储器存取 DMA可以提供外设…...

Cinnamon修改面板小工具图标

Cinnamon开始菜单-CSDN博客 设置模块都是做好的&#xff0c;比GNOME简单得多&#xff01; 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...

汇编常见指令

汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX&#xff08;不访问内存&#xff09;XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...

3403. 从盒子中找出字典序最大的字符串 I

3403. 从盒子中找出字典序最大的字符串 I 题目链接&#xff1a;3403. 从盒子中找出字典序最大的字符串 I 代码如下&#xff1a; class Solution { public:string answerString(string word, int numFriends) {if (numFriends 1) {return word;}string res;for (int i 0;i &…...

JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案

JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停​​ 1. ​​安全点(Safepoint)阻塞​​ ​​现象​​:JVM暂停但无GC日志,日志显示No GCs detected。​​原因​​:JVM等待所有线程进入安全点(如…...

docker 部署发现spring.profiles.active 问题

报错&#xff1a; org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...

重启Eureka集群中的节点,对已经注册的服务有什么影响

先看答案&#xff0c;如果正确地操作&#xff0c;重启Eureka集群中的节点&#xff0c;对已经注册的服务影响非常小&#xff0c;甚至可以做到无感知。 但如果操作不当&#xff0c;可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...

Docker 本地安装 mysql 数据库

Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker &#xff1b;并安装。 基础操作不再赘述。 打开 macOS 终端&#xff0c;开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...

排序算法总结(C++)

目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指&#xff1a;同样大小的样本 **&#xff08;同样大小的数据&#xff09;**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...

解读《网络安全法》最新修订,把握网络安全新趋势

《网络安全法》自2017年施行以来&#xff0c;在维护网络空间安全方面发挥了重要作用。但随着网络环境的日益复杂&#xff0c;网络攻击、数据泄露等事件频发&#xff0c;现行法律已难以完全适应新的风险挑战。 2025年3月28日&#xff0c;国家网信办会同相关部门起草了《网络安全…...