声明
本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!由于本人水平有限,如有理解或者描述不准确的地方,还望各位大佬指教!!
51job的加密参数有两个,一个是sign。翻页接口的请求头里。

另一个是timestamp__1258。访问职位详情html页面时需要用到。

sign参数
直接全局搜索sign,挺多的一个个看吧,在app。。。的js文件里。

在这里可以看到请求头里的其他参数,我们打上断点进行调试。

很明显可以看到是HmacSHA256加密。输出一下它的入参和key。

t是url的path和query拼接而成的。sign参数就分析完了。
timestamp__1258参数
emm有时候不用加这个参数也能请求成功。估计有点大病。
如果不携带timestamp__1258参数会返回ob混淆的代码,这写混淆的代码就是生成timestamp__1258的。第二次携带timestamp__1258参数发起请求,就能返回正确的html源码。有点类似jsl吧。
把混淆的代码复制下来进行调试。在最后打个断点,从后往前分析。

接下来就是扣算法了,扣算法没啥好说的,缺啥补啥。这个算法也不难扣。

详情页除了有html还有一个接口也能获取职位信息。

这里的sign和usertoken是html源码里返回的。

到此,全程无忧的逆向分析就完成了。
算法复现
需要算法复现的大佬们可以前往https://www.ckcookies.cn/index.php/archives/26/获取
各位大佬觉得本文写的不错的话,可以一键四连哦。