栗子是:微信公众平台的登录。
由图可以看到pwd这段数据是被加密成一段由32个字符组成的字符串,应该是一个MD5的加密。
我们用搜索工具搜索一下pwd,查看它所在的js文件。
在js文件里找到了一行可疑是进行加密的代码,因为我们看到它有个substr(0, 16)是用来截取16个字符的函数,我们在这里设置断点。
这时我们再次点一下登录,发送请求。
OK!我们应该没有猜错,执行函数前我们的pwd还没有被加密。
我们在这个函数u里设置一个断点,然后点击“进入下一个函数调用”。
我们进入了这个函数的代码,然后我们复制加密代码到发条js调试工具(加密代码在哪个大括号里我就不细说了)。
复制到发条js调试工具后,点一下格式化,然后加载代码。
报错了,它说'n' 未定义,那我们就在代码前头定义这个变量n, var n = {}。再次点击加载代码。