一、目标
App安全的主战场在Native层,分析Native层的so,最趁手的兵器就是Frida和Unidbg了。
今天我们的目标是 某汽车社区App v8.0.1 so 的分析。
二、步骤
特征字符串定位
我们在上一篇教程 某汽车社区App 签名和加解密分析 已经定位了,数据加密和解密函数再java层的位置。

按照常理来说,这个java类文件中,应该有个 System.loadLibrary(“libxxx”) 来方便我们定位对应的so。
可惜的是,这个样本里找不到。原因大概率是脱壳不完整。
既然没这么简单,我们再回忆一下加密串的特征:
1、sd= 开头
2、数据都是大写的M开头
3、== 结尾,那大概率是Base64
有共性就好办了,我们在Native层匹配下 M 开头的字符串,匹配到了就打印Native层的堆栈。
if(string.toString().length > 50 && string.toString().indexOf("M") == 0){
var threadef = Java.use('java.lang.Thread');
var threadinstance = threadef.$new();
console.log("[NewStringUTF] bytes:" + string);
console.log(Th

本文讲述了使用Frida和Unidbg工具分析汽车社区App v8.0.1的Native层SO文件,通过特征字符串定位、内存中so文件操作和Linux命令搜索,揭示加密策略并提取so文件进行进一步分析。

1万+

被折叠的 条评论
为什么被折叠?



