apktool 用法
【转】一步一步带你反编译apk,并教你修改smali和重新打包

【转】⼀步⼀步带你反编译apk,并教你修改smali和重新打包⼀、⼯具介绍:1.apktool:aapt.exe,apktool.bat,apktool.jar;三个在同⼀⽬录结合使⽤,⽤来反编译apk,apk重新打包;2.dex2jar:该⼯具作⽤是将classes.dex⽂件,反编译出源码(如果apk未加固),反编译出⽂件,使⽤jd-gui⼯具进⾏查看;3.Auto-Sign:⾃动签名⼯具,将重新打包的apk进⾏签名,如果不签名,⽆法安装使⽤。
⼯具下载地址:(需要3CSDN积分,原本我设置3积分的,不知道为什么涨到16积分了......)使⽤场景:项⽬源码丢失,只有线上apk,并且没有加固,要求修改apk接⼝地址,并且重新打包,再发布。
⼆、⼯具使⽤:解压后⼯具包如图:1.思路:使⽤⼯具dex2jar反编译,并⽤jd-gui⼯具进⾏查看项⽬结构,查看源码,并且找到接⼝地址类,修改接⼝地址;步骤⼀:下载好⼯具,将需要反编译的APK后缀名改为.rar或则 .zip,并解压,如图:得到其中的classes.dex⽂件(它就是java⽂件编译再通过dx⼯具打包⽽成的),将获取到的classes.dex复制到解压出来的⼯具dex2jar-0.0.9.15 ⽂件夹内,在命令⾏下,进⼊到dex2jar.bat所在⽬录,输⼊命令:dex2jar.bat classes.dex效果如下:步骤⼆:运⾏结束后,在该⽬录下会⽣成⼀个classes_dex2jar.jar的⽂件,如图:然后打开⼯具jd-gui⽂件夹⾥的jd-gui.exe,⽤该⼯具打开⽣成的classes_dex2jar.jar⽂件,便可以看到源码了,效果如下:2.思路:apktool,反编译修改smali⽂件,进⾏重新打包,通过⽤jd-gui⼯具找到接⼝地址类后,与相应的smali⽂件进⾏对⽐,修改接⼝地址;下载上述⼯具中的apktool,解压得到3个⽂件:aapt.exe,apktool.bat,apktool.jar ,将需要反编译的APK⽂件放到该⽬录下,如图:打开命令⾏界⾯(运⾏-CMD),定位到apktool⽂件夹,输⼊以下命令:apktool.bat d -f test.apk -o testapktool -f [待反编译的apk] -o [反编译之后存放⽂件夹]如图:反编译之后会得到test ⽂件夹,打开test⽂件夹,⾥边就是反编译出来的各种资源⽂件使⽤jd-gui查看源码找到地址类,然后在smali⽂件⾥找到地址的smali⽂件,更改smali⽂件内接⼝地址。
用安卓apk反编译利器Apktool

用安卓apk反编译利器Apktool,教你去掉软件里的广告(只用于学习交流。
)给大家介绍下windows环境下使用Apktool的方法。
安装:1.先装JAVA环境,JDK/JRE都行,官网下载装过的就跳过吧!2.下载apktool.jar及相关文件,这里下apktool-1.0.0.tar.bz2和apktool-install-windows-2.1_r01-1.zip3.解压apktool.jar到C:Windows 解压apktool-install-windows.zip到任意文件夹(例如:E:Android学习工具反编译ApkTool)4.Win+R 运行CMD,用cd命令转到apktool-install-windows所在文件夹,输入apktool看看。
会列出一些帮助的话就成功了。
Apktool命令:apktool d XXX.apk PATH //反编译XXX.apk到文件夹PATHapktool b PATH //从文件夹PATH重建apk到PATHdistout.apk//============================================================ ========================//案例:“超级指南针”的顶部有一条广告区,我们的目的就是把它去掉。
运行cmd进入Apktool所在目录(我的是:“E:Android学习工具反编译ApkTool”)后,使用Apktool命令操作,如下现在在“E:Android学习.工具反编译新建文件夹指南针”目录下就得到了反编译后的文件,用记事本打开其中的AndroidManifest.xml,找到与下面类似的代码段:也就是找到有一连串字符序列的地方,如上CD0E46BC8B9DF1394F1E5F6030067A71和DEE43EDE-D2DF-4B4D-A754-894C9E7F960E两处,这两处分别是架势广告与admob提供的id地址。
apktool使用教程

