吾爱汇编论坛

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 975|回复: 84

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

  [复制链接]

  离线 

升级   66.79%

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在服务端进行校验,
通过返回值进行判断,这样的手段也成为了对抗的一把好手


评分

参与人数 19HB +16 THX +11 收起 理由
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]-感谢楼主热心分享,小小评分不成敬意!
zhaoxishm + 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

  离线 

升级   57.25%

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

  离线 

升级   62%

lckgqYZoNb 发表于 2022-1-24 12:05 | 显示全部楼层


谢了啊,啥也不说了,记心里了!
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM

  离线 

升级   28.26%

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

  离线 

升级   26.67%

凉面61279 发表于 2022-1-24 12:44 | 显示全部楼层


52HB这地方不错,是个好地方!
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM

  离线 

升级   3.33%

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

  离线 

升级   60%

RmKcTkHa 发表于 2022-1-24 13:15 | 显示全部楼层


谢谢分享
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM

  离线 

升级   16.67%

猎豹1054 发表于 2022-1-24 13:15 | 显示全部楼层


感谢楼主
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM

  离线 

升级   20%

KiaIVZW 发表于 2022-1-24 13:15 | 显示全部楼层


感谢楼主
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM

  离线 

升级   60.14%

uYE05 发表于 2022-1-24 13:37 | 显示全部楼层


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

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

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

免责声明

吾爱汇编论坛(www.52hb.com)所发布的破解补丁、注册机、逆向教程、逆向文章等,包含但不限于上述内容,仅限用于学习和研究目的,不得用于非法途径或商业行为。否则,一切后果请用户自行承担。本站内容源于网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除。如果您喜欢某程序,请购买正版,支持正版,获得正版优质服务。如有侵权请邮件或微信与我们联系处理。

站长邮箱:SharkHeng@iCloud.com
站长微信:SharkHeng


QQ|RSS|手机版|小黑屋|帮助|吾爱汇编论坛 ( 京公网安备11011502005403号 , 京ICP备20003498号 )

GMT+8, 2022-5-29 16:09 , Processed in 0.422383 second(s), 79 queries .

Powered by Discuz!

吾爱汇编论坛 www.52hb.com

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