声明
本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!
本文章未经许可禁止转载,禁止任何修改后二次传播,擅自使用本文技术而导致的任何意外,作者均不负责,若有侵权,请联系作者立即删除!!!
继续分析词霸翻译接口 sign ,响应密文
进入翻译页面,输入单词进行抓包
q 是要翻译的文本,sign是加密的,响应文本就是翻译结果了,只不过被加密了
开始分析
sign 参数
还是从栈堆进去,可以观察到,此时 sign 参数已经生成了
那就向上跟栈分析,跟到 takeRusult 中,看到一个拼接 sign 参数的地方,应该是这里了,打上断点重新输入单词,果然断在了这里
然后就可以看到值已经生成了,就是 encodeURIComponent(r),而 encodeURIComponent 这个则是将特殊字符(例如冒号、斜杠、问号、等号、以及非 ASCII 字符)转换成十六进制表示,那么 r 就是加密得来的,看一下 r 值的生成吧,就在这个的上方,打上断点分析
字符串拼接,然后传入 y, 在 toString, 在截取长度 substring
w.LI 固定值,t.q 要翻译的文本replace替换一下
拼接结果传入 y 调用,结果为
可以猜了吧,MD5,直接验证不多说无用的
一模一样,那就是 MD5 了,y 也不用进去了,加下来就是
把生成的 MD5 值截取 16 位传给了 j.$Q,
调用一下,就是在这个地方生成的,进去看一下做了什么操作
结果一看是又经过了 AES 加密得到的密文,可以直接将代码扣下来引库实现,关于 AES 的算法后续发文章具体说明一下,也可以找一下相关文章查看一下用法,这里就不做过多介绍了
到此 sign 分析完毕
响应文本分析
其实有细心的伙伴可以发现,这段下面就有一个 content, 他们两个里的很近啊,那是不是就在这块解密出明文呢,这都不确定,打个断点试试
很幸运就是在这里,当然了,可以看一下整体的函数操作,就是一个异步链,发送请求,获得响应,也是有依据的,当然这个也是他们两个参数在一起了,不然也需要重新找位置o.o,好了,看一下是怎么解密的吧
密文传入到 j.B6
结果一看也是 AES, 但他是解密,直接拿下来引库实现吧
结果正确,那么分析就没毛病喽,至此全部分析完毕,python调用结果
某词霸翻译全部解析完毕。
如需源码请联系本人。创作不易,帮忙点个赞再走吧。你的点赞就是我的动力o.o希望在这里能带给大家更多优质的文章。