Skip to content
This repository was archived by the owner on Mar 30, 2026. It is now read-only.

Commit 346f657

Browse files
committed
Merge branch 'dev'
2 parents bcf0a91 + c3810b2 commit 346f657

20 files changed

Lines changed: 213 additions & 94 deletions

AUMInjector/AUMInjector.rc

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,8 @@ END
5151
//
5252

5353
VS_VERSION_INFO VERSIONINFO
54-
FILEVERSION 1,0,0,15
55-
PRODUCTVERSION 1,0,0,15
54+
FILEVERSION 1,0,0,16
55+
PRODUCTVERSION 1,0,0,16
5656
FILEFLAGSMASK 0x3fL
5757
#ifdef _DEBUG
5858
FILEFLAGS 0x1L
@@ -69,12 +69,12 @@ BEGIN
6969
BEGIN
7070
VALUE "CompanyName", "Team ESDG"
7171
VALUE "FileDescription", "Among Us to Mumble VoIP adapter"
72-
VALUE "FileVersion", "1.0.0.15"
72+
VALUE "FileVersion", "1.0.0.16"
7373
VALUE "InternalName", "winhttp.dll"
7474
VALUE "LegalCopyright", "Copyright (C) Team ESDG 2021"
7575
VALUE "OriginalFilename", "winhttp.dll"
7676
VALUE "ProductName", "AmongUs-Mumble"
77-
VALUE "ProductVersion", "1.0.0.15"
77+
VALUE "ProductVersion", "1.0.0.16"
7878
END
7979
END
8080
BLOCK "VarFileInfo"

AUMInjector/AUMInjector.vcxproj

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@
7474
<ClInclude Include="deobfuscate\2020_12_5s.h" />
7575
<ClInclude Include="deobfuscate\2020_12_9s.h" />
7676
<ClInclude Include="deobfuscate\2020_9_22s.h" />
77+
<ClInclude Include="deobfuscate\2021_3_31_3s.h" />
7778
<ClInclude Include="deobfuscate\2021_3_5s.h" />
7879
<ClInclude Include="deobfuscate\deobfuscate.h" />
7980
<ClInclude Include="deobfuscate\version.h" />
@@ -186,6 +187,7 @@
186187
<DisableSpecificWarnings>4359</DisableSpecificWarnings>
187188
<ForcedIncludeFiles>stdafx.h</ForcedIncludeFiles>
188189
<FunctionLevelLinking>true</FunctionLevelLinking>
190+
<ForcedUsingFiles>stdafx.h</ForcedUsingFiles>
189191
</ClCompile>
190192
<Link>
191193
<SubSystem>Windows</SubSystem>
@@ -220,6 +222,8 @@
220222
<MultiProcessorCompilation>true</MultiProcessorCompilation>
221223
<Optimization>MaxSpeed</Optimization>
222224
<ForcedIncludeFiles>stdafx.h</ForcedIncludeFiles>
225+
<LanguageStandard_C>Default</LanguageStandard_C>
226+
<ForcedUsingFiles>stdafx.h</ForcedUsingFiles>
223227
</ClCompile>
224228
<Link>
225229
<SubSystem>Windows</SubSystem>
@@ -256,6 +260,7 @@
256260
<MultiProcessorCompilation>true</MultiProcessorCompilation>
257261
<Optimization>MaxSpeed</Optimization>
258262
<ForcedIncludeFiles>stdafx.h</ForcedIncludeFiles>
263+
<ForcedUsingFiles>stdafx.h</ForcedUsingFiles>
259264
</ClCompile>
260265
<Link>
261266
<SubSystem>Windows</SubSystem>

