友情提示:优先在公众号更新,在博客园更新较慢,有兴趣的关注一下知识图谱与大数据公众号,本次目标是抠出爱奇艺passwd加密JS代码,若是你看到了这一篇,说明你对JS逆向感兴趣,若是是初学者,那不妨再看看我以前的一些文章,可能对你的学习路有些帮助,跟着一块儿调试,对JS加密方法理解会更深点。若是调试不出来,能够参考个人代码,本期JS代码放在从今天开始种树html
文章首先在公众号更新,CSDN更新较慢,有兴趣的关注一下知识图谱与大数据公众号吧。python
本期抠爱奇艺passwd
加密JS
代码,传送门,登陆界面以下(我已经尝试了一次):
算法
老老方法(输入错误帐号密码
)找到提交url
和提交的参数(即FormData
里的值):
FormData
提交的参数:
能够看到passwd
已经被某种加密算法加密了,那咱们接下来的任务就是找到这个加密JS
代码,而后使用python
代码调用运行出来。app
选择刚才的url,查看调用栈:
仔细观察后能够看到有一个文件里包含doLogin
,那就点进去,进去后搜索passwd
关键字,若是你一直看我以前的文章,应该就对这些加密方法名字很是敏感了,能立刻找到:
找到一个rsaFun
,基本判定就是这里了,那就整上一个断点:
函数
输入错误的密码,点击登陆便可激活断点:
断点激活后那就点击下一步(F11)
按钮开始运行,进入加密函数:
仔细看上图,一个getKeyPair
函数,一个encryptedString
函数就是咱们寻找的目标,继续F11
疯狂调试:
学习
这就是getKeyPair
函数,只要把A
里的函数biFromHex、biHighIndex、BarrettMu
搜一下定义的地方抠出来算是把这个搞定了。
下一个encryptedString
:
依然只要找到这些方法,抠出来放一个文件里,等待python
调用。大数据
若是调用报错,记得根据报错信息缺啥补啥,好比window
能够定义为window={}
,若是提示某某函数未定义,多是你代码没有抠全,全原文件里继续查找,抠出来,下面是我调用的结果:
python
代码:加密
import execjs with open('..//js//aiqiyi.js', encoding='utf-8') as f: aiqiyi = f.read() js = execjs.compile(aiqiyi) #logid = js.call('hexEncode', "123456") logid = js.call('get_pwd', "12345") print(logid)
运行结果:
url
本期讲解了爱奇艺密码加密代码如何抠取,你们本身练上一练,若是查看完整JS代码请点击这里:从今天开始种树,以为有帮助的关注一下下面的公众号,获取更多内容,固然不关注也无所谓。
调试