百度翻译逆向之Acs-Token
2025-07-20 16:02:19
1
本文章中所有内容仅供学习交流,严禁用于商业用途和非法用途,否则由此产生的一切后果均与文章作者无关,若有侵权,请联系我立即删除!
概要
- 该篇文章是基于translate接口的分析
- 用到的工具 googlechrome浏览器
参数定位及逆向
找到translate接口的Request call stack调用栈,随便找一个点进去(调用栈从下到上,选最上面的),向上一个执行栈进行调试,查看是否有加密值。
经历漫长的调试后,定位到了大概的执行栈位置,webpack的项目大量异步和循环,断点打到wrap函数那里。
发现有个getSign的函数,还是异步的,在promise的resolve函数那里打一个断点,继续向上调试。
发现加密的参数,且很有规律,搜索kind,下断点,插桩动态调试,条件写加密参数的长度,拆开加密参数前面的时间戳,继续向上调试,不断重复这些步骤操作。
成功找到加密地方,根据多个参数和特征判断是AES加密,分析拿到key和iv去在线加密网站测试,发现就是最常见的标准AES加密。
博主想去研究一下他的代码,就去魔改他的代码,实现AES加密。大家为了省事可以安装cryptoJS直接使用进行加密。
还有一个d0参数,我这里实现了一下,是个组合随机数,大家也可以写死或者随便随即一下,长度是20个字符即可。
在python脚本里编写代码,成功生成acsToken,接口也能正常调通,收工撒花。