(爱加密系列教程七)程序员应该学习的签名破解

我们以“XXXX管家”为例,该apk使用了签名保护。我们对apk二次打包后,程序无法运行。原因是程序运行时会获取当前应用签名和官方签名进行对比。如果发现不一致就会终止程序。

下面我们对签名保护进行破解

首先我们需要用到的工具是APK改之理。百度云盘下载:http://www.cnblogs.com/ijiami/p/3346870.html

点击”项目”->”打开apk”,反编译apk。

http://images.cnitblog.com/blog/556984/201309/30101759-4cdc52e39b1a49f09b4b3acdc7cee9e6.bmp
获取应用签名的java代码是:

PackageInfo packageInfo = getPackageManager().getPackageInfo(

                "xx.xxx.xx", PackageManager.GET_SIGNATURES);

Signature[] signs = packageInfo.signatures;

其中“Signature” 对应的smali代码是

“Landroid/content/pm/PackageInfo;->signatures:[Landroid/content/pm/Signature”

我们在改之理

搜索“Landroid/content/pm/PackageInfo;->signatures:[Landroid/content/pm/Signature”

http://images.cnitblog.com/blog/556984/201309/30102103-5614d78b8eb1499a97906ea824018c02.bmp

有两个文件用到了签名。首先看下ct.smali

http://images.cnitblog.com/blog/556984/201309/30102234-07fa10efb692450dab56

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值