首页 > 代码库 > (android实战)破解apk
(android实战)破解apk
简单的总结几个关键步骤:
一、工具准备:apktool , dex2jar , jd-gui
二、使用dex2jar + jd-gui 得到apk的java源码
1.用解压工具从 apk包中取出 classes.dex 文件
用命令(dex2jar.bat classes.dex )得到一个 jar文件
2.用jd-gui反编译工具将得到.jar文件反编译成.java文件
三、使用apktool得到apk的xml文件
1.用命令(apktool d xxx.apk xxx_xml )反编译xxx.apk包
2.从 xxx_xml 文件夹得到xml文件
四、第二步得到的程序源代码和第三步得到的xml文件组合下,即可得到完整的apk源码。
五、汉化/去广告,加 values-zh-rCN, values-zh-rTW, values-de, values-fr
1.在步骤三的文件夹里 建文件夹: values-zh-rCN,values-zh-rTW
2.1复制values\strings.xml 到 values-zh-rCN 并翻译.
2.2 去广告见:http://www.cnblogs.com/wangjianh ... /07/05/2098563.html
3.重建APK,用命令(apktool b xxx ) ,输出到ABC/dist/out.apk
或命令( apktool b xxx out.apk )
六、签名
1.把未签名的apk 复制到 sign.bat 目录下。
2.打开cmd, 进入到 sign.bat 目录下, 输入命令:
sign out.apk out_signed.apk
out.apk 即为没签名的apk, out_signed.apk 为签名的
sign.bat 要改下:
@echo OFF
java -jar signapk.jar testkey.x509.pem testkey.pk8 %1 %2
--------------------------------- 以下是整理/摘选的 ---------------------------------
在官网下载 apktools 工具
http://code.google.com/p/android-apktool/
apktool1.4.3.tar.bz2 和 apktool-install-windows-r04-brut1.tar.bz2
解压分别得到 apktool.jar 和 apktool.bat , aapt.exe .
把这3个文件复制到 系统文件夹下面, 一般是C:\Windows
jd-jui: http://java.decompiler.free.fr/?q=jdgui
dex2jar : http://code.google.com/p/dex2jar/downloads/list
=================================================
部分内容摘自: http://www.cnblogs.com/afirefly/archive/2011/10/12/2208461.html
一、工具准备:apktool , dex2jar , jd-gui
工具包也可以在这里下载。http://www.kuaipan.cn/index.php?ac=file&oid=3166172581218989
1、dex2jar下载,jd-gui下载。
2、apktool,可以去Google的官方下载,apktool-1.0.0.tar.bz2(里面有apktool.jar)和apktool- install-windows-2.1_r01-1.zip两个包都要下。解压 apktool.tar.bz2,把apktool.jar 放到 C:\Windows下,解压apktool-install-windows.zip到任意文件夹(例如E盘根目录或 C:\Windows )。
二、使用dex2jar + jd-gui 得到apk的java源码
步骤如下:
1、用.rar打开apk文档,将classes.dex文件解压出来,然后使用工具反编译成.jar文件。
在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文件(一般是:classes.dex.dex2jar.jar)。
2.用jd-gui反编译工具将得到.jar文件反编译成.java文件
三、使用apktool得到apk的xml文件
1、Win+R 运行CMD,用cd命令转到apktool-install-windows所在文件夹,输入命令:
apktool d XXX.apk ABC
反编译XXX.apk到文件夹ABC
2、 在解压后的文件夹中可以得到apk的xml配置文件
四、第二步得到的程序源代码和第三步得到的xml文件组合下,就成一个android工程,即可得到完整的apk源码。
=================================================
部分内容摘自: http://zhangyan1158.blog.51cto.com/2487362/683234
APKTool的使用
1.decode
该命令用于进行反编译apk文件,一般用法为
apktool d <file.apk> <dir>
<file.apk>代表了要反编译的apk文件的路径,最好写绝对路径,比如C:\MusicPlayer.apk
<dir>代表了反编译后的文件的存储位置,比如C:\MusicPlayer
如果你给定的<dir>已经存在,那么输入完该命令后会提示你,并且无法执行,需要你重新修改命令加入-f指令
apktool d –f <file.apk> <dir>
这样就会强行覆盖已经存在的文件
2.build
该命令用于编译修改好的文件,一般用法为
apktool b <dir>
这里的<dir>就是刚才你反编译时输入的<dir>(如C:\MusicPlayer),输入这行命令后,如果一切正常,你会 发现C:\MusicPlayer内多了2个文件夹build和dist,其中分别存储着编译过程中逐个编译的文件以及最终打包的apk文件。
3.install-framework
该命令用于为APKTool安装特定的framework-res.apk文件,以方便进行反编译一些与ROM相互依赖的APK文件。具体情况请看常见问题
==========================
jadclipse Decompiler.zip
jad158e.linux.intel.zip
jad158g.win.zip ( jad.exe )
jadclipse.txt
jadclipse_3.1.0.jar
jadclipse_3.2.0.jar
net.sf.jadclipse_3.2.4.jar
net.sf.jadclipse_3.3.0.jar