Android逆向工程工具 - 3

《Android逆向工程工具 - 1 https://www.cnblogs.com/cuihengchaliao/p/6661871.html》提到经过修改重新打包的apk文件,需要再重新签名才能安装。

再重新签名时,如果是正规途径的修改,原来版本的签名证书可以使用;但如果是不正规途径的apk包修改,重新签名时原来开发者的证书是不可用的,这时修改者一般会用工具自己生成公钥、私钥对和证书,对修改的apk包进行重新签名,但是因为证书和原版的证书不一样,安装时是无法覆盖原版的,同时原版开发者也会自己在程序里对自己的证书签名值进行校验(Android逆向工程工具 - 2 https://www.cnblogs.com/cuihengchaliao/p/6665156.html中提到了3种校验方式),所以修改过的apk用新证书签名可能会在执行时出现问题,除非原版程序的签名校验逻辑已经被绕过。

怎么重新对修改过的apk包重新签名,一般流程是:
(1). 生成新的公钥、私钥密钥对和证书,可以使用keytool、openssl等工具。
(2). 使用SignApk.jar和前述的密钥和证书,对修改过的apk包重新签名。

下一篇会写怎么实现这两步。

时间: 2024-11-05 21:59:08

Android逆向工程工具 - 3的相关文章

Android逆向工程工具Dare的使用方法(Mac OS X中)

其实这篇日志很简单,争取用两句话说完.Dare这个工具是宾州大学计算机系发布的apk逆向工程工具.可以将Android系统中使用的apk文件反编译为Java Class文件.目前支持Linux和Mac OS X中使用,在Mac中的使用方法尤其简单,在这个页面:http://siis.cse.psu.edu/dare/downloads.html 提供可执行文件的下载,下载解压之后在终端中进入其目录,输入: bash dare -d apkoutput WeChat_462.apk 上面是以最新的

Android逆向工程工具

Android上的编程主要有两种,一种是使用Adroid SDK(Software Development Kit),用Java开发:一种是使用Android NDK(Native Development Kit),用C/C++开发,因为Android内核是基于Linux Kernel的,用C/C++是最便捷的方式但相对复杂.这里针对的是Java开发的方式. Adroid上的Java虚拟机Dalvik虚拟机和经典java运作模式大致相同,但Dalvik虚拟机是为Adroid系统优化定制过的. 标

Android 逆向工程 实践篇

Android逆向工程 实践篇 上篇给大家介绍的是基础+小Demo实践. 如果没有看过的同学可以进去看看.(逆向工程 初篇) 本篇主要给大家介绍如何反编译后修改源码, 并打包运行在手机上. 先介绍下本篇文章用到的工具和资源. 1: Android Killer 1.3.1.0 (工具) 2: crackme.apk 还没有破解之前会提示随意输入用户名密码会提示下面的信息. 下面我们来打开apk, 看看源码是怎么回事. 我先用工具(Android Killer) 打开creckme.apk 这个是

Android逆向工程-破解 哈皮妹-萝莉

转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/18797493 前言 新的一年新的开始,除了继续我的原有课题之外,我还打算研究下Android逆向工程的一些东西,主要包括反编译.Smali.APK打包.签名.反逆向和移动安全等.这篇就是新课题的第一篇文章,不过要牺牲下哈皮妹-萝莉这款应用了.通过对哈皮妹-萝莉的破解,让我更加深刻直观地认识到,Android的安全性是一个多么大的问题,如果我们的应用没有采用特殊手段去阻止破解

推荐10款最常用的Android开发工具

推荐10款最常用的Android开发工具 我们使用各种语言进行开发时,总是会用到各种各样的开发工具.有些开发工具是开发人员的必备品,有些则是为了提高开发效率而用.Android开发同样也会用到多种开发工具,供开发人员设计.创建.测试和发布程序时使用.下面向大家推荐十款常用的Android开发工具. 1.Eclipse w/ADT 虽然Eclipse并非唯一可用于开发Android应用的Java开发环境,但它是目前最欢迎的工具,有很大程度上是因为它的成本很低(免费),但最主要的原因还是它与其他An

Android自动化测试工具实现简述

前言 自动化测试在产品开发和测试中都有着非常重要的作用.在产品开发阶段,可靠又重复性地运行以确保没有引进回归问题:在产品测试阶段,可以节省人力成本和时间成本,并能保证更大范围的覆盖.Android自动化测试工具同样可以节省不少人力和时间成本,对其研究和实现对于提高测试效率具有一定的意义.目前市面上也有不少Android自动化测试工具,本人在现有工具的基础上,加上自己的理解和实践向大家介绍自动化测试工具的原理和实现. 了解自动化测试的一定对Robotium并不陌生,Robotium是一款国外的An

10个不可错过的Android 开发工具

今天麦子学院android开发老师给大家介绍android开发人员必须的10个android开发工具: 1.Eclipse ADT Eclipse ADT 是 Eclipse 平台下用来开发 Android 应用程序的插件.   2.The SDK and AVD Manager 该工具包含很多重要的功能,包括管理不同的 Android SDK 版本(构建目标),你知道的 Android 的版本众多,API上有些兼容性问题.另外该工具还用于管理 Android 虚拟设备配置 (AVD) ,用来配

21.Android 时间工具DateUtil

21.Android 时间工具DateUtil Android 时间工具DateUtil String 转换 Date long 转换 String long 去除 时分秒 计算时间差 24小时制转12小时制 Date 转换 String DateUtil全部源码 String 转换 Date /** * String 转换 Date * * @param str * @param format * @return */ public static Date string2Date(String

Android开发实践:Android交叉编译工具链的使用

前面2篇文章分别介绍了Android NDK编译的命令行参数,以及如何在任意目录使用Android.mk来编译本地c/c++代码,Andriod.mk和ndk-build只不过是Android官方提供了一套封装过的Android交叉编译环境而已,其实,你可以不用它,而直接通过传统的Makefile文件来编译你的c/c++代码的,本文即介绍如何直接通过传统的Makefile文件来编译可用于Android平台的库文件. 经常搞嵌入式开发的朋友对于交叉编译环境应该并不陌生,说白了,就是一组运行在x86