吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 3030|回复: 94

[安卓逆向图文] 7.3.1签名校验及资源混淆保护 (上)(第四十三课)

  [复制链接]
playboy 发表于 2022-1-24 11:25 | 显示全部楼层 |阅读模式

以下为图文内容:7.3.1签名校验及资源混淆保护 (上)
0x01 签名校验的产生
Android application 在反编译中显得无力,但是在重打包后可以被轻松安装,然后
又可以成功运行,这就很容易把开发者写的逻辑给改变,因此,开发者往往需要做到签名
校验,这时候签名校验就可以在对抗反编译中起到重要作用,反编译后应用运行前或者在
运行中起到校验的作用,若签名校验失败,程序可以直接退出,这个效果旨在防止山寨应
用售卖,从而起到保护的效果。
0x02 签名校验的基本代码
签名校验需要使用到的底层java 函数有
getPackageManager、getPackageInfo、getPackageName等,但是,由于大多数
的校验是在启动安卓应用之前,因此大多数是在oncreate函数中,因此,大多签名校验
可以在oncreate中寻找
0x03 实操校验
首先获取签名途径

[C++] 纯文本查看 复制代码
PackageManager pm = context.getPackageManager(); //获取包管理器
String packageName = context.getPackageName(); //获取包名
int flags = PackageManager.GET_SIGNATURES; //获取相关签名
packageInfo = pm.getPackageInfo(packageName, flags) //获得包的所有内容
信息类
Signature[] signatures = packageInfo.signatures; //签名信息获取

然后处理签名
[C++] 纯文本查看 复制代码
byte[] cert = signatures[0].toByteArray();
InputStream input = new ByteArrayInputStream(cert);
CertificateFactory cf = null;
cf = CertificateFactory.getInstance("X509");

X509Certificate c = null;
c = (X509Certificate) cf.generateCertificate(input);
String hexString = null;
MessageDigest md = MessageDigest.getInstance("SHA1");
byte[] publicKey = md.digest(c.getEncoded());
hexString = byte2HexFormatted(publicKey);
private String byte2HexFormatted(byte[] arr) {
StringBuilder str = new StringBuilder(arr.length * 2);
for (int i = 0; i <arr.length; i++) {
String h = Integer.toHexString(arr[i]);
int l =h.length();
if (l == 1)
h = "0" + h;
if (l > 2)
h = h.substring(l - 2, l);
str.append(h.toUpperCase());
if (i < (arr.length - 1))
str.append(':');
}
return str.toString();
}

最后直接进行校验即可


1.jpg
2.jpg
0x04 总结
对应处理签名校验因此有以上的相关内置算法,根据内部函数进行绕过,直接修改返
回值绕过签名认证等等,而对抗的手段也愈发新颖,如:将app_key在服务端进行校验,
通过返回值进行判断,这样的手段也成为了对抗的一把好手


评分

参与人数 32HB +28 THX +18 收起 理由
花盗睡鼠 + 2 + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
Jawon + 1
一路走来不容易 + 1
459121520 + 1
WolfKing + 2 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
sjtkxy + 1
冷亦飞 + 1
yexing + 1
方长 + 2 + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
飞刀梦想 + 1
掣正伏虚 + 1
微熊猫 + 1
在天一方 + 2 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
weiran324 + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
天龙人 + 1 + 1
EMT + 1 + 1
XiaoWeiSec + 1
茗果 + 2
6378895 + 2 + 1
PDWORD + 1
2907645976 + 1 + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
淡灬看夏丶恋雨 + 1
成丰羽 + 1 [吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意!
曦照 + 1 [吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意!
zxjzzh + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
king51999 + 1 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
消逝的过去 + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
哈逍 + 1
temp + 1 + 1
hetao8003200 + 1
boot + 1
shemyabing + 1 + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
YVQOH0948 发表于 2022-1-24 11:55 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
lckgqYZoNb 发表于 2022-1-24 12:05 | 显示全部楼层

谢了啊,啥也不说了,记心里了!
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
hldcY791 发表于 2022-1-24 12:17 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
凉面61279 发表于 2022-1-24 12:44 | 显示全部楼层

52HB这地方不错,是个好地方!
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
秋天91627 发表于 2022-1-24 12:51 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
RmKcTkHa 发表于 2022-1-24 13:15 | 显示全部楼层

谢谢分享
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
猎豹1054 发表于 2022-1-24 13:15 | 显示全部楼层

感谢楼主
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
KiaIVZW 发表于 2022-1-24 13:15 | 显示全部楼层

感谢楼主
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
uYE05 发表于 2022-1-24 13:37 | 显示全部楼层

谢谢分享
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

警告:本站严惩灌水回复,尊重自己从尊重他人开始!

1层
2层
3层
4层
5层
6层
7层
8层
9层
10层

免责声明

吾爱汇编(www.52hb.com)所讨论的技术及相关工具仅限用于研究学习,皆在提高软件产品的安全性,严禁用于不良动机。任何个人、团体、组织不得将其用于非法目的,否则,一切后果自行承担。吾爱汇编不承担任何因为技术滥用所产生的连带责任。吾爱汇编内容源于网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除。如有侵权请邮件或微信与我们联系处理。

站长邮箱:SharkHeng@sina.com
站长QQ:1140549900


QQ|RSS|手机版|小黑屋|帮助|吾爱汇编 ( 京公网安备11011502005403号 , 京ICP备20003498号-6 )|网站地图

Powered by Discuz!

吾爱汇编 www.52hb.com

快速回复 返回顶部 返回列表