iOS 微信小程序逆向

iOS 微信小程序逆向,第1张

起因:盯上隐腊睁了一个小程序,想要使用接口直接访问小程序内容,但是小程序需要登录!用charles抓包后发现其中登录接口的密码被加密了,密文: "encryptPasswd": [89, 84, ...., 106, 77, 61], ,第一反应是字符串转ascil值,但是将我的密码转换后与其对不上,所以里面应该用了其他什么方法。为了获取其密码的加密规则,开搞!

万能的百度先搜一波发现已经有很多人做了解密了小程序的教程,但是全是基于安卓手机或者安卓模拟器的。哦!没安卓机!装个模拟器?算了吧!这部有台已经越狱的iphone7麻,既然安卓能获取到微信小程序包,那IOS应该也是可以的。试试吧!打开unc0ver 先越狱。然后i4助手找到应用越狱文件系统,那么怎么找到微信存放的小程序包呢?猜想应该存放在沙盒里。 思路一,直接hook 微信,找到沙盒地址导出后再查找。感灶岁觉应该是可行的。 *** 作起来也不难,由于DKWeChatHelper微信已经被搞了很多次了。 frida-ios-dump 导出安装包,monkeydev hook安装包,重新打开小程局困序,导出沙盒内容查找。

感觉不是很方便啊,偷个懒呗。方案二: SSH ,ssh登录到手机后,直接进入沙盒地址

cd var/mobile/Containers/Data/Application

查看一下内容

这也不知道哪一个啊,那就直接开搜吧

easy! .这不比模拟器快多了,再按修改日期排个序,很容易就找到了小程序包。

接下来就是 解包小程序了。其他博客这部分内容很多,就不介绍了,获取源码后使用微信开发者工具打开。全文搜索一下 login 吧,结果太多了。这时候结合抓包,根据接口地址搜索,最终确定了登录的函数。

有三种:

(1)继承Thread类,重写run函数

创建:

class xx extends Thread{

public void run(){

Thread.sleep(1000) //线程休眠1000毫秒,sleep使线程进入Block状态,并释放资源

}}

开启线程:

对象.start() //启动线程,run函数运行

(2)实现Runnable接口,重写run函数

开启线程:

Thread t = new Thread(对象) //创建线桥毁和程对象

t.start()

(3)实现Callable接口,重写call函数

Callable是类似于Runnable的接口,实现Callable接口的类和实现Runnable的类都是可被其它线程执行的任务

Callable和Runnable有几点不同敏盯:

①Callable规定的方法是call(),而Runnable规定的方法是run().

②Callable的任余纯务执行后可返回值,而Runnable的任务是不能返回值的

③call()方法可抛出异常,而run()方法是不能抛出异常的。

④运行Callable任务可拿到一个Future对象,Future表示异步计算的结果。它提供了检查计算是否完成的方法,以等

待计算的完成,并检索计算的结果.通过Future对象可了解任务执行情况,可取消任务的执行,还可获取任务执行的结果


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12509734.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存