diff --git a/ReCodeItCLI/Commands/DeObfuscate.cs b/ReCodeItCLI/Commands/DeObfuscate.cs index 74a1155..16f2cb1 100644 --- a/ReCodeItCLI/Commands/DeObfuscate.cs +++ b/ReCodeItCLI/Commands/DeObfuscate.cs @@ -4,7 +4,7 @@ using CliFx.Infrastructure; using ReCodeIt.Utils; using ReCodeItLib.Remapper; -namespace ReCodeIt.Commands; +namespace ReCodeItCLI.Commands; [Command("DeObfuscate", Description = "Generates a de-obfuscated -cleaned dll in the folder your assembly is in")] public class DeObfuscate : ICommand diff --git a/ReCodeItCLI/Commands/Dumper.cs b/ReCodeItCLI/Commands/Dumper.cs index 47b70b7..a5fb067 100644 --- a/ReCodeItCLI/Commands/Dumper.cs +++ b/ReCodeItCLI/Commands/Dumper.cs @@ -4,7 +4,7 @@ using CliFx.Infrastructure; using ReCodeIt.Utils; using ReCodeItLib.Dumper; -namespace ReCodeIt.Commands; +namespace ReCodeItCLI.Commands; [Command("Dumper", Description = "Generates a dumper zip")] public class Dumper : ICommand diff --git a/ReCodeItCLI/Commands/GenRefList.cs b/ReCodeItCLI/Commands/GenRefList.cs index 4db0343..a6d75b4 100644 --- a/ReCodeItCLI/Commands/GenRefList.cs +++ b/ReCodeItCLI/Commands/GenRefList.cs @@ -3,12 +3,12 @@ using CliFx.Attributes; using CliFx.Infrastructure; using dnlib.DotNet; -namespace ReCodeIt.Commands; +namespace ReCodeItCLI.Commands; [Command("GenRefCountList", Description = "Generates a print out of the most used classes. Useful to prioritize remap targets")] public class GenRefList : ICommand { - [CommandParameter(0, IsRequired = true, Description = "The absolute path to your de-obfuscated dll, remapped dll.")] + [CommandParameter(0, IsRequired = true, Description = "The absolute path to your de-obfuscated and remapped dll.")] public string AssemblyPath { get; init; } private static readonly List Match = new() diff --git a/ReCodeItCLI/Commands/ReMap.cs b/ReCodeItCLI/Commands/ReMap.cs index d06316d..e04052a 100644 --- a/ReCodeItCLI/Commands/ReMap.cs +++ b/ReCodeItCLI/Commands/ReMap.cs @@ -4,7 +4,7 @@ using CliFx.Infrastructure; using ReCodeIt.ReMapper; using ReCodeIt.Utils; -namespace ReCodeIt.Commands; +namespace ReCodeItCLI.Commands; [Command("ReMap", Description = "Generates a re-mapped dll provided a mapping file and de-obfuscated dll")] public class ReMap : ICommand diff --git a/ReCodeItCLI/Program.cs b/ReCodeItCLI/Program.cs index dc3d4b0..faddf7f 100644 --- a/ReCodeItCLI/Program.cs +++ b/ReCodeItCLI/Program.cs @@ -1,6 +1,8 @@ // See https://aka.ms/new-console-template for more information using CliFx; +namespace ReCodeItCLI; + public static class Program { public static async Task Main() => diff --git a/ReCodeItCLI/ReCodeIt.csproj b/ReCodeItCLI/ReCodeItCLI.csproj similarity index 100% rename from ReCodeItCLI/ReCodeIt.csproj rename to ReCodeItCLI/ReCodeItCLI.csproj diff --git a/ReCodeItCLI/readme.md b/ReCodeItCLI/readme.md new file mode 100644 index 0000000..300af8c --- /dev/null +++ b/ReCodeItCLI/readme.md @@ -0,0 +1,33 @@ +# RecodeIt Command Line + +This is the command line interface for ReCodeIt. It offers a streamlined way to operate the application without the +use of the graphical user interface (GUI). It can be used to de-obfuscate, re-map, and other smaller utilities. +It can be placed on the system path and accessed from anywhere. + +## Commands + +- `deobfuscate` - This command will run the de4dot de-obfuscater over the assembly provided. It supports both the +primary game assembly and the launcher assembly. + - Param `AssemblyPath` - The absolute path to your obfuscated assembly or exe file, the folder must contain all +references needed to be resolved. + - Param `IsLauncher` - Is the target the EFT launcher? + +--- + +- `remap` - Generates a re-mapped dll when provided with a mapping file and de-obfuscated dll. + - Param `MappingJsonPath` - The absolute path to the `mapping.json` file supports both `json` and `jsonc`. + - Param `AssemblyPath` - The absolute path to the *de-obfuscated* dll generated from the `deobfuscate` command. + - Param `Publicize` - if true, the re-mapper will publicize all types, methods, and properties in the assembly. + - Param `Rename` - If true, the re-mapper will rename all changed types associated variable names to be the same as +the declaring type + +--- + +- `GenRefCountList` - Generates a print out of the most used classes. Useful to prioritize remap targets. + - Param `AssemblyPath` - The absolute path to your de-obfuscated and remapped dll. + +--- + +- `Dumper` - Generates a dumper zip. + - Param `ManagedDirectory` - The absolute path to your Managed folder for EFT, folder must contain all references to +be resolved. Assembly-CSharp-cleaned.dll, mscorlib.dll, FilesChecker.dll \ No newline at end of file diff --git a/RecodeIt.sln b/RecodeIt.sln index 1f0f886..0be7c29 100644 --- a/RecodeIt.sln +++ b/RecodeIt.sln @@ -7,7 +7,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ReCodeItGUI", "RecodeItGUI\ EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ReCodeItLib", "RecodeItLib\ReCodeItLib.csproj", "{FDA58DB6-E114-4FE0-AAF1-C3DEE44AEF99}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ReCodeIt", "ReCodeItCLI\ReCodeIt.csproj", "{E404EC0B-06D2-4964-8ABA-A634F259655C}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ReCodeItCLI", "ReCodeItCLI\ReCodeItCLI.csproj", "{E404EC0B-06D2-4964-8ABA-A634F259655C}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DumpLib", "DumpLib\DumpLib.csproj", "{D0837899-F129-46DB-8BDB-7C9AFB72BD30}" EndProject