某系的新版_signature分析

简介: 某系的新版_signature分析
项目地址:aHR0cHM6Ly93d3cudG91dGlhby5jb20vYy91c2VyL3Rva2VuL01TNHdMakFCQUFBQWlBY2U1cWhIMzFUZXVCM1VkcEZNVjh1LXV3eTJMbm9pcUkxMHVaSHFBdDgvP3NvdXJjZT1mZWVk

观前提示:

本文章仅供学习交流,切勿用于非法通途,如有侵犯贵司请及时联系删除




前言

太久没更新了 差不多半年了吧 突然想起自己还有个公众号 赶紧回来更一篇

这次给的例是挺多人搞过个 听说前段时间更新过一次 就重新看了一下 其实也差不多 万变不离其宗的





定位加密位置

直接全局搜索 _signature

可以看到变量 n 对应的就是 j 函数 打上断点 跟进去

进来后步进一步一步看


(null === (a = window.byted_acrawler) || void 0 === a ? void 0 : null === (n = a.sign) || void 0 === n ? void 0 : n.call(a, o)) || ""br

到这里 就找到我们所需要的加密入口了






代码分析

接着上面的位置打上断点 继续步进会进入到一个新的js页面

这里就是我们需要分析的代码了 全部复制到node里面运行看看


报错 这不就是要补点东西给它嘛

直接去浏览器取一个 referrer 补上即可

补完后再次运行发现不报错了 那我们调用函数看看

出现了第二个错误 这是为什么呢?

通过观察代码得知 新版的代码尾巴加了点基本检测 整理一下list

[
    ,
    ,
    "undefined" != typeof exports ? exports : void 0,
    "undefined" != typeof module ? module : void 0,
    "undefined" != typeof define ? define : void 0,
    "undefined" != typeof Object ? Object : void 0,
    void 0,
    "undefined" != typeof TypeError ? TypeError : void 0,
    "undefined" != typeof document ? document : void 0,
    "undefined" != typeof InstallTrigger ? InstallTrigger : void 0,
    "undefined" != typeof safari ? safari : void 0,
    "undefined" != typeof Date ? Date : void 0,
    "undefined" != typeof Math ? Math : void 0,
    "undefined" != typeof navigator ? navigator : void 0,
    "undefined" != typeof location ? location : void 0,
    "undefined" != typeof history ? history : void 0,
    "undefined" != typeof Image ? Image : void 0,
    "undefined" != typeof console ? console : void 0,
    "undefined" != typeof PluginArray ? PluginArray : void 0,
    "undefined" != typeof indexedDB ? indexedDB : void 0,
    "undefined" != typeof DOMException ? DOMException : void 0,
    "undefined" != typeof parseInt ? parseInt : void 0,
    "undefined" != typeof String ? String : void 0,
    "undefined" != typeof Array ? Array : void 0,
    "undefined" != typeof Error ? Error : void 0,
    "undefined" != typeof JSON ? JSON : void 0,
    "undefined" != typeof Promise ? Promise : void 0,
    "undefined" != typeof WebSocket ? WebSocket : void 0,
    "undefined" != typeof eval ? eval : void 0,
    "undefined" != typeof setTimeout ? setTimeout : void 0,
    "undefined" != typeof encodeURIComponent ? encodeURIComponent : void 0,
    "undefined" != typeof encodeURI ? encodeURI : void 0,
    "undefined" != typeof Request ? Request : void 0,
    "undefined" != typeof Headers ? Headers : void 0,
    "undefined" != typeof decodeURIComponent ? decodeURIComponent : void 0,
    "undefined" != typeof RegExp ? RegExp : void 0
]

根据这段代码稍微补一下

最终得出

var exports = undefined,
    module = undefined,
    define = undefined;

可能目前还没用到其他检测 不代表以后风控不会加强 这三行还可以再简化的

v8环境可以不用补这几段

加上这一段后成功拿到运行函数

接着就是带上参数跑起来看看啦

又是一处报错 还是老规矩 报啥错就补啥

最终 补了 href protocol userAgent

可能有人会说:欸 小lin啊 你怎么知道需要这些环境的 它没报错这些啊?

不要慌 可以用代理大法or插桩大法

找到指定位置 打上console 看看调用了啥就行啦

搜索 S[R] = S[R][A] 可以搜索到俩处 都可以插桩


补完便可以拿到值了

拿到的值再postman里面测试一下看看

成功拿到数据 完美撒花?????

有人又要问了:小lin啊,你这怎么这么短啊 我看别人都好长 就你的这么短

wocao 怎么可以被说短呢 那可不行啊

用插桩or代理可以看到 其实 这js里面还取用了cookie值

