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,87 @@
.class Lcsdk/glucustomersupport/unity/UnityCustomerSupportFactory$1;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Ljava/util/concurrent/Callable;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcsdk/glucustomersupport/unity/UnityCustomerSupportFactory;->createCustomerSupport(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lcsdk/glucustomersupport/IGluCustomerSupport;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Ljava/util/concurrent/Callable<",
"Landroid/app/Activity;",
">;"
}
.end annotation
# instance fields
.field final synthetic this$0:Lcsdk/glucustomersupport/unity/UnityCustomerSupportFactory;
# direct methods
.method public constructor <init>(Lcsdk/glucustomersupport/unity/UnityCustomerSupportFactory;)V
.locals 0
iput-object p1, p0, Lcsdk/glucustomersupport/unity/UnityCustomerSupportFactory$1;->this$0:Lcsdk/glucustomersupport/unity/UnityCustomerSupportFactory;
.line 47
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public call()Landroid/app/Activity;
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.line 50
sget-object v0, Lcom/unity3d/player/UnityPlayer;->currentActivity:Landroid/app/Activity;
if-eqz v0, :cond_0
return-object v0
.line 52
:cond_0
new-instance v0, Ljava/lang/Error;
const-string v1, "Current activity is null."
invoke-direct {v0, v1}, Ljava/lang/Error;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public bridge synthetic call()Ljava/lang/Object;
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.line 47
invoke-virtual {p0}, Lcsdk/glucustomersupport/unity/UnityCustomerSupportFactory$1;->call()Landroid/app/Activity;
move-result-object v0
return-object v0
.end method

View File

