Android学习:签名与反编译

1:为什么要apk签名

AndroidManifest.xml下面

package="com.example.helloworld"

定义一个apk程序。

如果另外一个程序用相同的包名安装,就会覆盖之前的应用。

需要进行apk签名:

为了保证每个应用程序开发商合法Id,防止部分开发商可能

通过使用相同的Package Name来混淆替换已经安装的程序,

我们需要对我们发布的APK文件进行唯一的签名,保证我们

每次发布的版本的一致性。(如自动更新不会因为版本不一致而

无法安装)

2:如何签名

工程-Android Tools-export signed Application Package

签名步骤:(1)创建key(2)使用生成的key对apk签名。

3:apk的反编译

apk其实是一个压缩文件,可以解压缩。

META-INF

res

classes.dex (src下的java类,R类等)

resources.arsc(资源文件)

4:如何反编译:

1:使用dex2jar

cmd进入dex2jar的dex2jar.bat所在目录

将classes.dex拖拽到该目录

执行 dex2jar.bat  classes.dex

执行完成,就会在该目录下生成一个classes_dex2jar.jar文件

2:使用jd-gui工具

直接将jar文件拖拽到jd-gui工具中,就可以实现android文件的反编译。

时间: 2024-11-08 22:21:08

Android学习:签名与反编译的相关文章

LogCat、签名、反编译、常见事件实现

1.在res目录下新建目录values-zh-rCN,并在values-zh-rCN目录下新建strings.xml,可以根据安卓系统的操作语言的不同显示相应的语言.2.LogCat(后台日志监控):5个打印级别:verbose详细,debug调试,info通知,warn警告,error错误过滤器增加System.out过滤器3.签名的意义:为了保证每个应用程序开发商合法ID,防止部分开放商可以通过使用相同的Package Name来混淆替换已经安装的程序,我们需要对我们发布的APK文件进行唯一

Android代码混淆防反编译解决方案研究

做Android开发的都知道要做混淆去防apk被反编译.破解,通过proguard进行Java代码混淆.但是,Android代码混淆真的能起到实质性的作用吗?看下面分析 1.Android代码混淆 如上图,对Android 代码进行混淆后混淆器将代码中的所有变量.函数.类的名称加密为简短的英文字母代号,在APP被破解后增加破解者对代码的阅读难度. 但是混淆的功效只能运作在APP已经被破解后,而且只是增加破解者的难度时间,对其防止破解的作用意义不是很大. 那么,Android代码混淆不能从根本上防

Android系统安全和反编译实战——互动出版网

这篇是计算机类的优质预售推荐>>>><Android系统安全和反编译实战> Android安全专家写作,从Android系统安全机制介绍到综合实例演练,是完整学习Android系统安全知识的必备指南 内容简介 <Android系统安全和反编译实战>循序渐进地讲解了Android系统安全方面的基本知识,从Android系统介绍开始到综合实例的实战过程,全程剖析了Android系统安全.应用安全开发和加密.解密方面的核心知识.全书共17章,主要内容包括,Andr

Proguard android代码混淆 防止反编译

Proguard android代码混淆 防止反编译 http://www.360doc.com/content/13/1030/13/9171956_325290258.shtml

Android实践APK一键反编译

1.需要软件:onekey-decompile-apk 2.软件功能: 1)集成apktool/dex2jar/jd-gui. 2)只需执行一步即可反编译出apk所有文件(资源文件和jar等等). 3)反编译完毕后自动打开jd-gui反编译jar文件. 3.使用方法: 1)将下载的 onekey-decompile-apk.zip解压缩. 2)将apk文件放到 onekey-decompile-apk目录下. 3)将apk文件拖拽到_onekey-decompile-apk.bat上. 4.执行

Android Studio第一期 - 打包签名混淆反编译

开始先说打包签名: 1.打开你的AS选中你的project->bulid,     2.跟eclipse一样搞一个key,自己填写一下改写的什么注册的信息什么的,然后就会获得key和password,此处省略一万字--!然后就是填写了, 图2, 3.等待就可以了,project的app目录下你会找到打包签名的apk包,就这样. end 下面说混淆部分: 1.把你的build.gradle,改一下true,     2.接着就是proguard-rules.pro里面的,注意:不要写jar了哈,A

Android逆向之旅---反编译利器Apktool和Jadx源码分析以及错误纠正

一.前言 在之前的破解过程中可以看到我们唯一离不开的一个神器那就是apktool了,这个工具多强大就不多说了,但是如果没有他我们没法涉及到后面的破解工作了,这个工具是开源的,也是使用Java语言开发的,代码相对简单,我们今天就来分析一下他的大体逻辑,注意是大体逻辑哦,因为如果要一行一行代码分析,首先觉得没必要,其次浪费时间,有了源码,谁看不懂呢.至于为什么要分析这个工具其实原因只有一个,就是我们在之前的反编译过程中会发现,总是有那么几个apk应用不让我们那么容易的反编译,他们就利用apktool

Android应用程序破解(反编译)

一.apktools进行反编译 1.首先安装需要JAVA环境(JDK和JRE) 设置JAVA环境变量 CLASSPATH       %JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar JAVA_HOME     C:\Program Files\Java\jdk1.8.0_20 Path    %JAVA_HOME%\bin;C:\Program Files\Java\jre1.8.0_20\bin 2.下载apktools并解压 (1)下载apk

Android 代码混淆 防止反编译

为了防止代码被反编译,因此需要加入混淆.混淆也可以通过第三方进行apk混淆,也可以用android中的proguard进行混淆. 混淆步骤: 1.配置混淆文件,名字可以随意,在这里使用proguard-android,格式为txt. -optimizationpasses 5 # 指定代码的压缩级别 -dontusemixedcaseclassnames # 是否使用大小写混合 -dontskipnonpubliclibraryclasses # 是否混淆第三方jar -dontpreverif