让我们来看下某ins的登录协议的破解步骤
本文章中所有内容仅供学习交流使用,不用于其他任何目的
接口参数:enc_password
由于该加密参数的开头一段是不变的,这里我们直接全局搜索
这个位置打下断点,堆栈跟踪
这段函数带有"async", "yield"等字样,就是异步加载方法
继续打下断点
进去之后是apply方法,
进入a方法之后,可以发现有promise对象,追到这里就到此为此了,感兴趣的大家可以继续往下看,让我们回到刚刚的this
根据this,找到加密方法,可以发现这里是AES-GCM算法,准确的来说是AES-GCM-256。
这里是加密参数的主要逻辑,把这段相关的函数方法扣下来即可完工
难度不算高,比较友好
这里有几个坑,给大家补充一下
第一个坑:
在nodejs中,你以为crypto库就能导用AES-GCM么?并不能
但是放在浏览器上又能正常执行,可以得知window.crypto是API内置模块
写上以下代码即可
const crypto = require('crypto').webcrypto; window = global window.crypto = crypto
注意:必须是nodejs版本为15以上
第二个坑:
由于以上加密逻辑都是通过异步方法加载的,所以你的js代码也必须是异步才能出结果,不然你的结果只有:
#PWD_INSTAGRAM_BROWSER:10:1715935129:
关于使用异步方法的方式有以下俩种:
async await
.then()
至于使用哪种看个人爱好
第三个坑:
如果你只是逆向他的加密逻辑那就还好,如果你指望能登入协议成功,,,,有点不太实际,我也是在这里卡了好一段时间,一度怀疑是我哪里的步骤有问题,后面发现,这不是我的抠代码抠错了,也不是代码有bug
好了讲到这里,相信大家都会,结果图如下:
需要代码的可以联系我自取