网址:e10adc3949ba59abbe56e057f20f883e
注意:文章内容仅用于学习和技术交流,如有侵权请联系我删除。
学者应洁身自好,切勿做出违法的事情。
➣➣欢迎关注本人微信公众号:Anonymous NoteBook➣➣
分享好玩有趣的网络资源&软件工具~
分享各种技术性PDF资源/付费查询PDF资源~
分享各种编程语言、开发技术、分布式事务、大数据与云计算技术~
分享有关网络爬虫(Web爬虫逆向 | 安卓逆向)案例、数据挖掘、技术心得等~
目的数据:
搜索关键词,出现搜索结果

数据返回:
请求的Header头信息中,有个portal-sign参数,每次请求都不一样,返回的结果也是经过加密的:

粗略猜测,好像是MD5加密,稍后验证。

返回加密加过,粗略猜测为AES加密, 稍后验证。
开始分析:
全局搜索portal-sign参数,只得到 一条信息,那就是它了:

点进去可以发现,调用了getSign方法

经过调试发现,传入的参数 t 中含有时间戳,所以才每次请求都得到不一样的结果,我们看下 t 都包含哪些数据:

经过多次搜索调试,只有你传进去的keyword和ts时间戳是动态的,其他的都可以写死。
我们继续跟进getSign函数,返现调用的是f(e)函数:

跟进去.....

分析可得,u(n)就是我们要的结果,最后在转为小写就行了。

我们跟进去u(n)函数,发现是一个匿名函数,继续跟进去


多么熟悉的MD5加密啊,接下来就是一顿操作扣代码了,把需要的函数、变量都补上,就ok啦。。。
开始分析返回结果加密:
我们先取一个讨巧的做法,既然我们怀疑它是AES加密,那么我们就搜索AES,或者搜索初始向量iv、填充方式(pkcs7、pkcs5等)、加密方式(CBC、EBC等),这里我们先搜索AES关键词:

看到熟悉的代码了,点进去看下

果然AES的加密代码出来了,加密模式与填充方式一般目了然,我们调试验证下:

代码中用到了iv与密钥,我们打印看下 r 的值 :
![]()
果不其然,和我们猜想的一样,这里就是解密的地方
最后就是,整理js代码,补充函数与变量,就么么哒了~~~~~~
1791

被折叠的 条评论
为什么被折叠?



