当前位置: 首页 > 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…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)

宇树机器人多姿态起立控制强化学习框架论文解析 论文解读&#xff1a;交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架&#xff08;一&#xff09; 论文解读&#xff1a;交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...

浅谈不同二分算法的查找情况

二分算法原理比较简单&#xff0c;但是实际的算法模板却有很多&#xff0c;这一切都源于二分查找问题中的复杂情况和二分算法的边界处理&#xff0c;以下是博主对一些二分算法查找的情况分析。 需要说明的是&#xff0c;以下二分算法都是基于有序序列为升序有序的情况&#xf…...

rknn toolkit2搭建和推理

安装Miniconda Miniconda - Anaconda Miniconda 选择一个 新的 版本 &#xff0c;不用和RKNN的python版本保持一致 使用 ./xxx.sh进行安装 下面配置一下载源 # 清华大学源&#xff08;最常用&#xff09; conda config --add channels https://mirrors.tuna.tsinghua.edu.cn…...

es6+和css3新增的特性有哪些

一&#xff1a;ECMAScript 新特性&#xff08;ES6&#xff09; ES6 (2015) - 革命性更新 1&#xff0c;记住的方法&#xff0c;从一个方法里面用到了哪些技术 1&#xff0c;let /const块级作用域声明2&#xff0c;**默认参数**&#xff1a;函数参数可以设置默认值。3&#x…...

高分辨率图像合成归一化流扩展

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 1 摘要 我们提出了STARFlow&#xff0c;一种基于归一化流的可扩展生成模型&#xff0c;它在高分辨率图像合成方面取得了强大的性能。STARFlow的主要构建块是Transformer自回归流&#xff08;TARFlow&am…...

内窥镜检查中基于提示的息肉分割|文献速递-深度学习医疗AI最新文献

Title 题目 Prompt-based polyp segmentation during endoscopy 内窥镜检查中基于提示的息肉分割 01 文献速递介绍 以下是对这段英文内容的中文翻译&#xff1a; ### 胃肠道癌症的发病率呈上升趋势&#xff0c;且有年轻化倾向&#xff08;Bray等人&#xff0c;2018&#x…...

41道Django高频题整理(附答案背诵版)

解释一下 Django 和 Tornado 的关系&#xff1f; Django和Tornado都是Python的web框架&#xff0c;但它们的设计哲学和应用场景有所不同。 Django是一个高级的Python Web框架&#xff0c;鼓励快速开发和干净、实用的设计。它遵循MVC设计&#xff0c;并强调代码复用。Django有…...

基于 HTTP 的单向流式通信协议SSE详解

SSE&#xff08;Server-Sent Events&#xff09;详解 &#x1f9e0; 什么是 SSE&#xff1f; SSE&#xff08;Server-Sent Events&#xff09; 是 HTML5 标准中定义的一种通信机制&#xff0c;它允许服务器主动将事件推送给客户端&#xff08;浏览器&#xff09;。与传统的 H…...

uniapp获取当前位置和经纬度信息

1.1. 获取当前位置和经纬度信息&#xff08;需要配置高的SDK&#xff09; 调用uni-app官方API中的uni.chooseLocation()&#xff0c;即打开地图选择位置。 <button click"getAddress">获取定位</button> const getAddress () > {uni.chooseLocatio…...

(12)-Fiddler抓包-Fiddler设置IOS手机抓包

1.简介 Fiddler不但能截获各种浏览器发出的 HTTP 请求&#xff0c;也可以截获各种智能手机发出的HTTP/ HTTPS 请求。 Fiddler 能捕获Android 和 Windows Phone 等设备发出的 HTTP/HTTPS 请求。同理也可以截获iOS设备发出的请求&#xff0c;比如 iPhone、iPad 和 MacBook 等苹…...