|
|
发表于
2025-10-30 05:50:16
来自手机
|
显示全部楼层
| 阅读模式
来自 广东
原帖地址https://bbs.binmt.cc/thread-158391-1-1.html
闲来无事分析了一下,如果有不对的地方请指正
习惯性看看签名数据
启动软件UI挺简洁的,就三个控件
看一下AndroidManifest.xml确认一些信息,如启动Activity等,通过AndroidManifest.xml发现软件存在混淆
查看启动类,发现字符串和类都被简单处理
使用MT的Dex解密即可
Dex的字符串解密完后可读性会高一些
字符串解密后转Java可以从明文可知存在签名MD5检验、时间戳、以及一些其他数据信息如main.png以及证书检验
assets目录下也确实存在main.png文件
从Java逻辑可知存在以小草字符定位分割的数据,在图片中隐藏数据已经见怪不怪了
查看文件头再次确认是PNG格式
通过查询ASCII码也确实查询到了小草等字符串数据,刚好两个用于定位,这样看数据不够直观,我们直接将图片以TXT格式查看
发现存在x.509数据,直观的清楚main.png作用,我们返回启动类继续分析其他数据,因为类很少,随便看看如 字符串 2000 的由来
跳转调用查看发现
这里也存在META-INF与MD5的比较,同时也知道了字符串2000的由来,也就是uid+gid=2000
此时我们已知到如下检验:
硬编码检验72d74a7a9595bf95247f16d8df094304
META-INF与72d74a7a9595bf95247f16d8df094304比较
文件时间戳比较
uid+gid=2000
main.png隐藏的x.509数据
我们开始分析验证码
我们定位到字符串 密码错误 发现密码就是123,都不用额外分析,此时我以为所有的检验都分析完成,也尝试了第一次修改,重新编译后运行,结果闪退,我重新检查,发现在AndroidManifest.xml中application存在活动
查看该类,发现application类实现了资源解密后动态劫持替换相关逻辑
所以之前的闪退应该与此有,通过该类我们知道了Perfume.a解密存在到应用私有目录,同时也知道解密逻辑,即算法为AES模式AES/ECB/PKCS5Padding密钥为AEmGjghmZIO7RTWyycQ9PQ==
我们自己实现文件解密
解密获取到Perfume_decrypted文件
查看Perfume_decrypted
文件头50 4B 03 04
发现这是一个标准的压缩包
发现这里存在则原始文件用于动态劫持后检验
至此所有检验分析完成,虽然说这是一个对抗样本,为了去除签名检验改那么多文件,还要加密回编译,因为工程很小,我觉得还有更简单粗暴的方法,那就是去除所有检验调用更快速,以下为具体修改
1.修改密码验证逻辑(onClick方法)
修改前
修改后
2.删除Activity的检验逻辑(j.ۖۖ方法)
修改前
修改后
3.删除application的解密以及加载逻辑(attachBaseContext方法)
修改后
不管输入与否都会成功跳转,休息一下,再去试试吧
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
-
查看全部评分
总评分:好评 +1
金币 +1
|