Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
16bd571
Added: Dll name in Dump.cs for Better Understanding
NepMods Apr 21, 2025
ded3e33
Added support for files larger than 2GB
unhighghlow Jun 18, 2025
45f9fec
Updated README.md and removed chinese version.
Parsa307 Aug 6, 2025
52abbbb
Updated README.md
Parsa307 Aug 6, 2025
b39d279
Merge branch 'pr-869'
Parsa307 Aug 6, 2025
accfa90
Merge branch 'pr-864'
Parsa307 Aug 6, 2025
fb78067
Linux Patches. Supports Windows too.
Parsa307 Aug 6, 2025
d0739fc
Some oopsie. Didn't mean to.
Parsa307 Aug 6, 2025
1e6dea8
Undo Namespace change from a PR
Parsa307 Aug 6, 2025
c11b8b6
Fix a major bug Check if the folder exist.
Parsa307 Aug 6, 2025
13e0d00
Removed chinese. Issue Template!
Parsa307 Aug 6, 2025
d1df6aa
Updated README.md
Parsa307 Aug 6, 2025
617e44f
Cleanup
Parsa307 Aug 6, 2025
344f845
Fix the logic behind the message
Parsa307 Aug 6, 2025
aa97fd8
Update what is this project for
Parsa307 Aug 6, 2025
6b4c492
Update README.md
Parsa307 Aug 6, 2025
5d7433e
Update .gitignore
Parsa307 Aug 6, 2025
024077c
Remove RequireAnyKey.
Parsa307 Aug 6, 2025
0921409
Changed `targetFrameworks` to `targetFramework`
unhighghlow Aug 23, 2025
4fd7e2d
Added nix support
unhighghlow Aug 23, 2025
35fde84
Added nix installation instructions
unhighghlow Aug 23, 2025
d117450
Merge pull request #1 from unhighghlow/master
Parsa307 Aug 23, 2025
fb1313d
Revert "Added support for the nix package manager"
Parsa307 Aug 23, 2025
1eced08
Merge pull request #2 from Parsa307/revert-1-master
Parsa307 Aug 23, 2025
e3be28e
Change TargetFrameworks to TargetFramework.
Parsa307 Aug 23, 2025
70d4e2c
Change Il2CppDumper.exe to Il2CppDumper.
Parsa307 Aug 23, 2025
b158913
Update mono version, to 0.11.6.
Parsa307 Aug 23, 2025
a4cf19e
Remove unneeded import
unhighghlow Aug 23, 2025
d46f030
Revert "Revert "Added support for the nix package manager""
Parsa307 Aug 23, 2025
4336a95
Merge pull request #4 from Parsa307/revert-2-revert-1-master
Parsa307 Aug 23, 2025
cec926b
Merge pull request #3 from unhighghlow/master
Parsa307 Aug 23, 2025
f153a36
Add Nix OS Support.
Parsa307 Aug 23, 2025
0c87eb7
Remoe // from deps.json.
Parsa307 Aug 23, 2025
4895c3b
Added flake.lock
unhighghlow Aug 23, 2025
0b0a809
Update README.md
unhighghlow Jan 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
63 changes: 0 additions & 63 deletions .gitattributes

This file was deleted.

18 changes: 0 additions & 18 deletions .github/ISSUE_TEMPLATE/problem_report_cn.md

This file was deleted.

93 changes: 79 additions & 14 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
##
## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore

# User-specific files
*.rsuser
*.suo
*.user
*.userosscache
*.sln.docstates
*.env

# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs
Expand All @@ -21,18 +22,37 @@ mono_crash.*
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/

[Dd]ebug/x64/
[Dd]ebugPublic/x64/
[Rr]elease/x64/
[Rr]eleases/x64/
bin/x64/
obj/x64/

[Dd]ebug/x86/
[Dd]ebugPublic/x86/
[Rr]elease/x86/
[Rr]eleases/x86/
bin/x86/
obj/x86/

[Ww][Ii][Nn]32/
[Aa][Rr][Mm]/
[Aa][Rr][Mm]64/
[Aa][Rr][Mm]64[Ee][Cc]/
bld/
[Bb]in/
[Oo]bj/
[Oo]ut/
[Ll]og/
[Ll]ogs/