apktool使用教程1.APKTool使用环境配置APKTool是GOOGLE提供的APK编译工具,需要JAVA运行环境,最新版本为JDK1.8。
安装后设置环境变量以方便其他程序能够调用JAVA:以WIN7为例,在桌面上右键点击计算机——>属性——>高级系统设置——>环境变量——>在下边的系统变量里新建一个变量,变量名为JAVA_HOME,值为JAVA的安装路径,比如我的是C:\Program Files (x86)\Java\jdk1.7.0_67 然后添加CLASSPATH .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\ tools.jar ;PATH %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin2.APKTool的使用apktool文件夹放在D盘根目录,应用改名为f.apk放在此文件夹下win+R然后输入cmd输入D:然后回车。
(D是说apktool所在的盘)输入cd apktool 然后回车(这个命令式说打开apktool这个文件夹)输入apktool if f.apk 然后回车(这个命令式说在CMD模式安装f.apk)输入apktool d f.apk 然后回车(这个命令是说反编译f.apk d 就是反编译的命令)然后apktool文件夹就会出现一个f的文件夹(接下去还要用到cmd,先不要关掉。
)f文件夹里面就是反编译出来的文件了,这样就可以用修改代码了(将xml修改为txt即可)。
修改文件名字: value/string/app_name修改完成后,就要回编译,在命令提示符中继续输入apktool b f (这个命令就是说回编译f文件夹,b是回编译,f是指F 文件夹)成功后,f文件夹中会出现一个dist的文件夹,里面有一个f.apk (有就是成功了,没有就是失败了)用APKSign给编译出来的文件签名即可安装。
AndroidAPK反编译apktool使用教程

