├── Images ├── pic1.png ├── pic2.png ├── pic3.png ├── pic4.png ├── pic5.png ├── pic6.png ├── pic7.png ├── pic8.png └── pic9.png ├── README.md ├── cli ├── cli.cpp ├── ini.c └── ini.h ├── cobf.sln ├── cobf.vcxproj ├── config.ini ├── docs └── html │ ├── _r_e_a_d_m_e_8md.html │ ├── annotated.html │ ├── annotated_dup.js │ ├── bc_s.png │ ├── bdwn.png │ ├── classcobf-members.html │ ├── classcobf.html │ ├── classcobf.js │ ├── classes.html │ ├── classshellcode-members.html │ ├── classshellcode.html │ ├── classshellcode.js │ ├── cli_8cpp.html │ ├── cli_8cpp.js │ ├── cli_8cpp_source.html │ ├── closed.png │ ├── cobf_8hpp.html │ ├── cobf_8hpp_source.html │ ├── dir_2990d7c532eb7441b74916b8f5365141.html │ ├── dir_2990d7c532eb7441b74916b8f5365141.js │ ├── dir_68267d1309a1af8e8297ef4c3efbcdba.html │ ├── dir_68267d1309a1af8e8297ef4c3efbcdba.js │ ├── dir_d44c64559bbebec7f509842c48db8b23.html │ ├── dir_d44c64559bbebec7f509842c48db8b23.js │ ├── doc.png │ ├── doxygen.css │ ├── doxygen.svg │ ├── dynsections.js │ ├── files.html │ ├── files_dup.js │ ├── folderclosed.png │ ├── folderopen.png │ ├── functions.html │ ├── functions_func.html │ ├── functions_rela.html │ ├── functions_vars.html │ ├── globals.html │ ├── globals_defs.html │ ├── globals_enum.html │ ├── globals_func.html │ ├── globals_type.html │ ├── index.html │ ├── ini_8c.html │ ├── ini_8c.js │ ├── ini_8c_source.html │ ├── ini_8h.html │ ├── ini_8h.js │ ├── ini_8h_source.html │ ├── jquery.js │ ├── load_8cpp.html │ ├── load_8cpp.js │ ├── load_8cpp_source.html │ ├── md__r_e_a_d_m_e.html │ ├── menu.js │ ├── menudata.js │ ├── nav_f.png │ ├── nav_g.png │ ├── nav_h.png │ ├── navtree.css │ ├── navtree.js │ ├── navtreedata.js │ ├── navtreeindex0.js │ ├── obfuscate_8cpp.html │ ├── obfuscate_8cpp.js │ ├── obfuscate_8cpp_source.html │ ├── open.png │ ├── pages.html │ ├── resize.js │ ├── search │ ├── all_0.html │ ├── all_0.js │ ├── all_1.html │ ├── all_1.js │ ├── all_2.html │ ├── all_2.js │ ├── all_3.html │ ├── all_3.js │ ├── all_4.html │ ├── all_4.js │ ├── all_5.html │ ├── all_5.js │ ├── all_6.html │ ├── all_6.js │ ├── all_7.html │ ├── all_7.js │ ├── all_8.html │ ├── all_8.js │ ├── all_9.html │ ├── all_9.js │ ├── all_a.html │ ├── all_a.js │ ├── classes_0.html │ ├── classes_0.js │ ├── classes_1.html │ ├── classes_1.js │ ├── close.svg │ ├── defines_0.html │ ├── defines_0.js │ ├── defines_1.html │ ├── defines_1.js │ ├── defines_2.html │ ├── defines_2.js │ ├── defines_3.html │ ├── defines_3.js │ ├── defines_4.html │ ├── defines_4.js │ ├── defines_5.html │ ├── defines_5.js │ ├── defines_6.html │ ├── defines_6.js │ ├── enums_0.html │ ├── enums_0.js │ ├── enumvalues_0.html │ ├── enumvalues_0.js │ ├── files_0.html │ ├── files_0.js │ ├── files_1.html │ ├── files_1.js │ ├── files_2.html │ ├── files_2.js │ ├── files_3.html │ ├── files_3.js │ ├── files_4.html │ ├── files_4.js │ ├── files_5.html │ ├── files_5.js │ ├── files_6.html │ ├── files_6.js │ ├── functions_0.html │ ├── functions_0.js │ ├── functions_1.html │ ├── functions_1.js │ ├── functions_2.html │ ├── functions_2.js │ ├── functions_3.html │ ├── functions_3.js │ ├── functions_4.html │ ├── functions_4.js │ ├── functions_5.html │ ├── functions_5.js │ ├── functions_6.html │ ├── functions_6.js │ ├── functions_7.html │ ├── functions_7.js │ ├── mag_sel.svg │ ├── nomatches.html │ ├── pages_0.html │ ├── pages_0.js │ ├── related_0.html │ ├── related_0.js │ ├── search.css │ ├── search.js │ ├── search_l.png │ ├── search_m.png │ ├── search_r.png │ ├── searchdata.js │ ├── typedefs_0.html │ ├── typedefs_0.js │ ├── variables_0.html │ └── variables_0.js │ ├── shellcode_8cpp.html │ ├── shellcode_8cpp.js │ ├── shellcode_8cpp_source.html │ ├── shellcode_8hpp.html │ ├── shellcode_8hpp.js │ ├── shellcode_8hpp_source.html │ ├── splitbar.png │ ├── sync_off.png │ ├── sync_on.png │ ├── tab_a.png │ ├── tab_b.png │ ├── tab_h.png │ ├── tab_s.png │ ├── tabs.css │ ├── utils_8cpp.html │ ├── utils_8cpp.js │ ├── utils_8cpp_source.html │ ├── utils_8hpp.html │ ├── utils_8hpp.js │ └── utils_8hpp_source.html ├── include ├── cobf.hpp ├── shellcode.hpp └── utils.hpp └── src ├── load.cpp ├── obfuscate.cpp ├── shellcode.cpp └── utils.cpp /Images/pic1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d35ha/CallObfuscator/2e9274644fdc2aebe3350e2b6b5d7ad1a950fd07/Images/pic1.png -------------------------------------------------------------------------------- /Images/pic2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d35ha/CallObfuscator/2e9274644fdc2aebe3350e2b6b5d7ad1a950fd07/Images/pic2.png -------------------------------------------------------------------------------- /Images/pic3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d35ha/CallObfuscator/2e9274644fdc2aebe3350e2b6b5d7ad1a950fd07/Images/pic3.png -------------------------------------------------------------------------------- /Images/pic4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d35ha/CallObfuscator/2e9274644fdc2aebe3350e2b6b5d7ad1a950fd07/Images/pic4.png -------------------------------------------------------------------------------- /Images/pic5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d35ha/CallObfuscator/2e9274644fdc2aebe3350e2b6b5d7ad1a950fd07/Images/pic5.png -------------------------------------------------------------------------------- /Images/pic6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d35ha/CallObfuscator/2e9274644fdc2aebe3350e2b6b5d7ad1a950fd07/Images/pic6.png -------------------------------------------------------------------------------- /Images/pic7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d35ha/CallObfuscator/2e9274644fdc2aebe3350e2b6b5d7ad1a950fd07/Images/pic7.png -------------------------------------------------------------------------------- /Images/pic8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d35ha/CallObfuscator/2e9274644fdc2aebe3350e2b6b5d7ad1a950fd07/Images/pic8.png -------------------------------------------------------------------------------- /Images/pic9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d35ha/CallObfuscator/2e9274644fdc2aebe3350e2b6b5d7ad1a950fd07/Images/pic9.png -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # CallObfuscator 2 | Obfuscate (hide) the PE imports from static/dynamic analysis tools. 3 | # Theory 4 | This's pretty forward, let's say I've used `VirtualProtect` and I want to obfuscate it with `Sleep`, the tool will manipulate the IAT so that the thunk that points to `VirtualProtect` will point instead to `Sleep`, now at executing the file, windows loader will load `Sleep` instead of `VirtualProtect`, and moves the execution to the entry point, from there the execution will be redirected to the shellcode, the tool put before, to find the address of `VirtualProtect` and use it to replace the address of `Sleep` which assigned before by the loader.
5 | # How to use 6 | * It can be included directly as a library, see the following snippet (based on the example), also you can take a look at [cli.cpp](cli/cli.cpp).
7 | ```c++ 8 | #include 9 | 10 | int main() { 11 | cobf obf_file = cobf("sample.exe"); 12 | obf_file.load_pe(); 13 | obf_file.obf_sym("kernel32.dll", "SetLastError", "Beep"); 14 | obf_file.obf_sym("kernel32.dll", "GetLastError", "GetACP"); 15 | obf_file.generate("sample_obfuscated.exe"); 16 | obf_file.unload_pe(); 17 | return 0; 18 | }; 19 | ``` 20 | 21 | * Also can be used as a command line tool by supplying it with the input PE path, the output PE path and optionally the path to the configuration file (default is `config.ini`).
22 | `cobf.exe [config file]`
23 | The config file contains the obfuscations needed (dlls, symbols, ...).
24 | Here is a template for the config file content
25 | ```ini 26 | ; Template for the config file: 27 | ; * Sections can be written as: 28 | ; [dll_name] 29 | ; old_sym=new_sym 30 | ; * The dll name is case insensitive, but 31 | ; the old and the new symbols are not. 32 | ; * You can use the wildcard on both the 33 | ; dll name and the old symbol. 34 | ; * You can use '#' at the start of 35 | ; the old or the new symbol to flag 36 | ; an ordinal. 37 | ; * The new symbol should be exported 38 | ; by the dll so the windows loader can resolve it. 39 | ; For example: 40 | ; * Obfuscating all of the symbols 41 | ; imported from user32.dll with ordinal 1600. 42 | [user32.dll] 43 | *=#1600 44 | ; * Obfuscating symbols imported from both 45 | ; kernel32.dll and kernelbase.dll with Sleep. 46 | [kernel*.dll] 47 | *=Sleep 48 | ; * Obfuscating fprintf with exit. 49 | [*] 50 | fprintf=exit 51 | ``` 52 | 53 | 54 | # Example 55 | Build this code sample
56 | ```c++ 57 | #include 58 | #include 59 | 60 | int main() { 61 | SetLastError(5); 62 | printf("Last error is %d\n", GetLastError()); 63 | return 0; 64 | }; 65 | ``` 66 | 67 | After building it, this is how the kernel32 imports look like
68 | 69 | ![pic1](Images/pic1.png)
70 | 71 | Now let's obfuscate both `SetLastError` and `GetLastError` with `Beep` and `GetACP` (actually any api from kernel32 will be ok even if it's not imported at all).
72 | The used configurations are
73 | ```ini 74 | [kernel32.dll] 75 | SetLastError=Beep 76 | GetLastError=GetACP 77 | ``` 78 | Here is the output (also you can use the library directly as shown above).
79 | 80 | ![pic2](Images/pic2.png)
81 | 82 | Again let's have a look on the kernel32 imports
83 | 84 | ![pic3](Images/pic3.png)
85 | 86 | There's no existence of `SetLastError` or `GetLastError`
87 | A confirmation that two files will work properly
88 | 89 | ![pic4](Images/pic4.png)
90 | 91 | # Impact 92 | 93 | IDA HexRays Decompiler
94 | 95 | ![pic5](Images/pic5.png)
96 | 97 | IDA Debugger
98 | 99 | ![pic6](Images/pic6.png)
100 | 101 | Ghidra
102 | 103 | ![pic7](Images/pic7.png)
104 | 105 | ApiMonitor
106 | 107 | ![pic8](Images/pic8.png)
108 | 109 | That's because all of the static analysis tool depend on what is the api name written at IAT which can be manipulated as shown.
110 | For ApiMonitor, because of using IAT hooking, the same problem exists.
111 | 112 | On the other side, for tools like x64dbg the shown api names will only depend on what is actually called (not what written at the IAT).
113 | 114 | ![pic9](Images/pic9.png)
115 | 116 | # Additional 117 | * Dumping the obfuscated PE out from memory won't deobfuscate it, because the manipulated IAT will be the same.
118 | * The main purpose for this tool is to mess up with the analysis process (make it slower).
119 | * One can obfuscate any imported symbol (by name or by ordinal) with another symbol (name or ordinal).
120 | * The shellcode is executed as the first tls callback to process the obfuscated symbols needed by the other tls callbacks before the entry point is executed.
121 | * The shellcode is shipped as c code, generated when the tool is compiled to facilitate editing it.
122 | * The obfuscated symbols names are being resolved by hash not by name directly.
123 | * The tool disables the relocations and strips any of the debug symbols.
124 | * The tool creates a new rwx section named `.cobf` for holding the shellcode and the other needed datas.
125 | * It can be used multiple times on the same obfuscated PE.
126 | * Tested only on Windows 10 x64.
127 | * Get source with `git clone https://github.com/d35ha/CallObfuscator`.
128 | * Download binaries from the [Release Section](https://github.com/d35ha/CallObfuscator/releases).
129 | 130 | # TODO 131 | * Shellcode obfuscation (probably with [obfusion](https://github.com/kgretzky/obfusion)). 132 | * Support the delay-loaded symbols. 133 | * Minimize the created section size. 134 | * Compile time hashing. 135 | * Better testing. 136 | -------------------------------------------------------------------------------- /cli/cli.cpp: -------------------------------------------------------------------------------- 1 | 2 | /*! @file 3 | * 4 | * This file contains the cli main functionality. 5 | */ 6 | 7 | // Includes. 8 | #include "ini.h" 9 | #include 10 | #include 11 | 12 | // Processed line handler. 13 | void ini_line_handler(void* data, unsigned int line, const char* sec, const char* nam, const char* val) 14 | { 15 | // Cast the needed pointer. 16 | cobf* p_obf_file = (cobf*)data; 17 | cobf_error ret_err; 18 | char error[MAX_PATH]; 19 | 20 | // Saving the old section. 21 | static string s_sec = ""; 22 | if (sec) 23 | { 24 | // Get the dll name. 25 | s_sec = sec; 26 | return; 27 | }; 28 | 29 | // Name/ordinals checking. 30 | if (*nam != '#' && *val != '#') ret_err = p_obf_file->obf_sym(s_sec.c_str(), nam, val); 31 | else if (*nam != '#' && *val == '#') ret_err = p_obf_file->obf_sym(s_sec.c_str(), nam, atoi(val + 1)); 32 | else if (*nam == '#' && *val != '#') ret_err = p_obf_file->obf_sym(s_sec.c_str(), atoi(nam + 1), val); 33 | else ret_err = p_obf_file->obf_sym(s_sec.c_str(), atoi(nam + 1), atoi(val + 1)); 34 | 35 | // Check the error. 36 | if (ret_err != cobf_error::COBF_NO_ERROR) 37 | { 38 | // Error at processing. 39 | cobf_format_message(ret_err, error, sizeof(error)); 40 | cout << "[-] Error at the config at line " << line << ": " << error << endl; 41 | }; 42 | }; 43 | 44 | // The main entry. 45 | int main(int argc, char** argv) 46 | { 47 | // Expecting the input file, out file and the config file. 48 | if (argc < 3 || argc > 4) 49 | { 50 | // Print help. 51 | cout << *argv << " [config file]" << endl; 52 | return 1; 53 | }; 54 | 55 | // Getting the data. 56 | char* input_file = argv[1]; 57 | char* out_file = argv[2]; 58 | char* config_file = argc == 4 ? argv[3] : (char*)"config.ini"; 59 | 60 | // Needed locals. 61 | cobf_error ret_err; 62 | char error[MAX_PATH]; 63 | try 64 | { 65 | // Loading the input file. 66 | cobf obf_file = cobf(input_file); 67 | if ((ret_err = obf_file.load_pe()) != cobf_error::COBF_NO_ERROR) 68 | { 69 | // Error at loading. 70 | cobf_format_message(ret_err, error, sizeof(error)); 71 | cout << "[-] Error at loading the file: " << error << endl; 72 | return 1; 73 | }; 74 | 75 | // Log. 76 | cout << "[+] File loaded successfully." << endl; 77 | 78 | // Process the config file. 79 | if (!parse_ini_file(config_file, ini_line_handler, &obf_file)) 80 | { 81 | // Error at processing the config. 82 | cout << "[-] Error occurred while processing the config file." << endl; 83 | return 1; 84 | }; 85 | 86 | // Obfuscating it. 87 | if ((ret_err = obf_file.generate(out_file)) != cobf_error::COBF_NO_ERROR) 88 | { 89 | // Error at obfuscating. 90 | cobf_format_message(ret_err, error, sizeof(error)); 91 | cout << "[-] Error at obfuscating the file: " << error << endl; 92 | return 1; 93 | }; 94 | 95 | // Log. 96 | cout << "[+] File obfuscated successfully." << endl; 97 | 98 | // Unloading it. 99 | if ((ret_err = obf_file.unload_pe()) != cobf_error::COBF_NO_ERROR) 100 | { 101 | // Error at unloading. 102 | cobf_format_message(ret_err, error, sizeof(error)); 103 | cout << "[-] Error at unloading the file: " << error << endl; 104 | return 1; 105 | }; 106 | 107 | // Log. 108 | cout << "[+] File unloaded successfully." << endl; 109 | 110 | } 111 | catch (...) 112 | { 113 | // Log. 114 | cout << "[!] Unhandled exception occurred." << endl; 115 | return 1; 116 | }; 117 | 118 | // Done. 119 | return 0; 120 | }; -------------------------------------------------------------------------------- /cli/ini.c: -------------------------------------------------------------------------------- 1 | 2 | /*! @file 3 | * 4 | * This file contains the main functionality 5 | * of the ini parser. 6 | * 7 | */ 8 | 9 | #ifndef INI_C 10 | #define INI_C 11 | 12 | // Includes. 13 | #include "ini.h" 14 | #include 15 | #include 16 | 17 | #ifdef __cplusplus 18 | extern "C" { 19 | #endif 20 | 21 | // Parse the file and return line by line. 22 | int parse_ini_file(const char* f_path, ini_line_cb handler, void* data) 23 | { 24 | // Open the file stream. 25 | FILE* h_file; 26 | if (fopen_s(&h_file, f_path, "r") || !h_file) return 0; 27 | 28 | // Current line. 29 | char* c_str_ptr = 0, * c_str_ptr_end = 0; 30 | char c_line[MAX_INI_LINE]; 31 | 32 | // Read it in a loop for each line. 33 | unsigned int line_number = 1; 34 | while (fgets(c_line, sizeof(c_line), h_file)) 35 | { 36 | // Comment. 37 | if (*c_line == ';') { 38 | line_number++; 39 | continue; 40 | }; 41 | 42 | // It may be a section. 43 | if (*c_line == '[' && (c_str_ptr = strchr(c_line, ']'))) 44 | { 45 | // New section. 46 | *c_str_ptr = '\0'; 47 | handler(data, line_number, c_line + 1, 0, 0); 48 | } 49 | else if ((c_str_ptr = strchr(c_line, '='))) 50 | { 51 | // It may be a name[=]value. 52 | if ((c_str_ptr_end = strchr(c_str_ptr, '\n'))) { 53 | *c_str_ptr_end = '\0'; 54 | }; 55 | 56 | // Call the handler with name-value pair. 57 | *c_str_ptr = '\0'; 58 | handler(data, line_number, 0, c_line, c_str_ptr + 1); 59 | } 60 | else 61 | { 62 | // Close the file and return FALSE. 63 | fclose(h_file); 64 | return 0; 65 | }; 66 | 67 | // Next. 68 | line_number++; 69 | }; 70 | 71 | // Close the file. 72 | fclose(h_file); 73 | return 1; 74 | }; 75 | 76 | #ifdef __cplusplus 77 | }; 78 | #endif 79 | #endif // !INI_C. -------------------------------------------------------------------------------- /cli/ini.h: -------------------------------------------------------------------------------- 1 | 2 | /*! @file 3 | * 4 | * This file contains the definitions 5 | * of the ini parser. 6 | * 7 | */ 8 | 9 | #ifndef INI_H 10 | #define INI_H 11 | 12 | #define MAX_INI_LINE 0x100 13 | 14 | #ifdef __cplusplus 15 | extern "C" { 16 | #endif 17 | 18 | /*! @ingroup INI 19 | * @brief Callback with the data found at each line. 20 | * @param[in] data The extra pointer to pass. 21 | * @param[in] line Processed line number. 22 | * @param[in] section Section if found. 23 | * @param[in] name Name of a normal pair. 24 | * @param[in] value Value of a normal pair. 25 | */ 26 | typedef void (*ini_line_cb)(void* data, unsigned int line, const char* section, 27 | const char* name, const char* value); 28 | 29 | /*! @ingroup INI 30 | * @brief Parse ini file, supply the data to a callback. 31 | * @param[in] f_path The path for the ini file. 32 | * @param[in] handler The callback function. 33 | * @param[in] data Extra pointer to pass to the callback. 34 | * @return 1 if done successfully, 0 if not. 35 | */ 36 | int parse_ini_file(const char* f_path, ini_line_cb handler, void* data); 37 | 38 | #ifdef __cplusplus 39 | }; 40 | #endif 41 | #endif // !INI_H. -------------------------------------------------------------------------------- /cobf.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio Version 16 4 | VisualStudioVersion = 16.0.30523.141 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cobf", "cobf.vcxproj", "{953303C0-506C-4D29-B6AF-ABEA559D3221}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|x64 = Debug|x64 11 | Debug|x86 = Debug|x86 12 | Release|x64 = Release|x64 13 | Release|x86 = Release|x86 14 | EndGlobalSection 15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 16 | {953303C0-506C-4D29-B6AF-ABEA559D3221}.Debug|x64.ActiveCfg = Debug|x64 17 | {953303C0-506C-4D29-B6AF-ABEA559D3221}.Debug|x64.Build.0 = Debug|x64 18 | {953303C0-506C-4D29-B6AF-ABEA559D3221}.Debug|x86.ActiveCfg = Debug|Win32 19 | {953303C0-506C-4D29-B6AF-ABEA559D3221}.Debug|x86.Build.0 = Debug|Win32 20 | {953303C0-506C-4D29-B6AF-ABEA559D3221}.Release|x64.ActiveCfg = Release|x64 21 | {953303C0-506C-4D29-B6AF-ABEA559D3221}.Release|x64.Build.0 = Release|x64 22 | {953303C0-506C-4D29-B6AF-ABEA559D3221}.Release|x86.ActiveCfg = Release|Win32 23 | {953303C0-506C-4D29-B6AF-ABEA559D3221}.Release|x86.Build.0 = Release|Win32 24 | EndGlobalSection 25 | GlobalSection(SolutionProperties) = preSolution 26 | HideSolutionNode = FALSE 27 | EndGlobalSection 28 | GlobalSection(ExtensibilityGlobals) = postSolution 29 | SolutionGuid = {D78A54F2-647E-46F2-AF18-CA11E02A1900} 30 | EndGlobalSection 31 | EndGlobal 32 | -------------------------------------------------------------------------------- /config.ini: -------------------------------------------------------------------------------- 1 | ; Template for the config file: 2 | ; * Sections can be written as: 3 | ; [dll_name] 4 | ; old_sym=new_sym 5 | ; * The dll name is case insensitive, but 6 | ; the old and the new symbols are not. 7 | ; * You can use the wildcard on both the 8 | ; dll name and the old symbol. 9 | ; * You can use '#' at the start of 10 | ; the old or the new symbol to flag 11 | ; an ordinal. 12 | ; * The new symbol should be exported 13 | ; by the dll so the windows loader can resolve it. 14 | ; For example: 15 | ; * Obfuscating all of the symbols 16 | ; imported from user32.dll with ordinal 1600. 17 | [user32.dll] 18 | *=#1600 19 | ; * Obfuscating symbols imported from both 20 | ; kernel32.dll and kernelbase.dll with Sleep. 21 | [kernel*.dll] 22 | *=Sleep 23 | ; * Obfuscating fprintf with exit. 24 | [*] 25 | fprintf=exit -------------------------------------------------------------------------------- /docs/html/_r_e_a_d_m_e_8md.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | cobf: README.md File Reference 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 |
24 | 25 | 26 | 27 | 32 | 33 | 34 |
28 |
cobf 29 |
30 |
PE imports obfuscator
31 |
35 |
36 | 37 | 38 | 43 | 44 | 45 | 52 | 53 |
54 |
55 | 60 |
62 |
63 |
64 | 69 |
70 | 71 |
75 |
76 | 77 | 78 |
79 | 82 |
83 | 84 |
85 |
86 |
README.md File Reference
87 |
88 |
89 |
90 |
91 | 92 | 98 | 99 | 100 | -------------------------------------------------------------------------------- /docs/html/annotated.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | cobf: Class List 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 |
24 | 25 | 26 | 27 | 32 | 33 | 34 |
28 |
cobf 29 |
30 |
PE imports obfuscator
31 |
35 |
36 | 37 | 38 | 43 | 44 | 45 | 52 | 53 |
54 |
55 | 60 |
62 |
63 |
64 | 69 |
70 | 71 |
75 |
76 | 77 | 78 |
79 | 82 |
83 | 84 |
85 |
86 |
Class List
87 |
88 |
89 |
Here are the classes, structs, unions and interfaces with brief descriptions:
90 | 91 | 92 | 93 |
 Ccobf
 Cshellcode
94 |
95 |
96 |
97 | 98 | 103 | 104 | 105 | -------------------------------------------------------------------------------- /docs/html/annotated_dup.js: -------------------------------------------------------------------------------- 1 | var annotated_dup = 2 | [ 3 | [ "cobf", "classcobf.html", "classcobf" ], 4 | [ "shellcode", "classshellcode.html", "classshellcode" ] 5 | ]; -------------------------------------------------------------------------------- /docs/html/bc_s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d35ha/CallObfuscator/2e9274644fdc2aebe3350e2b6b5d7ad1a950fd07/docs/html/bc_s.png -------------------------------------------------------------------------------- /docs/html/bdwn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d35ha/CallObfuscator/2e9274644fdc2aebe3350e2b6b5d7ad1a950fd07/docs/html/bdwn.png -------------------------------------------------------------------------------- /docs/html/classcobf.js: -------------------------------------------------------------------------------- 1 | var classcobf = 2 | [ 3 | [ "cobf", "classcobf.html#a19a9c6f456b8f41baa20101d18b2b218", null ], 4 | [ "generate", "classcobf.html#a5c476b34e992454395e316ccd595ac64", null ], 5 | [ "load_pe", "classcobf.html#adb7e7b50621d31d66fc5ba5bddd812d8", null ], 6 | [ "obf_sym", "classcobf.html#acb13b47887432073f83d0b73acc58bf1", null ], 7 | [ "obf_sym", "classcobf.html#a84deecc507137eca446f8c8bd9b8951c", null ], 8 | [ "obf_sym", "classcobf.html#ad2b65f3e1e50b340f90a7131b69fc0f4", null ], 9 | [ "obf_sym", "classcobf.html#ac549c84a0f762798a93f4cc8ff09094a", null ], 10 | [ "unload_pe", "classcobf.html#a8ce6ac5baae19382585fa804f4832a32", null ], 11 | [ "unobf_sym", "classcobf.html#ade434a9ce1c13a11ebe3b3b62578ba98", null ], 12 | [ "unobf_sym", "classcobf.html#ae6b259720c2892c3f0e04ee441ffdc34", null ] 13 | ]; -------------------------------------------------------------------------------- /docs/html/classes.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | cobf: Class Index 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 |
24 | 25 | 26 | 27 | 32 | 33 | 34 |
28 |
cobf 29 |
30 |
PE imports obfuscator
31 |
35 |
36 | 37 | 38 | 43 | 44 | 45 | 52 | 53 |
54 |
55 | 60 |
62 |
63 |
64 | 69 |
70 | 71 |
75 |
76 | 77 | 78 |
79 | 82 |
83 | 84 |
85 |
86 |
Class Index
87 |
88 |
89 |
c | s
90 | 91 | 93 | 95 | 96 | 97 | 98 | 99 | 100 | 101 |
  c  
92 |
  s  
94 |
cobf   shellcode   
102 |
c | s
103 |
104 |
105 | 106 | 111 | 112 | 113 | -------------------------------------------------------------------------------- /docs/html/classshellcode.js: -------------------------------------------------------------------------------- 1 | var classshellcode = 2 | [ 3 | [ "cobf", "classshellcode.html#a023e17da8df54ca82ec0ba5514bbbd51", null ] 4 | ]; -------------------------------------------------------------------------------- /docs/html/cli_8cpp.js: -------------------------------------------------------------------------------- 1 | var cli_8cpp = 2 | [ 3 | [ "ini_line_handler", "cli_8cpp.html#aeb023239dce01e86c4ffad93b521ed26", null ], 4 | [ "main", "cli_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627", null ] 5 | ]; -------------------------------------------------------------------------------- /docs/html/closed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d35ha/CallObfuscator/2e9274644fdc2aebe3350e2b6b5d7ad1a950fd07/docs/html/closed.png -------------------------------------------------------------------------------- /docs/html/dir_2990d7c532eb7441b74916b8f5365141.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | cobf: cli Directory Reference 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 |
24 | 25 | 26 | 27 | 32 | 33 | 34 |
28 |
cobf 29 |
30 |
PE imports obfuscator
31 |
35 |
36 | 37 | 38 | 43 | 44 | 45 | 52 | 53 |
54 |
55 | 60 |
62 |
63 |
64 | 69 |
70 | 71 |
75 |
76 | 77 | 78 |
79 | 82 |
83 | 84 |
85 |
86 |
cli Directory Reference
87 |
88 |
89 | 90 | 92 | 93 | 94 | 95 | 96 | 97 | 98 |

91 | Files

file  cli.cpp [code]
 
file  ini.c [code]
 
file  ini.h [code]
 
99 |
100 |
101 | 102 | 108 | 109 | 110 | -------------------------------------------------------------------------------- /docs/html/dir_2990d7c532eb7441b74916b8f5365141.js: -------------------------------------------------------------------------------- 1 | var dir_2990d7c532eb7441b74916b8f5365141 = 2 | [ 3 | [ "cli.cpp", "cli_8cpp.html", "cli_8cpp" ], 4 | [ "ini.c", "ini_8c.html", "ini_8c" ], 5 | [ "ini.h", "ini_8h.html", "ini_8h" ] 6 | ]; -------------------------------------------------------------------------------- /docs/html/dir_68267d1309a1af8e8297ef4c3efbcdba.js: -------------------------------------------------------------------------------- 1 | var dir_68267d1309a1af8e8297ef4c3efbcdba = 2 | [ 3 | [ "load.cpp", "load_8cpp.html", "load_8cpp" ], 4 | [ "obfuscate.cpp", "obfuscate_8cpp.html", "obfuscate_8cpp" ], 5 | [ "shellcode.cpp", "shellcode_8cpp.html", "shellcode_8cpp" ], 6 | [ "utils.cpp", "utils_8cpp.html", "utils_8cpp" ] 7 | ]; -------------------------------------------------------------------------------- /docs/html/dir_d44c64559bbebec7f509842c48db8b23.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | cobf: include Directory Reference 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 |
24 | 25 | 26 | 27 | 32 | 33 | 34 |
28 |
cobf 29 |
30 |
PE imports obfuscator
31 |
35 |
36 | 37 | 38 | 43 | 44 | 45 | 52 | 53 |
54 |
55 | 60 |
62 |
63 |
64 | 69 |
70 | 71 |
75 |
76 | 77 | 78 |
79 | 82 |
83 | 84 |
85 |
86 |
include Directory Reference
87 |
88 |
89 | 90 | 92 | 93 | 94 | 95 | 96 | 97 | 98 |

91 | Files

file  cobf.hpp [code]
 
file  shellcode.hpp [code]
 
file  utils.hpp [code]
 
99 |
100 |
101 | 102 | 108 | 109 | 110 | -------------------------------------------------------------------------------- /docs/html/dir_d44c64559bbebec7f509842c48db8b23.js: -------------------------------------------------------------------------------- 1 | var dir_d44c64559bbebec7f509842c48db8b23 = 2 | [ 3 | [ "cobf.hpp", "cobf_8hpp.html", [ 4 | [ "cobf", "classcobf.html", "classcobf" ] 5 | ] ], 6 | [ "shellcode.hpp", "shellcode_8hpp.html", "shellcode_8hpp" ], 7 | [ "utils.hpp", "utils_8hpp.html", "utils_8hpp" ] 8 | ]; -------------------------------------------------------------------------------- /docs/html/doc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d35ha/CallObfuscator/2e9274644fdc2aebe3350e2b6b5d7ad1a950fd07/docs/html/doc.png -------------------------------------------------------------------------------- /docs/html/dynsections.js: -------------------------------------------------------------------------------- 1 | /* 2 | @licstart The following is the entire license notice for the JavaScript code in this file. 3 | 4 | The MIT License (MIT) 5 | 6 | Copyright (C) 1997-2020 by Dimitri van Heesch 7 | 8 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software 9 | and associated documentation files (the "Software"), to deal in the Software without restriction, 10 | including without limitation the rights to use, copy, modify, merge, publish, distribute, 11 | sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all copies or 15 | substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING 18 | BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, 20 | DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 22 | 23 | @licend The above is the entire license notice for the JavaScript code in this file 24 | */ 25 | function toggleVisibility(linkObj) 26 | { 27 | var base = $(linkObj).attr('id'); 28 | var summary = $('#'+base+'-summary'); 29 | var content = $('#'+base+'-content'); 30 | var trigger = $('#'+base+'-trigger'); 31 | var src=$(trigger).attr('src'); 32 | if (content.is(':visible')===true) { 33 | content.hide(); 34 | summary.show(); 35 | $(linkObj).addClass('closed').removeClass('opened'); 36 | $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); 37 | } else { 38 | content.show(); 39 | summary.hide(); 40 | $(linkObj).removeClass('closed').addClass('opened'); 41 | $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); 42 | } 43 | return false; 44 | } 45 | 46 | function updateStripes() 47 | { 48 | $('table.directory tr'). 49 | removeClass('even').filter(':visible:even').addClass('even'); 50 | } 51 | 52 | function toggleLevel(level) 53 | { 54 | $('table.directory tr').each(function() { 55 | var l = this.id.split('_').length-1; 56 | var i = $('#img'+this.id.substring(3)); 57 | var a = $('#arr'+this.id.substring(3)); 58 | if (l 2 | 3 | 4 | 5 | 6 | 7 | 8 | cobf: Class Members 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 |
24 | 25 | 26 | 27 | 32 | 33 | 34 |
28 |
cobf 29 |
30 |
PE imports obfuscator
31 |
35 |
36 | 37 | 38 | 43 | 44 | 45 | 52 | 53 |
54 |
55 | 60 |
62 |
63 |
64 | 69 |
70 | 71 |
75 |
76 | 77 | 78 |
79 | 82 |
83 | 84 |
85 |
Here is a list of all class members with links to the classes they belong to:
    86 |
  • cobf() 87 | : cobf 88 | , shellcode 89 |
  • 90 |
  • generate() 91 | : cobf 92 |
  • 93 |
  • load_pe() 94 | : cobf 95 |
  • 96 |
  • obf_sym() 97 | : cobf 98 |
  • 99 |
  • shellcode_entry 100 | : shellcode 101 |
  • 102 |
  • shellcode_size 103 | : shellcode 104 |
  • 105 |
  • shellcode_start 106 | : shellcode 107 |
  • 108 |
  • shellcodes_funs 109 | : shellcode 110 |
  • 111 |
  • unload_pe() 112 | : cobf 113 |
  • 114 |
  • unobf_sym() 115 | : cobf 116 |
  • 117 |
118 |
119 |
120 | 121 | 126 | 127 | 128 | -------------------------------------------------------------------------------- /docs/html/functions_func.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | cobf: Class Members - Functions 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 |
24 | 25 | 26 | 27 | 32 | 33 | 34 |
28 |
cobf 29 |
30 |
PE imports obfuscator
31 |
35 |
36 | 37 | 38 | 43 | 44 | 45 | 52 | 53 |
54 |
55 | 60 |
62 |
63 |
64 | 69 |
70 | 71 |
75 |
76 | 77 | 78 |
79 | 82 |
83 | 84 |
85 |  
    86 |
  • cobf() 87 | : cobf 88 |
  • 89 |
  • generate() 90 | : cobf 91 |
  • 92 |
  • load_pe() 93 | : cobf 94 |
  • 95 |
  • obf_sym() 96 | : cobf 97 |
  • 98 |
  • unload_pe() 99 | : cobf 100 |
  • 101 |
  • unobf_sym() 102 | : cobf 103 |
  • 104 |
105 |
106 |
107 | 108 | 113 | 114 | 115 | -------------------------------------------------------------------------------- /docs/html/functions_rela.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | cobf: Class Members - Related Functions 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 |
24 | 25 | 26 | 27 | 32 | 33 | 34 |
28 |
cobf 29 |
30 |
PE imports obfuscator
31 |
35 |
36 | 37 | 38 | 43 | 44 | 45 | 52 | 53 |
54 |
55 | 60 |
62 |
63 |
64 | 69 |
70 | 71 |
75 |
76 | 77 | 78 |
79 | 82 |
83 | 84 |
85 |   90 |
91 |
92 | 93 | 98 | 99 | 100 | -------------------------------------------------------------------------------- /docs/html/functions_vars.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | cobf: Class Members - Variables 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 |
24 | 25 | 26 | 27 | 32 | 33 | 34 |
28 |
cobf 29 |
30 |
PE imports obfuscator
31 |
35 |
36 | 37 | 38 | 43 | 44 | 45 | 52 | 53 |
54 |
55 | 60 |
62 |
63 |
64 | 69 |
70 | 71 |
75 |
76 | 77 | 78 |
79 | 82 |
83 | 84 |
85 |   99 |
100 |
101 | 102 | 107 | 108 | 109 | -------------------------------------------------------------------------------- /docs/html/globals_defs.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | cobf: File Members 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 |
24 | 25 | 26 | 27 | 32 | 33 | 34 |
28 |
cobf 29 |
30 |
PE imports obfuscator
31 |
35 |
36 | 37 | 38 | 43 | 44 | 45 | 52 | 53 |
54 |
55 | 60 |
62 |
63 |
64 | 69 |
70 | 71 |
75 |
76 | 77 | 78 |
79 | 82 |
83 | 84 |
85 |   111 |
112 |
113 | 114 | 119 | 120 | 121 | -------------------------------------------------------------------------------- /docs/html/globals_enum.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | cobf: File Members 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 |
24 | 25 | 26 | 27 | 32 | 33 | 34 |
28 |
cobf 29 |
30 |
PE imports obfuscator
31 |
35 |
36 | 37 | 38 | 43 | 44 | 45 | 52 | 53 |
54 |
55 | 60 |
62 |
63 |
64 | 69 |
70 | 71 |
75 |
76 | 77 | 78 |
79 | 82 |
83 | 84 |
85 |   90 |
91 |
92 | 93 | 98 | 99 | 100 | -------------------------------------------------------------------------------- /docs/html/globals_func.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | cobf: File Members 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 |
24 | 25 | 26 | 27 | 32 | 33 | 34 |
28 |
cobf 29 |
30 |
PE imports obfuscator
31 |
35 |
36 | 37 | 38 | 43 | 44 | 45 | 52 | 53 |
54 |
55 | 60 |
62 |
63 |
64 | 69 |
70 | 71 |
75 |
76 | 77 | 78 |
79 | 82 |
83 | 84 |
85 |   101 |
102 |
103 | 104 | 109 | 110 | 111 | -------------------------------------------------------------------------------- /docs/html/globals_type.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | cobf: File Members 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 |
24 | 25 | 26 | 27 | 32 | 33 | 34 |
28 |
cobf 29 |
30 |
PE imports obfuscator
31 |
35 |
36 | 37 | 38 | 43 | 44 | 45 | 52 | 53 |
54 |
55 | 60 |
62 |
63 |
64 | 69 |
70 | 71 |
75 |
76 | 77 | 78 |
79 | 82 |
83 | 84 |
85 |  
    86 |
  • ini_line_cb 87 | : ini.h 88 |
  • 89 |
90 |
91 |
92 | 93 | 98 | 99 | 100 | -------------------------------------------------------------------------------- /docs/html/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | cobf: Main Page 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 |
24 | 25 | 26 | 27 | 32 | 33 | 34 |
28 |
cobf 29 |
30 |
PE imports obfuscator
31 |
35 |
36 | 37 | 38 | 43 | 44 | 45 | 52 | 53 |
54 |
55 | 60 |
62 |
63 |
64 | 69 |
70 | 71 |
75 |
76 | 77 | 78 |
79 | 82 |
83 | 84 |
85 |
86 |
cobf Documentation
87 |
88 |
89 |
90 |
91 | 92 | 97 | 98 | 99 | -------------------------------------------------------------------------------- /docs/html/ini_8c.js: -------------------------------------------------------------------------------- 1 | var ini_8c = 2 | [ 3 | [ "INI_C", "ini_8c.html#a2b122fa91cf1715b4fb7cb31df064413", null ], 4 | [ "parse_ini_file", "ini_8c.html#a4707e20d527eb86f01206c695860b3e0", null ] 5 | ]; -------------------------------------------------------------------------------- /docs/html/ini_8h.js: -------------------------------------------------------------------------------- 1 | var ini_8h = 2 | [ 3 | [ "MAX_INI_LINE", "ini_8h.html#a9830c688be7644d9d9064a9c2419899a", null ], 4 | [ "ini_line_cb", "ini_8h.html#abb884dac5bc82fe6cac0bd36fffa2f54", null ], 5 | [ "parse_ini_file", "ini_8h.html#a4707e20d527eb86f01206c695860b3e0", null ] 6 | ]; -------------------------------------------------------------------------------- /docs/html/load_8cpp.js: -------------------------------------------------------------------------------- 1 | var load_8cpp = 2 | [ 3 | [ "LOAD_CPP", "load_8cpp.html#a87a437878d17a6160f740cf3664ad7ee", null ] 4 | ]; -------------------------------------------------------------------------------- /docs/html/menu.js: -------------------------------------------------------------------------------- 1 | /* 2 | @licstart The following is the entire license notice for the JavaScript code in this file. 3 | 4 | The MIT License (MIT) 5 | 6 | Copyright (C) 1997-2020 by Dimitri van Heesch 7 | 8 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software 9 | and associated documentation files (the "Software"), to deal in the Software without restriction, 10 | including without limitation the rights to use, copy, modify, merge, publish, distribute, 11 | sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all copies or 15 | substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING 18 | BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, 20 | DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 22 | 23 | @licend The above is the entire license notice for the JavaScript code in this file 24 | */ 25 | function initMenu(relPath,searchEnabled,serverSide,searchPage,search) { 26 | function makeTree(data,relPath) { 27 | var result=''; 28 | if ('children' in data) { 29 | result+=''; 36 | } 37 | return result; 38 | } 39 | 40 | $('#main-nav').append(makeTree(menudata,relPath)); 41 | $('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu'); 42 | if (searchEnabled) { 43 | if (serverSide) { 44 | $('#main-menu').append('
  • '); 45 | } else { 46 | $('#main-menu').append('
  • '); 47 | } 48 | } 49 | $('#main-menu').smartmenus(); 50 | } 51 | /* @license-end */ 52 | -------------------------------------------------------------------------------- /docs/html/menudata.js: -------------------------------------------------------------------------------- 1 | /* 2 | @licstart The following is the entire license notice for the JavaScript code in this file. 3 | 4 | The MIT License (MIT) 5 | 6 | Copyright (C) 1997-2020 by Dimitri van Heesch 7 | 8 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software 9 | and associated documentation files (the "Software"), to deal in the Software without restriction, 10 | including without limitation the rights to use, copy, modify, merge, publish, distribute, 11 | sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all copies or 15 | substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING 18 | BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, 20 | DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 22 | 23 | @licend The above is the entire license notice for the JavaScript code in this file 24 | */ 25 | var menudata={children:[ 26 | {text:"Main Page",url:"index.html"}, 27 | {text:"Related Pages",url:"pages.html"}, 28 | {text:"Classes",url:"annotated.html",children:[ 29 | {text:"Class List",url:"annotated.html"}, 30 | {text:"Class Index",url:"classes.html"}, 31 | {text:"Class Members",url:"functions.html",children:[ 32 | {text:"All",url:"functions.html"}, 33 | {text:"Functions",url:"functions_func.html"}, 34 | {text:"Variables",url:"functions_vars.html"}, 35 | {text:"Related Functions",url:"functions_rela.html"}]}]}, 36 | {text:"Files",url:"files.html",children:[ 37 | {text:"File List",url:"files.html"}, 38 | {text:"File Members",url:"globals.html",children:[ 39 | {text:"All",url:"globals.html"}, 40 | {text:"Functions",url:"globals_func.html"}, 41 | {text:"Typedefs",url:"globals_type.html"}, 42 | {text:"Enumerations",url:"globals_enum.html"}, 43 | {text:"Macros",url:"globals_defs.html"}]}]}]} 44 | -------------------------------------------------------------------------------- /docs/html/nav_f.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d35ha/CallObfuscator/2e9274644fdc2aebe3350e2b6b5d7ad1a950fd07/docs/html/nav_f.png -------------------------------------------------------------------------------- /docs/html/nav_g.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d35ha/CallObfuscator/2e9274644fdc2aebe3350e2b6b5d7ad1a950fd07/docs/html/nav_g.png -------------------------------------------------------------------------------- /docs/html/nav_h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d35ha/CallObfuscator/2e9274644fdc2aebe3350e2b6b5d7ad1a950fd07/docs/html/nav_h.png -------------------------------------------------------------------------------- /docs/html/navtree.css: -------------------------------------------------------------------------------- 1 | #nav-tree .children_ul { 2 | margin:0; 3 | padding:4px; 4 | } 5 | 6 | #nav-tree ul { 7 | list-style:none outside none; 8 | margin:0px; 9 | padding:0px; 10 | } 11 | 12 | #nav-tree li { 13 | white-space:nowrap; 14 | margin:0px; 15 | padding:0px; 16 | } 17 | 18 | #nav-tree .plus { 19 | margin:0px; 20 | } 21 | 22 | #nav-tree .selected { 23 | background-image: url('tab_a.png'); 24 | background-repeat:repeat-x; 25 | color: #fff; 26 | text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); 27 | } 28 | 29 | #nav-tree img { 30 | margin:0px; 31 | padding:0px; 32 | border:0px; 33 | vertical-align: middle; 34 | } 35 | 36 | #nav-tree a { 37 | text-decoration:none; 38 | padding:0px; 39 | margin:0px; 40 | outline:none; 41 | } 42 | 43 | #nav-tree .label { 44 | margin:0px; 45 | padding:0px; 46 | font: 12px 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; 47 | } 48 | 49 | #nav-tree .label a { 50 | padding:2px; 51 | } 52 | 53 | #nav-tree .selected a { 54 | text-decoration:none; 55 | color:#fff; 56 | } 57 | 58 | #nav-tree .children_ul { 59 | margin:0px; 60 | padding:0px; 61 | } 62 | 63 | #nav-tree .item { 64 | margin:0px; 65 | padding:0px; 66 | } 67 | 68 | #nav-tree { 69 | padding: 0px 0px; 70 | background-color: #FAFAFF; 71 | font-size:14px; 72 | overflow:auto; 73 | } 74 | 75 | #doc-content { 76 | overflow:auto; 77 | display:block; 78 | padding:0px; 79 | margin:0px; 80 | -webkit-overflow-scrolling : touch; /* iOS 5+ */ 81 | } 82 | 83 | #side-nav { 84 | padding:0 6px 0 0; 85 | margin: 0px; 86 | display:block; 87 | position: absolute; 88 | left: 0px; 89 | width: 250px; 90 | } 91 | 92 | .ui-resizable .ui-resizable-handle { 93 | display:block; 94 | } 95 | 96 | .ui-resizable-e { 97 | background-image:url("splitbar.png"); 98 | background-size:100%; 99 | background-repeat:repeat-y; 100 | background-attachment: scroll; 101 | cursor:ew-resize; 102 | height:100%; 103 | right:0; 104 | top:0; 105 | width:6px; 106 | } 107 | 108 | .ui-resizable-handle { 109 | display:none; 110 | font-size:0.1px; 111 | position:absolute; 112 | z-index:1; 113 | } 114 | 115 | #nav-tree-contents { 116 | margin: 6px 0px 0px 0px; 117 | } 118 | 119 | #nav-tree { 120 | background-image:url('nav_h.png'); 121 | background-repeat:repeat-x; 122 | background-color: #F9FAFC; 123 | -webkit-overflow-scrolling : touch; /* iOS 5+ */ 124 | } 125 | 126 | #nav-sync { 127 | position:absolute; 128 | top:5px; 129 | right:24px; 130 | z-index:0; 131 | } 132 | 133 | #nav-sync img { 134 | opacity:0.3; 135 | } 136 | 137 | #nav-sync img:hover { 138 | opacity:0.9; 139 | } 140 | 141 | @media print 142 | { 143 | #nav-tree { display: none; } 144 | div.ui-resizable-handle { display: none; position: relative; } 145 | } 146 | 147 | -------------------------------------------------------------------------------- /docs/html/navtreedata.js: -------------------------------------------------------------------------------- 1 | /* 2 | @licstart The following is the entire license notice for the JavaScript code in this file. 3 | 4 | The MIT License (MIT) 5 | 6 | Copyright (C) 1997-2020 by Dimitri van Heesch 7 | 8 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software 9 | and associated documentation files (the "Software"), to deal in the Software without restriction, 10 | including without limitation the rights to use, copy, modify, merge, publish, distribute, 11 | sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all copies or 15 | substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING 18 | BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, 20 | DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 22 | 23 | @licend The above is the entire license notice for the JavaScript code in this file 24 | */ 25 | var NAVTREE = 26 | [ 27 | [ "cobf", "index.html", [ 28 | [ "CallObfuscator", "md__r_e_a_d_m_e.html", [ 29 | [ "Theory", "md__r_e_a_d_m_e.html#autotoc_md1", null ], 30 | [ "How to use", "md__r_e_a_d_m_e.html#autotoc_md2", null ], 31 | [ "Example", "md__r_e_a_d_m_e.html#autotoc_md3", null ], 32 | [ "Impact", "md__r_e_a_d_m_e.html#autotoc_md4", null ], 33 | [ "Additional", "md__r_e_a_d_m_e.html#autotoc_md5", null ], 34 | [ "TODO", "md__r_e_a_d_m_e.html#autotoc_md6", null ] 35 | ] ], 36 | [ "Classes", "annotated.html", [ 37 | [ "Class List", "annotated.html", "annotated_dup" ], 38 | [ "Class Index", "classes.html", null ], 39 | [ "Class Members", "functions.html", [ 40 | [ "All", "functions.html", null ], 41 | [ "Functions", "functions_func.html", null ], 42 | [ "Variables", "functions_vars.html", null ], 43 | [ "Related Functions", "functions_rela.html", null ] 44 | ] ] 45 | ] ], 46 | [ "Files", "files.html", [ 47 | [ "File List", "files.html", "files_dup" ], 48 | [ "File Members", "globals.html", [ 49 | [ "All", "globals.html", null ], 50 | [ "Functions", "globals_func.html", null ], 51 | [ "Typedefs", "globals_type.html", null ], 52 | [ "Enumerations", "globals_enum.html", null ], 53 | [ "Macros", "globals_defs.html", null ] 54 | ] ] 55 | ] ] 56 | ] ] 57 | ]; 58 | 59 | var NAVTREEINDEX = 60 | [ 61 | "annotated.html" 62 | ]; 63 | 64 | var SYNCONMSG = 'click to disable panel synchronisation'; 65 | var SYNCOFFMSG = 'click to enable panel synchronisation'; -------------------------------------------------------------------------------- /docs/html/obfuscate_8cpp.js: -------------------------------------------------------------------------------- 1 | var obfuscate_8cpp = 2 | [ 3 | [ "OBFUSCATE_CPP", "obfuscate_8cpp.html#a2a7ea71b9cfb936e3b84555d0b1b1c3f", null ] 4 | ]; -------------------------------------------------------------------------------- /docs/html/open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d35ha/CallObfuscator/2e9274644fdc2aebe3350e2b6b5d7ad1a950fd07/docs/html/open.png -------------------------------------------------------------------------------- /docs/html/pages.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | cobf: Related Pages 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 |
    23 |
    24 | 25 | 26 | 27 | 32 | 33 | 34 |
    28 |
    cobf 29 |
    30 |
    PE imports obfuscator
    31 |
    35 |
    36 | 37 | 38 | 43 | 44 | 45 | 52 | 53 |
    54 |
    55 | 60 |
    62 |
    63 |
    64 | 69 |
    70 | 71 |
    75 |
    76 | 77 | 78 |
    79 | 82 |
    83 | 84 |
    85 |
    86 |
    Related Pages
    87 |
    88 |
    89 |
    Here is a list of all related documentation pages:
    90 | 91 | 92 |
     CallObfuscator
    93 |
    94 |
    95 |
    96 | 97 | 102 | 103 | 104 | -------------------------------------------------------------------------------- /docs/html/search/all_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 18 |
    Searching...
    19 |
    No Matches
    20 | 34 |
    35 | 36 | 37 | -------------------------------------------------------------------------------- /docs/html/search/all_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['cli_2ecpp_0',['cli.cpp',['../cli_8cpp.html',1,'']]], 4 | ['cobf_1',['cobf',['../classcobf.html',1,'cobf'],['../classshellcode.html#a023e17da8df54ca82ec0ba5514bbbd51',1,'shellcode::cobf()'],['../classcobf.html#a19a9c6f456b8f41baa20101d18b2b218',1,'cobf::cobf()']]], 5 | ['cobf_2ehpp_2',['cobf.hpp',['../cobf_8hpp.html',1,'']]], 6 | ['cobf_5fcannot_5fadd_5fentry_3',['COBF_CANNOT_ADD_ENTRY',['../utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522a0c878266f50b1c1d74efcfeb51647a56',1,'utils.hpp']]], 7 | ['cobf_5fcannot_5fclear_4',['COBF_CANNOT_CLEAR',['../utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522aa0da51ee9dca8ae8a8b1b844e8f97c84',1,'utils.hpp']]], 8 | ['cobf_5fcannot_5fcreate_5ffile_5',['COBF_CANNOT_CREATE_FILE',['../utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522aedc0ede92337a0ba3829cd826f149d98',1,'utils.hpp']]], 9 | ['cobf_5fcannot_5fcreate_5fsection_6',['COBF_CANNOT_CREATE_SECTION',['../utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522a5bf8a3668b5ebfcaf3332142a6cfc143',1,'utils.hpp']]], 10 | ['cobf_5fcannot_5fdisable_5frelocs_7',['COBF_CANNOT_DISABLE_RELOCS',['../utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522a6deb9317cf92df2256e099dd71f77fee',1,'utils.hpp']]], 11 | ['cobf_5fcannot_5fget_5fsize_8',['COBF_CANNOT_GET_SIZE',['../utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522a9ddfb8295dfbade129c5b03dc09049c3',1,'utils.hpp']]], 12 | ['cobf_5fcannot_5fopen_5ffile_9',['COBF_CANNOT_OPEN_FILE',['../utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522a7a7f4614d1b09490c95eaba85b627ebb',1,'utils.hpp']]], 13 | ['cobf_5fcannot_5fparse_5fimports_10',['COBF_CANNOT_PARSE_IMPORTS',['../utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522ab2e4e544c3d33d4a187b945ce28aa6bd',1,'utils.hpp']]], 14 | ['cobf_5fcannot_5fread_5ffile_11',['COBF_CANNOT_READ_FILE',['../utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522a8f0ebd152b19bf9080cebeacc3f730a0',1,'utils.hpp']]], 15 | ['cobf_5fcannot_5fremove_5fdbg_5fsyms_12',['COBF_CANNOT_REMOVE_DBG_SYMS',['../utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522ab807ed9970d5cc677743b5aeafee50f7',1,'utils.hpp']]], 16 | ['cobf_5fcannot_5fwrite_5ffile_13',['COBF_CANNOT_WRITE_FILE',['../utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522adbd6913dda5f8e26a4773786d0b4e4fc',1,'utils.hpp']]], 17 | ['cobf_5ferror_14',['cobf_error',['../utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522',1,'utils.hpp']]], 18 | ['cobf_5fformat_5fmessage_15',['cobf_format_message',['../utils_8hpp.html#a74542b9f36f9674b15702774a994e549',1,'cobf_format_message(cobf_error err_msg, char *buffer, unsigned int size): utils.cpp'],['../utils_8cpp.html#a74542b9f36f9674b15702774a994e549',1,'cobf_format_message(cobf_error err_msg, char *buffer, unsigned int size): utils.cpp']]], 19 | ['cobf_5finvalid_5fdos_5fhdr_16',['COBF_INVALID_DOS_HDR',['../utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522a422d449786b0c9d060eff1abb3bde92c',1,'utils.hpp']]], 20 | ['cobf_5finvalid_5fiat_5fsection_17',['COBF_INVALID_IAT_SECTION',['../utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522acf611597e8974bc8eb36a768264fb9ea',1,'utils.hpp']]], 21 | ['cobf_5finvalid_5fimports_5fdir_18',['COBF_INVALID_IMPORTS_DIR',['../utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522a34c04f93444933136c15fb1900a9f0e7',1,'utils.hpp']]], 22 | ['cobf_5finvalid_5fnt_5fhdrs_19',['COBF_INVALID_NT_HDRS',['../utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522a0814764ff17de72cc28b64fcb70d8ec7',1,'utils.hpp']]], 23 | ['cobf_5finvalid_5fsection_5fhdr_20',['COBF_INVALID_SECTION_HDR',['../utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522a984637918b3d2ec05e9ec2dec90e39ae',1,'utils.hpp']]], 24 | ['cobf_5fmodule_5fnot_5ffound_21',['COBF_MODULE_NOT_FOUND',['../utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522a21cf6c59fe99ca21d9cefe181a09065a',1,'utils.hpp']]], 25 | ['cobf_5fno_5ferror_22',['COBF_NO_ERROR',['../utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522aaf9fca5cbc5d0e0a7ce708d380534b18',1,'utils.hpp']]], 26 | ['cobf_5fpe_5floaded_23',['COBF_PE_LOADED',['../utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522aba678ca91c110257174c5d1b6297d547',1,'utils.hpp']]], 27 | ['cobf_5fpe_5funloaded_24',['COBF_PE_UNLOADED',['../utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522a8e2022be17f8d75f57f211de520ab8f8',1,'utils.hpp']]], 28 | ['cobf_5fsyms_5fnot_5ffound_25',['COBF_SYMS_NOT_FOUND',['../utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522adf1f17f6e0bdd9c723aa60aef04dcfd6',1,'utils.hpp']]], 29 | ['cobf_5funsupported_5fpe_26',['COBF_UNSUPPORTED_PE',['../utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522a3ac831847ae31ec3d0b05e8f38046d43',1,'utils.hpp']]], 30 | ['callobfuscator_27',['CallObfuscator',['../md__r_e_a_d_m_e.html',1,'']]] 31 | ]; 32 | -------------------------------------------------------------------------------- /docs/html/search/all_1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 18 |
    Searching...
    19 |
    No Matches
    20 | 34 |
    35 | 36 | 37 | -------------------------------------------------------------------------------- /docs/html/search/all_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['generate_28',['generate',['../classcobf.html#a5c476b34e992454395e316ccd595ac64',1,'cobf']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/html/search/all_2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 18 |
    Searching...
    19 |
    No Matches
    20 | 34 |
    35 | 36 | 37 | -------------------------------------------------------------------------------- /docs/html/search/all_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['ini_2ec_29',['ini.c',['../ini_8c.html',1,'']]], 4 | ['ini_2eh_30',['ini.h',['../ini_8h.html',1,'']]], 5 | ['ini_5fc_31',['INI_C',['../ini_8c.html#a2b122fa91cf1715b4fb7cb31df064413',1,'ini.c']]], 6 | ['ini_5fline_5fcb_32',['ini_line_cb',['../ini_8h.html#abb884dac5bc82fe6cac0bd36fffa2f54',1,'ini.h']]], 7 | ['ini_5fline_5fhandler_33',['ini_line_handler',['../cli_8cpp.html#aeb023239dce01e86c4ffad93b521ed26',1,'cli.cpp']]] 8 | ]; 9 | -------------------------------------------------------------------------------- /docs/html/search/all_3.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 18 |
    Searching...
    19 |
    No Matches
    20 | 34 |
    35 | 36 | 37 | -------------------------------------------------------------------------------- /docs/html/search/all_3.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['load_2ecpp_34',['load.cpp',['../load_8cpp.html',1,'']]], 4 | ['load_5fcpp_35',['LOAD_CPP',['../load_8cpp.html#a87a437878d17a6160f740cf3664ad7ee',1,'load.cpp']]], 5 | ['load_5fpe_36',['load_pe',['../classcobf.html#adb7e7b50621d31d66fc5ba5bddd812d8',1,'cobf']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /docs/html/search/all_4.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 18 |
    Searching...
    19 |
    No Matches
    20 | 34 |
    35 | 36 | 37 | -------------------------------------------------------------------------------- /docs/html/search/all_4.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['main_37',['main',['../cli_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627',1,'cli.cpp']]], 4 | ['max_5fini_5fline_38',['MAX_INI_LINE',['../ini_8h.html#a9830c688be7644d9d9064a9c2419899a',1,'ini.h']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /docs/html/search/all_5.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 18 |
    Searching...
    19 |
    No Matches
    20 | 34 |
    35 | 36 | 37 | -------------------------------------------------------------------------------- /docs/html/search/all_5.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['no_5finline_39',['no_inline',['../shellcode_8hpp.html#a920e1ee483880024048aca3880427e1c',1,'shellcode.hpp']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/html/search/all_6.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 18 |
    Searching...
    19 |
    No Matches
    20 | 34 |
    35 | 36 | 37 | -------------------------------------------------------------------------------- /docs/html/search/all_6.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['obf_5fsym_40',['obf_sym',['../classcobf.html#acb13b47887432073f83d0b73acc58bf1',1,'cobf::obf_sym(string dll_name, string sym_name, string obf_name)'],['../classcobf.html#a84deecc507137eca446f8c8bd9b8951c',1,'cobf::obf_sym(string dll_name, string sym_name, WORD obf_ord)'],['../classcobf.html#ac549c84a0f762798a93f4cc8ff09094a',1,'cobf::obf_sym(string dll_name, WORD sym_ord, WORD obf_ord)'],['../classcobf.html#ad2b65f3e1e50b340f90a7131b69fc0f4',1,'cobf::obf_sym(string dll_name, WORD sym_ord, string obf_name)']]], 4 | ['obfuscate_2ecpp_41',['obfuscate.cpp',['../obfuscate_8cpp.html',1,'']]], 5 | ['obfuscate_5fcpp_42',['OBFUSCATE_CPP',['../obfuscate_8cpp.html#a2a7ea71b9cfb936e3b84555d0b1b1c3f',1,'obfuscate.cpp']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /docs/html/search/all_7.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 18 |
    Searching...
    19 |
    No Matches
    20 | 34 |
    35 | 36 | 37 | -------------------------------------------------------------------------------- /docs/html/search/all_7.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['parse_5fini_5ffile_43',['parse_ini_file',['../ini_8c.html#a4707e20d527eb86f01206c695860b3e0',1,'parse_ini_file(const char *f_path, ini_line_cb handler, void *data): ini.c'],['../ini_8h.html#a4707e20d527eb86f01206c695860b3e0',1,'parse_ini_file(const char *f_path, ini_line_cb handler, void *data): ini.c']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/html/search/all_8.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 18 |
    Searching...
    19 |
    No Matches
    20 | 34 |
    35 | 36 | 37 | -------------------------------------------------------------------------------- /docs/html/search/all_8.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['readme_2emd_44',['README.md',['../_r_e_a_d_m_e_8md.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/html/search/all_9.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 18 |
    Searching...
    19 |
    No Matches
    20 | 34 |
    35 | 36 | 37 | -------------------------------------------------------------------------------- /docs/html/search/all_9.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['sh_5fresolve_45',['sh_resolve',['../shellcode_8hpp.html#a0b990d3b5c511aeb8899c7c40c7371bb',1,'shellcode.hpp']]], 4 | ['shellcode_46',['shellcode',['../classshellcode.html',1,'']]], 5 | ['shellcode_2ecpp_47',['shellcode.cpp',['../shellcode_8cpp.html',1,'']]], 6 | ['shellcode_2ehpp_48',['shellcode.hpp',['../shellcode_8hpp.html',1,'']]], 7 | ['shellcode_5fcpp_49',['SHELLCODE_CPP',['../shellcode_8cpp.html#ac9f0180dd635ef1d75e7b97225827b39',1,'shellcode.cpp']]], 8 | ['shellcode_5fentry_50',['shellcode_entry',['../classshellcode.html#aaa82db40cd8ad288803b70bbb278bff4',1,'shellcode']]], 9 | ['shellcode_5fsize_51',['shellcode_size',['../classshellcode.html#a724cccee30273c81a1a865b3ca20c829',1,'shellcode']]], 10 | ['shellcode_5fstart_52',['shellcode_start',['../classshellcode.html#a57220d662e7f75e3aefa71eaa144d243',1,'shellcode']]], 11 | ['shellcodes_5ffuns_53',['shellcodes_funs',['../classshellcode.html#af54e7ad1b1d215703f5487389040d687',1,'shellcode']]] 12 | ]; 13 | -------------------------------------------------------------------------------- /docs/html/search/all_a.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 18 |
    Searching...
    19 |
    No Matches
    20 | 34 |
    35 | 36 | 37 | -------------------------------------------------------------------------------- /docs/html/search/all_a.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['unload_5fpe_54',['unload_pe',['../classcobf.html#a8ce6ac5baae19382585fa804f4832a32',1,'cobf']]], 4 | ['unobf_5fsym_55',['unobf_sym',['../classcobf.html#ade434a9ce1c13a11ebe3b3b62578ba98',1,'cobf::unobf_sym(string dll_name, string sym_name)'],['../classcobf.html#ae6b259720c2892c3f0e04ee441ffdc34',1,'cobf::unobf_sym(string dll_name, WORD sym_ord)']]], 5 | ['utils_2ecpp_56',['utils.cpp',['../utils_8cpp.html',1,'']]], 6 | ['utils_2ehpp_57',['utils.hpp',['../utils_8hpp.html',1,'']]], 7 | ['utils_5fcpp_58',['UTILS_CPP',['../utils_8cpp.html#aca9e2cb159378a9d67a5825fae3dde76',1,'utils.cpp']]] 8 | ]; 9 | -------------------------------------------------------------------------------- /docs/html/search/classes_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 18 |
    Searching...
    19 |
    No Matches
    20 | 34 |
    35 | 36 | 37 | -------------------------------------------------------------------------------- /docs/html/search/classes_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['cobf_59',['cobf',['../classcobf.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/html/search/classes_1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 18 |
    Searching...
    19 |
    No Matches
    20 | 34 |
    35 | 36 | 37 | -------------------------------------------------------------------------------- /docs/html/search/classes_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['shellcode_60',['shellcode',['../classshellcode.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/html/search/close.svg: -------------------------------------------------------------------------------- 1 | 2 | 13 | 15 | 16 | 18 | image/svg+xml 19 | 21 | 22 | 23 | 24 | 25 | 27 | 31 | 32 | -------------------------------------------------------------------------------- /docs/html/search/defines_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 18 |
    Searching...
    19 |
    No Matches
    20 | 34 |
    35 | 36 | 37 | -------------------------------------------------------------------------------- /docs/html/search/defines_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['ini_5fc_111',['INI_C',['../ini_8c.html#a2b122fa91cf1715b4fb7cb31df064413',1,'ini.c']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/html/search/defines_1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 18 |
    Searching...
    19 |
    No Matches
    20 | 34 |
    35 | 36 | 37 | -------------------------------------------------------------------------------- /docs/html/search/defines_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['load_5fcpp_112',['LOAD_CPP',['../load_8cpp.html#a87a437878d17a6160f740cf3664ad7ee',1,'load.cpp']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/html/search/defines_2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 18 |
    Searching...
    19 |
    No Matches
    20 | 34 |
    35 | 36 | 37 | -------------------------------------------------------------------------------- /docs/html/search/defines_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['max_5fini_5fline_113',['MAX_INI_LINE',['../ini_8h.html#a9830c688be7644d9d9064a9c2419899a',1,'ini.h']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/html/search/defines_3.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 18 |
    Searching...
    19 |
    No Matches
    20 | 34 |
    35 | 36 | 37 | -------------------------------------------------------------------------------- /docs/html/search/defines_3.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['no_5finline_114',['no_inline',['../shellcode_8hpp.html#a920e1ee483880024048aca3880427e1c',1,'shellcode.hpp']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/html/search/defines_4.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 18 |
    Searching...
    19 |
    No Matches
    20 | 34 |
    35 | 36 | 37 | -------------------------------------------------------------------------------- /docs/html/search/defines_4.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['obfuscate_5fcpp_115',['OBFUSCATE_CPP',['../obfuscate_8cpp.html#a2a7ea71b9cfb936e3b84555d0b1b1c3f',1,'obfuscate.cpp']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/html/search/defines_5.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 18 |
    Searching...
    19 |
    No Matches
    20 | 34 |
    35 | 36 | 37 | -------------------------------------------------------------------------------- /docs/html/search/defines_5.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['sh_5fresolve_116',['sh_resolve',['../shellcode_8hpp.html#a0b990d3b5c511aeb8899c7c40c7371bb',1,'shellcode.hpp']]], 4 | ['shellcode_5fcpp_117',['SHELLCODE_CPP',['../shellcode_8cpp.html#ac9f0180dd635ef1d75e7b97225827b39',1,'shellcode.cpp']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /docs/html/search/defines_6.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 18 |
    Searching...
    19 |
    No Matches
    20 | 34 |
    35 | 36 | 37 | -------------------------------------------------------------------------------- /docs/html/search/defines_6.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['utils_5fcpp_118',['UTILS_CPP',['../utils_8cpp.html#aca9e2cb159378a9d67a5825fae3dde76',1,'utils.cpp']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/html/search/enums_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 18 |
    Searching...
    19 |
    No Matches
    20 | 34 |
    35 | 36 | 37 | -------------------------------------------------------------------------------- /docs/html/search/enums_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['cobf_5ferror_87',['cobf_error',['../utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522',1,'utils.hpp']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/html/search/enumvalues_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 18 |
    Searching...
    19 |
    No Matches
    20 | 34 |
    35 | 36 | 37 | -------------------------------------------------------------------------------- /docs/html/search/enumvalues_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['cobf_5fcannot_5fadd_5fentry_88',['COBF_CANNOT_ADD_ENTRY',['../utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522a0c878266f50b1c1d74efcfeb51647a56',1,'utils.hpp']]], 4 | ['cobf_5fcannot_5fclear_89',['COBF_CANNOT_CLEAR',['../utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522aa0da51ee9dca8ae8a8b1b844e8f97c84',1,'utils.hpp']]], 5 | ['cobf_5fcannot_5fcreate_5ffile_90',['COBF_CANNOT_CREATE_FILE',['../utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522aedc0ede92337a0ba3829cd826f149d98',1,'utils.hpp']]], 6 | ['cobf_5fcannot_5fcreate_5fsection_91',['COBF_CANNOT_CREATE_SECTION',['../utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522a5bf8a3668b5ebfcaf3332142a6cfc143',1,'utils.hpp']]], 7 | ['cobf_5fcannot_5fdisable_5frelocs_92',['COBF_CANNOT_DISABLE_RELOCS',['../utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522a6deb9317cf92df2256e099dd71f77fee',1,'utils.hpp']]], 8 | ['cobf_5fcannot_5fget_5fsize_93',['COBF_CANNOT_GET_SIZE',['../utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522a9ddfb8295dfbade129c5b03dc09049c3',1,'utils.hpp']]], 9 | ['cobf_5fcannot_5fopen_5ffile_94',['COBF_CANNOT_OPEN_FILE',['../utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522a7a7f4614d1b09490c95eaba85b627ebb',1,'utils.hpp']]], 10 | ['cobf_5fcannot_5fparse_5fimports_95',['COBF_CANNOT_PARSE_IMPORTS',['../utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522ab2e4e544c3d33d4a187b945ce28aa6bd',1,'utils.hpp']]], 11 | ['cobf_5fcannot_5fread_5ffile_96',['COBF_CANNOT_READ_FILE',['../utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522a8f0ebd152b19bf9080cebeacc3f730a0',1,'utils.hpp']]], 12 | ['cobf_5fcannot_5fremove_5fdbg_5fsyms_97',['COBF_CANNOT_REMOVE_DBG_SYMS',['../utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522ab807ed9970d5cc677743b5aeafee50f7',1,'utils.hpp']]], 13 | ['cobf_5fcannot_5fwrite_5ffile_98',['COBF_CANNOT_WRITE_FILE',['../utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522adbd6913dda5f8e26a4773786d0b4e4fc',1,'utils.hpp']]], 14 | ['cobf_5finvalid_5fdos_5fhdr_99',['COBF_INVALID_DOS_HDR',['../utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522a422d449786b0c9d060eff1abb3bde92c',1,'utils.hpp']]], 15 | ['cobf_5finvalid_5fiat_5fsection_100',['COBF_INVALID_IAT_SECTION',['../utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522acf611597e8974bc8eb36a768264fb9ea',1,'utils.hpp']]], 16 | ['cobf_5finvalid_5fimports_5fdir_101',['COBF_INVALID_IMPORTS_DIR',['../utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522a34c04f93444933136c15fb1900a9f0e7',1,'utils.hpp']]], 17 | ['cobf_5finvalid_5fnt_5fhdrs_102',['COBF_INVALID_NT_HDRS',['../utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522a0814764ff17de72cc28b64fcb70d8ec7',1,'utils.hpp']]], 18 | ['cobf_5finvalid_5fsection_5fhdr_103',['COBF_INVALID_SECTION_HDR',['../utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522a984637918b3d2ec05e9ec2dec90e39ae',1,'utils.hpp']]], 19 | ['cobf_5fmodule_5fnot_5ffound_104',['COBF_MODULE_NOT_FOUND',['../utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522a21cf6c59fe99ca21d9cefe181a09065a',1,'utils.hpp']]], 20 | ['cobf_5fno_5ferror_105',['COBF_NO_ERROR',['../utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522aaf9fca5cbc5d0e0a7ce708d380534b18',1,'utils.hpp']]], 21 | ['cobf_5fpe_5floaded_106',['COBF_PE_LOADED',['../utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522aba678ca91c110257174c5d1b6297d547',1,'utils.hpp']]], 22 | ['cobf_5fpe_5funloaded_107',['COBF_PE_UNLOADED',['../utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522a8e2022be17f8d75f57f211de520ab8f8',1,'utils.hpp']]], 23 | ['cobf_5fsyms_5fnot_5ffound_108',['COBF_SYMS_NOT_FOUND',['../utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522adf1f17f6e0bdd9c723aa60aef04dcfd6',1,'utils.hpp']]], 24 | ['cobf_5funsupported_5fpe_109',['COBF_UNSUPPORTED_PE',['../utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522a3ac831847ae31ec3d0b05e8f38046d43',1,'utils.hpp']]] 25 | ]; 26 | -------------------------------------------------------------------------------- /docs/html/search/files_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 18 |
    Searching...
    19 |
    No Matches
    20 | 34 |
    35 | 36 | 37 | -------------------------------------------------------------------------------- /docs/html/search/files_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['cli_2ecpp_61',['cli.cpp',['../cli_8cpp.html',1,'']]], 4 | ['cobf_2ehpp_62',['cobf.hpp',['../cobf_8hpp.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /docs/html/search/files_1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 18 |
    Searching...
    19 |
    No Matches
    20 | 34 |
    35 | 36 | 37 | -------------------------------------------------------------------------------- /docs/html/search/files_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['ini_2ec_63',['ini.c',['../ini_8c.html',1,'']]], 4 | ['ini_2eh_64',['ini.h',['../ini_8h.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /docs/html/search/files_2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 18 |
    Searching...
    19 |
    No Matches
    20 | 34 |
    35 | 36 | 37 | -------------------------------------------------------------------------------- /docs/html/search/files_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['load_2ecpp_65',['load.cpp',['../load_8cpp.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/html/search/files_3.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 18 |
    Searching...
    19 |
    No Matches
    20 | 34 |
    35 | 36 | 37 | -------------------------------------------------------------------------------- /docs/html/search/files_3.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['obfuscate_2ecpp_66',['obfuscate.cpp',['../obfuscate_8cpp.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/html/search/files_4.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 18 |
    Searching...
    19 |
    No Matches
    20 | 34 |
    35 | 36 | 37 | -------------------------------------------------------------------------------- /docs/html/search/files_4.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['readme_2emd_67',['README.md',['../_r_e_a_d_m_e_8md.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/html/search/files_5.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 18 |
    Searching...
    19 |
    No Matches
    20 | 34 |
    35 | 36 | 37 | -------------------------------------------------------------------------------- /docs/html/search/files_5.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['shellcode_2ecpp_68',['shellcode.cpp',['../shellcode_8cpp.html',1,'']]], 4 | ['shellcode_2ehpp_69',['shellcode.hpp',['../shellcode_8hpp.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /docs/html/search/files_6.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 18 |
    Searching...
    19 |
    No Matches
    20 | 34 |
    35 | 36 | 37 | -------------------------------------------------------------------------------- /docs/html/search/files_6.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['utils_2ecpp_70',['utils.cpp',['../utils_8cpp.html',1,'']]], 4 | ['utils_2ehpp_71',['utils.hpp',['../utils_8hpp.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /docs/html/search/functions_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 18 |
    Searching...
    19 |
    No Matches
    20 | 34 |
    35 | 36 | 37 | -------------------------------------------------------------------------------- /docs/html/search/functions_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['cobf_72',['cobf',['../classcobf.html#a19a9c6f456b8f41baa20101d18b2b218',1,'cobf']]], 4 | ['cobf_5fformat_5fmessage_73',['cobf_format_message',['../utils_8hpp.html#a74542b9f36f9674b15702774a994e549',1,'cobf_format_message(cobf_error err_msg, char *buffer, unsigned int size): utils.cpp'],['../utils_8cpp.html#a74542b9f36f9674b15702774a994e549',1,'cobf_format_message(cobf_error err_msg, char *buffer, unsigned int size): utils.cpp']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /docs/html/search/functions_1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 18 |
    Searching...
    19 |
    No Matches
    20 | 34 |
    35 | 36 | 37 | -------------------------------------------------------------------------------- /docs/html/search/functions_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['generate_74',['generate',['../classcobf.html#a5c476b34e992454395e316ccd595ac64',1,'cobf']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/html/search/functions_2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 18 |
    Searching...
    19 |
    No Matches
    20 | 34 |
    35 | 36 | 37 | -------------------------------------------------------------------------------- /docs/html/search/functions_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['ini_5fline_5fhandler_75',['ini_line_handler',['../cli_8cpp.html#aeb023239dce01e86c4ffad93b521ed26',1,'cli.cpp']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/html/search/functions_3.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 18 |
    Searching...
    19 |
    No Matches
    20 | 34 |
    35 | 36 | 37 | -------------------------------------------------------------------------------- /docs/html/search/functions_3.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['load_5fpe_76',['load_pe',['../classcobf.html#adb7e7b50621d31d66fc5ba5bddd812d8',1,'cobf']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/html/search/functions_4.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 18 |
    Searching...
    19 |
    No Matches
    20 | 34 |
    35 | 36 | 37 | -------------------------------------------------------------------------------- /docs/html/search/functions_4.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['main_77',['main',['../cli_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627',1,'cli.cpp']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/html/search/functions_5.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 18 |
    Searching...
    19 |
    No Matches
    20 | 34 |
    35 | 36 | 37 | -------------------------------------------------------------------------------- /docs/html/search/functions_5.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['obf_5fsym_78',['obf_sym',['../classcobf.html#acb13b47887432073f83d0b73acc58bf1',1,'cobf::obf_sym(string dll_name, string sym_name, string obf_name)'],['../classcobf.html#a84deecc507137eca446f8c8bd9b8951c',1,'cobf::obf_sym(string dll_name, string sym_name, WORD obf_ord)'],['../classcobf.html#ac549c84a0f762798a93f4cc8ff09094a',1,'cobf::obf_sym(string dll_name, WORD sym_ord, WORD obf_ord)'],['../classcobf.html#ad2b65f3e1e50b340f90a7131b69fc0f4',1,'cobf::obf_sym(string dll_name, WORD sym_ord, string obf_name)']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/html/search/functions_6.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 18 |
    Searching...
    19 |
    No Matches
    20 | 34 |
    35 | 36 | 37 | -------------------------------------------------------------------------------- /docs/html/search/functions_6.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['parse_5fini_5ffile_79',['parse_ini_file',['../ini_8c.html#a4707e20d527eb86f01206c695860b3e0',1,'parse_ini_file(const char *f_path, ini_line_cb handler, void *data): ini.c'],['../ini_8h.html#a4707e20d527eb86f01206c695860b3e0',1,'parse_ini_file(const char *f_path, ini_line_cb handler, void *data): ini.c']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/html/search/functions_7.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 18 |
    Searching...
    19 |
    No Matches
    20 | 34 |
    35 | 36 | 37 | -------------------------------------------------------------------------------- /docs/html/search/functions_7.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['unload_5fpe_80',['unload_pe',['../classcobf.html#a8ce6ac5baae19382585fa804f4832a32',1,'cobf']]], 4 | ['unobf_5fsym_81',['unobf_sym',['../classcobf.html#ade434a9ce1c13a11ebe3b3b62578ba98',1,'cobf::unobf_sym(string dll_name, string sym_name)'],['../classcobf.html#ae6b259720c2892c3f0e04ee441ffdc34',1,'cobf::unobf_sym(string dll_name, WORD sym_ord)']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /docs/html/search/mag_sel.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 19 | 21 | 22 | 24 | image/svg+xml 25 | 27 | 28 | 29 | 30 | 31 | 33 | 57 | 63 | 69 | 74 | 75 | -------------------------------------------------------------------------------- /docs/html/search/nomatches.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
    9 |
    No Matches
    10 |
    11 | 12 | 13 | -------------------------------------------------------------------------------- /docs/html/search/pages_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 18 |
    Searching...
    19 |
    No Matches
    20 | 34 |
    35 | 36 | 37 | -------------------------------------------------------------------------------- /docs/html/search/pages_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['callobfuscator_119',['CallObfuscator',['../md__r_e_a_d_m_e.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/html/search/related_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 18 |
    Searching...
    19 |
    No Matches
    20 | 34 |
    35 | 36 | 37 | -------------------------------------------------------------------------------- /docs/html/search/related_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['cobf_110',['cobf',['../classshellcode.html#a023e17da8df54ca82ec0ba5514bbbd51',1,'shellcode']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/html/search/search_l.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d35ha/CallObfuscator/2e9274644fdc2aebe3350e2b6b5d7ad1a950fd07/docs/html/search/search_l.png -------------------------------------------------------------------------------- /docs/html/search/search_m.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d35ha/CallObfuscator/2e9274644fdc2aebe3350e2b6b5d7ad1a950fd07/docs/html/search/search_m.png -------------------------------------------------------------------------------- /docs/html/search/search_r.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d35ha/CallObfuscator/2e9274644fdc2aebe3350e2b6b5d7ad1a950fd07/docs/html/search/search_r.png -------------------------------------------------------------------------------- /docs/html/search/searchdata.js: -------------------------------------------------------------------------------- 1 | var indexSectionsWithContent = 2 | { 3 | 0: "cgilmnoprsu", 4 | 1: "cs", 5 | 2: "cilorsu", 6 | 3: "cgilmopu", 7 | 4: "s", 8 | 5: "i", 9 | 6: "c", 10 | 7: "c", 11 | 8: "c", 12 | 9: "ilmnosu", 13 | 10: "c" 14 | }; 15 | 16 | var indexSectionNames = 17 | { 18 | 0: "all", 19 | 1: "classes", 20 | 2: "files", 21 | 3: "functions", 22 | 4: "variables", 23 | 5: "typedefs", 24 | 6: "enums", 25 | 7: "enumvalues", 26 | 8: "related", 27 | 9: "defines", 28 | 10: "pages" 29 | }; 30 | 31 | var indexSectionLabels = 32 | { 33 | 0: "All", 34 | 1: "Classes", 35 | 2: "Files", 36 | 3: "Functions", 37 | 4: "Variables", 38 | 5: "Typedefs", 39 | 6: "Enumerations", 40 | 7: "Enumerator", 41 | 8: "Friends", 42 | 9: "Macros", 43 | 10: "Pages" 44 | }; 45 | 46 | -------------------------------------------------------------------------------- /docs/html/search/typedefs_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 18 |
    Searching...
    19 |
    No Matches
    20 | 34 |
    35 | 36 | 37 | -------------------------------------------------------------------------------- /docs/html/search/typedefs_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['ini_5fline_5fcb_86',['ini_line_cb',['../ini_8h.html#abb884dac5bc82fe6cac0bd36fffa2f54',1,'ini.h']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/html/search/variables_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
    11 |
    Loading...
    12 |
    13 | 18 |
    Searching...
    19 |
    No Matches
    20 | 34 |
    35 | 36 | 37 | -------------------------------------------------------------------------------- /docs/html/search/variables_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['shellcode_5fentry_82',['shellcode_entry',['../classshellcode.html#aaa82db40cd8ad288803b70bbb278bff4',1,'shellcode']]], 4 | ['shellcode_5fsize_83',['shellcode_size',['../classshellcode.html#a724cccee30273c81a1a865b3ca20c829',1,'shellcode']]], 5 | ['shellcode_5fstart_84',['shellcode_start',['../classshellcode.html#a57220d662e7f75e3aefa71eaa144d243',1,'shellcode']]], 6 | ['shellcodes_5ffuns_85',['shellcodes_funs',['../classshellcode.html#af54e7ad1b1d215703f5487389040d687',1,'shellcode']]] 7 | ]; 8 | -------------------------------------------------------------------------------- /docs/html/shellcode_8cpp.js: -------------------------------------------------------------------------------- 1 | var shellcode_8cpp = 2 | [ 3 | [ "SHELLCODE_CPP", "shellcode_8cpp.html#ac9f0180dd635ef1d75e7b97225827b39", null ] 4 | ]; -------------------------------------------------------------------------------- /docs/html/shellcode_8hpp.js: -------------------------------------------------------------------------------- 1 | var shellcode_8hpp = 2 | [ 3 | [ "shellcode", "classshellcode.html", "classshellcode" ], 4 | [ "no_inline", "shellcode_8hpp.html#a920e1ee483880024048aca3880427e1c", null ], 5 | [ "sh_resolve", "shellcode_8hpp.html#a0b990d3b5c511aeb8899c7c40c7371bb", null ] 6 | ]; -------------------------------------------------------------------------------- /docs/html/splitbar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d35ha/CallObfuscator/2e9274644fdc2aebe3350e2b6b5d7ad1a950fd07/docs/html/splitbar.png -------------------------------------------------------------------------------- /docs/html/sync_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d35ha/CallObfuscator/2e9274644fdc2aebe3350e2b6b5d7ad1a950fd07/docs/html/sync_off.png -------------------------------------------------------------------------------- /docs/html/sync_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d35ha/CallObfuscator/2e9274644fdc2aebe3350e2b6b5d7ad1a950fd07/docs/html/sync_on.png -------------------------------------------------------------------------------- /docs/html/tab_a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d35ha/CallObfuscator/2e9274644fdc2aebe3350e2b6b5d7ad1a950fd07/docs/html/tab_a.png -------------------------------------------------------------------------------- /docs/html/tab_b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d35ha/CallObfuscator/2e9274644fdc2aebe3350e2b6b5d7ad1a950fd07/docs/html/tab_b.png -------------------------------------------------------------------------------- /docs/html/tab_h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d35ha/CallObfuscator/2e9274644fdc2aebe3350e2b6b5d7ad1a950fd07/docs/html/tab_h.png -------------------------------------------------------------------------------- /docs/html/tab_s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/d35ha/CallObfuscator/2e9274644fdc2aebe3350e2b6b5d7ad1a950fd07/docs/html/tab_s.png -------------------------------------------------------------------------------- /docs/html/utils_8cpp.js: -------------------------------------------------------------------------------- 1 | var utils_8cpp = 2 | [ 3 | [ "UTILS_CPP", "utils_8cpp.html#aca9e2cb159378a9d67a5825fae3dde76", null ], 4 | [ "cobf_format_message", "utils_8cpp.html#a74542b9f36f9674b15702774a994e549", null ] 5 | ]; -------------------------------------------------------------------------------- /docs/html/utils_8hpp.js: -------------------------------------------------------------------------------- 1 | var utils_8hpp = 2 | [ 3 | [ "cobf_error", "utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522", [ 4 | [ "COBF_NO_ERROR", "utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522aaf9fca5cbc5d0e0a7ce708d380534b18", null ], 5 | [ "COBF_CANNOT_OPEN_FILE", "utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522a7a7f4614d1b09490c95eaba85b627ebb", null ], 6 | [ "COBF_CANNOT_CREATE_FILE", "utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522aedc0ede92337a0ba3829cd826f149d98", null ], 7 | [ "COBF_CANNOT_GET_SIZE", "utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522a9ddfb8295dfbade129c5b03dc09049c3", null ], 8 | [ "COBF_CANNOT_READ_FILE", "utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522a8f0ebd152b19bf9080cebeacc3f730a0", null ], 9 | [ "COBF_INVALID_DOS_HDR", "utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522a422d449786b0c9d060eff1abb3bde92c", null ], 10 | [ "COBF_INVALID_NT_HDRS", "utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522a0814764ff17de72cc28b64fcb70d8ec7", null ], 11 | [ "COBF_UNSUPPORTED_PE", "utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522a3ac831847ae31ec3d0b05e8f38046d43", null ], 12 | [ "COBF_INVALID_SECTION_HDR", "utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522a984637918b3d2ec05e9ec2dec90e39ae", null ], 13 | [ "COBF_INVALID_IMPORTS_DIR", "utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522a34c04f93444933136c15fb1900a9f0e7", null ], 14 | [ "COBF_CANNOT_PARSE_IMPORTS", "utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522ab2e4e544c3d33d4a187b945ce28aa6bd", null ], 15 | [ "COBF_CANNOT_WRITE_FILE", "utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522adbd6913dda5f8e26a4773786d0b4e4fc", null ], 16 | [ "COBF_CANNOT_CLEAR", "utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522aa0da51ee9dca8ae8a8b1b844e8f97c84", null ], 17 | [ "COBF_CANNOT_CREATE_SECTION", "utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522a5bf8a3668b5ebfcaf3332142a6cfc143", null ], 18 | [ "COBF_CANNOT_ADD_ENTRY", "utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522a0c878266f50b1c1d74efcfeb51647a56", null ], 19 | [ "COBF_CANNOT_DISABLE_RELOCS", "utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522a6deb9317cf92df2256e099dd71f77fee", null ], 20 | [ "COBF_INVALID_IAT_SECTION", "utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522acf611597e8974bc8eb36a768264fb9ea", null ], 21 | [ "COBF_CANNOT_REMOVE_DBG_SYMS", "utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522ab807ed9970d5cc677743b5aeafee50f7", null ], 22 | [ "COBF_MODULE_NOT_FOUND", "utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522a21cf6c59fe99ca21d9cefe181a09065a", null ], 23 | [ "COBF_PE_LOADED", "utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522aba678ca91c110257174c5d1b6297d547", null ], 24 | [ "COBF_PE_UNLOADED", "utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522a8e2022be17f8d75f57f211de520ab8f8", null ], 25 | [ "COBF_SYMS_NOT_FOUND", "utils_8hpp.html#a420d571bdf7fb85bb7d45320e10f3522adf1f17f6e0bdd9c723aa60aef04dcfd6", null ] 26 | ] ], 27 | [ "cobf_format_message", "utils_8hpp.html#a74542b9f36f9674b15702774a994e549", null ] 28 | ]; -------------------------------------------------------------------------------- /include/utils.hpp: -------------------------------------------------------------------------------- 1 | 2 | /*! @file 3 | * 4 | * This file contains the utilities 5 | * used by the library. 6 | */ 7 | 8 | 9 | #ifndef UTILS_HPP 10 | #define UTILS_HPP 11 | 12 | /*! @ingroup COBF 13 | * Errors reported by the library. 14 | */ 15 | enum class cobf_error { 16 | COBF_NO_ERROR, /*!< The operation was successfull. */ 17 | COBF_CANNOT_OPEN_FILE, /*!< Cannot open the file from the disk. */ 18 | COBF_CANNOT_CREATE_FILE, /*!< Cannot create the file to the disk. */ 19 | COBF_CANNOT_GET_SIZE, /*!< Cannot get the file size. */ 20 | COBF_CANNOT_READ_FILE, /*!< Cannot read the file data. */ 21 | COBF_INVALID_DOS_HDR, /*!< The dos header cannot be verified. */ 22 | COBF_INVALID_NT_HDRS, /*!< The nt headers cannot be verified. */ 23 | COBF_UNSUPPORTED_PE, /*!< The PE type is not supported. */ 24 | COBF_INVALID_SECTION_HDR, /*!< The sections header cannot be verified. */ 25 | COBF_INVALID_IMPORTS_DIR, /*!< The imports directory cannot be verified. */ 26 | COBF_CANNOT_PARSE_IMPORTS, /*!< Unable to parse all of the imported symbols. */ 27 | COBF_CANNOT_WRITE_FILE, /*!< Cannot write to the file. */ 28 | COBF_CANNOT_CLEAR, /*!< Cannot close the file handle. */ 29 | COBF_CANNOT_CREATE_SECTION, /*!< Cannot create a new section for the shellcode. */ 30 | COBF_CANNOT_ADD_ENTRY, /*!< Cannot add the entry of the shellcode as a callback. */ 31 | COBF_CANNOT_DISABLE_RELOCS, /*!< Cannot remove the relocations from the PE. */ 32 | COBF_INVALID_IAT_SECTION, /*!< Cannot get the section of the import table. */ 33 | COBF_CANNOT_REMOVE_DBG_SYMS,/*!< Cannot remove the symbols table. */ 34 | COBF_MODULE_NOT_FOUND, /*!< The module was not found. */ 35 | COBF_PE_LOADED, /*!< The PE is already loaded. */ 36 | COBF_PE_UNLOADED, /*!< The PE is already unloaded. */ 37 | COBF_SYMS_NOT_FOUND /*!< The symbol(s) couldn't be found. */ 38 | }; 39 | 40 | /*! @ingroup UTILS 41 | * @brief Format the error to a message. 42 | * @param[in] err_msg The error to convert. 43 | * @param[in] buffer The buffer to receive the data. 44 | * @param[in] size The size of the buffer. 45 | */ 46 | void cobf_format_message(cobf_error err_msg, char* buffer, unsigned int size); 47 | 48 | #endif // !UTILS_HPP. -------------------------------------------------------------------------------- /src/utils.cpp: -------------------------------------------------------------------------------- 1 | /*! @file 2 | * 3 | * This file contains the utilities 4 | * used by the library (source code). 5 | */ 6 | 7 | #ifndef UTILS_CPP 8 | #define UTILS_CPP 9 | 10 | // Includes. 11 | #include 12 | #include 13 | 14 | // Format the error to a message. 15 | void cobf_format_message(cobf_error err_msg, char* buffer, unsigned int size) 16 | { 17 | // Switching. 18 | switch (err_msg) 19 | { 20 | case cobf_error::COBF_NO_ERROR: strcpy_s(buffer, size, "The operation was successfull."); break; 21 | case cobf_error::COBF_CANNOT_OPEN_FILE: strcpy_s(buffer, size, "Cannot open the file from the disk."); break; 22 | case cobf_error::COBF_CANNOT_CREATE_FILE: strcpy_s(buffer, size, "Cannot create the file to the disk."); break; 23 | case cobf_error::COBF_CANNOT_GET_SIZE: strcpy_s(buffer, size, "Cannot get the file size."); break; 24 | case cobf_error::COBF_CANNOT_READ_FILE: strcpy_s(buffer, size, "Cannot read the file data."); break; 25 | case cobf_error::COBF_INVALID_DOS_HDR: strcpy_s(buffer, size, "The dos header cannot be verified."); break; 26 | case cobf_error::COBF_INVALID_NT_HDRS: strcpy_s(buffer, size, "The nt headers cannot be verified."); break; 27 | case cobf_error::COBF_UNSUPPORTED_PE: strcpy_s(buffer, size, "The PE type is not supported."); break; 28 | case cobf_error::COBF_INVALID_SECTION_HDR: strcpy_s(buffer, size, "The sections header cannot be verified."); break; 29 | case cobf_error::COBF_INVALID_IMPORTS_DIR: strcpy_s(buffer, size, "The imports directory cannot be verified."); break; 30 | case cobf_error::COBF_CANNOT_PARSE_IMPORTS: strcpy_s(buffer, size, "Unable to parse all of the imported symbols."); break; 31 | case cobf_error::COBF_CANNOT_WRITE_FILE: strcpy_s(buffer, size, "Cannot write to the file."); break; 32 | case cobf_error::COBF_CANNOT_CLEAR: strcpy_s(buffer, size, "Cannot close the file handle."); break; 33 | case cobf_error::COBF_CANNOT_CREATE_SECTION: strcpy_s(buffer, size, "Cannot create a new section for the shellcode."); break; 34 | case cobf_error::COBF_CANNOT_ADD_ENTRY: strcpy_s(buffer, size, "Cannot add the entry of the shellcode as a callback."); break; 35 | case cobf_error::COBF_CANNOT_DISABLE_RELOCS: strcpy_s(buffer, size, "Cannot remove the relocations from the PE."); break; 36 | case cobf_error::COBF_INVALID_IAT_SECTION: strcpy_s(buffer, size, "Cannot get the section of the import table."); break; 37 | case cobf_error::COBF_CANNOT_REMOVE_DBG_SYMS:strcpy_s(buffer, size, "Cannot remove the symbols table."); break; 38 | case cobf_error::COBF_MODULE_NOT_FOUND: strcpy_s(buffer, size, "The module was not found."); break; 39 | case cobf_error::COBF_PE_LOADED: strcpy_s(buffer, size, "The PE is already loaded."); break; 40 | case cobf_error::COBF_PE_UNLOADED: strcpy_s(buffer, size, "The PE is already unloaded."); break; 41 | case cobf_error::COBF_SYMS_NOT_FOUND: strcpy_s(buffer, size, "The symbol(s) couldn't be found."); break; 42 | default: strcpy_s(buffer, size, "Unknown error code."); break; 43 | } 44 | }; 45 | 46 | #endif // !UTILS_CPP. --------------------------------------------------------------------------------