Add Discord APKTool decompilation (Smali source for modding)

- Imported from https://github.com/supermegamestre/Project-Real-Resurrection-3
- APKTool decompilation (Smali bytecode) for modding and rebuilding APK
- Supports both 32-bit (armeabi-v7a) and 64-bit (arm64-v8a) architectures
- Includes full Smali source, resources, and native libraries
- Ready to rebuild APK after modifications with apktool b command
- Added comprehensive README-apktool.md with modding guide

This branch complements the JADX branches:
- Use JADX (main/discord-community) to UNDERSTAND code (readable Java)
- Use APKTool (this branch) to MODIFY and REBUILD APK (editable Smali)

Total: 44,417 files, 538.51 MB Smali source code
This commit is contained in:
2026-02-18 16:13:44 -08:00
parent c080f0d97f
commit f3960ee359
44288 changed files with 10998761 additions and 0 deletions

View File

@@ -0,0 +1,145 @@
.class public final Lkotlin/internal/PlatformImplementations$ReflectThrowable;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lkotlin/internal/PlatformImplementations;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "ReflectThrowable"
.end annotation
# static fields
.field public static final INSTANCE:Lkotlin/internal/PlatformImplementations$ReflectThrowable;
.field public static final addSuppressed:Ljava/lang/reflect/Method;
.field public static final getSuppressed:Ljava/lang/reflect/Method;
# direct methods
.method static constructor <clinit>()V
.locals 9
new-instance v0, Lkotlin/internal/PlatformImplementations$ReflectThrowable;
invoke-direct {v0}, Lkotlin/internal/PlatformImplementations$ReflectThrowable;-><init>()V
sput-object v0, Lkotlin/internal/PlatformImplementations$ReflectThrowable;->INSTANCE:Lkotlin/internal/PlatformImplementations$ReflectThrowable;
const-class v0, Ljava/lang/Throwable;
.line 23
invoke-virtual {v0}, Ljava/lang/Class;->getMethods()[Ljava/lang/reflect/Method;
move-result-object v1
.line 24
invoke-static {v1}, Lkotlin/jvm/internal/Intrinsics;->checkNotNull(Ljava/lang/Object;)V
array-length v2, v1
const/4 v3, 0x0
move v4, v3
:goto_0
const/4 v5, 0x0
if-ge v4, v2, :cond_1
aget-object v6, v1, v4
.line 25
invoke-virtual {v6}, Ljava/lang/reflect/Method;->getName()Ljava/lang/String;
move-result-object v7
const-string v8, "addSuppressed"
invoke-static {v7, v8}, Lkotlin/jvm/internal/Intrinsics;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v7
if-eqz v7, :cond_0
invoke-virtual {v6}, Ljava/lang/reflect/Method;->getParameterTypes()[Ljava/lang/Class;
move-result-object v7
const-string v8, "getParameterTypes(...)"
invoke-static {v7, v8}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V
invoke-static {v7}, Lkotlin/collections/ArraysKt;->singleOrNull([Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v7
invoke-static {v7, v0}, Lkotlin/jvm/internal/Intrinsics;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v7
if-eqz v7, :cond_0
goto :goto_1
:cond_0
add-int/lit8 v4, v4, 0x1
goto :goto_0
:cond_1
move-object v6, v5
:goto_1
sput-object v6, Lkotlin/internal/PlatformImplementations$ReflectThrowable;->addSuppressed:Ljava/lang/reflect/Method;
.line 27
array-length v0, v1
:goto_2
if-ge v3, v0, :cond_3
aget-object v2, v1, v3
invoke-virtual {v2}, Ljava/lang/reflect/Method;->getName()Ljava/lang/String;
move-result-object v4
const-string v6, "getSuppressed"
invoke-static {v4, v6}, Lkotlin/jvm/internal/Intrinsics;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_2
move-object v5, v2
goto :goto_3
:cond_2
add-int/lit8 v3, v3, 0x1
goto :goto_2
:cond_3
:goto_3
sput-object v5, Lkotlin/internal/PlatformImplementations$ReflectThrowable;->getSuppressed:Ljava/lang/reflect/Method;
return-void
.end method
.method public constructor <init>()V
.locals 0
.line 15
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method

View File

@@ -0,0 +1,61 @@
.class public abstract Lkotlin/internal/PlatformImplementations;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lkotlin/internal/PlatformImplementations$ReflectThrowable;
}
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
.line 13
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public addSuppressed(Ljava/lang/Throwable;Ljava/lang/Throwable;)V
.locals 1
const-string v0, "cause"
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
const-string v0, "exception"
invoke-static {p2, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
.line 32
sget-object v0, Lkotlin/internal/PlatformImplementations$ReflectThrowable;->addSuppressed:Ljava/lang/reflect/Method;
if-eqz v0, :cond_0
filled-new-array {p2}, [Ljava/lang/Object;
move-result-object p2
invoke-virtual {v0, p1, p2}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
:cond_0
return-void
.end method
.method public defaultPlatformRandom()Lkotlin/random/Random;
.locals 1
.line 45
new-instance v0, Lkotlin/random/FallbackThreadLocalRandom;
invoke-direct {v0}, Lkotlin/random/FallbackThreadLocalRandom;-><init>()V
return-object v0
.end method

View File

@@ -0,0 +1,22 @@
.class public abstract Lkotlin/internal/PlatformImplementationsKt;
.super Ljava/lang/Object;
.source "SourceFile"
# static fields
.field public static final IMPLEMENTATIONS:Lkotlin/internal/PlatformImplementations;
# direct methods
.method static constructor <clinit>()V
.locals 1
.line 51
new-instance v0, Lkotlin/internal/jdk8/JDK8PlatformImplementations;
invoke-direct {v0}, Lkotlin/internal/jdk8/JDK8PlatformImplementations;-><init>()V
sput-object v0, Lkotlin/internal/PlatformImplementationsKt;->IMPLEMENTATIONS:Lkotlin/internal/PlatformImplementations;
return-void
.end method

View File

@@ -0,0 +1,203 @@
.class public abstract Lkotlin/internal/ProgressionUtilKt;
.super Ljava/lang/Object;
.source "SourceFile"
# direct methods
.method public static final differenceModulo(III)I
.locals 0
.line 21
invoke-static {p0, p2}, Lkotlin/internal/ProgressionUtilKt;->mod(II)I
move-result p0
invoke-static {p1, p2}, Lkotlin/internal/ProgressionUtilKt;->mod(II)I
move-result p1
sub-int/2addr p0, p1
invoke-static {p0, p2}, Lkotlin/internal/ProgressionUtilKt;->mod(II)I
move-result p0
return p0
.end method
.method public static final differenceModulo(JJJ)J
.locals 0
.line 25
invoke-static {p0, p1, p4, p5}, Lkotlin/internal/ProgressionUtilKt;->mod(JJ)J
move-result-wide p0
invoke-static {p2, p3, p4, p5}, Lkotlin/internal/ProgressionUtilKt;->mod(JJ)J
move-result-wide p2
sub-long/2addr p0, p2
invoke-static {p0, p1, p4, p5}, Lkotlin/internal/ProgressionUtilKt;->mod(JJ)J
move-result-wide p0
return-wide p0
.end method
.method public static final getProgressionLastElement(III)I
.locals 0
if-lez p2, :cond_1
if-lt p0, p1, :cond_0
goto :goto_0
.line 46
:cond_0
invoke-static {p1, p0, p2}, Lkotlin/internal/ProgressionUtilKt;->differenceModulo(III)I
move-result p0
sub-int/2addr p1, p0
goto :goto_0
:cond_1
if-gez p2, :cond_3
if-gt p0, p1, :cond_2
goto :goto_0
:cond_2
neg-int p2, p2
.line 47
invoke-static {p0, p1, p2}, Lkotlin/internal/ProgressionUtilKt;->differenceModulo(III)I
move-result p0
add-int/2addr p1, p0
:goto_0
return p1
.line 48
:cond_3
new-instance p0, Ljava/lang/IllegalArgumentException;
const-string p1, "Step is zero."
invoke-direct {p0, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p0
.end method
.method public static final getProgressionLastElement(JJJ)J
.locals 7
const-wide/16 v0, 0x0
cmp-long v0, p4, v0
if-lez v0, :cond_1
cmp-long v0, p0, p2
if-ltz v0, :cond_0
goto :goto_0
:cond_0
move-wide v0, p2
move-wide v2, p0
move-wide v4, p4
.line 69
invoke-static/range {v0 .. v5}, Lkotlin/internal/ProgressionUtilKt;->differenceModulo(JJJ)J
move-result-wide p0
sub-long/2addr p2, p0
goto :goto_0
:cond_1
if-gez v0, :cond_3
cmp-long v0, p0, p2
if-gtz v0, :cond_2
goto :goto_0
:cond_2
neg-long v5, p4
move-wide v1, p0
move-wide v3, p2
.line 70
invoke-static/range {v1 .. v6}, Lkotlin/internal/ProgressionUtilKt;->differenceModulo(JJJ)J
move-result-wide p0
add-long/2addr p2, p0
:goto_0
return-wide p2
.line 71
:cond_3
new-instance p0, Ljava/lang/IllegalArgumentException;
const-string p1, "Step is zero."
invoke-direct {p0, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p0
.end method
.method public static final mod(II)I
.locals 0
.line 10
rem-int/2addr p0, p1
if-ltz p0, :cond_0
goto :goto_0
:cond_0
add-int/2addr p0, p1
:goto_0
return p0
.end method
.method public static final mod(JJ)J
.locals 2
.line 15
rem-long/2addr p0, p2
const-wide/16 v0, 0x0
cmp-long v0, p0, v0
if-ltz v0, :cond_0
goto :goto_0
:cond_0
add-long/2addr p0, p2
:goto_0
return-wide p0
.end method

View File

@@ -0,0 +1,92 @@
.class public final Lkotlin/internal/jdk7/JDK7PlatformImplementations$ReflectSdkVersion;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lkotlin/internal/jdk7/JDK7PlatformImplementations;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "ReflectSdkVersion"
.end annotation
# static fields
.field public static final INSTANCE:Lkotlin/internal/jdk7/JDK7PlatformImplementations$ReflectSdkVersion;
.field public static final sdkVersion:Ljava/lang/Integer;
# direct methods
.method static constructor <clinit>()V
.locals 3
new-instance v0, Lkotlin/internal/jdk7/JDK7PlatformImplementations$ReflectSdkVersion;
invoke-direct {v0}, Lkotlin/internal/jdk7/JDK7PlatformImplementations$ReflectSdkVersion;-><init>()V
sput-object v0, Lkotlin/internal/jdk7/JDK7PlatformImplementations$ReflectSdkVersion;->INSTANCE:Lkotlin/internal/jdk7/JDK7PlatformImplementations$ReflectSdkVersion;
const/4 v0, 0x0
:try_start_0
const-string v1, "android.os.Build$VERSION"
.line 16
invoke-static {v1}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v1
const-string v2, "SDK_INT"
invoke-virtual {v1, v2}, Ljava/lang/Class;->getField(Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v1
invoke-virtual {v1, v0}, Ljava/lang/reflect/Field;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
instance-of v2, v1, Ljava/lang/Integer;
if-eqz v2, :cond_0
check-cast v1, Ljava/lang/Integer;
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
goto :goto_0
:catchall_0
:cond_0
move-object v1, v0
:goto_0
if-eqz v1, :cond_1
.line 19
invoke-virtual {v1}, Ljava/lang/Number;->intValue()I
move-result v2
if-lez v2, :cond_1
move-object v0, v1
:cond_1
sput-object v0, Lkotlin/internal/jdk7/JDK7PlatformImplementations$ReflectSdkVersion;->sdkVersion:Ljava/lang/Integer;
return-void
.end method
.method public constructor <init>()V
.locals 0
.line 13
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method

View File

@@ -0,0 +1,86 @@
.class public abstract Lkotlin/internal/jdk7/JDK7PlatformImplementations;
.super Lkotlin/internal/PlatformImplementations;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lkotlin/internal/jdk7/JDK7PlatformImplementations$ReflectSdkVersion;
}
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
.line 11
invoke-direct {p0}, Lkotlin/internal/PlatformImplementations;-><init>()V
return-void
.end method
.method private final sdkIsNullOrAtLeast(I)Z
.locals 1
.line 22
sget-object v0, Lkotlin/internal/jdk7/JDK7PlatformImplementations$ReflectSdkVersion;->sdkVersion:Ljava/lang/Integer;
if-eqz v0, :cond_1
invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
move-result v0
if-lt v0, p1, :cond_0
goto :goto_0
:cond_0
const/4 p1, 0x0
goto :goto_1
:cond_1
:goto_0
const/4 p1, 0x1
:goto_1
return p1
.end method
# virtual methods
.method public addSuppressed(Ljava/lang/Throwable;Ljava/lang/Throwable;)V
.locals 1
const-string v0, "cause"
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
const-string v0, "exception"
invoke-static {p2, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
const/16 v0, 0x13
.line 27
invoke-direct {p0, v0}, Lkotlin/internal/jdk7/JDK7PlatformImplementations;->sdkIsNullOrAtLeast(I)Z
move-result v0
if-eqz v0, :cond_0
.line 28
invoke-virtual {p1, p2}, Ljava/lang/Throwable;->addSuppressed(Ljava/lang/Throwable;)V
goto :goto_0
.line 30
:cond_0
invoke-super {p0, p1, p2}, Lkotlin/internal/PlatformImplementations;->addSuppressed(Ljava/lang/Throwable;Ljava/lang/Throwable;)V
:goto_0
return-void
.end method

View File

@@ -0,0 +1,92 @@
.class public final Lkotlin/internal/jdk8/JDK8PlatformImplementations$ReflectSdkVersion;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lkotlin/internal/jdk8/JDK8PlatformImplementations;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "ReflectSdkVersion"
.end annotation
# static fields
.field public static final INSTANCE:Lkotlin/internal/jdk8/JDK8PlatformImplementations$ReflectSdkVersion;
.field public static final sdkVersion:Ljava/lang/Integer;
# direct methods
.method static constructor <clinit>()V
.locals 3
new-instance v0, Lkotlin/internal/jdk8/JDK8PlatformImplementations$ReflectSdkVersion;
invoke-direct {v0}, Lkotlin/internal/jdk8/JDK8PlatformImplementations$ReflectSdkVersion;-><init>()V
sput-object v0, Lkotlin/internal/jdk8/JDK8PlatformImplementations$ReflectSdkVersion;->INSTANCE:Lkotlin/internal/jdk8/JDK8PlatformImplementations$ReflectSdkVersion;
const/4 v0, 0x0
:try_start_0
const-string v1, "android.os.Build$VERSION"
.line 34
invoke-static {v1}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v1
const-string v2, "SDK_INT"
invoke-virtual {v1, v2}, Ljava/lang/Class;->getField(Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v1
invoke-virtual {v1, v0}, Ljava/lang/reflect/Field;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
instance-of v2, v1, Ljava/lang/Integer;
if-eqz v2, :cond_0
check-cast v1, Ljava/lang/Integer;
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
goto :goto_0
:catchall_0
:cond_0
move-object v1, v0
:goto_0
if-eqz v1, :cond_1
.line 37
invoke-virtual {v1}, Ljava/lang/Number;->intValue()I
move-result v2
if-lez v2, :cond_1
move-object v0, v1
:cond_1
sput-object v0, Lkotlin/internal/jdk8/JDK8PlatformImplementations$ReflectSdkVersion;->sdkVersion:Ljava/lang/Integer;
return-void
.end method
.method public constructor <init>()V
.locals 0
.line 31
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method

View File

@@ -0,0 +1,80 @@
.class public Lkotlin/internal/jdk8/JDK8PlatformImplementations;
.super Lkotlin/internal/jdk7/JDK7PlatformImplementations;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lkotlin/internal/jdk8/JDK8PlatformImplementations$ReflectSdkVersion;
}
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
.line 27
invoke-direct {p0}, Lkotlin/internal/jdk7/JDK7PlatformImplementations;-><init>()V
return-void
.end method
# virtual methods
.method public defaultPlatformRandom()Lkotlin/random/Random;
.locals 1
const/16 v0, 0x22
.line 58
invoke-virtual {p0, v0}, Lkotlin/internal/jdk8/JDK8PlatformImplementations;->sdkIsNullOrAtLeast(I)Z
move-result v0
if-eqz v0, :cond_0
new-instance v0, Lkotlin/random/jdk8/PlatformThreadLocalRandom;
invoke-direct {v0}, Lkotlin/random/jdk8/PlatformThreadLocalRandom;-><init>()V
goto :goto_0
:cond_0
invoke-super {p0}, Lkotlin/internal/PlatformImplementations;->defaultPlatformRandom()Lkotlin/random/Random;
move-result-object v0
:goto_0
return-object v0
.end method
.method public final sdkIsNullOrAtLeast(I)Z
.locals 1
.line 40
sget-object v0, Lkotlin/internal/jdk8/JDK8PlatformImplementations$ReflectSdkVersion;->sdkVersion:Ljava/lang/Integer;
if-eqz v0, :cond_1
invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
move-result v0
if-lt v0, p1, :cond_0
goto :goto_0
:cond_0
const/4 p1, 0x0
goto :goto_1
:cond_1
:goto_0
const/4 p1, 0x1
:goto_1
return p1
.end method