AndroidAPK反编译apktool使⽤教程2017年棋牌游戏突然就⽕了,正所谓春江⽔暖鸭先知本猿处在软件⾏业中就能清晰的感受到市场的变化,最近⽼家那边也是玩的风⽣⽔起,于是最近闲暇时光想到反编译下这些棋牌软件,看看代码实现的思路(注:反编译不是让各位开发者去对⼀个应⽤破解搞重装什么的,主要⽬的是为了促进开发者学习,借鉴好的代码,提升⾃我开发⽔平。
)⼯具介绍:apktool作⽤:主要查看res⽂件下xml⽂件、AndroidManifest.xml和图⽚。
(注意:如果直接解压.apk⽂件,xml⽂件打开全部是乱码)dex2jar作⽤:将apk反编译成Java源码(classes.dex转化成jar⽂件)jd-gui作⽤:⽤来查看APK中classes.dex转化成出的jar⽂件,即源码⽂件2017年12⽉1⽇新版本apktool⽤法:1.下载两个⽂件apktool.bat和apktool.jar(这个如果你下载的⽂件有版本号,⽐如apktool_2.3.0.jar,就要改名字为apktool.jar),这⾥我已经打包好了传到了我的CSDN(),直接下载就OK了;2.然后把上⾯两个⽂件解压放到C:\Windows下⾯,放到这⾥是可以全局进⾏使⽤(我是windows系统,其他系统按照⾃⼰的来)如下图:3.使⽤⽅法把要解压的apk⽂件放在⾃⼰任意⼀个盘的⽬录下,在apk的⽬录下,按住shift+⿏标右键打开cmd⿊窗⼝如下图:接下来输⼊官⽅给的命令//当输⼊完这两个命令后apktool d test.apkapktool b test//出现如下图⼀样的说明就反编译成功了,在他的同级⽬录下就多出了⼀个⽂件夹,⾥⾯就是反编译出来的源码,具体有啥我就不细说了哈,⾃⼰慢慢研究吧!4.Apk反编译得到Java源代码下载上述⼯具中的dex2jar() 和 jd-gui() ,解压将要反编译的APK后缀名改为.rar或则 .zip,并解压,得到其中的额classes.dex⽂件(它就是java⽂件编译再通过dx⼯具打包⽽成的),将获取到的classes.dex放到之前解压出来的⼯具dex2jar-2.0⽂件夹内,在命令⾏下定位到d2j-dex2jar.bat所在⽬录(现在这个⽬录增加了许多命令,⼀定要看清楚哦),输⼊d2j-dex2jar.bat classes.dex效果如下:说明就成功了会看到同级⽬录下会⽣成⼀个classes_dex2jar.jar的⽂件,然后打开⼯具jd-gui⽂件夹⾥的jd-gui.exe,之后⽤该⼯具打开之前⽣成的classes_dex2jar.jar⽂件,便可以看到源码了,效果如下:通过反编译,你可以获知该应⽤⽤到了什么第3⽅的库⽂件,它的代码是如何编写的等等。
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-fr1.在步骤三的文件夹里建文件夹: values-zh-rCN,values-zh-rTW2.1复制values\strings.xml 到 values-zh-rCN 并翻译.2.2 去广告见:/wangjianh ... /07/05/2098563.html3.重建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.apkout.apk 即为没签名的apk, out_signed.apk 为签名的sign.bat 要改下:@echo OFFjava -jar signapk.jar testkey.x509.pem testkey.pk8 %1 %2--------------------------------- 以下是整理/摘选的---------------------------------在官网下载apktools 工具/p/android-apktool/apktool1.4.3.tar.bz2 和apktool-install-windows-r04-brut1.tar.bz2解压分别得到apktool.jar 和 apktool.bat , aapt.exe .把这3个文件复制到系统文件夹下面, 一般是C:\Windowsjd-jui: http://java.decompiler.free.fr/?q=jdguidex2jar : /p/dex2jar/downloads/list=================================================部分内容摘自: /afirefly/archive/2011/10/12/2208461.html一、工具准备:apktool , dex2jar , jd-gui工具包也可以在这里下载。
apktool参数详解

apktool参数详解Usage: apktool [-q|--quiet OR -v|--verbose] COMMAND [...]COMMANDs are:d[ecode] [OPTS] <file.apk> [<dir>]Decode <file.apk> to <dir>.OPTS:-s, --no-srcDo not decode sources.-r, --no-resDo not decode resources.-d, --debugDecode in debug mode. Check project page for more info.-f, --forceForce delete destination directory.-t <tag>, --frame-tag <tag>Try to use framework files tagged by <tag>.--keep-broken-resUse if there was an error and some resources were dropped, e.g.:"Invalid config flags detected. Dropping resources", but youwant to decode them anyway, even with errors. You will have tofix them manually before building.b[uild] [OPTS] [<app_path>] [<out_file>]Build an apk from already decoded application located in <app_path>.It will automatically detect, whether files was changed and performneeded steps only.If you omit <app_path> then current directory will be used.If you omit <out_file> then <app_path>/dist/<name_of_original.apk>will be used.OPTS:-f, --force-allSkip changes detection and build all files.-d, --debugBuild in debug mode. Check project page for more info.if|install-framework <framework.apk> [<tag>]Install framework file to your system.F:\TestFiles\apktool1.4.1>。
apktool反编译详细使用教程