那不是补上就好了吗 这简单

某个人胸有成竹的补上下面的代码并运行

window.document.cookie="tt_webid=6963122183099254302; ttcid=ae060c139b024662a70f3f5c7efd19ed50; csrftoken=25b800355bc69db20102b071c3e7de5d; __ac_signature=_02B4Z6wo00f01WaVS3gAAIDAsVNmA2eZ1WFmsU.AADkI7yNYhjiAwFahZq5.fikL135xcMOnizL69KL-qaL2IXBoHlxsgXmUcQhrJCbv27uj.DSexI7E4xFkhJHZ-eQ0YsZWIOXJA8LdEm9v0a; _S_WIN_WH=1920_937; _S_DPR=1; _S_IPAD=0; s_v_web_id=verify_koy65lqk_AAlwyoBG_5x4R_4Zpk_A4oP_vr5u0TzrzdJb; MONITOR_WEB_ID=eab8ca9e-33f9-46c3-ad16-4b35d4696e87; ttwid=1%7CaViRLWI19OZq4nUGH_emezypLNf4sD0OHrJvplMlFVw%7C1621594797%7C509d995bfabe7218415528577a976413c3898116ea6754d78532ae64ca993512; tt_scid=zklw0zHPt-DKwJmAGLQCxJTDlquEzMCO-Nd8g2S3mInLIwTlXdsCcQw34GSAbf7b17c9"

emmmm..........

cao!

这不是玩嘛

仔细思考了一波 该不会cookie在整段函数运行的时候给重写了吧

害 太聪明了我 果真是给重写了 既然如此 我就稍后写入cookie不就行了嘛

这不就行了嘛 我也很长的

最后再放到postman里面测试一下

正常拿到数据 牛啊牛啊





完美撒花 感谢各位大佬观看



[完]



相关文章
|
Web App开发 小程序 iOS开发
Fiddler - 抓包手机App、微信小程序等网络请求
Fiddler - 抓包手机App、微信小程序等网络请求
2269 0
Fiddler - 抓包手机App、微信小程序等网络请求
|
小程序 开发工具 Android开发
uni-app使用HBuilder X编辑器本地打包apk步骤说明
uni-app使用HBuilder X编辑器本地打包apk步骤说明
4031 0
|
9月前
|
数据采集 JSON Linux
抖音无限私信协议脚本有?
抖音私信协议技术解析与实现 1. 协议概述与通信机制
|
存储 API 数据安全/隐私保护
【02】整体试验思路,在这之前我们发现sec_uid,sec_uid是什么和uid的关系又是什么?相互如何转换?python开发之理论研究试验,如何通过抖音视频下方的用户的UID获得抖音用户的手机号-本系列文章仅供学习研究-禁止用于任何商业用途-仅供学习交流-优雅草卓伊凡
【02】整体试验思路,在这之前我们发现sec_uid,sec_uid是什么和uid的关系又是什么?相互如何转换?python开发之理论研究试验,如何通过抖音视频下方的用户的UID获得抖音用户的手机号-本系列文章仅供学习研究-禁止用于任何商业用途-仅供学习交流-优雅草卓伊凡
2310 6
|
JavaScript 前端开发 数据安全/隐私保护
boss直聘__zp_stoken__参数分析
boss直聘__zp_stoken__参数分析
2077 1
|
安全 Linux 编译器
Centos 7.9如何使用源码编译安装curl最新版本
通过上述步骤,您就能在CentOS 7.9上成功地从源代码编译并安装curl的最新版本。这种方法不仅提供了灵活性,允许您定制编译选项,还确保了软件的最新功能和安全更新得到应用。
1093 2
|
JavaScript 前端开发 程序员
《JavaScript权威指南第7版》中文PDF+英文PDF+源代码 +JavaScript权威指南(第6版)(附源码)PDF下载阅读分享推荐
JavaScript是Web标准语言,广泛应用于各类浏览器,造就了其最广泛部署的地位。Node.js的兴起扩展了JavaScript的使用场景,使其成为开发者首选语言。无论新手还是经验丰富的程序员,都能受益于学习JavaScript。[《JavaScript权威指南第7版》资源链接](https://zhangfeidezhu.com/?p=224)
1469 5
《JavaScript权威指南第7版》中文PDF+英文PDF+源代码 +JavaScript权威指南(第6版)(附源码)PDF下载阅读分享推荐
|
存储 人工智能 对象存储
一文详解阿里云AI大基建
一文详解阿里云AI大基建
2795 2
|
前端开发 JavaScript 数据库
https页面加载http资源的解决方法
https页面加载http资源的解决方法
913 7