赞
踩
首先用到工具有 逍遥模拟器,微信开发者工具,wxappUnpacker(GitHub上可以寻找一下)Nodejs 自己配置一下即可 fiddler ,HttpCanary。
废话不多说,首先打开逍遥模拟器,下载好ES文件管理器,打开给予root权限
然后进入 根目录 打卡data->data->com.tencent.mm->MicroMsg.会看见两个有哈希值名称的文件夹。其中ee1da开头的是微信自带的,不用理他另一个就是我们之前打开过的小程序的资源文件(357da开头的)
现在我们给它删除了。防止不知道那个文件夹对应那个小程序。
然后登录微信,打开微信小程序,进入自己想要逆向的页面,切记要先走一遍自己逆向的过程!!!防止相关资源没有加载出来。此处只展示一下页面。
然后再打开刚刚的文件ES文件管理器,会发现多出一个哈希名称的文件夹,这个就是刚刚我们打开微信小程序的资源文件夹。打开appbrand->pkg。里面会有好几个wxap后缀的文件。把它放到电脑上。
接着用wxappUnpacker工具 反编译一下文件,指令如下,其中主包一般文件较大,其中有过大的文件可能为微信自带的资料包,可以省略不看。总之,在编译时候不是主包用了主包命令是会报错的,一个一个试就可以判断出。然后删掉没用的次包文件夹,主包里面已经包含了。
结果如下
用微信开发者工具打开主包文件夹,(图片中已将文件夹改名,移动。)
接着设置一下工具内容。点击详情,第一个勾去掉,第二个勾上。然后等着编译,点开左上角的模拟器看看里面的结果,再看看console中的编译输出结果。
这时候出现错误,提示调用错误。
我们打开network,查看封包,看见返回出现错误。此时不要慌张,我们打开我们的逍遥模拟器抓一下这个包,然后用fiddler自动响应功能给它返回了。其实这里应该是获取一下微信用户数据,而我们这里没有,所以出错了。问题不大。这里我用的是HttpCanary,反正用啥都一样,数据包抓下来就好了。
fiddler自动响应替换 还有一个数据包是逆向过程中另一个地方的,换汤不换药,一样给他搞定
此外 关掉开发者工具,再打开,设置一下代理,fiddler毕竟通过代理方式么,懂得自然懂
图片如上,点击确认。若是没有就在设置里面的代理设置切换为使用系统代理设置,然后再打开一下,就好了
然后,就很幸运进入小程序了,此处我们分析的是,查询电费信息内容。其中是有个封包,参数和返回都是加密的。如图
接着就是js了,直接搜参数也好,再initiator中回溯也好。都可以找到,这里简单一点,直接搜这个参数。
下好断点,断下来然后往上级找,看见data的组包形式,基本我们已经找到入口了,接着单步分析即可。最终发现,它有两次加密,一其中最后一次是aes加密,返回内容解密也是aes,第一次加密自寻查看一下即可,此处不过多分析。
在这里拿到AES密钥 IV 就好了,用crypto js 就好了。最后再分析一下整个流程,拿好cookie,再获取几个参数就完成了。
到此处分析都结束啦,该小程序还是很适合入门的,最终结果如下
注:本文章仅用于学习,第一次发帖如有不对,请海涵。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。