http://www.eoeandroid.com/thread-30768-1-1.html
今天反编译一个apk,遇到了很多问题,查了好几个文档,现在把前人的一些经验和自己碰到的问题记录下来,作一个总结,与大家分享,希望对大家有帮助
一、找到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源码。
但是好像项目中用到的包没用弄进来,很是郁闷,希望哪位大侠弄懂之后教我,谢谢
分享到:
相关推荐
安卓android apk 反编译步骤 。亲自实现总结,决不是粘贴复制
总结反编译apk的方法和工具, 有工具的下载地址和图片解说。
apk包反编译工具,是跟据前人的经验总结出来的,希望能帮到大家
如何实现反编译,在第三方的apk中添加自己的代码,以达到自己的目的
NULL 博文链接:https://913.iteye.com/blog/1482126
今天就来总结一下Android反编译和二次打包的一些知识。首先声明本文的目的是为了通过例子讲解反编译和二次打包的原理和方法,继而作为后续讲解防止二次打包和App安全的依据,并不是鼓励大家去重新打包别人的App,...
【总结】Apk反编译全解 配套APK反编译工具: jadx,jd-gui,dex2jar,apktool,autosign,enjarify。(autosign后续补充) 工具合集都是亲测可用的软件,博文中有下载链接,可以下载最新的版本。
APK 反编译工具 APK Editor Studio 中文版APK 反编译工具 APK Editor Studio 中文版 APK Editor Studio 特色: 图标编辑器可轻松更改 Android 应用程序图标。 标题编辑器可快速编辑包括翻译在内的 Android 应用标题...
APK 反编译工具 APK Editor Studio 中文版APK 反编译工具 APK Editor Studio 中文版 APK Editor Studio 特色: 图标编辑器可轻松更改 Android 应用程序图标。 标题编辑器可快速编辑包括翻译在内的 Android 应用标题...
对于软件开发人员来说,保护代码安全也是比较重要的因素之一,不过目前来说Google Android平台选择了... 总结反编译主要的目的在于学习。利用反编译进行相关的汉化或修改,还是尽量不要吧,毕竟人家写个程序不容易啊!
网上有一些带图形界面的或者按照提示选择序号的工具,自己都一一试过,总会报错,现自己总结出了一个方法,亲测有效,如果有网友跟我一样试了很多方法之后走不通,可以试一下我的方法,避免走更多弯路。
总结反编译主要的目的在于学习。利用反编译进行相关的汉化或修改,都是不道德的! 大家都知道,将apk文件解压后有两部分文件需要处理,一种是xml文件,另一种一个dex文件(.dex),我们可以从.dex文件中得到.class...
总结反编译主要的目的在于学习。利用反编译进行相关的汉化或修改,都是不道德的! 将apk 反编译资源/dex/以及方便查看的jar 文件
典型的反编译流程包括,如何从apk反编译得到java源代码,如何从apk转换出dex文件,如何从dex文件转换出jar文件,如何从jar文件转换出java源代码等等原理和详细步骤。且总结了和安卓反编译、逆向工程、分析等相关的...
目录 1.坐标传递到google Map 2 2.获得联系人 5 3.监听短信内容 6 4.3D魔方 7 5.Android 界面刷新 16 6.Cursor 17 ...1.APK反编译工具.rar 60 2.APK安装工具.rar 60 47.Google Maps 的应用 60
一、android安全保护办法总结 二、破解脱壳知识 三、xposed源码学习 四、androidManifest.xml保护修AndroidManifest.xml导致不能反编译
【主要内容】 1. Python爬虫简介与环境安装 - Pythonn环境 - Selenium安装 - Python相关包 2. 基本库的使用 - 爬虫基本原理;... - apk脱壳反编译; references,学习资料分享 价格可谈,联系我:ddxygq。
网上收集和自己总结的一些android使用资料,比较基础的知识,对全面了解一些知识很不错的 android ListView美化.docx androidshape.docx android_textview....反编译Apk得到Java源代码总结.docx
Apk文件被反编译出来能被获取到里面的代码。对于这种情况,我们可以对项目代码进行混淆,随机生成难理解的类名,方法名,让代码难以阅读,加大功能被盗取的难度。混淆可以起到压缩Apk,混淆文件,预检,优化的作用。...
9.5.3 Android Apk反编译 223 9.5.4 Android Apk加密 226 第10章 Android性能优化 227 10.1 布局优化 228 10.1.1 Android UI渲染机制 228 10.1.2 避免Overdraw 229 10.1.3 优化布局层级 229 10.1.4 避免嵌套...