apktool反编译详细使⽤教程安装反编⼯具地址apktool⼯具包下载地址apktool.rar1.⾸先安装需要JAVA环境,先下载JDK/JRE,已经有JAVA环境的可跳过此步java JDK:java JRE:还得设置JAVA环境变量CLASSPATH .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jarJAVA_HOME C:\Program Files\Java\jdk1.6.0_10 解释JAVA_HOME指明JDK安装路径,就是刚才安装时所选择的路径Path %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin环境变量配置好了,我们就可以反编译了,(如果有不明⽩的有两种⽅法,1,请教我,2在论坛搜搜怎么设置JAVA环境变量)反编译的使⽤反编译⼯具,⽹上有很多,有APKTOOL,Doapk ,apkmanage..........,你们可以随便下载⼀个,地址我就不提供了,你们⾃⼰搜索⼀下,上百度,上论坛上搜都有的,但apkTOOL⼯具必须包含⼀下⼏个下载完成反编译⼯具后,验证是否安装成功,点击开始菜单,运⾏,输⼊CMD回车按⼀下回车出现,在输⼊APKTOOl,输⼊apktool,要看腻把apkTOOL安装在哪个盘,举例我的,我是安装在D盘APkTOOL⽂件下,先在cmd下输⼊D:回车,在输⼊CD apktool,转⼊apktool⽂件夹下,输⼊apktool 出现如下反应,,说明你安装成功了,可以进⾏APK反编译了,下⾯我已反编译SystemUI.apk为例。
⾸先的知道⼀下⼏条指令的意思1,apktool d SysteUI.apk 12意思是将SystemUI.apk解包到12⽂件下,12⽂件夹不⽤创建,会⾃动⽣成2,apktool b 12打包12⽂件夹(将会⾃动把12⽂件夹⾥的修改过得APK解包后修改完后⾃动打包,⽣成resources.arsc,⽂件,这就是我们反编译的主要⽬的,当然还有其他⽬的,后⾯将会说明怎么apktool需要反编译的⽬的,⽣成的⽂件。
apktool汉化版教程

[其他应用]【个人发布】Apktool_v1.5.1 中文优化版发布,全面兼容ICS、JB
!
===============【前言】================
经过将近两个多月的测试,个人编译的汉化版apktool目前已经基本运行稳定ICS、Jelly Bean的Apk基本无障碍反、回编译,但不保证完全没有问题。
首先感谢原作者Brut.all的开发
其次感谢果子的指导和帮助~~
最后感谢帮助我测试的朋友们!
===============【截图】================
===============【下载】================ 压缩包内部已包含,反、回编译的组件以及一个批处理文件,详情看说明。
下载链接:
---=<[百度网盘下载]>=--
Android_T ools_Plus V10工具箱发布预告:
待工具箱最后测试无重大Bug之后,会第一时间在动机网以及我的QQ空间发布,目前,经过十几次版本的更新测试,基本功能没有太大的问题,我会将最新的apktool 植入工具箱内,预计9-20之前就能发布!。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
apktool 用法
apktool是一个用于反编译和重新打包Android应用的工具。
它可以帮助开发者分析应用的代码和资源,更好地理解应用的结构和功能。
以下是使用 apktool 的一些基本用法:
1. 反编译应用
使用命令 `apktool d [apk文件名]` 可以将一个应用反编译为其代码和资源文件。
反编译后的文件可以在指定的目录中找到。
2. 重新打包应用
使用命令 `apktool b [反编译后的目录]` 可以重新打包一个应用。
重新打包后的应用可以在指定的目录中找到。
3. 修改应用的代码和资源
在反编译后的目录中可以找到应用的代码和资源文件。
开发者可以对这些文件进行修改,并使用 apktool 打包成新的应用。
4. 查看应用的 AndroidManifest.xml 文件
使用命令 `apktool d [apk文件名]` 可以将一个应用反编译为其代码和资源文件,并在反编译后的目录中找到AndroidManifest.xml 文件。
这个文件包含了应用的所有信息,包括应用的权限、入口、组件等。
5. 使用 apktool 进行调试
在使用 apktool 进行反编译和重新打包应用时,可能会遇到一些问题。
开发者可以通过使用 apktool 的调试命令 `apktool
--debug` 来解决这些问题。
6. 使用 apktool 进行签名
在重新打包应用后,开发者需要对应用进行签名才能在设备上安装和运行。
使用命令 `apktool sign [apk文件名]` 可以对应用进行签名。
签名后的应用可以在指定的目录中找到。
总之,apktool 是一个非常有用的工具,可以帮助开发者更好地理解和修改 Android 应用。
但是,在使用 apktool 进行反编译和重新打包应用时需要小心,遵守相关法律法规,不要进行非法操作。