网站链接
aHR0cHM6Ly92aXAuYW5qdWtlLmNvbS9wb3J0YWwvbG9naW4=
登录抓包分析
首先输入账号密码抓包,密码输入的123456,发现有两处加密参数,如下图:
token参数:
经搜索,发现是一个接口返回的,直接请求,就能拿到想要的返回值了。
那么只剩下这个password参数了。
欢迎关注我的个人微信公众号:
加密位置定位
通过搜索关键词password和password:,发现并不好定位,如图:
也不是xhr,打不了xhr断点。我这里用了大佬的内存漫游来hook定位加密位置。
链接地址:https://github.com/CC11001100/ast-hook-for-js-RE
当然其他方法也行。
hook到的定位位置如下:
然后我们点进去,到了这里
再进,最终定位到了关键文件和关键词"encrypt"
最后关掉hook,重新搜索关键词,定位到位置,打上断点,整体的加密逻辑应该就是这里了。
抠代码
首先复制js代码到本地,删除无用的sdk登录函数
运行,然后发现环境缺失报错
那就补环境,不难,补上window和document就OK了
接下来,因为代码是用webpack打包的,格式比较难受,可以先用window.变量,把函数导出来,这样就可以在外部直接使用了。
这里要注意这个this,本地调用指向的是window,并没有i.rsaExponent和i.rsaModulus,好在这两个值是固定的,直接在网站上拿下来写死就好了。
最后调用加密函数,就能得到想要的值了。
如有不足之处,欢迎大佬们指出,多谢观看