@@ -0,0 +1,87 @@
.class Lcsdk/glucustomersupport/unity/UnityCustomerSupportFactory$UnityCustomerSupportListener;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Lcsdk/glucustomersupport/IGluCustomerSupportListener;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcsdk/glucustomersupport/unity/UnityCustomerSupportFactory;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "UnityCustomerSupportListener"
.end annotation
# instance fields
.field private final gameObject:Ljava/lang/String;
# direct methods
.method public constructor <init>(Ljava/lang/String;)V
.locals 0
.line 28
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lcsdk/glucustomersupport/unity/UnityCustomerSupportFactory$UnityCustomerSupportListener;->gameObject:Ljava/lang/String;
return-void
.end method
# virtual methods
.method public onHelpshiftSessionEnded(Lcsdk/glucustomersupport/GluCustomerSupportSessionEndedEvent;)V
.locals 2
iget-object v0, p0, Lcsdk/glucustomersupport/unity/UnityCustomerSupportFactory$UnityCustomerSupportListener;->gameObject:Ljava/lang/String;
const-string v1, "AndroidCustomerSupportOnHelpshiftSessionEnded"
.line 42
invoke-static {p1}, Lcsdk/glucustomersupport/util/JsonUtil;->toJson(Ljava/lang/Object;)Ljava/lang/String;
move-result-object p1
invoke-static {v0, v1, p1}, Lcom/unity3d/player/UnityPlayer;->UnitySendMessage(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
return-void
.end method
.method public onHelpshiftSessionStarted(Lcsdk/glucustomersupport/GluCustomerSupportSessionStartedEvent;)V
.locals 2
iget-object v0, p0, Lcsdk/glucustomersupport/unity/UnityCustomerSupportFactory$UnityCustomerSupportListener;->gameObject:Ljava/lang/String;
const-string v1, "AndroidCustomerSupportOnHelpshiftSessionStarted"
.line 38
invoke-static {p1}, Lcsdk/glucustomersupport/util/JsonUtil;->toJson(Ljava/lang/Object;)Ljava/lang/String;
move-result-object p1
invoke-static {v0, v1, p1}, Lcom/unity3d/player/UnityPlayer;->UnitySendMessage(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
return-void
.end method
.method public onQueryNotificationCount(Lcsdk/glucustomersupport/NotificationCountEvent;)V
.locals 2
iget-object v0, p0, Lcsdk/glucustomersupport/unity/UnityCustomerSupportFactory$UnityCustomerSupportListener;->gameObject:Ljava/lang/String;
const-string v1, "AndroidCustomerSupportOnQueryNotificationCount"
.line 34
invoke-static {p1}, Lcsdk/glucustomersupport/util/JsonUtil;->toJson(Ljava/lang/Object;)Ljava/lang/String;
move-result-object p1
invoke-static {v0, v1, p1}, Lcom/unity3d/player/UnityPlayer;->UnitySendMessage(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
return-void
.end method

View File

@@ -0,0 +1,86 @@
.class public Lcsdk/glucustomersupport/unity/UnityCustomerSupportFactory;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcsdk/glucustomersupport/unity/UnityCustomerSupportFactory$UnityCustomerSupportListener;
}
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
.line 24
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public createCustomerSupport(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lcsdk/glucustomersupport/IGluCustomerSupport;
.locals 2
.line 47
new-instance v0, Lcsdk/glucustomersupport/unity/UnityCustomerSupportFactory$1;
invoke-direct {v0, p0}, Lcsdk/glucustomersupport/unity/UnityCustomerSupportFactory$1;-><init>(Lcsdk/glucustomersupport/unity/UnityCustomerSupportFactory;)V
.line 57
invoke-static {p3}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v1
if-nez v1, :cond_0
.line 59
:try_start_0
invoke-static {p3}, Lcsdk/glucustomersupport/util/JsonUtil;->parseJsonObject(Ljava/lang/String;)Ljava/util/Map;
move-result-object p3
:try_end_0
.catch Lorg/json/JSONException; {:try_start_0 .. :try_end_0} :catch_0
goto :goto_0
:catch_0
move-exception p1
.line 61
invoke-static {p1}, Lcsdk/glucustomersupport/util/GluUtil;->propagate(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
move-result-object p1
throw p1
:cond_0
const/4 p3, 0x0
.line 66
:goto_0
new-instance v1, Lcsdk/glucustomersupport/GluFactory;
invoke-direct {v1}, Lcsdk/glucustomersupport/GluFactory;-><init>()V
invoke-static {p2}, Lcsdk/glucustomersupport/util/GluUtil;->emptyToNull(Ljava/lang/String;)Ljava/lang/String;
move-result-object p2
invoke-virtual {v1, v0, p2, p3}, Lcsdk/glucustomersupport/GluFactory;->createCustomerSupport(Ljava/util/concurrent/Callable;Ljava/lang/String;Ljava/util/Map;)Lcsdk/glucustomersupport/IGluCustomerSupport;
move-result-object p2
.line 67
new-instance p3, Lcsdk/glucustomersupport/unity/UnityCustomerSupportFactory$UnityCustomerSupportListener;
invoke-direct {p3, p1}, Lcsdk/glucustomersupport/unity/UnityCustomerSupportFactory$UnityCustomerSupportListener;-><init>(Ljava/lang/String;)V
invoke-interface {p2, p3}, Lcsdk/glucustomersupport/IGluCustomerSupport;->setListener(Lcsdk/glucustomersupport/IGluCustomerSupportListener;)V
return-object p2
.end method

View File

@@ -0,0 +1,272 @@
.class public Lcsdk/glucustomersupport/unity/UnityMarshallingUtil;
.super Ljava/lang/Object;
.source "SourceFile"
# direct methods
.method public constructor <init>()V
.locals 0
.line 9
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static clearUserActions(Lcsdk/glucustomersupport/IGluCustomerSupport;)V
.locals 0
return-void
.end method
.method public static close(Lcsdk/glucustomersupport/IGluCustomerSupport;)V
.locals 0
.line 47
invoke-interface {p0}, Lcsdk/glucustomersupport/IGluCustomerSupport;->close()V
return-void
.end method
.method public static logUserAction(Lcsdk/glucustomersupport/IGluCustomerSupport;Ljava/lang/String;)V
.locals 0
return-void
.end method
.method public static login(Lcsdk/glucustomersupport/IGluCustomerSupport;Ljava/lang/String;)V
.locals 0
.line 11
invoke-static {p1}, Lcsdk/glucustomersupport/util/JsonUtil;->toMap(Ljava/lang/String;)Ljava/util/Map;
move-result-object p1
invoke-interface {p0, p1}, Lcsdk/glucustomersupport/IGluCustomerSupport;->login(Ljava/util/Map;)V
return-void
.end method
.method public static logout(Lcsdk/glucustomersupport/IGluCustomerSupport;)V
.locals 0
.line 15
invoke-interface {p0}, Lcsdk/glucustomersupport/IGluCustomerSupport;->logout()V
return-void
.end method
.method public static queryNotificationCount(Lcsdk/glucustomersupport/IGluCustomerSupport;)V
.locals 0
.line 19
invoke-interface {p0}, Lcsdk/glucustomersupport/IGluCustomerSupport;->queryNotificationCount()V
return-void
.end method
.method public static setLanguageCode(Lcsdk/glucustomersupport/IGluCustomerSupport;Ljava/lang/String;)V
.locals 0
.line 75
invoke-interface {p0, p1}, Lcsdk/glucustomersupport/IGluCustomerSupport;->setLanguageCode(Ljava/lang/String;)V
return-void
.end method
.method public static setMetadata(Lcsdk/glucustomersupport/IGluCustomerSupport;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
.locals 6
.line 51
invoke-static {p3}, Lcsdk/glucustomersupport/util/JsonUtil;->toMap(Ljava/lang/String;)Ljava/util/Map;
move-result-object p3
.line 52
invoke-static {}, Lcsdk/glucustomersupport/util/GluUtil;->createMap()Ljava/util/Map;
move-result-object v0
.line 53
invoke-interface {p3}, Ljava/util/Map;->entrySet()Ljava/util/Set;
move-result-object p3
invoke-interface {p3}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object p3
:goto_0
invoke-interface {p3}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_1
invoke-interface {p3}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/util/Map$Entry;
.line 54
invoke-static {}, Lcsdk/glucustomersupport/util/GluUtil;->createMap()Ljava/util/Map;
move-result-object v2
.line 55
invoke-interface {v1}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v3
check-cast v3, Ljava/lang/String;
const-string v4, ":"
const/4 v5, 0x2
.line 57
invoke-virtual {v3, v4, v5}, Ljava/lang/String;->split(Ljava/lang/String;I)[Ljava/lang/String;
move-result-object v3
.line 58
array-length v4, v3
if-eq v5, v4, :cond_0
goto :goto_0
:cond_0
const/4 v4, 0x0
.line 62
aget-object v4, v3, v4
const/4 v5, 0x1
.line 63
aget-object v3, v3, v5
const-string v5, "type"
.line 65
invoke-interface {v2, v5, v4}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v4, "value"
.line 66
invoke-interface {v2, v4, v3}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 68
invoke-interface {v1}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/String;
invoke-interface {v0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
goto :goto_0
.line 70
:cond_1
invoke-static {p1}, Lcsdk/glucustomersupport/util/JsonUtil;->toMap(Ljava/lang/String;)Ljava/util/Map;
move-result-object p1
invoke-static {p2}, Lcsdk/glucustomersupport/util/JsonUtil;->toList(Ljava/lang/String;)Ljava/util/List;
move-result-object p2
invoke-interface {p0, p1, p2, v0}, Lcsdk/glucustomersupport/IGluCustomerSupport;->setMetadata(Ljava/util/Map;Ljava/util/List;Ljava/util/Map;)V
return-void
.end method
.method public static showConversation(Lcsdk/glucustomersupport/IGluCustomerSupport;Ljava/lang/String;)V
.locals 1
const-string v0, "GCC_SHOW_TYPE_CHAT"
.line 43
invoke-static {p1}, Lcsdk/glucustomersupport/util/JsonUtil;->toMap(Ljava/lang/String;)Ljava/util/Map;
move-result-object p1
invoke-interface {p0, v0, p1}, Lcsdk/glucustomersupport/IGluCustomerSupport;->show(Ljava/lang/String;Ljava/util/Map;)V
return-void
.end method
.method public static showDefault(Lcsdk/glucustomersupport/IGluCustomerSupport;Ljava/lang/String;)V
.locals 1
const-string v0, "GCC_SHOW_TYPE_DEFAULT"
.line 23
invoke-static {p1}, Lcsdk/glucustomersupport/util/JsonUtil;->toMap(Ljava/lang/String;)Ljava/util/Map;
move-result-object p1
invoke-interface {p0, v0, p1}, Lcsdk/glucustomersupport/IGluCustomerSupport;->show(Ljava/lang/String;Ljava/util/Map;)V
return-void
.end method
.method public static showFAQSection(Lcsdk/glucustomersupport/IGluCustomerSupport;Ljava/lang/String;Ljava/lang/String;)V
.locals 1
.line 37
invoke-static {p2}, Lcsdk/glucustomersupport/util/JsonUtil;->toMap(Ljava/lang/String;)Ljava/util/Map;
move-result-object p2
const-string v0, "GCC_SHOW_OPTION_FAQ_SECTION"
.line 38
invoke-interface {p2, v0, p1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string p1, "GCC_SHOW_TYPE_FAQ"
.line 39
invoke-interface {p0, p1, p2}, Lcsdk/glucustomersupport/IGluCustomerSupport;->show(Ljava/lang/String;Ljava/util/Map;)V
return-void
.end method
.method public static showFAQs(Lcsdk/glucustomersupport/IGluCustomerSupport;Ljava/lang/String;)V
.locals 1
const-string v0, "GCC_SHOW_TYPE_FAQ"
.line 27
invoke-static {p1}, Lcsdk/glucustomersupport/util/JsonUtil;->toMap(Ljava/lang/String;)Ljava/util/Map;
move-result-object p1
invoke-interface {p0, v0, p1}, Lcsdk/glucustomersupport/IGluCustomerSupport;->show(Ljava/lang/String;Ljava/util/Map;)V
return-void
.end method
.method public static showSingleFAQ(Lcsdk/glucustomersupport/IGluCustomerSupport;Ljava/lang/String;Ljava/lang/String;)V
.locals 1
.line 31
invoke-static {p2}, Lcsdk/glucustomersupport/util/JsonUtil;->toMap(Ljava/lang/String;)Ljava/util/Map;
move-result-object p2
const-string v0, "GCC_SHOW_OPTION_FAQ_ID"
.line 32
invoke-interface {p2, v0, p1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string p1, "GCC_SHOW_TYPE_FAQ"
.line 33
invoke-interface {p0, p1, p2}, Lcsdk/glucustomersupport/IGluCustomerSupport;->show(Ljava/lang/String;Ljava/util/Map;)V
return-void
.end method