# Build results on 'Bin' directories
**/[Bb]in/*
# Uncomment if you have tasks that rely on *.refresh files to move binaries
# (https://github.com/github/gitignore/pull/3736)
#!**/[Bb]in/*.refresh

# Visual Studio 2015/2017 cache/options directory
.vs/
# Uncomment if you have tasks that create the project's static files in wwwroot
Expand All @@ -44,12 +64,16 @@ Generated\ Files/
# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*
*.trx

# NUnit
*.VisualState.xml
TestResult.xml
nunit-*.xml

# Approval Tests result files
*.received.*

# Build Results of an ATL Project
[Dd]ebugPS/
[Rr]eleasePS/
Expand All @@ -76,13 +100,16 @@ StyleCopReport.xml
*.ilk
*.meta
*.obj
*.idb
*.iobj
*.pch
*.pdb
*.ipdb
*.pgc
*.pgd
*.rsp
# but not Directory.Build.rsp, as it configures directory-level build defaults
!Directory.Build.rsp
*.sbr
*.tlb
*.tli
Expand All @@ -91,6 +118,7 @@ StyleCopReport.xml
*.tmp_proj
*_wpftmp.csproj
*.log
*.tlog
*.vspscc
*.vssscc
.builds
Expand Down Expand Up @@ -153,6 +181,7 @@ coverage*.info

# NCrunch
_NCrunch_*
.NCrunch_*
.*crunch*.local.xml
nCrunchTemp_*

Expand Down Expand Up @@ -294,6 +323,14 @@ node_modules/
# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
*.vbw

# Visual Studio 6 workspace and project file (working project files containing files to include in project)
*.dsw
*.dsp

# Visual Studio 6 technical files
*.ncb
*.aps

# Visual Studio LightSwitch build output
**/*.HTMLClient/GeneratedArtifacts
**/*.DesktopClient/GeneratedArtifacts
Expand All @@ -303,22 +340,22 @@ node_modules/
_Pvt_Extensions

# Paket dependency manager
.paket/paket.exe
**/.paket/paket.exe
paket-files/

# FAKE - F# Make
.fake/
**/.fake/

# CodeRush personal settings
.cr/personal
**/.cr/personal

# Python Tools for Visual Studio (PTVS)
__pycache__/
**/__pycache__/
*.pyc

# Cake - Uncomment if you are using it
# tools/**
# !tools/packages.config
#tools/**
#!tools/packages.config

# Tabs Studio
*.tss
Expand All @@ -340,15 +377,22 @@ ASALocalRun/

# MSBuild Binary and Structured Log
*.binlog
MSBuild_Logs/

# AWS SAM Build and Temporary Artifacts folder
.aws-sam

# NVidia Nsight GPU debugger configuration file
*.nvuser

# MFractors (Xamarin productivity tool) working folder
.mfractor/
**/.mfractor/

# Local History for Visual Studio
.localhistory/
**/.localhistory/

# Visual Studio History (VSHistory) files
.vshistory/

# BeatPulse healthcheck temp database
healthchecksdb
Expand All @@ -357,7 +401,28 @@ healthchecksdb
MigrationBackup/

# Ionide (cross platform F# VS Code tools) working folder
.ionide/
**/.ionide/

# Fody - auto-generated XML schema
FodyWeavers.xsd
FodyWeavers.xsd

