一、找到apk中的class.dex:
把apk文件改名为.zip,然后解压缩其中的class.dex文件,它就是java文件编译再通过dx工具打包成的。
二、得到java源文件
工具准备:
1、把dex文件反编译为jar文件的工具。(dex2jar)
http://code.google.com/p/dex2jar/downloads/list
2、把jar反编译为java的工具。(JD-GUI)
http://java.decompiler.free.fr/?q=jdgui
反编译步骤:
1、把class.dex拷贝到dex2jar.bat所在目录,直接拖动class.dex到dex2jar.bat,生成classes.dex.dex2jar.jar。
或者:1.在cmd下进入dex2jar.bat所在路径,然后输入“dex2jar.bat XXX”,XXX指的是你要反编译的apk中的classes.dex文件所在路径及名称,比如:我的dex2jar.bat在D:\Android \apk_decode\dex2jar-0.0.7-SNAPSHOT路径下, classes.dex在D:\Android下,所以: 你进入dex2jar.bat路径下后,输入dex2jar.bat D:\Android\classes.dex,这样会生成一个jar文件。
2.用rar解压出jar文件中的class文件,然后用jad或DJ Java Decompiler反编译工具将.class文件反编译成.java文件
3、运行JD-GUI工具(它是绿色无须安装的),打开上面的jar文件,在File下有个Save JAR Source,它可以生成src源代码。
三、上面操作只能得到class文件,下面利用Google提供的apktool得到xml文件
1. 下载apktool,可以去Google的官方下载,地址:http://code.google.com/p/android-apktool/ 得,apktool- 1.0.0.tar.bz2和apktool-install-windows-2.1_r01-1.zip两个包都要下。解压apktool- 1.0.0.tar.bz2得到apktool.jar放到 C:\Windows ,解压apktool-install-windows.zip到任意文件夹(例如E盘根目录)。(我是两个包解压后都放在C:\Windows下)
2. Win+R 运行CMD,用cd命令转到apktool-install-windows所在文件夹,输入apktool看看。会列出一些帮助的话就成功了(解释d为加压 第一个路径为你的apk所在的位置。第二个是要输出的位置)
在这一步中我碰到这样一个问题:
Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version n
umber in .class file
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:12
4)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
版本问题,装了个jre6,在360中的软件管家可以找到的,记得装完后配置path路径,果然,ok。
继续:
apktool d e:\a.apk(apk路径)ABC(文件夹名称)
这时当前目录下生成 ABC文件夹,里面就是我们想要的东东了
四、将“二”中得到的java文件和“三”中得到的xml文件组合成一个android工程,即可得到完整的apk源码。
但是好像项目中用到的包没用弄进来,很是郁闷,希望哪位大侠弄懂之后教我,谢谢
扩展阅读:
http://bbs.zoopda.com/thread-60736-1-1.html
http://bbs.zoopda.com/thread-117350-1-1.html
-------------------------------------------------------------------------------------------------------------------
Eclipse+ADT进行Android应用程序的代码混淆和签名
分享到:
相关推荐
因为在做安卓中文编程平台(ACP)的项目,用到了apk签名文件。这个签名工具目测和E4A相同界面哦。此源码已将-keypass 和-storepass 设置为相同密码。用到的模块:取DOS执行结果 取DOS执行结果.rar (2 KB, 下载次数:...
android给未签名的apk签名命令。 准备文件 1、unsign.apk(未签名的apk) 2、shanhy.keystore(签名证书文件) 命令语法: jarsigner -verbose -keystore [keystorePath] -signedjar [apkOut] [apkIn] [alias] 例...
jadx java反编译器,支持jar,aar,dex,apk的反编译 反编译APK完整方法: 1.安装 java jdk 官网可下载 https://www.oracle.com/technetwork/java/javase/downloads/index.html 2.添加path环境变量,指向jdk\bin...
Android apk获得系统权限签名工具
因为在做安卓中文编程平台(ACP)的项目,用到了apk签名文件。这个签名工具目测和E4A相同界面哦。 此源码已将-keypass 和-storepass 设置为相同密码 用到的模块:取DOS执行结果 取DOS执行结果.rar (2 KB, 下载次数:...
logstash-keystore
Android--开发-- 打包签名 从生成keystore到完成签名
签名方法:在jdk1.8下有效, jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore MyACP.keystore -storepass android -keypass android -signedjar release.apk debug.apk android 说明: -keystore...
android系统默认debug签名文件debug.keystore 调试安卓应用签名debug文件可以使用keytool, 工具进行签名
工具已整合,加bat一键反编译,一键打包,一键签名,支持v2签名,支持使用keystore和pk8签名,想要修改安卓包内容的话非常有用,请结合教程文章查看https://blog.csdn.net/egostudio/article/details/121038001 ...
Android 打包签名 从生成keystore到完成签名.zip
android-keystore-recovery, 恢复丢失的Android密钥库密码的工具 请注意,这里自述文件是针对最新快照版本更新的。 如果你想使用最后一个版本,请访问这里页面的 。 Android密钥库恢复这个项目旨在解决( Android ) ...
Android项目打包签名是从生成keystore到完成签名的过程,这是一个重要的步骤,以确保应用程序的安全性和稳定性。本资源将为您提供详细的教程和工具,帮助您顺利完成这个过程。 首先,我们将介绍如何生成keystore。...
Android 打包签名 从生成keystore到完成签名.rar
Android 打包签名 从生成keystore到完成签名全过程doc文档.zip Android 打包签名 从生成keystore到完成签名全过程doc文档.zip Android 打包签名 从生成keystore到完成签名全过程doc文档.zip Android 打包签名 从生成...
详细说明了android的keystore打包签名文件的申请过程
使用安卓平台上架app时候需要签名,使用签名密钥签名apk文件的时候常常需要用到签名密钥的密码,当密码忘记的时候就只能通过一些匹配方法找到丢失的密码,这里是安卓apk签名密钥破解工具AndroidKeystoreBrute_v1.05....
安卓Android源码——打包签名 从生成keystore到完成签名.zip