位置: 编程技术 - 正文

程序员应该学习的签名破解(程序员应该学什么)

编辑:rootadmin

推荐整理分享程序员应该学习的签名破解(程序员应该学什么),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:程序员要学到什么程度,程序员需要学会什么,程序员要学好什么科目,程序员需要学会什么,程序员应该学什么,程序员要学到什么程度,程序员要学会什么,程序员必须学会什么,内容如对您有帮助,希望把文章链接给更多的朋友!

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

首先我们需要用到的工具是APK改之理。百度云盘下载:

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

获取应用签名的java代码是:

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

我们在改之理

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

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

程序员应该学习的签名破解(程序员应该学什么)

发现这个S(Ljava/lang/String;) 是获取签名的方法。Ctrl&#;F搜索下“->s(”,看谁调用了s这个方法。搜索后定位到了 gy()方法。返回&#;是布尔型。

该方法 行 查询了当前apk的签名,并保存在了v0寄存器里

行,获取了保存的官方签名,并保存在了v1寄存器里

行,判断v0和v1是否相等。返回&#;保存在了v0寄存器里

行,返回了v0

通过分析我们发现这个gy()方法,就是判断签名的地方。我们只需要修改下让该方法返回真,就能突破签名保护。

在行,强制返回&#;v0为真

保存,重新编译运行。程序可以正常打开了。

再次重申,此教程只是一个简单的共享,请不要用于做坏事!谢谢!

菜鸟学安卓Log.v("第一篇")——为何突然想写安卓学习的博客? CSDN的博客从大一下学期就有了,可是到现在还没有发挥它的作用,理由却是充足的,因为那个时候自己还是一个在不断探索的菜鸟,还在思考是学c好还

Android的性能监控工具StrictMode 目前,StrictMode的能力与限制包括:1.基于线程的对磁盘读写,网络操作,以及自定义耗时操作等的监控;2.基于VM进程的对对象泄露(Activity对象,SQLite

Android 系统分区分析 Android系统分区Android系统开发时,经常会遇到添加或者调整系统分区大小的问题,下面以mstar的一款产品为例进行分析:(1)mount指令可以查看到板子中

本文链接地址:https://www.jiuchutong.com/biancheng/374581.html 转载请保留说明!

上一篇:安卓作业(安卓作业仿银行)

下一篇:菜鸟学安卓Log.v("第一篇")——为何突然想写安卓学习的博客?(菜鸟教程 安卓版)

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络