当前位置: 首页 > 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
http://www.lryc.cn/news/374284.html

相关文章:

  • web前端如何设置单元格:深入解析与实用技巧
  • 龙迅LT9611UXC 2 PORT MIPIDSI/CSI转HDMI 2.1,支持音频IIS/SPDIF输入,支持标准4K60HZ输出
  • 红黑树(C++)
  • PyCharm设置不默认打开上次的项目
  • Eureka到Nacos迁移实战:解决配置冲突与启动异常
  • k8s 小技巧: 查看 Pod 上运行的容器
  • 【Git】基础操作
  • Linux:基础IO(二.缓冲区、模拟一下缓冲区、详细讲解文件系统)
  • 事件传播机制 与 责任链模式
  • uniapp 展示地图,并获取当前位置信息(精确位置)
  • Autosar实践——诊断配置(DaVinci Configuration)
  • 植物大战僵尸杂交版全新版v2.1解决全屏问题
  • 【code-server】Code-Server 安装部署
  • 博客摘录「 YOLOv5模型剪枝压缩」2024年5月11日
  • HttpSecurity
  • Mysql union语句
  • MySQL之高级特性(四)
  • roles安装wordpress
  • 【Python高级编程】饼状图中autopct和startangle用来做什么的
  • 【ARM Coresight Debug 系列 -- ARMv8/v9 Watchpoint 软件实现地址监控详细介绍】
  • jvm工具-jps、jstat、jmap、jstack
  • LVS负载均衡群集+NAT部署
  • 使用 Oracle SQL Developer 导入数据
  • 品质主管的面试题目
  • 算法专题总结链接地址
  • Oracle--存储结构
  • 【计算机毕业设计】259基于微信小程序的医院综合服务平台
  • HP惠普暗影精灵10 OMEN Gaming Laptop 16-wf1xxx原厂Win11系统镜像下载
  • [Day 9] 區塊鏈與人工智能的聯動應用:理論、技術與實踐
  • van-list 遇到的问题