zoukankan      html  css  js  c++  java
  • 爬虫必看,每日JS逆向之爱奇艺密码加密,今天你练了吗?

    友情提示:优先在公众号更新,在博客园更新较慢,有兴趣的关注一下知识图谱与大数据公众号,本次目标是抠出爱奇艺passwd加密JS代码,如果你看到了这一篇,说明你对JS逆向感兴趣,如果是初学者,那不妨再看看我之前的一些文章,可能对你的学习路有些帮助,跟着一起调试,对JS加密方法理解会更深点。如果调试不出来,可以参考我的代码,本期JS代码放在从今天开始种树

    提示

    文章首先在公众号更新,CSDN更新较慢,有兴趣的关注一下知识图谱与大数据公众号吧。

    准备

    本期抠爱奇艺passwd加密JS代码,传送门,登录界面如下(我已经尝试了一次):
    爱奇艺登录界面

    老老方法(输入错误账号密码)找到提交url和提交的参数(即FormData里的值):
    请求URL
    FormData提交的参数:
    FormData
    可以看到passwd已经被某种加密算法加密了,那我们接下来的任务就是找到这个加密JS代码,然后使用python代码调用运行出来。

    调试

    找到passwd

    选择刚才的url,查看调用栈:
    调用栈
    仔细观察后可以看到有一个文件里包含doLogin,那就点进去,进去后搜索passwd关键字,如果你一直看我之前的文章,应该就对这些加密方法名字非常敏感了,能马上找到:
    找到passwd
    找到一个rsaFun,基本断定就是这里了,那就整上一个断点:
    断点

    激活断点

    输入错误的密码,点击登录即可激活断点:
    激活断点
    断点激活后那就点击下一步(F11)按钮开始运行,进入加密函数:
    rsa函数
    仔细看上图,一个getKeyPair函数,一个encryptedString函数就是我们寻找的目标,继续F11疯狂调试:
    getkey

    这就是getKeyPair函数,只要把A里的函数biFromHex、biHighIndex、BarrettMu搜一下定义的地方抠出来算是把这个搞定了。
    下一个encryptedString
    encryptedString函数
    依然只要找到这些方法,抠出来放一个文件里,等待python调用。

    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)
    

    运行结果:
    运行结果

    结束

    本期讲解了爱奇艺密码加密代码如何抠取,大家自己练上一练,如果查看完整JS代码请点击这里:从今天开始种树,觉得有帮助的关注一下下面的公众号,获取更多内容,当然不关注也无所谓。
    公众号

  • 相关阅读:
    读取Config文件工具类 PropertiesConfig.java
    MD5编码工具类 MD5Code.java
    文件上传工具类 UploadUtil.java
    删除文件夹工具类 DeleteFolder.java
    目录处理工具类 DealWithDir.java
    文件/目录部分处理工具类 DealDir.java
    目录操作工具类 CopyDir.java
    功能更强大的格式化工具类 FormatUtils.java
    日期转换工具类 CommUtil.java
    MVC学习笔记1-MVC家族间的区别
  • 原文地址:https://www.cnblogs.com/luohua13950/p/13715086.html
Copyright © 2011-2022 走看看