百度翻译逆向Acs-Token逆向百度翻译爬虫(调试篇)

文章声明

本文章中所有内容仅供学习交流,严禁用于商业用途和非法用途,否则由此产生的一切后果均与文章作者无关,若有侵权,请联系我立即删除!

概要

- 该篇文章是基于translate接口的分析
- 用到的工具 Edge浏览器

逆向目标

求参数 Acs-Token

上一篇百度翻译是技巧篇,这篇来带着一步步找加密点

参数定位及逆向

  • 搜索Acs-Token并定位
    在这里插入图片描述

  • 发现p是由e.sent赋值的,那么我们就需要向上找e,这个时候有两种情况,

    • e是在其他分支中被赋值的
    • e是被当成参数传递的
  • 大致看完代码之后发现是第二种情况,然后打断点

在这里插入图片描述

  • 注意断点不要打在函数内部,要打在return Dv()这个位置,因为js中使用了大量的异步操作,很多值你正常跟是跟不到的

  • 既然e是被当成参数传递的,我们就看看他对这个函数都进行了什么处理,断点打在wrap然后单步进入

  • 先不要关心值在哪里, 先看看他想要干什么,知道他的目的之后就能找到值的位置

  • 一直往下跟,这是一个枯燥的过程,然后走到这里就开始做事情了

在这里插入图片描述

  • 进入i.HB方法,发现只执行了d方法,而该方法内部中出现了关键字眼sign这个时候我们就需要额外关注了

    在这里插入图片描述

  • 看到new Promise之后,就找e方法,看看该方法传递了什么参数(为什么看e?, 了解Promise之后你就明白了)

  • 最终断点落在了e(r)处,且r就是我们要的加密值,并且又看到了我们熟悉的acs文件
    在这里插入图片描述

  • 根据堆栈找r看看哪里都用到了这个加密值, 最终定位到这里
    在这里插入图片描述

  • 可以看到f就是加密值,打个断点,重新触发请求,在这里直接打断点会断下很多次,使用条件断点(typeof f == 'string' && f.length == 540), 540是我这里加密结果的固定长度

  • 断到之后可以发现r[a].get()是一个取值操作,而值是早已经生成过了, 在控制台看看r
    在这里插入图片描述

  • 发现r是一个数组,并且数组内对象的结构都是固定的{kind:0, value:xxxx}

  • 去搜索kind,kind附近一定有value, 找到了这两处,保险起见都打上条件断点,否则断点会很多

  • typeof e == 'string' && e.length == 540

  • 放开断点,重新触发请求
    在这里插入图片描述

  • 断到了第一个value,去找上一个堆栈,找到了(new t(i + o);)就是组成的value
    在这里插入图片描述

  • 发现o的值也是通过value的方式获取的,这个时候就要去修改前面的条件断点了

  • typeof e == 'string' && e.length == 512

  • 放开断点,重新触发请求
    在这里插入图片描述

  • 继续找上一个堆栈,看到这里应该很熟悉了把n.V = new t(o.apply(i, a));
    在这里插入图片描述

  • 进入到o函数,看见了很多老朋友
    在这里插入图片描述

  • 然后再往上看看代码,你会发现encrypt关键词, 这就和上一篇相呼应上了吧

  • 剩下就没啥东西了,到这里基本上就结束了

加密测试

- 测试的网站: https://tool.lmeee.com/jiami/aes

在这里插入图片描述

  • 解密时把前面的两个时间戳给去掉,_也别忘记了

JS实现

// 声明.我没有测试,大致模板就是这样,如果网站的加密结果和这个结果不一样,就在下面代码的基础上修改一下即可
// 安装插件
npm install crypto-js
const CryptoJS = require("crypto-js");

let key = CryptoJS.enc.Utf8.parse(key); 
let iv = CryptoJS.enc.Utf8.parse(iv); 
let info = {
    mode: CryptoJS.mode.CBC,
    iv: iv,
    padding: CryptoJS.pad.Pkcs7
}
// 加密
let encrypt = CryptoJS.AES.encrypt('明文', key,info);
let Data = encrypt.toString(CryptoJS.enc.Utf8);
console.log(Data);

 
 
