某区块链浏览器 js逆向x-apikey

python爬虫JS逆向 Python爬虫JS逆向案例由于在爬取数据时,遇到请求头限制属性为动态生成,现将解决方式整理如下:JS逆向有两种思路:本文介绍的是第二种使用Python重写JS的方法第一步:在浏览器中使用开发者工具找到相应的接口[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TTShEzjL-1654923044961)(https://img2022.cnblogs.com/blog/505712/202206/505712-20220611111103875-443247577.png 阅读详情

声明#

本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!

1、接口寻找

通过开发者工具可以轻松找到接口位置

2、参数定位

可以看到,请求HTTP头参数很多:

经过测试,只有x-apikey参数必须,其它参数可忽略

全局搜索未能找到x-apikey参数,使用xhr断点,‘api/explorer/v1/btc/blocks?’,

刷新一下,断在请求发送之前,

经测试,未能发现明显x-apikey生成位置

观察x-apikey参数有明显bs64编码特征,可能通过window.btoa生成

全局搜索window.btoa,未能找到明显生成位置

这时使用hook脚本,当window.btoa调用时debugger,代码如下:

const originalBtoa = window.btoa;

// 重写 btoa 函数
window.btoa = function (input) {
  console.log('Hook: btoa 被调用,输入值为:', input);
  debugger; // 触发调试器
  // 调用原始的 btoa 函数
  const result = originalBtoa(input);

  console.log('Hook: btoa 返回结果:', result);

  // 返回结果
  return result;
};

运行hook脚本

再运行一下,可以在控制台看到

可以发现返回结果与x-apikey参数相似,看调用函数

可以看到是由e与t拼接后调用window.btoa,e为固定值,可以写死,找到t的生成位置

可以看到t就是上述中的e,通过gettime得到后调用encryptTime,encryptTime函数如下:

其中c为固定值,c = 1111111111111,写死

i.o.mathRandom就是Math.random函数

x-apikey生成逻辑,把以上代码合并一下:

(() => {
  window = global;
  var e = (new Date).getTime();
  var t = (1 * e + 1111111111111).toString().split("")
  , r = parseInt(10 * Math.random(), 10)
  , n = parseInt(10 * Math.random(), 10)
  , o = parseInt(10 * Math.random(), 10);
  s = '-b31e-4547-9299-b6d07b7631aba2c903cc';
  t = t.concat([r, n, o]).join("");
  var r = "".concat(s, "|").concat(t);
  return {a:e,b:window.btoa(r)};
})()

在python中调用结果如下:

用该x-apikey调用接口能正常返回数据

逆向解析动态API签名:从Oklink X-Apikey生成机制看HMAC安全设计 在Web API安全领域,动态签名是保障接口认证与防重放攻击的核心技术。其原理通常基于HMAC(哈希消息认证码)算法,结合时间戳、随机数与请求参数生成唯一签名,替代静态API Key以提升安全性。从技术价值看,这种机制确保了请求的完整性、时效性与不可抵赖性,广泛应用于金融、区块链及高安全要求的开放平台。在应用场景中,开发者常需对接第三方数据接口,但遇到类似Oklink的动态X-Apikey时,需通过逆向分析理解其生成逻辑。本文以Oklink为例,通过浏览器开发者工具进行代码定位与调试,详解如何从混淆的Jav 阅读详情

相关推荐

安全基础不是入门知识,而是攻防决策的临界点

在现代网络安全实践中,‘基础’并非指过时的理论或低阶概念,而是支撑整个防御体系的底层逻辑与关键决策依据。它涵盖TLS协议配置、身份认证机制、访问控制模型、内存安全编码等核心能力,其原理直接决定系统在真实攻击下的韧性。技术价值在于将抽象安全原则转化为可验证、可审计、可自动化的工程实践,如eBPF内核级防护、WebAuthn无密码登录、Reproducible Builds供应链保障。典型应用场景包括金融系统等保加固、政务云零信任网关部署、IoT固件安全审计。本文聚焦那些被日志掩盖、被流程忽略、却在攻防一线反复

359

JS逆向 - 破解oklink加密参数及加密数据

JS逆向 - 破解oklink加密参数及加密数据

小鸿的博客 2338

实时信息获取的混合架构爬虫实战

时效性强的信息对智能体回答问题至关重要,带你实战基于 Playwright 与 httpx 的混合架构爬虫

酌沧 151

js逆向-区块链数据获取

目标网站: 接口:使用python请求,发现没有参数时,请求会失败。所以需要逆向该参数。老一套,搜素、打断点。 console中输出。 通过getApiKey函数完成加密。F11步入。 首先将getApiKey拿到,简单修改一下。 提示encryptApiKey没定义,找到拿下来。 没有split属性,split是js中字符串的方法。t变量看一下,API_KEY的值是。 定义一下t变量,重新运行。 encryptTime函数拿一下。 comb函数找到拿下。 window.btoa 是浏览器中原生

逆向新手的博客 2573

BNB根据hash查询转账状态,核对金额及双方钱包地址

/ 去掉前 24 个字符(填充的零)To Address。// 第 10 到 73 个字符。// 第 74 到 137 个字符。// 如果代币的小数位数是 18,将 wei 转换为代币的实际单位。// 解析接收方地址。

q8688的博客 1644

python爬虫简单js逆向(破译js

python爬虫简单js逆向(破译js) 内容简介 一、找到包含所需数据的ajax数据包 二、通过浏览器工具进行关键字定位 三、分析相关js文件,找出具体实现方式 1、getApiKey()函数 2、encryptApiKey()函数 3、encryptTime()函数 4、comb()函数 5、查找不一致的原因 ...

weixin_44397410的博客 1万+

python爬虫简单js逆向

python爬虫简单js逆向内容简介1、找到包含所需数据的ajax数据包2、通过浏览器工具进行关键字定位分析js,找出具体实现方式getApiKey()函数encryptApiKey()函数encryptTime()函数comb()函数查找失败原因合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章

qq_47935193的博客 3589

JS逆向小案例(多方案解决)

本文通过一个区块链交易信息爬取案例,演示了JS逆向分析过程。以oklink网站为例,通过XHR请求分析发现x-apikey参数失效后,逐步定位到h.A.getApiKey函数并进行逆向。详细记录了扣代码、补环境、调试报错的完整流程,包括多次函数补全和环境修复,最终通过控制台测试确认btoa为原生函数。整个过程展示了JS逆向的典型思路和调试技巧,为类似加密参数分析提供了参考案例。

PXXPY的博客 1783

【网络爬虫 | Python】数字货币ok链上bitcoin大额交易实时爬取,存入 mysql 数据库

python 爬虫实时获取 oklink 上 bitcoin 大额交易,并存入 mysql 数据库

qq_49150070的博客 4133

JS-RPC实战区块链交易信息获取

本文介绍了使用JS-RPC工具简化区块链网站x-apikey加密参数获取的过程。通过将加密函数提升为全局函数并注册到JS-RPC服务端,实现了远程调用网页中的加密函数。这种方法避免了传统JS逆向中扣代码、补函数的繁琐步骤,只需通过WebSocket连接即可获取加密参数,大大提高了开发效率。文章详细说明了从函数定位、全局化到JS-RPC注册的完整操作流程,并提供了相关代码示例,为开发者提供了一种更便捷的加密参数获取方案。

PXXPY的博客 1088

逆向案例二十三——请求头参数加密,某区块链交易逆向

回归这里,t是获得时间戳再运用encryptTime()函数得到,e是encryptApikey()函数得到。直接搜索关键字,X-Apikey,找到疑似加密位置,注意这里断点是断不住的,但看上去也是这里进行了加密。抓包分析,发现请求头有X-Apikey参数加密,其他表单和返回内容没有加密。翻页后,进一步确认加密位置,貌似是comb这个函数进行了加密,进入这个函数。因此搜索关键字getApiKey,找疑似加密位置,打上断点。先搞定获得t和e的函数,最后在解决最终加密comb。直接复制并改写代码即可。

m0_57265868的博客 1406

python爬虫简单js逆向(数据获取)

注:本文为转载,转载自link. python爬虫简单js逆向案例 内容简介一、找到包含所需数据的ajax数据包二、通过浏览器工具进行关键字定位三、分析相关js文件,找出具体实现方式1、getApiKey()函数2、encryptApiKey()函数3、encryptTime

Robbery07的博客 1473

Python项目实战-网络机器人(爬虫)

《网络爬虫入门指南》摘要(149字) 本文系统介绍网络爬虫技术,涵盖核心概念与应用场景。爬虫通过HTTP请求获取网页数据,经解析、清洗后存储,广泛应用于搜索引擎、舆情监控等领域。重点解析HTML结构和XPath定位技术,演示使用Python的requests+lxml库抓取TIOBE排行榜案例。涉及robot协议规范、数据清洗(正则表达式匹配)及CSV存储格式,强调遵守robots.txt的爬取规则。通过电影榜单爬取实例,展示分页处理、详情提取等实战技巧,为AI训练数据采集提供基础方法。

m0_46907779的博客 470

亚马逊爬虫代理IP:IP类型选择与配置指南

亚马逊数据抓取常因高频访问触发验证码或限制,合理使用代理IP是关键。建议选择动态住宅或移动代理,优先匹配目标市场的IP定位和ISP,并通过工具检测IP信誉。配置时需根据任务类型调整轮换策略:独立请求适用短周期轮换,连续抓取建议粘性会话。以IPFoxy为例,获取代理信息后需先进行小规模测试,验证响应状态和反爬情况,再逐步优化请求频率与并发参数。核心在于平衡IP质量与访问策略,而非单纯增加代理数量。

2603_96479538的博客 787

2026动态代理IP技术选型指南:爬虫/数据采集场景三类IP对比+主流服务商量化测评

爬虫开发、全行业数据采集、平台常态化数据监控的工程落地场景中,代理IP的选型直接决定项目核心运行指标,包括数据采集成功率、接口请求稳定性、风控拦截概率、并发吞吐上限以及长期运维成本。多数数据项目出现采集中断、批量封禁、数据残缺等问题,大多并非代码逻辑存在漏洞,而是代理IP类型与业务风控强度不匹配、服务商技术特性与实际场景需求错位导致。目前工业级动态代理IP可标准化划分为三类:动态住宅代理、运营商ISP代理、数据中心代理。

tang77789的博客 244

用 Java 编写一个轻量级搜索引擎爬虫后端服务

本文介绍了一个使用Java原生API构建的轻量级搜索引擎爬虫后端服务。该服务采用JDK内置HttpServer和HttpClient,结合Jsoup和Gson等轻量级库,实现了搜索结果的获取、缓存和代理功能。 本文作者: 张赐荣,视障者,资深软件开发工程师,信息无障碍解决方案研发专家,长期致力于数字化产品的可及性研究与用户体验优化工作。 曾参与国内外多个互联网大型产品的无障碍改造项目及发布大量原创技术指南,系统性地推动了无障碍技术的标准化进程与落地部署工作。

张赐荣的技术博客 252

Web动态风险画像机制下,跨境爬虫全链路降噪优化方案

反观自动化爬虫,大多遵循固定请求时序、匀速高频访问、无交互行为、路径单一固化,行为规律特征显著,熵值极低,极易被风控算法聚类识别,这也是单纯调整请求频率无法彻底防拦截的关键原因。本文基于现代Web风控的动态画像核心原理,系统剖析跨境自动化采集的高频风控诱因,总结传统爬虫架构的技术短板,提出一套终端降噪、行为增熵、链路归一化的全链路优化方案,可有效解决高防护海外站点的采集拦截问题,显著提升爬虫长效运行稳定性。通过增加访问行为的随机性,大幅提升行为熵值,打破自动化流量的规律聚类特征,适配自然人浏览行为模型。

XUEYUAN5212的博客 244

历史数据断层与REST请求慢到崩溃?QuantDash高性能量化数据API终极解决方案

针对【历史数据有断层,REST请求拉几年tick数据慢到崩溃】这一量化开发中的核心痛点,本文给出直接结论:问题根源在于传统数据源(Yahoo Finance、AkShare、Tushare等)的API设计缺陷与服务器端数据处理能力不足。QuantDash通过服务器端原生前复权(adjust='forward')、批量并发请求(klines.batch) 以及列式数据传输,将数年日K线数据的获取从“分钟级等待”优化至“毫秒级返回”,代码从几十行缩减至3行。本文提供可直接运行的Python代码,涵盖单只标的

quantdash_cc的博客 359
下一篇: 某宝sign、_m_h5_tk、_m_h5_tk_enc参数逆向
hu_ji
博客等级 码龄6年 15粉丝 2原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值