├── 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 | 
9 |
10 | ## After:
11 | 
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 |
--------------------------------------------------------------------------------