本文目录一览:
- 1、Android 将 apk 反编译为源码
- 2、怎么反编译禁止apk权限
- 3、apk反编译/回编译
- 4、apktool反编译后能达到免杀效果吗
- 5、用apktool工具反编译apk后怎么得到源码
- 6、如何利用apktool反编译apk
Android 将 apk 反编译为源码
将 apk 解压,在解压后的文件夹中可以找到 classes.dex 文件。(除了 classes.dex 文件,可能还会有 classes2.dex , classes3.dex 等等,本文以 classes.dex 为例,对其他几个 dex 文件的操作是类似的)
使用 dex2jar 工具,将 dex 文件转换为 jar 文件
使用方式:
执行命令后,生成的 classes-dex2jar.jar 就是我们需要的 jar 文件。
使用 Luyten 工具查看 jar 文件,就能看到反编译后的源码了。
本例中, classes.dex 文件中存储的是 android 的一些基础库,实际编写的源码在 classes3.dex 中,对 classes3.dex 执行第二步,查看生成的 classes3-dex2jar.jar 文件,可以看到如下内容:
这就是反编译 apk 的基本操作了。
Cmder 是一个非常好用的命令行工具。
效果如下:
只需要执行 apk2jar 命令,就可以实现把 apk 解压到 apk_ 文件夹中,并将 apk_ 文件夹中的 classes.dex 文件转换为 jar 。原理就是通过 Cmder 添加别名,把上述的第一步和第二步中执行的命令行组合起来了。
为 Cmder 添加别名很简单,编辑 Cmder安装目录\config\user_aliases.cmd 文件,将别名添加到里面即可。本例添加的别名如下:
其中:
怎么反编译禁止apk权限
1、使用apktool反编译apk文件,找到AndroidManifest.xml文件,修改相应权限的属性为false。
2、使用dex2jar工具将apk文件转换为jar文件,然后使用JD-GUI工具反编译jar文件,查找相关的权限代码,修改或删除相关的权限代码。
3、使用Androguard工具反编译apk文件,查找相关的权限代码,修改或删除相关的权限代码。
apk反编译/回编译
再次记录一次apk反编译/回编译过程,链接失效请留言,会及时更新。
参考博客:
首先,我们需要一个apk,下图是Android Studio编写并打包的一个apk。
其实apk就相当于一个zip压缩包,通过 WinRar 工具可以对其解压缩,像这样:
此时,祭出我们的神器---- apktool ,当当当当~~~~~~~。
一行命令进行apk反编译:
apktool d -r app-debug.apk 一定要加入参数 -r ,不然后面回编译回报错。
apk反编译到此结束。
回编译就是通过 apk反编译 生成的目录文件转换成一个apk。
十分简单的一行命令:
apktool b app-debug
此时安装apk到手机无法安装成功,还需要对apk进行签名才能安装。
1.生成key.keystore
keytool -genkey -alias key.keystore -keyalg RSA -validity 30000 -keystore key.keystore
可以看到key.keystore已经生成。
2.对apk进行签名
可用于没有签名和已经签名的apk,再次签名。
jarsigner -verbose -keystore [keystorePath] -signedjar [apkOut] [apkin] [alias]
命令格式及参数意义:
-verbose - 输出签名过程的详细信息
-keystore [keystorePath] - 密钥的库的位置
-signedjar [apkOut] - 签名后的输出文件名
[apkin] - 待签名的文件名
[alias] - 证书别名
jarsigner -verbose -keystore key.keystore -signedjar app-debug_signed.apk app-debug.apk key.keystore
回编译完成。
apktool反编译后能达到免杀效果吗
能。apktool是一个Android反编译时常用的apk资源提取工具,apktool反编译后能达到免杀效果,能够查看并提取apk中的源代码、图片、XML配置、语言的资源,并可以重新打包反编译得到的资源,该工具没有GUI操作界面。
用apktool工具反编译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.在步骤三的文件夹xxx_xml/res/ 下, 建文件夹: values-zh-rCN,values-zh-rTW
2.1复制values\strings.xml 到 values-zh-rCN 并翻译.
2.2 去广告见;
3.重建APK,用命令(apktool b xxx) ,输出到ABC/dist/out.apk
或命令( apktool b xxx out.apk)
六、重新打包 和 签名
如何利用apktool反编译apk
下载apktool所需文件:
a、 apktool1.5.2.tar.bz2
b、apktool-install-windows-r05-ibot.tar.bz2 (windows系统)
解压刚刚下载的文件,并将解压的文件放入C:\Windows目录下。
启动控制台,输入apktool,回车可查看到apktool工具常用指令。
新建一个文件夹,用于存放apk及待解压的文件,这里笔者将文件夹建在D:\apk目录,同时放入用于测试的android app包(test.apk)。
控制台输入:apktool d D:\apk\test.apk D:\apk\test 进行反编译操作。
中句话中“D:\apk\test.apk”指apk存放位置,“D:\apk\test”指反编译后文件存放的位置 。
反编译成功之后,进入D:\apk\test文件目录可以查看到反编译后的文件。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, website.service08@gmail.com 举报,一经查实,本站将立刻删除。