AUMInjector/AUMInjector.vcxproj.filters

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -266,6 +266,9 @@
266266
<ClInclude Include="gui\Blocks\RadioSignalBlock.h">
267267
<Filter>GUI\Blocks</Filter>
268268
</ClInclude>
269+
<ClInclude Include="deobfuscate\2021_3_31_3s.h">
270+
<Filter>Deobfuscate</Filter>
271+
</ClInclude>
269272
</ItemGroup>
270273
<ItemGroup>
271274
<ResourceCompile Include="AUMInjector.rc">
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
using InnerNetClient = InnerNetClient;
2+
using InnerNetClient_GameState__Enum = InnerNetClient_CJDCOJJNIGL__Enum;
3+
using InnerNet_DisconnectReasons__Enum = ECELNFALKOB__Enum;
4+
using Player_Die_Reason__Enum = KAPJFCMEBJE__Enum;
5+
using PlayerControl = PlayerControl;
6+
#define PlayerControl__TypeInfo PlayerControl__TypeInfo
7+
using GameData = GameData;
8+
#define Palette__TypeInfo GLNPIJPGGNJ__TypeInfo
9+
using MeetingHud = MeetingHud;
10+
using HqHudOverrideTask = HqHudOverrideTask;
11+
using HudOverrideTask = HudOverrideTask;
12+
using ChatController = ChatController;
13+
using AmongUsClient = AmongUsClient;
14+
using PlayerInfo = GameData_OFKOJOKOOAK;
15+
#define PlayerControl_GetTruePosition_Trampoline PlayerControl_GetTruePosition
16+
#define PlayerControl_Die_Trampoline PlayerControl_Die
17+
#define PlayerControl_GetData_Trampoline PlayerControl_get_Data
18+
#define PlayerControl_FixedUpdate_Trampoline PlayerControl_FixedUpdate
19+
20+
__declspec(selectany) InnerNetClient_GameState__Enum InnerNetClient_GameState__Enum_Joined = InnerNetClient_CJDCOJJNIGL__Enum::Joined;
21+
__declspec(selectany) InnerNetClient_GameState__Enum InnerNetClient_GameState__Enum_Started = InnerNetClient_CJDCOJJNIGL__Enum::Started;
22+
__declspec(selectany) InnerNetClient_GameState__Enum InnerNetClient_GameState__Enum_Ended = InnerNetClient_CJDCOJJNIGL__Enum::Ended;
23+
__declspec(selectany) bool GameData_OFKOJOKOOAK__Fields::* IsImposter = &GameData_OFKOJOKOOAK__Fields::CIDDOFDJHJH;
24+
__declspec(selectany) int32_t GameData_OFKOJOKOOAK__Fields::* ColorId = &GameData_OFKOJOKOOAK__Fields::JFHFMIKFHGG;
25+
__declspec(selectany) Color32__Array* GLNPIJPGGNJ__StaticFields::* PlayerColors = &GLNPIJPGGNJ__StaticFields::CALCLMEEPGL;
26+
__declspec(selectany) LightSource* PlayerControl__Fields::* MyLight = &PlayerControl__Fields::BBELGDJLCCL;
27+
28+
#define GameData_Awake_Trampoline GameData_Awake
29+
#define GameData_GetPlayerById_Trampoline GameData_GetPlayerById
30+
#define GameData_UpdateColor_Trampoline GameData_UpdateColor
31+
#define GameData_GetPlayerCount_Trampoline GameData_get_PlayerCount
32+
#define GameData_HandleDisconnect_Trampoline GameData_HandleDisconnect
33+
#define GameData_CompleteTask_Trampoline GameData_CompleteTask
34+
#define InnerNetClient_FixedUpdate_Trampoline InnerNetClient_FixedUpdate
35+
#define InnerNetClient_Disconnect_Trampoline InnerNetClient_HOJJOCONAMJ
36+
#define InnerNetClient_HandleGameData_Trampoline InnerNetClient_NBFPMLMKPOA
37+
#define InnerNetClient_StartRpc_Trampoline InnerNetClient_StartRpc
38+
#define MeetingHud_Close_Trampoline MeetingHud_Close
39+
#define MeetingHud_Start_Trampoline MeetingHud_Start
40+
#define HqHudOverrideTask_Initialize_Trampoline HqHudOverrideTask_Initialize
41+
#define HqHudOverrideTask_Complete_Trampoline HqHudOverrideTask_Complete
42+
#define HudOverrideTask_Initialize_Trampoline HudOverrideTask_Initialize
43+
#define HudOverrideTask_Complete_Trampoline HudOverrideTask_Complete
44+
#define MessageWriter_Write_Byte_Trampoline MessageWriter_Write_1
45+
#define AmongUsClient_OnPlayerJoined_Trampoline AmongUsClient_DFOEMLBMHBN