# VS Code files for those working on multiple tools
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
!.vscode/*.code-snippets

# Local History for Visual Studio Code
.history/

# Built Visual Studio Code Extensions
*.vsix

# Windows Installer files from build outputs
*.cab
*.msi
*.msix
*.msm
*.msp
1 change: 0 additions & 1 deletion Il2CppDumper/Config.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ public class Config
public bool GenerateDummyDll { get; set; } = true;
public bool GenerateStruct { get; set; } = true;
public bool DummyDllAddToken { get; set; } = true;
public bool RequireAnyKey { get; set; } = true;
public bool ForceIl2CppVersion { get; set; } = false;
public double ForceVersion { get; set; } = 24.3;
public bool ForceDump { get; set; } = false;
Expand Down
4 changes: 3 additions & 1 deletion Il2CppDumper/IO/BinaryStream.cs
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,9 @@ public BinaryStream(Stream input)
{
stream = input;
reader = new BinaryReader(stream, Encoding.UTF8, true);
writer = new BinaryWriter(stream, Encoding.UTF8, true);
if (stream.CanWrite) {
writer = new BinaryWriter(stream, Encoding.UTF8, true);
}
readClass = GetType().GetMethod("ReadClass", Type.EmptyTypes);
readClassArray = GetType().GetMethod("ReadClassArray", new[] { typeof(long) });
genericMethodCache = new();
Expand Down
4 changes: 2 additions & 2 deletions Il2CppDumper/Il2CppDumper.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFrameworks>net6.0;net8.0</TargetFrameworks>
<TargetFramework>net8.0</TargetFramework>
<Version>1.0.0.0</Version>
<AssemblyVersion>1.0.0.0</AssemblyVersion>
<FileVersion>1.0.0.0</FileVersion>
Expand All @@ -12,7 +12,7 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Mono.Cecil" Version="0.11.4" />
<PackageReference Include="Mono.Cecil" Version="0.11.6" />
</ItemGroup>

<ItemGroup>
Expand Down
5 changes: 4 additions & 1 deletion Il2CppDumper/Outputs/Il2CppDecompiler.cs
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ public Il2CppDecompiler(Il2CppExecutor il2CppExecutor)

public void Decompile(Config config, string outputDir)
{
var writer = new StreamWriter(new FileStream(outputDir + "dump.cs", FileMode.Create), new UTF8Encoding(false));
var writer = new StreamWriter(new FileStream(Path.Combine(outputDir, "dump.cs"), FileMode.Create), new UTF8Encoding(false));
//dump image
for (var imageIndex = 0; imageIndex < metadata.imageDefs.Length; imageIndex++)
{
Expand Down Expand Up @@ -59,6 +59,8 @@ public void Decompile(Config config, string outputDir)
extends.Add(executor.GetTypeName(@interface, false, false));
}
}

writer.Write($"\n// DLL: {imageName}");
writer.Write($"\n// Namespace: {metadata.GetStringFromIndex(typeDef.namespaceIndex)}\n");
if (config.DumpAttribute)
{
Expand Down Expand Up @@ -499,3 +501,4 @@ public string GetModifiers(Il2CppMethodDefinition methodDef)
}
}
}

6 changes: 3 additions & 3 deletions Il2CppDumper/Outputs/StructGenerator.cs
Original file line number Diff line number Diff line change
Expand Up @@ -373,9 +373,9 @@ public void WriteScript(string outputDir)
address = $"0x{x.Address:X}"
}).ToArray();
var jsonOptions = new JsonSerializerOptions() { WriteIndented = true, IncludeFields = true };
File.WriteAllText(outputDir + "stringliteral.json", JsonSerializer.Serialize(stringLiterals, jsonOptions), new UTF8Encoding(false));
File.WriteAllText(Path.Combine(outputDir, "stringliteral.json"), JsonSerializer.Serialize(stringLiterals, jsonOptions), new UTF8Encoding(false));
//写入文件
File.WriteAllText(outputDir + "script.json", JsonSerializer.Serialize(json, jsonOptions));
File.WriteAllText(Path.Combine(outputDir, "script.json"), JsonSerializer.Serialize(json, jsonOptions), new UTF8Encoding(false));
//il2cpp.h
for (int i = 0; i < genericClassList.Count; i++)
{
Expand Down Expand Up @@ -428,7 +428,7 @@ public void WriteScript(string outputDir)
sb.Append(headerStruct);
sb.Append(arrayClassHeader);
sb.Append(methodInfoHeader);
File.WriteAllText(outputDir + "il2cpp.h", sb.ToString());
File.WriteAllText(Path.Combine(outputDir, "il2cpp.h"), sb.ToString());
}

private void AddMetadataUsageTypeInfo(ScriptJson json, uint index, ulong address)
Expand Down
Loading