apktool用法
- 格式:docx
- 大小:36.66 KB
- 文档页数:1
【转】⼀步⼀步带你反编译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⽂件内接⼝地址。
android技巧:apk文件反编译以及签名打包(dex2jar&jd,apktool,apk-sign)通过dex2jar和jd我们可以反编译apk中的dex,可以比较完美的查看java源文件;通过apktool可以反编译apk中的xml等资源文件,然后通过apk-sign签名,可以制作成修改版的可发布apk文件。
1.dex2jar反编译dex文件:a.下载文件见附件:apktool-1.3.1.tar.bz2,jd-gui.zip,或点击这里下载;解压;b.把apk文件后缀名改为.zip,然后解压缩其中的class.dex文件,它是java文件编译再通过dx工具打包成的,所以现在我们就用上述提到的2个工具来逆方向导出java源文件;c.把class.dex拷贝到dex2jar.bat所在目录,运行dex2jar.bat class.dex,生成classes.dex.dex2jar.jar ;d.运行jd-gui工具(绿色无须安装),打开上面生成的jar文件,即可看到源代码;2.apktool反编译xml等资源文件:a.安装java环境,下载文件件附件:apktool-1.3.1.tar.bz2,apktool-install-windows-2.2_r01-2.tar.bz2,或点击这里下载;把这两个文件解压到同一目录下,该目录下cmd中运行apktool获得帮助信息;b.apktool d XXX.apk ABC 反编译XXX.apk到文件夹ABCc.apktool b ABC 从反编译后的文件夹ABC重建APK,输出到ABC\dist\out.apkd.这样我们就可以把远apk文件通过反编译后,然后对里面资源文件作修改,然后再重建为apk即可;3.apk-sign签名apk文件:a.下载文件件附件apk-sign.rar,解压到apk-sign文件夹;b.将XXX.apk文件解压到XXX文件夹,然后将XXX直接拖到apk-sign文件中的sign_pack.bat批处理文件上以执行,弹出cmd执行窗口,等待执行完即可;c.生成新文件夹XXX_signed中的apk文件即为已签名;apktool用法C:\Documents and Settings\Administrator>cd e:E:\C:\Documents and Settings\Administrator>e:E:\>cd android_devE:\android_dev>cd apk反编译E:\android_dev\apk反编译>apktool.batApktool v1.3.2 - a tool for reengineering Android apk filesCopyright 2010 Ryszard Wi?niewski <brut.alll@>Apache License 2.0 (/licenses/LICENSE-2.0) Usage: apktool [-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 you want 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.For additional info, see: /p/android-apktool/ E:\android_dev\apk反编译>。
用安卓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使用教程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使⽤教程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⽅的库⽂件,它的代码是如何编写的等等。
简单的总结几个关键步骤:一、工具准备: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参数详解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.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需要反编译的⽬的,⽣成的⽂件。
APK反编译相关下面就来说说如何将一个apk反编译出来。
一、准备必要工具工欲善其事,必先利其器,首先我们要下载好反编译apk时需要的相关工具1.1、使用工具1.apktool (资源文件获取)2.dex2jar(源码文件获取)3.jd-gui (源码查看)1.2、工具介绍apktool作用:资源文件获取,可以提取出图片文件和布局文件进行使用查看dex2jar作用:将apk反编译成java源码(classes.dex转化成jar文件)jd-gui作用:查看APK中classes.dex转化成出的jar文件,即源码文件1.3工具下载apktool下载地址:https:///iBotPeaches/apktool/downloads 下载好之后得到一个如下图所示的jar文件dex2jar下载地址:/projects/dex2jar/files/下载完成之后,得到一个如下图所示的压缩包jd-gui下载地址:http://jd.benow.ca/下载完成之后,得到一个如下图所示的压缩包:到此,需要使用到的3个相关工具都下载好了,在这里说明一下jd-gui的下载,我从官方网站上点击下载时会经常出现如下图所示的问题但是多试几次又可以下载了,所以如果有遇到这个问题的朋友们不妨多试几次,或者从别的地方下载jd-gui,jd-gui算是做Java开发的一个必备工具了,用它来将class反编译成java源代码是非常方便的,网上搜索一下一般都可以下载到,只不过版本不一定是最新的。
二、Apk反编译流程为了方便进行反编译,我们将上述下载好的3个工具统一放到一个文件夹中,例如:然后将【dex2jar-2.0.zip】和【jd-gui-windows-1.3.0.zip】分别解压到当前文件夹,如下图所示:2.1、使用apktool反编译apk得到图片、XML配置、语言资源等文件进入CMD命令行,如下:切换到上述的3个工具的所在目录,如:E:\AndroidDevelopTool\Android反编译工具包接下来我们要做的就是运行apktool_2.0.1.jar这个jar文件来将apk文件进行反编译,在java 中,运行可执行jar包的命令是:java -jar jar包名.jar使用如下的命令运行apktool_2.0.1.jar反编译MMTS-release-1.0.2.apkjava -jar apktool_2.0.1.jar d -f E:\AndroidDevelopTool\Android反编译工具包\测试apk\MMTS-release-1.0.2.apk -o MMTS这个命令是启动apktool_2.0.1.jar将位于【E:\AndroidDevelopTool\Android反编译工具包\测试apk\】目录下的"MMTS-release-1.0.2.apk"这个apk反编译,然后将反编译生成的文件存放到当前目录(apktool_2.0.1.jar所在的目录,也就是"E:\AndroidDevelopTool\Android反编译工具包"目录)下的一个【MMTS】文件夹中。
手机,电脑反编译apk教程电脑端反编译教程:用apktool反编译工具1.Windows徽标键+R 弹出运行对话框输入cmd ,回车;会弹出命令提示符窗口2.输入:“E:”回车(其中E为盘符,apktool在哪个盘就输入哪个盘的盘符)3.输入:“cd apktool”回车(其中apktool为反编译工具所在文件夹)4.提取手机framework文件夹里面的framework-res.apk和mediatek-res.apk放到apktool文件夹中去5.输入命令:“apktool if framework-res.apk”回车;等他结束后继续输入:“apktool if mediatek-res.apk”同样回车6.进入正题!反编译命令:“apktool d 程序名.apk” 例如:apktool d Settings.apk为反编译Settings.apk回编译命令:“apktool b 要回编译的文件夹” 例如:apktool b Settings为回编译Settings文件夹为apk安装包文件7.反编译工具下载地址:/s/1mUjFY下载后解压缩,有文件夹apktool 直接放到本地硬盘里面,例如E 盘的根目录若把apktool文件夹放到了文件夹里面,那么在cmd窗口里时输命令就要多增加一步cd到文件夹的步骤教程到此结束!手机端反编译教程工具:apktool3.2操作步骤:1.下载工具,地址:/s/1cVHA解压缩“手机apktool3.2.7z”把里面的apktool文件夹直接放到手机内存卡的根目录2.在手机上打开刚刚的apktool文件夹,安装里面的Apktool3.2.apk3.用re管理器把system\framework\framework-res.apk复制到刚刚的apktool文件夹中重命名为framework.apk4.打开手机菜单,点击运行安装好的Apktool进入到内存卡的apktool文件夹中,按下菜单键,有个“安装framework”,点击它!会弹出一些帮助信息,在此不介绍了,按照它说的做5.可以正式开始反编译了!把要反编译的apk放到apktool目录下,运行Aapktool软件,进入apktool目录,单击欲反编译的那个apk 安装包,选择反编译全部,然后就等他搞定!6.搞定后会生成一个文件夹,名称格式为“被反编译的文件名_src”例如:Settings_src 这个文件夹就是被反编译后的apk的目录7.回编译的话你就点击“被反编译的文件名_src”例如:Settings_src ,点击后有一个“编译”选项,点击它!等待回编译结束。
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 进行反编译和重新打包应用时需要小心,遵守相关法律法规,不要进行非法操作。
paktool用法apktool是一款用于反编译和重新编译Android APK文件的工具。
以下是apktool的基本用法:1.安装apktool:首先需要下载并安装apktool。
可以在官网或其他可信来源下载最新版本的apktool。
2.解包APK文件:使用apktool解包APK文件,命令如下:phpapktool d <APK文件路径>其中,<APK文件路径>是你要解包的APK文件的路径。
3.编译APK文件:使用apktool重新编译APK文件,命令如下:phpapktool b <APK文件路径>其中,<APK文件路径>是你要编译的APK文件的路径。
编译后会在当前目录下生成一个新的APK文件。
4.签名APK文件:如果你需要将编译后的APK文件进行签名,可以使用以下命令:phpapksigner sign --key <密钥文件路径> --cert <证书文件路径> <APK文件路径>其中,<密钥文件路径>是你要使用的密钥文件的路径,<证书文件路径>是你要使用的证书文件的路径,<APK文件路径>是你要签名的APK文件的路径。
5.安装APK文件:最后,你可以使用以下命令将编译并签名后的APK 文件安装到设备上:phpadb install <APK文件路径>其中,<APK文件路径>是你要安装的APK文件的路径。
以上是apktool的基本用法,你可以根据需要进行进一步的探索和使用。
请注意,在使用apktool时需要遵守相关法律法规和隐私政策,不要用于非法用途。
apktools用法apktools是一种在Android应用程序开发中常用的工具,它可以帮助开发者对APK文件进行解包、重新打包和签名等操作。
下面是关于apktools用法的详细介绍。
首先,要正确使用apktools,你需要将其安装在你的计算机上。
你可以从官方网站或者其他可信渠道下载安装程序,并按照安装向导进行安装。
安装完成后,你可以在命令行中使用apktools命令。
1. 解包APK文件使用以下命令来解包一个APK文件:```apktool d app.apk```其中,app.apk是你要解包的APK文件的名称。
执行完这个命令后,你会在当前目录下生成一个与APK文件同名的文件夹,里面包含了解包后的APK文件的各个组件。
2. 修改APK文件一旦你成功解包一个APK文件,你可以随意修改文件中的内容。
你可以编辑res文件夹中的资源文件,修改manifest文件中的应用程序信息,或者修改smali文件中的代码逻辑。
修改完成后,保存所有文件的改动。
3. 重新打包APK文件修改完APK文件后,你可以使用以下命令重新打包APK文件:```apktool b app -o new_app.apk```其中,app是你解包后得到的文件夹的名称,new_app.apk是重新打包后的APK文件的名称。
执行完这个命令后,会在当前目录下生成一个新的APK文件。
4. 签名APK文件如果你要将重新打包后的APK文件用于发布或者安装到设备上,你需要为它签名。
签名APK文件可以保证文件的完整性和来源可靠性。
你可以使用Java的keytool工具来生成签名密钥,并使用jarsigner工具来对APK文件进行签名。
总结来说,apktools是一个非常有用的工具,可以帮助开发者对APK文件进行解包、修改和重新打包等操作。
熟练掌握apktools的用法,能够提高Android应用程序开发的效率和灵活性。
因此,掌握apktools的使用方法对于Android开发者来说是非常重要的。
Android apktool 工具使用apktool可以将apk反编译为smail格式的汇编语言代码, 也可重新编译 smail为dex文件,进而打包为apk,通过signapk工具签名.一. apktool 工具提供的命令1. 反编译.apktool d [decode] <apk-file> [apk文件] outdir [输出目录]2. 回编译apktool b [build] <apk-file> <out-path>二. ddx.jar 实现.dex反汇编java -jar ddx.jar -d [反编译后的文件输出目录] <dex文件路径>eg:java -jar ddx.jar -d ddxout Hello.dex三. smali 和 baksmali 相关命令1. 将.dex文件反汇编为smali语言格式java -jar baksmali.jar -o [编译后的smali文件输入目录] <dex文件路径>eg:java -jar baksmali.jar -oF:\Workspace\CWorkspace\ReverseDemo01\bin\baksmaliF:\Workspace\CWorkspace\ReverseDemo01\bin\classes.dex具体:.class public LHelloReverse;.super Ljava/lang/Object;.source "HelloReverse.java"# direct methods.method public constructor <init>()V.registers 1.prologue.line 2invoke-direct {p0}, Ljava/lang/Object;-><init>()Vreturn-void.end method.method public static main([Ljava/lang/String;)V.registers 5.prologue.line 5new-instance v0, LHelloReverse;invoke-direct {v0}, LHelloReverse;-><init>()V.line 6const/4 v1, 0x5const/4 v2, 0x3invoke-virtual {v0, v1, v2}, LHelloReverse;->foo(II)Imove-result v0.line 7sget-object v1, Ljava/lang/System;->err:Ljava/io/PrintStream; new-instance v2, Ljava/lang/StringBuilder;invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()Vconst-string v3, "foo: "invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;move-result-object v2invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;move-result-object v0invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;move-result-object v0invoke-virtual {v1, v0}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V.line 8return-void.end method# virtual methods.method public foo(II)I.registers 5.prologue.line 11add-int v0, p1, p2sub-int v1, p1, p2mul-int/2addr v0, v1return v0.end method。
用APKTool对Android程序进行汉化及去除广告全攻略之初步汉化这是一篇关于如何使用APKTool对Android程序进行汉化的详细教材。
我力求把过程讲得简单明了,并配以屏幕截图帮助理解。
工欲善其事,必先利其器。
1、请首先确认电脑里面已经安装了JDK1.6(其实有JRE1.6也足够了),并正常运作(例如,在命令提示符里输入java –version能够出来版本信息)。
2、已经安装了Android-SDK,并建立了模拟运行环境。
没有也没关系,有一支Android手机并且已经安装好usb连接驱动也可以。
不过一般情况下我并不推荐在实机上直接调试程序,比较危险。
3、下载我整理打包的APKTool(http://zenz.ourcafe.mobi/files/android/APKTool.zip),里面实际上包含了三个工具。
apkool,反编译和编译Android程序的工具sign,签署Android文件的工具adb,调试程序的工具把下载到的APKTool随便解压到哪个你认为操作方便的目录即可(例如桌面上)(图1)好,都准备好了,我们就可以开始实战了,我们在这里用GTD Timer来讲解吧,程序比较小巧,开发比较规范,因此汉化起来也比较快。
首先,我们把GTD Timer 安装到模拟器或者手机里然后运行,可以看到,这个程序是没有中文资源的,只显示英文。
而且,这个程序还有广告。
(见图2)下面我们就动手把这个程序汉化并去掉广告吧。
(图2)第一步,对程序进行反编译:这一步是非常简单的,只要在apktool解压的目录运行:C:\Users\Simon\Desktop\APKTool>apktool d ..\info.sunote.android.gtdtimer.apk gtdtimer就会出现下面的内容I: Baksmaling...I: Decoding resource table...I: Decoding resources...I: Copying assets and libs...Apktool的开关自己运行apktool就可以看到了,我们这里把精力集中在汉化和除广告上面。
前提条件:JDK已经安装并可正常运行APKTool反编译工具安装操作指南1.Apktoos.jar与apktool/aapt.exe放入同一个文件夹下,如下图2.运行cmd,cd apktool文件夹目录如:cd D:\CNR-央广视讯\Tools\Android_apktool反编译\Apktools 3.输入apktool,检查是否成功,如下图表示成功APKTool使用指南:1.将apk反编译至当前文件夹下,命令:apktool d xxx.apk如下图:2.将已反编译apk包重建,并输出至该文件夹下/dist/out.apk Apktool b当前要重建apk文件夹路径;例如:apktool b C:\Users\qjy\Desktop\apkTools\MyWeiXinAPK签名大体可以分为三个步骤:1.使用keytool工具生成一个密钥,文件名为xxxx.keystore(如:mcking.keystore)2.使用jarsigner工具对未签名的APK签名3.使用jarsigner工具验证APK是否签名成功1.生成密钥具体操作如下:1.开始->运行输入“cmd”回车,如图2.输入命令行:keytool-genkey-keystore C:\Users\qjy\Desktop\QJY\qjytest2.keystore-alias qjytest02-keyalg RSA-validity20000keytool-genkey-keystore C:\Users\qjy\Desktop\QJY\qjytest2.keystore-alias qjytest02-keyalg RSA-validity20000keytool密钥生成工具-genkey生成一个密钥-keystore密钥存储(这里为C:\Users\qjy\Desktop\QJY\qjytest2.keystore)-alias密钥别名(qjytest02)-keyalg加密方式(使用RSA)-validity密钥有效时间(这里为20000)完成后,在C:\Users\qjy\Desktop\QJY目录下生成如下keystore文件其中:输入keystore密码:是keysore文件的密码Re-enter new password:再次输入密码您的名字与姓氏是什么?:输入你的名字您的组织单位名称是什么?:输入单位名字您的组织名称是什么?:输入组织名称您所在的城市或区域名称是什么?:输入城市名称您所在的州或省份名称是什么?:输入省份名称CN=mcking,OU=,O=,L=sz,ST=gd,C=cn 正确吗?[否]:y(确认输入信息Y回车,修改直接回车)输入<mcking>的主密码(如果和keystore密码相同,按回车):二、用密钥签名APK1输入命令行:jarsigner-verbose-keystore D:\mcking.keystore-signedjarC:\Users\McKing\Desktop\test_signed.apk C:\Users\McKing\Desktop\test.apk mckingjarsigner为Java签名工具-verbose签名时输出信息-keystore签名的密钥(这里在d盘根目录的mcking.keystore)-signedjar签名后的apk位置(这里为C:\Users\McKing\Desktop\test_signed.apk)C:\Users\McKing\Desktop\test.apk(为需要签名的apk文件)mcking(密钥的别名)举例:jarsigner-verbose-keystore C:\Users\qjy\Desktop\QJY\qjytest2.keystore -signedjar C:\Users\qjy\Desktop\CNRL010051.apk C:\Users\qjy\Desktop\QJY\CNRL010051.apk qjytest02签名完成后,如下图:在C:\Users\qjy\Desktop\路径下自动生成已签名的文件:3.判断apk签名是否成功输入命令行:jarsigner-verify C:\Users\qjy\Desktop\CNRL010051.apk回车如若出现:jar已验证则签名成功其中命令行-verify输出验证信息C:\Users\qjy\Desktop\CNRL010051.apk(为要验证的apk路径)。
基本知识1、apk安装包的文件结构以知名桌面软件“LauncherPro”为例,apk安装包文件目录如下图:文件目录如下:- META-INF- res- anim- color- drawable- drawable-hdpi- drawable-land- drawable-land-hdpi- drawable-mdpi- drawable-port- drawable-port-hdpi- layout- layout-land- layout-port- xml- AndroidManifest.xml- classes.dex- resources.arsc- 多数情况都要汉化的是resources.arsc、classes.dex和res文件夹里的***.xml文件。
- META-INF文件夹里面存放的是证书文件,软件修改后需要将里面的证书文件删除(***.RSA、***.SF、***.MF三个文件)再重新签名,否则软件无法安装。
- res文件夹里存放的大部分是软件所需的资源及布局文件(drawable存放资源、layout、xml存放布局文件***.xml),部分需要汉化的单词、语句会在这些***.xml文件里。
- AndroidManifest.xml文件里包含了软件名称、版本、权限、引用的库文件等信息。
极少数软件在这个文件里会有单词、语句需要汉化。
- classes.dex文件是Java源码编译后的代码文件。
通常该文件里都有单词、语句需要汉化。
- resources.arsc文件是编译后的资源文件,大多数情况下,需要汉化的单词、语句绝大多数都在这个文件里,汉化的时候首先就要看这个文件。
* 另外,一些需要汉化的***.png图片文件、***.html文件、***.txt文件可能会在assets文件夹或res/raw文件夹内。
图片文件需要用Photoshop修改,html、txt文件可以直接用Notepad++ Portable文本编辑工具修改(不建议用系统自带的记事本,这东西杀伤无数...)。
很多APKTool和signapk工具,使用结果不理想,老是会出现一些问题,现将工具重新整合修改,分享给需要的人。
一.工具包使用环境:XP、JDK环境1,JDK:sun官方下载页面/technetwork/java/javase/downloads/index.html(点击Download JDK按钮),下载后直接全默认安装JDK 1.6,最好默认C盘,如果在别的盘,下面的路径自行对应修改。
2,设置环境变量:JA V A_HOME、PATH、CLASSPA THJA V A_HOME:我的电脑->属性->高级->单击“环境变量”按钮->单击“系统变量”区域的“新建”按钮->在“变量名”文本框中输入JA V A_HOME,在“变量值”文本框中输入JDK的安装路径(列如C:\Program Files\Java\jdk1.6.0_24),单击确定PATH:在系统变量中查看PATH变量,如果存在PATH,则在最末尾多添加一个%JA V A_HOME%\bin;(直接添加,连;也加上,无需加空格之类的,以下相同)。
如果不存在,则新建变量PATH,设定变量值为:%JA V A_HOME%\bin;CLASSPATH:在系统变量中查看CLASSPATH变量,如果存在CLASSPA TH,则在最末尾添加%JA V A_HOME%lib\dt.jar;%JA V A_HOME%\lib\tools.jar;。
如果不存在,则新建一个,设定变量值为:%JA V A_HOME%lib\dt.jar;%JA V A_HOME%\lib\tools.jar;3,完成以上步骤后,开始验证是否安装成功。
运行CMD(开始,运行,输入cmd,回车),输入javac,回车,假如出现了一堆如何使用java的帮助,那就是已经安装成功了。
如果没有显示java的帮助那么就重新设置环境变量,把A V A_HOME、PA TH、CLASSPATH都删除掉,按2上的步骤重新建立即可。
Apktool 语法Apktool 是一款用于反编译和重新打包 Android APK 文件的工具。
它可以帮助您查看APK 文件的内容,修改其中的资源文件,并在重新打包后运行 APK 文件。
Apktool 的语法非常简单,主要由以下几个部分组成:命令: Apktool 命令用于指定要执行的操作。
最常见的命令是 d(反编译)、b(重新打包)和 i(查看信息)。
参数:参数用于指定命令的具体选项。
例如,-f 参数用于指定要反编译的 APK 文件,-o 参数用于指定反编译后的输出目录。
文件路径:文件路径用于指定要操作的文件。
例如,d myapp.apk 命令将反编译 myapp.apk 文件,b myapp 命令将重新打包 myapp 目录下的文件。
Apktool 命令Apktool 最常用的命令如下:d:反编译 APK 文件。
b:重新打包 APK 文件。
i:查看 APK 文件的信息。
help:显示帮助信息。
Apktool 参数Apktool 的参数非常丰富,可以满足各种不同的需求。
最常用的参数如下:-f:指定要反编译/重新打包的 APK 文件。
-o:指定反编译后的输出目录/重新打包后的 APK 文件。
-p:指定 APK 文件的签名密钥。
-v:显示详细的输出信息。
-s:静默模式,不显示任何输出信息。
Apktool 文件路径Apktool 的文件路径可以是绝对路径,也可以是相对路径。
相对路径是相对于当前目录的路径。
例如,d myapp.apk 命令将反编译当前目录下的 myapp.apk 文件,b myapp 命令将重新打包当前目录下的 myapp 目录下的文件。
Apktool 示例以下是一些 Apktool 的使用示例:反编译 myapp.apk 文件:d myapp.apk重新打包 myapp 目录下的文件:b myapp查看 myapp.apk 文件的信息:i myapp.apk显示帮助信息:helpApktool 常见问题Apktool 最常见的几个问题如下:反编译后的文件无法重新打包:这是因为反编译后的文件缺少签名密钥。
apktool用法
Apktool 是一款开源、跨平台的反编译工具,可以将Android应用程序(.apk
文件)解包为可编辑源代码,然后将编辑源代码打包回.apk文件。
Apktool可以对Android应用进行反编译、修改、重新打包,支持多种Android手
机的系统,包括Android 2.0,Android 4.0和更高版本,广泛应用于安卓应用的安
全分析、混淆、修改等方面。
Apktool的使用步骤非常简单,首先可以下载工具安装包。
将安装包解压缩,
此时会出现apktool.jar这个文件,这就是Apktool可执行文件,双击即可运行Apktool,接下来就可以开始反编译。
首先,选择需要反编译的.apk文件,命令格
式为:java -jar apktool.jar 反编译目标.apk,输入完成就能完成反编译工作,反编译结果会生成一个文件夹,编辑完成后再次执行反编译命令,apktool.jar就可以
将.apk文件的混淆还原,并生成一个新的文件夹。
如果需要重新组装apk,只需要执行重新打包命令,将apk文件重新组装起来,pack.apk 是新生成的重新组装包。
通过Apktool,可以轻松实现apk反编译、重新
打包,大大方便了Android应用的开发,扩展非常丰富的自定义开发能力,极大提升安卓应用的可玩性和安全性。