AUMInjector/deobfuscate/deobfuscate.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
// This file contains deobfuscation mappings for different versions of the game
22

33
#pragma once
4-
#include "il2cpp-appdata.h"
54
#include "version.h"
65

76
using namespace app;
@@ -25,6 +24,8 @@ using namespace app;
2524
#include "2020_12_9s.h"
2625
#elif GAME_VERSION == GAME_VERSION_2021_3_5s
2726
#include "2021_3_5s.h"
27+
#elif GAME_VERSION == GAME_VERSION_2021_3_31_3s
28+
#include "2021_3_31_3s.h"
2829
#else
2930
#error Unknown game version!
3031
#endif

AUMInjector/deobfuscate/version.h

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,9 @@
77
#define GAME_VERSION_2020_12_5s 202012050
88
#define GAME_VERSION_2020_12_9s 202012090
99
#define GAME_VERSION_2021_3_5s 202103050
10+
#define GAME_VERSION_2021_3_31_2s 202103313
1011
#ifndef GAME_VERSION
11-
#define GAME_VERSION GAME_VERSION_2021_3_5s
12+
#define GAME_VERSION GAME_VERSION_2021_3_31_3s
1213
#endif
1314

1415
#if GAME_VERSION == GAME_VERSION_2020_9_22s
@@ -29,6 +30,8 @@
2930
#define version_text "2020.12.9s"
3031
#elif GAME_VERSION == GAME_VERSION_2021_3_5s
3132
#define version_text "2021.3.5s"
33+
#elif GAME_VERSION == GAME_VERSION_2021_3_31_3s
34+
#define version_text "2021.3.31.3s"
3235
#else
3336
#error Unknown game version!
3437
#endif

AUMInjector/framework/helpers.cpp

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,24 @@
44
#define WIN32_LEAN_AND_MEAN
55
#include <windows.h>
66
#include <string>
7+
#include <codecvt>
78
#include "helpers.h"
89

