微信公众号:在敲代码啦
闲谈
上周发懒,没有更贴。结果一个小伙伴居然私我希望我周更帖,这个消息对我来说是莫大的鼓励。总是胡说八道的我居然得到了小伙伴的认可,这足以让我嘚瑟一整子。这次决定给大家带来一些干货,分享一下我破解js加密反爬的经验,希望对大家能有所帮助。
正文
破解js加密反爬主要分三步:一、js代码调试;二、查询关键词的确认;三、js核心逻辑的实现。
一、js代码调试
调试js代码是破解需要的最基础技能,需要在F12状态下标注断点,调试断点。熟练掌握断点操作的快捷键(F8, F10, F11)。
二、查询关键字的确认
破解js加密需要找到js算法的位置,才能分析算法逻辑。于是确认查询关键字也是极其重要的。
关键词确认方式:
1. 加密参数的参数名, 如token,sign等;
2. 触发异步加载标签的class,id等关键词;
3. 加密算法的名称,如md5,aes,base64, encrypt等。
三、js核心逻辑的实现
js核心算法的实现有三种方案:
1. python代码仿写js逻辑
2. python调用js代码
3. 自动化控件调用js函数
经典案例
1、首都航空
加密方式:desc
查询关键词:murmurhash3
https://blog.csdn.net/qian123shuai/article/details/88406671
2、JC航空
加密方式:md5
查询关键词:hex_md5
https://blog.csdn.net/lsh19950928/article/details/81585881
3、美拍爬虫逆向
加密方式:base64
查询关键词:decodeMp4
https://blog.csdn.net/z434890/article/details/84995988
这三个案例中,desc算法和base64算法加密的字符是可逆的,md5加密的字符是不可逆的。可逆的算法会用来加密目标数据,不可逆的算法一般只会加密sign,token值。
常见的前端js加密有aes,des,md5,base64。加密算法都会隐藏在js代码深处,找准js逻辑既需要有耐心也需要一个准确的查找关键字。按照上述思路,能够准确高效的找出对应的算法。如果你还有什么好的想法啦。欢迎大家留言。
欢迎大家关注公众号(在敲代码啦),定期和大家分享一些爬虫知识。