某台球app sign逆向分析
北海 移动安全 222浏览 · 2025-03-20 01:56

app:a2/lj7DnkIMzLjEuMQ==



image.png
图片加载失败


小黄鸟抓包发现了sign值

image.png
图片加载失败


jadx直接反编译apk,发现有壳

image.png
图片加载失败




使用frida-dump脱壳

image.png
图片加载失败


image.png
图片加载失败


将结果拖到jadx中反编译

到入口页面发现了FlutterActivity,这是个利用flutter框架开发的app界面

image.png
图片加载失败




回到apk的资源文件夹lib里看看,发现了libapp.sp,libflutter.so,确认是flutter混合开发的app

image.png
图片加载失败




接着祭出一手blutter,它能将libapp.so中的快照数据按照既定格式进行解析,获取业务代码的类和各种信息,包括类的名称和其中方法的偏移等各种数据

https://github.com/worawit/blutter



image.png
图片加载失败


将生成的ida_script/addNames.py导入

image.png
图片加载失败


image.png
图片加载失败






搜索关键字sign,发现了一堆函数,emmm............

image.png
图片加载失败


瞅着这个sign值是32位的,盲猜一手md5,搜一手MD5,搜出四个还好

image.png
图片加载失败






一个一个hook来看,hook代码就修改一下blutter生成的blutter_frida.js就好了

增加一个dump函数,再修改一下onLibappLoaded函数,多打印几个参数,最后通过逐一hook查看结果发现Allocate_MD5SinkStub_b953c0是相关点



hook对比抓包结果如下

image.png
图片加载失败




可以看到String@7d01397219 = "android_api_get{\"mobile\":\"13245621451\"}NKzK8hNnxNrWooj3",将String@7d01397219的值MD5加密一下,跟sign对比发现是一样的

image.png
图片加载失败




这个sign就是将"android_api_get"拼接参数字典和固定字符串"NKzK8hNnxNrWooj3"得到的结果取MD5值

于是分析到此完成了

0 条评论
某人
表情
可输入 255

没有评论

目录