seaweedfs 无法执行二进制文件_AndroidKillerMainactivity.smali文件已丢失,无法执行打开操作解决...

准备开始学习安卓逆向,在Android-Killer的使用上遇到了问题。

我使用Android-Studio生成了一个apk,准备用Android-Killer进行反编译。

9ec6063f37c098bcec707c78f9b1e612.png

拖进Android-Killer后,一直报mainactivity.smali文件已丢失,无法执行打开操作这个错误。刚开始以为是jdk版本的问题,换成了教程里的jdk1.7这个问题仍然存在。

9d2629db689635c83b04a62c01a19393.png

但是在反编译生成的文件中,可以看到mainactivity.smali文件是存在的。

39d35bc6abec5c30a175f3bff80196f7.png

网上有人说这是Android-Studio 2.0以上的Instant Run功能,帮助开发者快速调试代码。因此AS生成的debug版本apk文件与release版本的apk目录项目不同。但是AS 4.0中已经找不到Instant Run这个选项了。

那索性就直接生成release版本的apk好了,build ->  Geberate signed apk

b1dfcaa7a09abbd726a8fc682f8b3d44.png

选择一个加密密钥,没有就生成一个

af097c0e67cec72042c26f770bfd878d.png

生成release版本

fb8303e9c10964e7f9f91f772a586023.png

82832d20173a1eeb5c028cfd50da241c.png

用Android Killer打开,可以正常反编译以及重打包签名

f42fdf853cd260f801ef16243548b337.png

此解决方法的缺点是AS生成release版本apk的速度远不如debug版本快。

环境搭建参考

https://www.52pojie.cn/thread-844248-1-1.html

### 回答1: apktool是一个用于反编译和重新编译Android应用程序的工具。它帮助开发人员了解和修改应用程序的内部结构。apktool_2.6.1.jar是apktool的一个特定版本。 使用apktool_2.6.1.jar的一般步骤如下: 1. 下载apktool_2.6.1.jar文件和与之兼容的Java运行环境(JRE)。 2. 打开终端或命令行窗口,并导航到包含apktool_2.6.1.jar文件的目录。 3. 接下来,你可以使用以下命令行选项之一来使用apktool_2.6.1.jar: - "apktool d <apk路径>":这个命令用于反编译指定的APK文件。APK文件将被解压缩到当前目录的子目录中。你可以在这个子目录中找到应用程序的资源、XML文件、源代码等。 - "apktool b <反编译目录>":这个命令用于重新编译先前反编译的应用程序。指定的反编译目录将被重新打包成一个新的APK文件。 4. 根据你的需求,你可以在反编译期间使用其他选项,如"--no-src"(不反编译源代码)和"--force"(强制覆盖目标文件)。 总而言之,apktool_2.6.1.jar是一个功能强大的工具,它允许你反编译和重新编译Android应用程序。它提供了命令行界面,使你能够轻松地修改应用程序的资源、XML文件和源代码。通过使用适当的命令行选项,你可以定制反编译和重新编译过程,以满足你的具体需求。 ### 回答2: apktool_2.6.1.jar 是一个用于反编译和编译Android APK文件的工具。以下是它的一些用法: 1. 反编译APK文件:通过运行以下命令,可以将APK文件解析为其源代码和资源文件: java -jar apktool_2.6.1.jar d filename.apk 这将在当前目录下创建一个新的文件夹,其中包含解析出的源代码和资源文件。 2. 编辑应用程序代码:在反编译APK文件后,可以编辑解析出的源代码。你可以使用任何文本编辑器进行修改,以实现对应用程序的必要更改。 3. 重新编译APK文件:在完成对源代码的修改后,可以重新编译APK文件,使用以下命令: java -jar apktool_2.6.1.jar b foldername "foldername" 是解析出的源代码文件夹的名称。这将重新打包和编译应用程序,并在当前目录中生成一个新的APK文件。 4. 安装APK文件:你可以使用adb工具或将生成的APK文件传输到你的Android设备上,并通过点击进行安装。 需要注意的是,使用apktool_2.6.1.jar 时需要先安装Java运行环境。此外,apktool还具有其他选项和功能,可以通过运行"java -jar apktool_2.6.1.jar"命令查看帮助文档以获取更多信息和用法示例。 总之,apktool_2.6.1.jar 是一个方便的工具,可以帮助开发人员进行Android APK文件的反编译和编译,以便进行应用程序的修改和定制。 ### 回答3: apktool_2.6.1.jar 是一种用于反编译和编译APK文件的工具。下面是一些关于使用 apktool_2.6.1.jar 的常见用法说明: 1. 反编译:使用以下命令将 APK 文件反编译为其包含的资源文件Smali 代码: java -jar apktool_2.6.1.jar d <apk文件路径> -o <输出目录> 例如:java -jar apktool_2.6.1.jar d app.apk -o output/ 反编译后的资源文件将会存储在 output/ 目录中,可以在这里查看和修改应用程序的资源。 2. 编译:使用以下命令将修改后的资源文件Smali 代码编译回 APK 文件: java -jar apktool_2.6.1.jar b <输入目录> -o <输出APK文件路径> 例如:java -jar apktool_2.6.1.jar b output/ -o modified_app.apk 编译过程会将修改后的资源文件Smali 代码重新打包为一个 APK 文件,保存到指定的输出路径中。 3. 重新签名:由于反编译和编译过程会破坏应用程序的签名,所以需要重新对 APK 文件进行签名。可以使用 Android SDK 中的工具进行签名,例如 jarsigner。 例如:jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore <你的密钥库文件路径> -storepass <密钥库密码> modified_app.apk <密钥库别名> 这样,重新签名后的 APK 文件就可以安装在 Android 设备上了。 这些是 apktool_2.6.1.jar 常见的用法。通过反编译和编译 APK 文件,可以查看和修改应用程序的源码、资源和配置文件等内容,帮助开发人员进行应用程序的逆向工程或定制化开发。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值