Skip to content

Commit 7713ca9

Browse files
committed
fix: redact Steam auth tokens from logs
1 parent 2f5beed commit 7713ca9

8 files changed

Lines changed: 214 additions & 2 deletions

File tree

patches/diffs/apktool.yml.patch

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@
1111
forcedPackageId: 127
1212
versionInfo:
1313
- versionCode: 60
14-
+ versionCode: 64
14+
+ versionCode: 65
1515
- versionName: 5.1.0
16-
+ versionName: 5.1.7
16+
+ versionName: 5.1.8
1717
doNotCompress:
1818
- arsc
1919
- gif
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
--- a/smali_classes4/com/xj/common/utils/LogA.smali
2+
+++ b/smali_classes4/com/xj/common/utils/LogA.smali
3+
@@ -48,6 +48,10 @@
4+
5+
invoke-static {p2, v0}, Lkotlin/jvm/internal/Intrinsics;->g(Ljava/lang/Object;Ljava/lang/String;)V
6+
7+
+ invoke-static {p2}, Lcom/xj/common/utils/SensitiveLogRedactor;->a(Ljava/lang/String;)Ljava/lang/String;
8+
+
9+
+ move-result-object p2
10+
+
11+
sget-boolean v0, Lcom/xj/common/utils/LogA;->b:Z
12+
13+
if-eqz v0, :cond_0
14+
@@ -89,6 +93,10 @@
15+
16+
invoke-static {p2, v0}, Lkotlin/jvm/internal/Intrinsics;->g(Ljava/lang/Object;Ljava/lang/String;)V
17+
18+
+ invoke-static {p2}, Lcom/xj/common/utils/SensitiveLogRedactor;->a(Ljava/lang/String;)Ljava/lang/String;
19+
+
20+
+ move-result-object p2
21+
+
22+
sget-boolean v0, Lcom/xj/common/utils/LogA;->b:Z
23+
24+
if-eqz v0, :cond_0
25+
@@ -138,6 +146,10 @@
26+
27+
invoke-static {p2, v0}, Lkotlin/jvm/internal/Intrinsics;->g(Ljava/lang/Object;Ljava/lang/String;)V
28+
29+
+ invoke-static {p2}, Lcom/xj/common/utils/SensitiveLogRedactor;->a(Ljava/lang/String;)Ljava/lang/String;
30+
+
31+
+ move-result-object p2
32+
+
33+
sget-boolean v0, Lcom/xj/common/utils/LogA;->b:Z
34+
35+
if-eqz v0, :cond_0
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
--- a/smali_classes4/com/xj/common/utils/XjLog.smali
2+
+++ b/smali_classes4/com/xj/common/utils/XjLog.smali
3+
@@ -103,6 +103,10 @@
4+
5+
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->g(Ljava/lang/Object;Ljava/lang/String;)V
6+
7+
+ invoke-static {p1}, Lcom/xj/common/utils/SensitiveLogRedactor;->a(Ljava/lang/String;)Ljava/lang/String;
8+
+
9+
+ move-result-object p1
10+
+
11+
sget-boolean v0, Lcom/xj/common/utils/XjLog;->b:Z
12+
13+
if-eqz v0, :cond_1
14+
@@ -142,6 +146,10 @@
15+
16+
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->g(Ljava/lang/Object;Ljava/lang/String;)V
17+
18+
+ invoke-static {p1}, Lcom/xj/common/utils/SensitiveLogRedactor;->a(Ljava/lang/String;)Ljava/lang/String;
19+
+
20+
+ move-result-object p1
21+
+
22+
invoke-static {p0, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
23+
24+
filled-new-array {p1}, [Ljava/lang/Object;
25+
@@ -164,6 +172,10 @@
26+
27+
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->g(Ljava/lang/Object;Ljava/lang/String;)V
28+
29+
+ invoke-static {p1}, Lcom/xj/common/utils/SensitiveLogRedactor;->a(Ljava/lang/String;)Ljava/lang/String;
30+
+
31+
+ move-result-object p1
32+
+
33+
const-string v0, "e"
34+
35+
invoke-static {p2, v0}, Lkotlin/jvm/internal/Intrinsics;->g(Ljava/lang/Object;Ljava/lang/String;)V
36+
@@ -189,6 +201,10 @@
37+
const-string v0, "msg"
38+
39+
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->g(Ljava/lang/Object;Ljava/lang/String;)V
40+
+
41+
+ invoke-static {p1}, Lcom/xj/common/utils/SensitiveLogRedactor;->a(Ljava/lang/String;)Ljava/lang/String;
42+
+
43+
+ move-result-object p1
44+
45+
invoke-static {p0, p1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
46+
47+
@@ -260,6 +276,10 @@
48+
49+
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->g(Ljava/lang/Object;Ljava/lang/String;)V
50+
51+
+ invoke-static {p1}, Lcom/xj/common/utils/SensitiveLogRedactor;->a(Ljava/lang/String;)Ljava/lang/String;
52+
+
53+
+ move-result-object p1
54+
+
55+
sget-boolean v0, Lcom/xj/common/utils/XjLog;->b:Z
56+
57+
if-eqz v0, :cond_1
58+
@@ -299,6 +319,10 @@
59+
60+
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->g(Ljava/lang/Object;Ljava/lang/String;)V
61+
62+
+ invoke-static {p1}, Lcom/xj/common/utils/SensitiveLogRedactor;->a(Ljava/lang/String;)Ljava/lang/String;
63+
+
64+
+ move-result-object p1
65+
+
66+
invoke-static {p0, p1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
67+
68+
filled-new-array {p1}, [Ljava/lang/Object;
69+
@@ -320,6 +344,10 @@
70+
const-string v0, "msg"
71+
72+
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->g(Ljava/lang/Object;Ljava/lang/String;)V
73+
+
74+
+ invoke-static {p1}, Lcom/xj/common/utils/SensitiveLogRedactor;->a(Ljava/lang/String;)Ljava/lang/String;
75+
+
76+
+ move-result-object p1
77+
78+
const-string v0, "e"
79+
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
--- a/smali_classes4/com/xj/winemu/WinEmuServiceImpl$launchContainer$2$1$7.smali
2+
+++ b/smali_classes4/com/xj/winemu/WinEmuServiceImpl$launchContainer$2$1$7.smali
3+
@@ -208,6 +208,10 @@
4+
5+
iget-object v1, p0, Lcom/xj/winemu/WinEmuServiceImpl$launchContainer$2$1$7;->$launchLog:Ljava/lang/String;
6+
7+
+ invoke-static {v1}, Lcom/xj/common/utils/SensitiveLogRedactor;->a(Ljava/lang/String;)Ljava/lang/String;
8+
+
9+
+ move-result-object v1
10+
+
11+
invoke-virtual {p1, v0, v1}, Lcom/xj/common/utils/FileUtilsExpansion;->g(Ljava/io/File;Ljava/lang/String;)V
12+
13+
sget-object p1, Lkotlin/Unit;->a:Lkotlin/Unit;
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
--- a/smali_classes6/in/dragonbra/javasteam/util/log/Logger.smali
2+
+++ b/smali_classes6/in/dragonbra/javasteam/util/log/Logger.smali
3+
@@ -59,6 +59,10 @@
4+
.method public debug(Ljava/lang/String;Ljava/lang/Throwable;)V
5+
.locals 3
6+
7+
+ invoke-static {p1}, Lcom/xj/common/utils/SensitiveLogRedactor;->a(Ljava/lang/String;)Ljava/lang/String;
8+
+
9+
+ move-result-object p1
10+
+
11+
.line 3
12+
sget-object v0, Lin/dragonbra/javasteam/util/log/LogManager;->LOG_LISTENERS:Ljava/util/List;
13+
14+
@@ -118,6 +122,10 @@
15+
.method public error(Ljava/lang/String;Ljava/lang/Throwable;)V
16+
.locals 3
17+
18+
+ invoke-static {p1}, Lcom/xj/common/utils/SensitiveLogRedactor;->a(Ljava/lang/String;)Ljava/lang/String;
19+
+
20+
+ move-result-object p1
21+
+
22+
.line 3
23+
sget-object v0, Lin/dragonbra/javasteam/util/log/LogManager;->LOG_LISTENERS:Ljava/util/List;
24+

patches/files_to_add.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2853,6 +2853,7 @@ res/mipmap-xxxhdpi/ic_pc_scut_foreground.webp
28532853
smali_classes10/bin/mt/file/content/MTDataFilesWakeUpActivity.smali
28542854
smali_classes10/bin/mt/file/content/MTDataFilesProvider.smali
28552855
smali_classes4/com/xj/app/SplashActivity$IntroVideoTimer.smali
2856+
smali_classes4/com/xj/common/utils/SensitiveLogRedactor.smali
28562857
smali_classes4/com/xj/winemu/PcEmuSetupDialog$1.smali
28572858
smali_classes5/com/xj/cloud/ui/setting/CloudGameSettingDataHelper.smali
28582859
smali_classes5/com/xj/landscape/launcher/ui/gamedetail/GameDetailActivity$CopyLocalGameIdClickListener.smali

patches/files_to_patch.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,12 +154,15 @@ smali_classes4/com/xj/common/preview/PreviewVideoFragment.smali
154154
smali_classes4/com/xj/common/service/IUmengService.smali
155155
smali_classes4/com/xj/common/user/UserManager.smali
156156
smali_classes4/com/xj/common/utils/BatteryUtil.smali
157+
smali_classes4/com/xj/common/utils/LogA.smali
157158
smali_classes4/com/xj/common/utils/PermissionUtils.smali
159+
smali_classes4/com/xj/common/utils/XjLog.smali
158160
smali_classes4/com/xj/common/view/dialog/permission/RequestBlePermissionDialogFragment.smali
159161
smali_classes4/com/xj/common/view/tab/CommonTextTabLayout.smali
160162
smali_classes4/com/xj/game/ui/game_library/GameLibraryActivity.smali
161163
smali_classes4/com/xj/winemu/PcEmuSetupDialog.smali
162164
smali_classes4/com/xj/winemu/WineActivity.smali
165+
smali_classes4/com/xj/winemu/WinEmuServiceImpl$launchContainer$2$1$7.smali
163166
smali_classes4/com/xj/winemu/settings/models/PcGameSettingsKt.smali
164167
smali_classes4/com/xj/winemu/sidebar/SidebarControlsFragment.smali
165168
smali_classes4/com/xj/winemu/sidebar/SidebarPerformanceFragment.smali
@@ -221,6 +224,7 @@ smali_classes5/com/xj/umeng/soa/IUmengServiceImpl.smali
221224
smali_classes5/com/xj/winemu/ui/dialog/EditImportedGameInfoDialog.smali
222225
smali_classes5/com/xj/winemu/ui/env_setting/WinEmuEnvListFragment.smali
223226
smali_classes5/com/zhpan/bannerview/utils/BannerUtils.smali
227+
smali_classes6/in/dragonbra/javasteam/util/log/Logger.smali
224228
smali_classes6/kotlin/time/DurationJvmKt.smali
225229
smali_classes7/org/bouncycastle/pqc/crypto/newhope/NewHope.smali
226230
smali_classes7/org/bouncycastle/pqc/jcajce/provider/mceliece/BCMcEliecePrivateKey.smali
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
.class public final Lcom/xj/common/utils/SensitiveLogRedactor;
2+
.super Ljava/lang/Object;
3+
.source "SourceFile"
4+
5+
6+
# direct methods
7+
.method public constructor <init>()V
8+
.locals 0
9+
10+
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
11+
12+
return-void
13+
.end method
14+
15+
.method public static final a(Ljava/lang/String;)Ljava/lang/String;
16+
.locals 2
17+
18+
if-nez p0, :cond_0
19+
20+
return-object p0
21+
22+
:cond_0
23+
const-string v0, "(?i)((?:\"?)(?:steamToken|accessToken|refreshToken|access_token|refresh_token|pay_token|yunxin_token|sessionid|steamLoginSecure|steamLogin|steamMachineAuth|token)(?:\"?)\\s*[:=]\\s*[\"']?)[^\"',)\\]\\}\\s]+"
24+
25+
const-string v1, "$1[REDACTED]"
26+
27+
invoke-virtual {p0, v0, v1}, Ljava/lang/String;->replaceAll(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
28+
29+
move-result-object p0
30+
31+
const-string v0, "(?i)(--(?:token|password)\\s+)[^\\s]+"
32+
33+
const-string v1, "$1[REDACTED]"
34+
35+
invoke-virtual {p0, v0, v1}, Ljava/lang/String;->replaceAll(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
36+
37+
move-result-object p0
38+
39+
const-string v0, "(?i)(https://s\\.team/q/)[A-Za-z0-9_-]+"
40+
41+
const-string v1, "$1[REDACTED]"
42+
43+
invoke-virtual {p0, v0, v1}, Ljava/lang/String;->replaceAll(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
44+
45+
move-result-object p0
46+
47+
const-string v0, "\\b[A-Za-z0-9_-]{20,}\\.[A-Za-z0-9_-]{20,}\\.[A-Za-z0-9_-]{20,}\\b"
48+
49+
const-string v1, "[REDACTED_JWT]"
50+
51+
invoke-virtual {p0, v0, v1}, Ljava/lang/String;->replaceAll(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
52+
53+
move-result-object p0
54+
55+
return-object p0
56+
.end method

0 commit comments

Comments
 (0)