• Python爬虫之Js逆向案例(6)-有道翻译


    Python爬虫之Js逆向案例(6)-有道翻译

    声明:有道翻译加密逆向分析仅用于研究和学习,如有侵权,可联系删除

    大家好,距离上次分享js逆向案例已经有一个月了,在这期间每次在快要揭秘出来时、整理文章的时发现某乎的加密又又又更新了、、、,导致近期长时间没有更新文章了。同时也收到了很多童鞋的催更,这里说一下哈,并不是我忘记了,或者懈怠了,只是一直在从头逆向某乎而已、、、为了继续更新逆向100例,我决定先暂停某乎的文章输出,等稳定了在案例一下,不然今天扣的代码明天又不能用了、、、,还是先分享其他平台的案例吧,这里就不多说了哈!!!

    今天的案例对象是有道在线翻译,如果有同学想做一个类似划词翻译的浏览器插件的,或者开发一个vscode插件练手,可以通过本次分享get到一些经验。

    为了照顾刚入门童鞋,文章每一步的分析过程尽可能的详细(有经验的同学可以选择感兴趣的地方快速预览)

    下面会进行以下几步进行分析(下方演示过程全部使用chrome浏览器);

    1. 锁定关键接口;
    2. 锁定关键字段;
    3. 破解关键字段;
    4. python爬虫结果演示;

    一.锁定关键接口

    浏览器f12,打开调试面板,翻译窗口里输入内容后触发接口如下图:

    在这里插入图片描述

    高能总结:
    1.勾选上图1.处的Preserve log,原因方便我们比对两次请求都有哪些字段是变化的,通常变化的字段就特别需要留意的,很有里面很有可能是加密字段。有的接口每次输入完之后页面的url内容也跟着变导致页面刷新,如果不勾选的话,会很难比对每次请求变化的内容。(有道的这个貌似并不会导致页面刷新,所以本次勾不勾看不出效果,可以去知乎的搜索试试这个方法就很明显了);
    2.通常比对变化字段的地方有上图中的3.处的PayloadHeaders两个地方;

    有经验的童鞋可能一眼就能猜出来大概那些是加密字段。

    二.锁定关键字段

    通过上面的比对,发现每次变化的字段有4个,分别是:salt|sign|lts|bv, headers中本次没有发现可疑字段。其中加密字段感觉有两个sign&bv,如下图:
    在这里插入图片描述
    大概的字段已经锁定,接下来就分析这俩字段;

    三.破解关键字段

    老规矩,先查询一下sign字段出现的位置,流程如下图:
    在这里插入图片描述
    把所有对sign字段赋值的地方都打上断点,如上图:

    输入内容,断点捕获,如下图,很容易发现salt|sign|lts|bv值是怎么来的,
    在这里插入图片描述
    因此,
    ts: 13位的时间戳
    saltts+1位随机数
    bv: md5(navigator.appVersion)
    sign: md5("fanyideskweb" + 要翻译的内容 + salt + "Ygy_4c=r#e#4EX^NUGUc5")

    其它字段都是除了要翻译的内容字段i都是定值;

    高能总结:
    1.md5加密算法可能会被重写,我们需要先确保md5有没有被改写,可以先去网上在线加密一下,看看和调试的时候是否相同,如果不同还需要我们把对应md5加密代码扣出来,这里巧了,验证后没有被改写,所以我就不单独演示扣md5了;

    到这里关键字段基本算是理论破解完成了,是不是很简单!!!

    四.python爬虫结果演示

    如何快速的写python代码呢?这里推荐一个工具网站: 爬虫工具库,演示一下如何使用这个库,

    1. 在接口上右键,拷贝cURL,如下图:
      在这里插入图片描述

    2. 打开这个链接 爬虫工具库,粘贴到这个curl转requests这里,如下图:

    在这里插入图片描述

    右侧会立即呈现对应python代码,复制出来,可直接运行,是不是很快就有了对应的python文件!

    拿到转化后的python代码之后,我们还需要进行改造,把对应加密的东西给补上,就成了哦!

    下面看结果演示:
    在这里插入图片描述
    有道逆向到此完!

    下一节预计分享webpack逆向的案例!!!

    后期会持续分享爬虫案例-100例,不想自己造轮子的同学可加入我的知识星球,有更多惊喜、技巧、高能总结等你哦!!!;

    欢迎加入「python、爬虫、逆向Club」知识星球

  • 相关阅读:
    十五章:Java反射机制
    【Linux基础】工作中常用的linux命令,经常会被面试官问到
    ISO7421D代替品 π122M31 双通道数字隔离器 更快更稳更安全
    c++踩坑点,类型转换
    青少年科创知识整理(一)
    【拥有新时代的通信协议,引领云原生迈向更高的舞台】解密Dubbo3是如何从微服务升华到云原生领域
    玩链子游戏
    JUC——CyclicBarrier
    目标检测论文解读复现之八:基于YOLOv5s的滑雪人员检测研究
    java23种设计模式与追MM
  • 原文地址:https://blog.csdn.net/li11_/article/details/126256324