开始

熟悉我文章的童靴应该都知道调试套路了。

打开斗鱼登录界面,传送门:

每日JS逆向练习之斗鱼登录密码加密,今天你练了吗?-LMLPHP

F12输入错误账号密码,查看提交的请求是哪个:

每日JS逆向练习之斗鱼登录密码加密,今天你练了吗?-LMLPHP

查看FormData:

每日JS逆向练习之斗鱼登录密码加密,今天你练了吗?-LMLPHP

可以看到password变成了一串啥,应该是加密了,现在从调用栈进去,最好点击文件名里包含login的进去:

每日JS逆向练习之斗鱼登录密码加密,今天你练了吗?-LMLPHP

进去之后搜索password:

每日JS逆向练习之斗鱼登录密码加密,今天你练了吗?-LMLPHP

在上面这里打上断点。

调试

激活断点,F11一步一步运行,跳转到这里:

每日JS逆向练习之斗鱼登录密码加密,今天你练了吗?-LMLPHP

只要你调试的网站够多,CryptoJS应该再熟悉不过了,那就找找看它的结尾在哪里喽:

每日JS逆向练习之斗鱼登录密码加密,今天你练了吗?-LMLPHP

幸运的是,这就300多行,直接抠出来运行了。

python运行

import execjs
with open('..//js//douyu.js', encoding='utf-8') as f:
douyu = f.read()
js = execjs.compile(douyu)
logid = js.call('get_pwd', "122222222222222222222")
print(logid)

运行结果:

每日JS逆向练习之斗鱼登录密码加密,今天你练了吗?-LMLPHP

结束

代码虽然简单,但是建议各位看官还是去试试,完整代码放在了这里从今天开始种树,更多内容关注下面的公众号,当然不关注也无所谓。

每日JS逆向练习之斗鱼登录密码加密,今天你练了吗?-LMLPHP

05-06 23:32