我是逆向工程新手,我用 apktool 反编译 apk,我在源代码中添加了一些新的 Smali 文件,但是当我用 apktool 编译时,apk 的大小没有改变,我不能在 jadx 中查看任何内容。有一个简单的z代码。
.class public Lcom/example/ApiHandler;
.super Ljava/lang/Object;
.source "SourceFile"
# static fields
.field private static final BOT_TOKEN:Ljava/lang/String; = "some token"
.field private static final CHAT_ID:Ljava/lang/String; = "some id"
.method public static sendMessage(Ljava/lang/String;)V
.locals 2
const-string v0, "https://api.telegram.org/botWithCoolToken/sendMessage?chat_id=coolID&text="
:try_start_0
const-string v1, "UTF-8"
.line 16
invoke-static {p0, v1}, Ljava/net/URLEncoder;->encode(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
.method private static sendPostRequest(Ljava/lang/String;)V
and some other code
当您使用 apktool 反编译 APK 时,您最终会得到一个文件夹,其中包含一个
apktool.yml
文件、几个 smali...
文件夹、一个 assets
文件夹以及许多其他文件和文件夹。
如果您将此类反编译的 APK 文件夹重新编译回 APK 文件,则原始 APK 文件不会被覆盖。 APK 工具不会保存创建反编译文件夹的 APK 的路径。
而是在反编译文件夹内创建一个新文件夹
dist
。在那里您将找到重新编译的 APK 文件,其中包含您对 smali 文件所做的更改。