From 901684c411b1645395f805e9e7e983f186ead0f8 Mon Sep 17 00:00:00 2001 From: Mars Buttfield-Addison Date: Mon, 9 Jun 2025 19:18:22 +1000 Subject: [PATCH 1/7] Added additional Yarn Spinner pattern to detect post-IL2CPP files This should detect games like The Berlin Apartment which are currently false negatives. --- rules.ini | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/rules.ini b/rules.ini index 1897192e2..988140feb 100644 --- a/rules.ini +++ b/rules.ini @@ -358,7 +358,8 @@ Vorbis = vorbis Wwise[] = (?:^|/)Ak(?:Unity)?SoundEngine(?:dll)?\.(?:bundle|dll)$ Wwise[] = (?:^|/)WwiseGDNative\.dll$ XAudio2 = (?:^|/)xaudio2_9redist\.dll$ -Yarn_Spinner = (?:^|/)YarnSpinner\.dll$ +Yarn_Spinner[] = (?:^|/)YarnSpinner\.dll$ +Yarn_Spinner[] = (?:^|/)Yarn\.System\.(?:Buffers|Memory|Numerics\.Vectors)\.dll-resources.dat ZStandard = (?:^|/)zstd\.dll$ [Launcher] From 7905ea4cff8adc6eda9f6a3844fbd82aa19fb4ac Mon Sep 17 00:00:00 2001 From: Mars Buttfield-Addison Date: Mon, 9 Jun 2025 19:29:36 +1000 Subject: [PATCH 2/7] Test cases for new IL2CPP Yarn Spinner patterns --- tests/types/SDK.Yarn_Spinner.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/types/SDK.Yarn_Spinner.txt b/tests/types/SDK.Yarn_Spinner.txt index 3bd331a73..780ee5770 100644 --- a/tests/types/SDK.Yarn_Spinner.txt +++ b/tests/types/SDK.Yarn_Spinner.txt @@ -1,3 +1,6 @@ /YarnSpinner.dll YarnSpinner.dll NightInTheWoods_Data/Managed/YarnSpinner.dll +Night In The Woods_Data/il2cpp_data/Resources/Yarn.System.Numerics.Vectors.dll-resources.dat +Night In The Woods_Data/il2cpp_data/Resources/Yarn.System.Memory.dll-resources.dat +Night In The Woods_Data/il2cpp_data/Resources/Yarn.System.Buffers.dll-resources.dat From 3cb495d071bfe83aa32df99b522699ff4cd761cb Mon Sep 17 00:00:00 2001 From: Mars Buttfield-Addison Date: Tue, 10 Jun 2025 09:27:51 +1000 Subject: [PATCH 3/7] Added line-ending character --- rules.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rules.ini b/rules.ini index 988140feb..1e991e1fe 100644 --- a/rules.ini +++ b/rules.ini @@ -359,7 +359,7 @@ Wwise[] = (?:^|/)Ak(?:Unity)?SoundEngine(?:dll)?\.(?:bundle|dll)$ Wwise[] = (?:^|/)WwiseGDNative\.dll$ XAudio2 = (?:^|/)xaudio2_9redist\.dll$ Yarn_Spinner[] = (?:^|/)YarnSpinner\.dll$ -Yarn_Spinner[] = (?:^|/)Yarn\.System\.(?:Buffers|Memory|Numerics\.Vectors)\.dll-resources.dat +Yarn_Spinner[] = (?:^|/)Yarn\.System\.(?:Buffers|Memory|Numerics\.Vectors)\.dll-resources.dat$ ZStandard = (?:^|/)zstd\.dll$ [Launcher] From 1949992bfa7f9c12c8c0d8d76cc36f2180561b23 Mon Sep 17 00:00:00 2001 From: Mars Buttfield-Addison Date: Tue, 10 Jun 2025 14:25:22 +1000 Subject: [PATCH 4/7] Minimised rules for Yarn Spinner detected with or without IL2CPP --- rules.ini | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/rules.ini b/rules.ini index 1e991e1fe..4cf62f734 100644 --- a/rules.ini +++ b/rules.ini @@ -358,8 +358,7 @@ Vorbis = vorbis Wwise[] = (?:^|/)Ak(?:Unity)?SoundEngine(?:dll)?\.(?:bundle|dll)$ Wwise[] = (?:^|/)WwiseGDNative\.dll$ XAudio2 = (?:^|/)xaudio2_9redist\.dll$ -Yarn_Spinner[] = (?:^|/)YarnSpinner\.dll$ -Yarn_Spinner[] = (?:^|/)Yarn\.System\.(?:Buffers|Memory|Numerics\.Vectors)\.dll-resources.dat$ +Yarn_Spinner = Yarn(?:-|_|\s|\.)?(?:Spinner|System) ZStandard = (?:^|/)zstd\.dll$ [Launcher] From 7d20cba813cc2d4beb4039ecf2118df8bc9828de Mon Sep 17 00:00:00 2001 From: Mars Buttfield-Addison Date: Tue, 10 Jun 2025 14:28:13 +1000 Subject: [PATCH 5/7] Update NonMatchingTests for more permissive Yarn Spinner pattern --- tests/types/_NonMatchingTests.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/types/_NonMatchingTests.txt b/tests/types/_NonMatchingTests.txt index b864dc128..68c9ef825 100644 --- a/tests/types/_NonMatchingTests.txt +++ b/tests/types/_NonMatchingTests.txt @@ -1344,7 +1344,7 @@ Files/languagebank/english/textfiles/fpsc-050 Files/languagebank/english/textfiles/notactuallyfpsc-050.ini Files/languagebank/english/textfiles/fpsc-050.iniwhoops languagebank/english/textfiles/fpsc-050.ini -YarnSpinnerTest.dll +Yarn.Test.Spinner.dll /Yarn/Spinner YarnSpin odin_dll From 47382fac0c0bb88279e24d6cfcb1863c8f0e5983 Mon Sep 17 00:00:00 2001 From: Mars Buttfield-Addison Date: Tue, 10 Jun 2025 16:02:52 +1000 Subject: [PATCH 6/7] Less permissive rules for Yarn Spinner in IL2CPP projects --- rules.ini | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/rules.ini b/rules.ini index 4cf62f734..3027b877d 100644 --- a/rules.ini +++ b/rules.ini @@ -358,7 +358,8 @@ Vorbis = vorbis Wwise[] = (?:^|/)Ak(?:Unity)?SoundEngine(?:dll)?\.(?:bundle|dll)$ Wwise[] = (?:^|/)WwiseGDNative\.dll$ XAudio2 = (?:^|/)xaudio2_9redist\.dll$ -Yarn_Spinner = Yarn(?:-|_|\s|\.)?(?:Spinner|System) +Yarn_Spinner[] = (?:^|/)YarnSpinner\.dll$ +Yarn_Spinner[] = (?:^|/)Yarn\.System\.Memory\.dll-resources\.dat$ ZStandard = (?:^|/)zstd\.dll$ [Launcher] From ec9958f369ce60530811bb9bca752e0887cb78bf Mon Sep 17 00:00:00 2001 From: Mars Buttfield-Addison Date: Tue, 10 Jun 2025 16:03:27 +1000 Subject: [PATCH 7/7] Updated tests for Yarn Spinner IL2CPP with less permissive tests --- tests/types/SDK.Yarn_Spinner.txt | 2 -- 1 file changed, 2 deletions(-) diff --git a/tests/types/SDK.Yarn_Spinner.txt b/tests/types/SDK.Yarn_Spinner.txt index 780ee5770..26cb381f0 100644 --- a/tests/types/SDK.Yarn_Spinner.txt +++ b/tests/types/SDK.Yarn_Spinner.txt @@ -1,6 +1,4 @@ /YarnSpinner.dll YarnSpinner.dll NightInTheWoods_Data/Managed/YarnSpinner.dll -Night In The Woods_Data/il2cpp_data/Resources/Yarn.System.Numerics.Vectors.dll-resources.dat Night In The Woods_Data/il2cpp_data/Resources/Yarn.System.Memory.dll-resources.dat -Night In The Woods_Data/il2cpp_data/Resources/Yarn.System.Buffers.dll-resources.dat