//解密
let decrypte  = CryptoJS.AES.decrypt('密文数据', key, info);
let text = decrypte.toString(CryptoJS.enc.Utf8);
console.log(text);

贴一下我的名片

在这里插入图片描述

  • 28
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: openacs-bin-0.5是一种开放源代码的轻量级应用程序,用于构建和管理网络应用程序的基础架构。它是一个基于Web的应用程序服务器,可以协调许多不同的组件和模块来实现一个完整的网站或在线应用程序。 openacs-bin-0.5提供了一套功能强大的工具和库,用于开发和部署具有动态内容的网站。它支持多种数据库和操作系统,并提供了一套完整的工作流程管理方法。它的设计目标是提供一个灵活且可扩展的平台,可以满足不同类型的应用程序需求。 与其他开源应用程序服务器相比,openacs-bin-0.5具有许多优势。首先,它具有强大的安全性功能,可以确保应用程序的数据和用户信息受到保护。其次,它提供了一套完整的开发工具,使开发人员能够轻松创建和维护复杂的应用程序。此外,它还有一个活跃的开发社区,可以提供技术支持和交流。 总之,openacs-bin-0.5是一个强大而灵活的应用程序服务器,可以帮助开发人员快速构建并管理各种类型的网络应用程序。它在安全性、功能性和可扩展性方面具有明显优势,是一个值得尝试的开源软件。 ### 回答2: openacs-bin-0.5是一个开源项目,它是基于OpenACS(Open Architecture Community System)平台的一个二进制软件包。OpenACS是一个用于构建基于Web的应用程序的框架和工具集。openacs-bin-0.5提供了一系列功能和模块,用于快速搭建和管理网站、社区和在线应用。 openacs-bin-0.5包含了许多常用的开发工具和模板,可以帮助开发人员快速开始项目,并提供了一些常用功能的实现,例如用户管理、权限控制、内容管理、论坛、电子商务等。开发人员可以使用openacs-bin-0.5来加速项目的开发和部署过程,同时还可以根据需要自定义和扩展。 openacs-bin-0.5还提供了一些简单易用的管理工具,用于配置和管理网站、用户和内容。管理员可以使用这些工具来管理用户权限、发布和管理内容、监控网站性能等。这些工具可以帮助管理员轻松地管理和维护网站,提高效率和用户体验。 openacs-bin-0.5还具有良好的可扩展性和可定制性。开发人员可以根据自己的需求进行二次开发和定制,添加新功能和模块,以满足特定的业务需求。同时,openacs-bin-0.5也拥有活跃的开发社区和用户群体,提供技术支持和共享资源。 总而言之,openacs-bin-0.5是一个基于OpenACS平台的二进制软件包,它提供了许多有用的开发工具和模块,用于快速构建和管理Web应用程序。它具有简单易用的管理工具和良好的可扩展性,可以帮助开发人员和管理员快速部署和维护网站和在线应用。 ### 回答3: openacs-bin-0.5是一个开源软件包,用于构建基于网络的应用程序和管理网站内容的工具集。 openacs-bin-0.5提供了一组功能强大的工具和API,使开发人员能够轻松地创建和管理复杂的Web应用程序。它采用了模块化的架构,可以根据需求自由选择和集成不同的模块,如论坛、用户管理、电子商务等,以构建定制化的网站。 该软件包还提供了丰富的管理工具,使网站管理员能够方便地管理网站内容和用户。管理员可以轻松创建、编辑和删除内容,管理用户权限和角色,并监控网站的性能和统计信息。 openacs-bin-0.5是使用Tcl编程语言开发的,它采用了面向对象的编程范式,使开发过程更加高效和灵活。它还支持SQL数据库,并提供了强大的数据库访问接口,以便于应用程序与数据库之间的数据交互。 该软件包还使用了一些安全机制来保护网站和用户的隐私。它支持用户身份验证和授权,以确保只有授权的用户才能访问敏感信息。此外,它还提供了强大的数据安全功能,包括数据加密和访问控制,以保护数据库中的数据。 总而言之,openacs-bin-0.5是一个强大的开源软件包,为开发人员和网站管理员提供了一套丰富的工具和功能,帮助他们构建、管理和保护复杂的Web应用程序和网站。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dh_浩开玩笑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值