知乎x-zse-96逆向分析

声明

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

目标网站

aHR0cHM6Ly93d3cuemhpaHUuY29tLw==

Trace-x-zse-96

直接搜索找到x-zse-96 上图是导出一个D,也正好是返回我们加密的函数
从文件头部可以看到webpack的加载函数,那么我们直接找到我需要加密的函数最上方,打个断点 看到加载了1514模块,1514模块加载了74185模块,然后上一个堆栈我们查看一下 可以看到是个webpack加载器,call(....export)字眼
把整个加载器给扣下来 给自执行函数命名,然后把调用者改为xx,再用window把p给赋值给xx。以便后续我们调用 改为({})这样的形式,方便我们去执行对应的模块相当于调用字典某个键(function)

webpack加载器大致形式

!function (xx) {
  "use strict";
  var e, a, c, d, f, t, b, r, o, n, i, s, u, l = {}, m = {};
  function p(e) {
      var a = m[e];
      if (void 0 !== a)
          return a.exports;
      var c = m[e] = {
          id: e,
          loaded: !1,
          exports: {}
      };
      console.log(e); 
      return xx[e].call(c.exports, c, c.exports, p),
      c.loaded = !0,
      c.exports
  }
  window.pp = p
}({
1212:function(a,b,c){},
1233:function(a,b,c){}
})

定位代码

__g._encrypt(encodeURIComponent(tt))
tT = ed(te, tf.body, {
    zse93: tb,
    dc0: tS,
    xZst81: tC
}, tA)

有了上述步骤,我们直接调用

我们本地调试发现蛮多反调试的细节的,可以看到很多检测点,时间戳反调试,eval看原型链,toString,以及大量的constructor调用,挺好的教学素材呐(QAQ~)

看到这些,我以往都用jsdom或者框架去补环境,往往比较少去关注里面的原型链、dom方法调用细节。我这里选择最原生的方式去补环境,到时候我在星球里面视频提提。

结果

相同url接口下看的出来加密是完全相同的,证明我们没有补错

验证:

x-zse-96为假-->
{"error":{"message":"请求参数异常,请升级客户端后重试。","code":10003}} x-zse-96为真--->
拿到数据

Next-Target

  1. 后期思路是vmp反编译还原某音ab部分vmp。
  2. dy,xhs全参分析
  3. 阿里140
  4. 主动调用Android-Wechat文本信息
  5. 腾讯滑块tdc
  6. 顶象
  7. 数美
  8. 易盾
  9. js盾

最近想法

我开了个知识星球,本期成品已放到了里面,有需要的小伙伴可以自行去取,jd的参数,阿里bxet纯算、快手滑块,Pdd—Anti,ikuai,b站login之-极验3文字,某音ab,瑞数456vmp补环境,知乎x-zse-96等等,主要是某些大佬加我问成品,很多人都打着白嫖的手段去加我好友为目的,问完基本就以后没有任何的交集,这样的交好友雀氏没有任何意义。不如我直接开个星球,里面直接放我逆向的成品以及逆向的思路,这样大家各取所需,我也有点收益,意义更明确点,免得浪费大家的时间。星球如果你们遇到了什么问题的话,也可以直接提出来,我肯定以我最大的能力去回答,后续的话,随着知识星球的作品越来越多,涨价是必然的。至于一些没有特殊难点的站或app,我会直接把思路以及成品到星球里面,同时也欢迎各位大佬的技术合作,有技术,有想法的一起交流成长。

posted @ 2024-04-29 01:08  TNanko  阅读(355)  评论(0编辑  收藏  举报