10+
911
// Helper function to get the module base address
10-
uintptr_t GetBaseAddress()
11-
{
12-
return (uintptr_t) GetModuleHandleW(L"GameAssembly.dll");
12+
uintptr_t il2cppi_get_base_address() {
13+
return (uintptr_t)GetModuleHandleW(L"GameAssembly.dll");
14+
}
15+
16+
#if _MSC_VER >= 1920
17+
// Helper function to convert Il2CppString to std::string
18+
std::string il2cppi_to_string(Il2CppString* str) {
19+
std::u16string u16(reinterpret_cast<const char16_t*>(str->chars));
20+
return std::wstring_convert<std::codecvt_utf8_utf16<char16_t>, char16_t>{}.to_bytes(u16);
21+
}
22+
23+
// Helper function to convert System.String to std::string
24+
std::string il2cppi_to_string(app::String* str) {
25+
return il2cppi_to_string(reinterpret_cast<Il2CppString*>(str));
1326
}
27+
#endif

AUMInjector/framework/helpers.h

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,25 @@
77
#include <sstream>
88
#include <iomanip>
99

10+
#include "il2cpp-metadata-version.h"
11+
1012
// Helper function to get the module base address
11-
uintptr_t GetBaseAddress();
13+
uintptr_t il2cppi_get_base_address();
14+
15+
#if _MSC_VER >= 1920
16+
// Helper function to convert Il2CppString to std::string
17+
std::string il2cppi_to_string(Il2CppString* str);
18+
19+
// Helper function to convert System.String to std::string
20+
std::string il2cppi_to_string(app::String* str);
21+
#endif
1222

13-
// Helper function to convert a pointer to hex
14-
template<typename T> std::string to_hex_string(T i)
15-
{
16-
std::stringstream stream;
17-
stream << "0x" << std::setfill('0') << std::setw(sizeof(T) * 2) << std::hex << i;
18-
return stream.str();
19-
}
23+
// Helper function to check if a metadata usage pointer is initialized
24+
template<typename T> bool il2cppi_is_initialized(T* metadataItem) {
25+
#if __IL2CPP_METADATA_VERISON < 270
26+
return *metadataItem != 0;
27+
#else
28+
// Metadata >=27 (Unity 2020.2)
29+
return !((uintptr_t)*metadataItem & 1);
30+
#endif
31+
}

AUMInjector/framework/il2cpp-appdata.h

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,16 @@
1818

1919
// Application-specific functions
2020
#define DO_APP_FUNC(a, r, n, p) extern r (*n) p
21+
#define DO_APP_FUNC_METHODINFO(a, n) extern struct MethodInfo ** n
2122
namespace app {
22-
#include "il2cpp-functions.h"
23+
#include "il2cpp-functions.h"
2324
}
2425
#undef DO_APP_FUNC
26+
#undef DO_APP_FUNC_METHODINFO
2527

2628
// TypeInfo pointers
27-
#define DO_TYPEDEF(a, n) extern n ## __Class* n ## __TypeInfo
29+
#define DO_TYPEDEF(a, n) extern n ## __Class** n ## __TypeInfo
2830
namespace app {
29-
#include "il2cpp-types-ptr.h"
31+
#include "il2cpp-types-ptr.h"
3032
}
3133
#undef DO_TYPEDEF

AUMInjector/framework/il2cpp-init.cpp

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,15 @@
1212

1313
// Application-specific functions
1414
#define DO_APP_FUNC(a, r, n, p) r (*n) p
15+
#define DO_APP_FUNC_METHODINFO(a, n) struct MethodInfo ** n
1516
namespace app {
1617
#include "il2cpp-functions.h"
1718
}
1819
#undef DO_APP_FUNC
20+
#undef DO_APP_FUNC_METHODINFO
1921

2022
// TypeInfo pointers
21-
#define DO_TYPEDEF(a, n) n ## __Class* n ## __TypeInfo
23+
#define DO_TYPEDEF(a, n) n ## __Class** n ## __TypeInfo
2224
namespace app {
2325
#include "il2cpp-types-ptr.h"
2426
}
@@ -28,7 +30,7 @@ namespace app {
2830
void init_il2cpp()
2931
{
3032
// Get base address of IL2CPP module
31-
uintptr_t baseAddress = GetBaseAddress();
33+
uintptr_t baseAddress = il2cppi_get_base_address();
3234

3335
using namespace app;
3436

@@ -39,11 +41,13 @@ void init_il2cpp()
3941

4042
// Define function addresses
4143
#define DO_APP_FUNC(a, r, n, p) n = (r (*) p)(baseAddress + a)
44+
#define DO_APP_FUNC_METHODINFO(a, n) n = (struct MethodInfo **)(baseAddress + a)
4245
#include "il2cpp-functions.h"
4346
#undef DO_APP_FUNC
47+
#undef DO_APP_FUNC_METHODINFO
4448

4549
// Define TypeInfo variables
46-
#define DO_TYPEDEF(a, n) n ## __TypeInfo = *(n ## __Class**) (baseAddress + a);
50+
#define DO_TYPEDEF(a, n) n ## __TypeInfo = (n ## __Class**) (baseAddress + a);
4751
#include "il2cpp-types-ptr.h"
4852
#undef DO_TYPEDEF
4953
}

0 commit comments

Comments
 (0)