├── BB_Deob ├── packages │ └── dnlib.3.2.0 │ │ ├── dnlib.3.2.0.nupkg │ │ ├── lib │ │ ├── net35 │ │ │ └── dnlib.dll │ │ ├── net45 │ │ │ └── dnlib.dll │ │ └── netstandard2.0 │ │ │ └── dnlib.dll │ │ └── LICENSE.txt ├── BB_Deob │ ├── packages.config │ ├── App.config │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── BB_Deob.csproj │ └── Program.cs └── BB_Deob.sln └── README.md /BB_Deob/packages/dnlib.3.2.0/dnlib.3.2.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kade-github/BB-Deob/HEAD/BB_Deob/packages/dnlib.3.2.0/dnlib.3.2.0.nupkg -------------------------------------------------------------------------------- /BB_Deob/packages/dnlib.3.2.0/lib/net35/dnlib.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kade-github/BB-Deob/HEAD/BB_Deob/packages/dnlib.3.2.0/lib/net35/dnlib.dll -------------------------------------------------------------------------------- /BB_Deob/packages/dnlib.3.2.0/lib/net45/dnlib.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kade-github/BB-Deob/HEAD/BB_Deob/packages/dnlib.3.2.0/lib/net45/dnlib.dll -------------------------------------------------------------------------------- /BB_Deob/BB_Deob/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /BB_Deob/packages/dnlib.3.2.0/lib/netstandard2.0/dnlib.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kade-github/BB-Deob/HEAD/BB_Deob/packages/dnlib.3.2.0/lib/netstandard2.0/dnlib.dll -------------------------------------------------------------------------------- /BB_Deob/BB_Deob/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # BB-Deob 2 | BeeByte Deobfuscator simply renames all the classes/fields/methods/params to readable strings that can be understood. 3 | AS I know BB Obfuscator only renames classes and etc, so it should be fully reversable at that point. 4 | 5 | ## Usage: 6 | `.\BB_Deob.exe .\Assembly-CSharp.dll` 7 | ## Before: 8 | ![before](https://cdn.discordapp.com/attachments/595569609885745155/596706307021471783/unknown.png "Before SS") 9 | 10 | ## After: 11 | ![after](https://cdn.discordapp.com/attachments/595569609885745155/596706394607058973/unknown.png "After SS") 12 | -------------------------------------------------------------------------------- /BB_Deob/packages/dnlib.3.2.0/LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright (C) 2012-2019 de4dot@gmail.com 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining 4 | a copy of this software and associated documentation files (the 5 | "Software"), to deal in the Software without restriction, including 6 | without limitation the rights to use, copy, modify, merge, publish, 7 | distribute, sublicense, and/or sell copies of the Software, and to 8 | permit persons to whom the Software is furnished to do so, subject to 9 | the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be 12 | included in all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 17 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 18 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 19 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 20 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /BB_Deob/BB_Deob.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio Version 16 4 | VisualStudioVersion = 16.0.29020.237 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BB_Deob", "BB_Deob\BB_Deob.csproj", "{5A5737F3-52DC-47DE-AC5D-01FFA3E67B7C}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {5A5737F3-52DC-47DE-AC5D-01FFA3E67B7C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {5A5737F3-52DC-47DE-AC5D-01FFA3E67B7C}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {5A5737F3-52DC-47DE-AC5D-01FFA3E67B7C}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {5A5737F3-52DC-47DE-AC5D-01FFA3E67B7C}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | GlobalSection(ExtensibilityGlobals) = postSolution 23 | SolutionGuid = {92A2AF11-AC7E-47FD-9FDE-DCA57D1B856C} 24 | EndGlobalSection 25 | EndGlobal 26 | -------------------------------------------------------------------------------- /BB_Deob/BB_Deob/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("BB_Deob")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("HP Inc.")] 12 | [assembly: AssemblyProduct("BB_Deob")] 13 | [assembly: AssemblyCopyright("Copyright © HP Inc. 2019")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("5a5737f3-52dc-47de-ac5d-01ffa3e67b7c")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /BB_Deob/BB_Deob/BB_Deob.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {5A5737F3-52DC-47DE-AC5D-01FFA3E67B7C} 8 | Exe 9 | BB_Deob 10 | BB_Deob 11 | v4.7.2 12 | 512 13 | true 14 | true 15 | 16 | 17 | AnyCPU 18 | true 19 | full 20 | false 21 | bin\Debug\ 22 | DEBUG;TRACE 23 | prompt 24 | 4 25 | 26 | 27 | AnyCPU 28 | pdbonly 29 | true 30 | bin\Release\ 31 | TRACE 32 | prompt 33 | 4 34 | 35 | 36 | 37 | ..\packages\dnlib.3.2.0\lib\net45\dnlib.dll 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | -------------------------------------------------------------------------------- /BB_Deob/BB_Deob/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | using dnlib; 8 | using dnlib.DotNet; 9 | using System.Text.RegularExpressions; 10 | 11 | namespace BB_Deob 12 | { 13 | class Program 14 | { 15 | static void Main(string[] args) 16 | { 17 | ModuleDef module; 18 | try 19 | { 20 | module = ModuleDefMD.Load(args[0]); 21 | } 22 | catch 23 | { 24 | Console.WriteLine("No arguments added!"); 25 | return; 26 | } 27 | Console.WriteLine("Loaded module " + module.Name + ", Runtime: " + module.RuntimeVersion); 28 | string bb_version = "unknown/bb obfuscator not found"; 29 | foreach (TypeDef type in module.Types) 30 | { 31 | if (type.Name.Contains("__BB_OBFUSCATOR_VERSION_")) 32 | { 33 | bb_version = type.Name.String.Split('_')[5] + "." + type.Name.String.Split('_')[6] + "." + type.Name.String.Split('_')[7]; 34 | } 35 | } 36 | Console.WriteLine("BB Obfuscator Version: " + bb_version); 37 | Console.WriteLine("[1] Renaming..."); 38 | int count = 0; 39 | int classNumber = 0; 40 | Regex regex = new Regex(@"[a-zA-Z0-9_]+"); 41 | foreach (TypeDef type in module.Types) 42 | { 43 | if (!type.Name.Contains("__BB_OBFUSCATOR_VERSION_") || !type.Name.Contains("ArrayCopy")) 44 | { 45 | if (type.Name != "") 46 | { 47 | if (!regex.IsMatch(type.Name)) 48 | { 49 | type.Name = "Class" + classNumber; 50 | ++classNumber; 51 | } 52 | int fieldNumber = 0; 53 | foreach (FieldDef field in type.Fields) 54 | { 55 | if (!regex.IsMatch(field.Name)) 56 | { 57 | field.Name = "Field" + fieldNumber; 58 | ++fieldNumber; 59 | } 60 | } 61 | int paramNumber = 0; 62 | int methodNumber = 0; 63 | foreach (MethodDef method in type.Methods) 64 | { 65 | foreach (ParamDef param in method.ParamDefs) 66 | { 67 | if (!regex.IsMatch(param.Name)) 68 | { 69 | param.Name = "Param" + paramNumber; 70 | ++paramNumber; 71 | } 72 | } 73 | if (!regex.IsMatch(method.Name)) 74 | { 75 | method.Name = "Method" + methodNumber; 76 | ++methodNumber; 77 | } 78 | } 79 | } 80 | } 81 | count++; 82 | Console.WriteLine("[1] Renaming [" + count + "/" + module.Types.Count + "]"); 83 | } 84 | Console.WriteLine("[2] Watermarking..."); 85 | module.Name += "_renamed"; 86 | Console.WriteLine("[3] Saving..."); 87 | module.Write(module.FullName.Split('.')[0] + "-Renamed.dll"); 88 | Console.WriteLine("Saved to " + Directory.GetCurrentDirectory() + @"\" + module.FullName.Split('.')[0] + "-Renamed.dll"); 89 | } 90 | } 91 | } 92 | --------------------------------------------------------------------------------