别人介绍给我的,我花了几分钟看了一下,已经爆破…… 这个不算难,就是有点麻烦。
软件样品为当前最新版9.0.5.1,这个教程出来以后我估计很快就会和谐了。
准备工具:
1、DDMS
2、IDA
3、MT管理器、NP管理器等
我本来想手改的,但是dex和so获取签名的地方实在太多了,apk体积又大,处理很耗时间,遂偷懒不想弄了,所以只好借助mt管理器一键破解签名校验了。
首先用mt管理器进行爆破,一键hook。结果打开软件的时候就弹出“非法请求”的提示,无法加载首页和消息,不出意外肯定是被检测到了。
1.png (98.33 KB, 下载次数: 0)
下载附件
2020-11-17 22:06 上传
1.png (61.19 KB, 下载次数: 0)
下载附件
2020-11-17 22:03 上传
根据ddms的运行记录,我发现一个关键的log,就是上图的【
siglib: pms is hooked
】,表示签名已被拦截。所以可以认定是so搞的鬼。直接搜索
siglib: pms is hooked
,目标锁定
librelease_sig
,直接把这个丢进ida看看怎么回事。
1.png (19.44 KB, 下载次数: 0)
下载附件
2020-11-17 22:14 上传
加载完毕后搜索字符串,只有1个结果,双击进入。
1.png (63.03 KB, 下载次数: 0)
下载附件
2020-11-17 22:17 上传
通过汇编代码可以发现这里进行了一个判断,所以根源不出意外应该在ValidateKey::isHookPMS,现在双击进入这个函数。它的代码如下:
{
ValidateKey *v2; // r4
int v3; // r9
const char *v4; // r2
int v5; // r8
int v7; // r7
int v8; // r6
v2 = this;
v3 = ValidateKey::getCurrentPMSObject(this, a2);
if ( !v3 )
{
v4 = "siglib: getCurrentPMSObject return null";
LABEL_5:
_android_log_print(4, "JNI", v4);
return 1;
}
v5 = (*(*v2 + 124))(v2, v3);
if ( !v5 )
{
v4 = "siglib: GetObjectClass return null";
goto LABEL_5;
}
v7 = (*(*v2 + 40))(v2, v5);
if ( !v7 )
{
v4 = "siglib: GetSuperclass return null";
goto LABEL_5;
}
v8 = (*(*v2 + 24))(v2, "java/lang/reflect/Proxy");
if ( !v8 )
{
v4 = "siglib: FindClass java/lang/reflect/Proxy return null";
goto LABEL_5;
}
if ( (*(*v2 + 44))(v2, v7, v8) )
{
_JNIEnv::DeleteLocalRef(v2, v3);
_JNIEnv::DeleteLocalRef(v2, v5);
_JNIEnv::DeleteLocalRef(v2, v7);
_JNIEnv::DeleteLocalRef(v2, v8);
return 1;
}
_JNIEnv::DeleteLocalRef(v2, v3);
_JNIEnv::DeleteLocalRef(v2, v5);
_JNIEnv::DeleteLocalRef(v2, v7);
_JNIEnv::DeleteLocalRef(v2, v8);
return 0;
}
1.png (76.81 KB, 下载次数: 0)
下载附件
2020-11-17 22:21 上传
很明显这里进行了一系列的检测,如果没有检测到hook,就会返回0,如果有则是1。所以只要把所有的结果修改成0就可以绕过pm检测了。回到IDA视图,text:0000663E的R0值改0即可(0020)。
1.png (101.72 KB, 下载次数: 0)
下载附件
2020-11-17 22:25 上传
1.png (325.96 KB, 下载次数: 0)
下载附件
2020-11-17 22:34 上传
已成功加载首页。
我大概看了一下这个so,这个so主要是进行签名检测,好在没有进行超复杂的混淆,要不然得吃瘪
个人安全建议,这个app不知道为什么有那么多的log输出,一些异常就算了,连检测结果都告诉人家……没必要打印那么多日志,而且也占用资源。程序运行也有些卡,测试手机8895cpu,应该不算太差吧。
附上一个修改好的so
librelease_sig.zip
(20.48 KB, 下载次数: 322)
2020-11-17 22:42 上传
点击文件名下载附件
下载积分: 吾爱币 -1 CB