该公众号对接了某验滑块验证,经过抓包发现对返回challenge参数进行了加密
后面发现接口参数,就是解密后的结果,废话少说,开搞。
由于是公众号网页,相对来说比较简单,不像小程序需要反编译源码,这里我们直接采用webview远程调试
1、在您的 Android 设备上,选择 Settings > Developer Options > Enable USB Debugging。 在运行 Android 4.2 及更新版本的设备上,Developer options 默认情况下处于隐藏状态。 请参阅启用设备上的开发者选项以了解如何启用它。
2、在您的开发计算机上打开 Chrome。 远程调试在隐身模式或访客模式下无法运行,每个品牌的手机有略微差异。
3、打开 DevTools ( 使用 快捷键 Ctrl+Shift+I / F12 (Windows) 或 Cmd+Opt+I (Mac) )。
4、在 DevTools 中,点击 Main Menu 主菜单,然后选择 More tools > Remote devices,快捷方式在地址栏中输入 chrome://inspect/#devices,或者去谷歌商店下载ADB插件也可以
点击 inspect进入调试页面
搜索接口的关键字order/geeRegisterV2,点进去,格式化下代码
发现这个j.decrpyt就是我们要逆向的加密逻辑,我们先验证下结果
发现结果和接口的一样,接下来我们顺着函数找过去,提示个小技巧(直接控制台执行函数会打印代码,点击会跳转到相应的代码逻辑),进入函数内部逻辑
可以看到有iv,加上全局的审查,肯定是AES加密了,对于AES加密,我们只需要找到对应的key,iv就可以了,在看代码,key=n=d, iv =i=u, 我们继续找到d,u定义的地方
继续查找加密模式,填充,如下
有了,key,iv,加密模式,填充,在线测试下,发现和接口参数结果一样
大功告成
网友评论