android apk反编译(反编译—改代码—再编译—签名)

1.工具(请到网站搜索并自行下载):

①apktool(反编译:能得到图片资源与布局文件等)

②dex2jar(反编译:能得到activity等java代码)

③jd-gui(查看dex2jar得到的java文件)

④手机签名工具(签名)

2.步骤:

①apktool反编译

(1)将apktool.bat aapt.exe  apktool.jar与要反编译的apk文件放到同一目录下

(2)运行cmd并切换到apktool所在的路径

(3)输入:apktool d a.apk test (格式:apktool d <文件名>  <文件夹>)

②改代码

发现相对路径下生成一个test文件夹,在里面可以尽情修改图片资源与布局文件等。

③再编译


输入:apktool b test  (格式:apktool b <要进行再编译的文件夹名称>)

在此目录下找到再编译生成的apk文件,此时生成的apk文件因为没有签名而无法安装

④签名

在手机上下载:手机签名工具,并把apk发到手机上,用手机签名工具找到,再点击按钮签名选中文件

找到签名的apk安装即可。

3.查看java源代码:

将apk文件的扩展名改为rar,并解压classes.dex文件到dex2jar文件夹下

运行cmd,切换到H:\C\dex2jar,并输入dex2jar  classes.dex(格式:dex2jar  <文件名>)

在改目录下会生成一个classes_dex2jar.jar的文件,运行d-gui.exe,之后用该工具打开之前生成的classes_dex2jar.jar文件,即可查看java源代码

就是这些了,希望能对大家的学习有帮助呢O(∩_∩)O~

时间: 2025-01-01 21:27:37

android apk反编译(反编译—改代码—再编译—签名)的相关文章

Android APK及导出JAR包的代码混淆

像Android开发基于java语言的,很容易被别人反编译出来,一下就相当于裸奔了,特别是用于商业用途的时候,防止反编译是必要的措施.而代码混淆是一种很好防止反编译的方式. 1.APK的代码混淆. 在eclipse的开发环境下,使用android SDK 自带的proguard混淆工具. 主要用到红线框中的两个文件. 在project.properties文件中,要指定混淆的文件.如图: 然后,详细的proguard-project.txt的写法如下: -dontwarn 是让指定包名不提示警告

Android apk mac下反编译

需要工具: apktool  下载 dex2jar 下载 jd-gui  下载 apktool 反编译得到的是布局和资源文件. dex2jar 反编译得到的代码字节码,利用jd gui就可以查看到源代码. 1.apktool安装 1)下载apktool,及mac下apk-install-macosx 2)解压这两个文件,把这3个文件拷到path路径下.(注意需要root权限) 3)使用apktool d xxx.apk进行反编译,得到一个同名的文件夹.里面就有我们需要的布局文件. 2.dex2j

Android APK的加密技术

Android APK的加密技术有混淆代码和防二次打包,这些都是Android开发技术就可以完成.但是对于破解者来说都已无用,网上的破解教程比加密的还多.Android APK的加密技术,码迷,mamicode.com

反编译Android APK及防止APK程序被反编译

原文出处 反编译Android APK及防止APK程序被反编译 怎么逆向工程对Android Apk 进行反编译 google Android开发是开源的,开发过程中有些时候会遇到一些功能,自己不知道该怎么做,然而别的软件里面已经有了,这个时候可以采用反编译的方式,解开其他的程序,来了解一些它 的做法,同时啊,还可以借鉴别人的软件结构,资源文件:作为一个开发者,你可能会很想知道这些效果界面是怎么去实现的,这时,你便可以对改应用的APK进行反编译查看.此方式主要目的是为了促进开发者学习,借鉴好的代

android apk 防止反编译技术第二篇-运行时修改字节码

上一篇我们讲了apk防止反编译技术中的加壳技术,如果有不明白的可以查看我的上一篇博客http://my.oschina.net/u/2323218/blog/393372.接下来我们将介绍另一种防止apk反编译的技术-运行时修改字节码.这种方法是在工作中在实现app wrapping时,看到国外的一篇关于android 安全的介绍实现的并且独创.下面我们来介绍一下这种方法. 我们知道apk生成后所有的java生成的class文件都被dx命令整合成了一个classes.dex文件,当apk运行时d

android apk 防止反编译技术第三篇-加密

上一篇我们讲了apk防止反编译技术中的加壳技术,如果有不明白的可以查看我的上一篇博客http://my.oschina.net/u/2323218/blog/393372.接下来我们将介绍另一种防止apk反编译的技术-运行时修改字节码.这种方法是在工作中在实现app wrapping时,看到国外的一篇关于android 安全的介绍实现的并且独创.下面我们来介绍一下这种方法. 我们知道apk生成后所有的java生成的class文件都被dx命令整合成了一个classes.dex文件,当apk运行时d

android apk 防止反编译技术第二篇-运行时修改Dalvik指令

上一篇我们讲了apk防止反编译技术中的加壳技术,如果有不明白的可以查看我的上一篇博客http://my.oschina.net/u/2323218/blog/393372.接下来我们将介绍另一种防止apk反编译的技术-运行时修改字节码.这种方法是在工作中在实现app wrapping时,看到国外的一篇关于android 安全的介绍实现的并且独创.下面我们来介绍一下这种方法. 我们知道apk生成后所有的java生成的class文件都被dx命令整合成了一个classes.dex文件,当apk运行时d

实例详解:反编译Android APK,修改字节码后再回编译成APK

本文详细介绍了如何反编译一个未被混淆过的Android APK,修改smali字节码后,再回编译成APK并更新签名,使之可正常安装.破译后的apk无论输入什么样的用户名和密码都可以成功进入到第二个Activity. 有时难免要反编译一个APK,修改其中的若干关键判断点,然后再回编译成一个全新的可用的apk,这完全是可实现的.若要完成上述工作,需要以下工具,杂家后面会把下载链接也附上.这些软件截止本文发布时,经过杂家确认都是最新的版本. 1.APK-Multi-Toolv1.0.11.zip 用它

实例具体解释:反编译Android APK,改动字节码后再回编译成APK

本文具体介绍了怎样反编译一个未被混淆过的Android APK,改动smali字节码后,再回编译成APK并更新签名,使之可正常安装.破译后的apk不管输入什么样的username和password都能够成功进入到第二个Activity. 有时难免要反编译一个APK.改动当中的若干关键推断点,然后再回编译成一个全新的可用的apk,这全然是可实现的. 若要完毕上述工作,须要以下工具,杂家后面会把下载链接也附上.这些软件截止本文公布时,经过杂家确认都是最新的版本号. 1.APK-Multi-Toolv