▼ doc | |
► doxygen | |
doxygen.h | Documentation of the main page and the used namespaces |
▼ include | |
► retdec | |
► ar-extractor | |
archive_wrapper.h | Definition of ArchiveWrapper class |
detection.h | Detection methods |
► bin2llvmir | |
► analyses | |
ctor_dtor.h | Constructor and destructor detection analysis |
indirectly_called_funcs_analysis.h | Indirect calls analysis |
reachable_funcs_analysis.h | Reachable functions analysis |
reaching_definitions.h | Reaching definitions analysis (RDA) builds UD and DU chains |
symbolic_tree.h | Construction of symbolic tree from the given node |
► optimizations | |
► asm_inst_remover | |
asm_inst_remover.h | Remove all special instructions used to map LLVM instructions to ASM instructions |
► class_hierarchy | |
hierarchy.h | Represents class hierarchy |
hierarchy_analysis.h | Analyse results of other analyses to reconstruct class hierarchy |
► cond_branch_opt | |
cond_branch_opt.h | Conditional branch optimization |
► constants | |
constants.h | Composite type reconstruction analysis |
► decoder | |
decoder.h | Decode input binary into LLVM IR |
decoder_debug.h | Decode input binary into LLVM IR |
decoder_ranges.h | Representation of ranges to decode |
jump_targets.h | Jump targets representation |
► dump_module | |
dump_module.h | An utility debug pass that dumps the module into a file |
► idioms | |
idioms.h | Instruction idioms analysis |
idioms_abstract.h | Instruction idioms analysis abstract class |
idioms_analysis.h | Instruction idioms analysis |
idioms_borland.h | Borland C/C++ instruction idioms |
idioms_common.h | Common compiler instruction idioms |
idioms_gcc.h | GNU/GCC instruction idioms |
idioms_intel.h | Intel compiler instruction idioms |
idioms_llvm.h | Clang/LLVM instruction idioms |
idioms_magicdivmod.h | Magic div and modulo exchangers |
idioms_owatcom.h | Open Watcom instruction idioms |
idioms_types.h | Instruction idioms analysis types |
idioms_vstudio.h | Visual Studio instruction idioms |
► idioms_libgcc | |
idioms_libgcc.h | Idioms produced by libgcc |
► inst_opt | |
inst_opt.h | Optimize a single LLVM instruction |
inst_opt_pass.h | LLVM instruction optimization pass |
► inst_opt_rda | |
inst_opt_rda.h | Optimize a single LLVM instruction using RDA |
inst_opt_rda_pass.h | LLVM instruction optimization pass using RDA |
► main_detection | |
main_detection.h | Detect main function |
► param_return | |
► collector | |
collector.h | Collects possible arguments and returns of functions |
pic32.h | Pic32 specific collection algorithms |
► filter | |
filter.h | Filters potential values according to calling convention |
ms_x64.h | Microsoft x64 specific filtration of registers |
data_entries.h | Data entries for parameter analysis |
param_return.h | Detect functions' parameters and returns |
► phi_remover | |
phi_remover.h | Remove all Phi nodes (instructions) |
► provider_init | |
provider_init.h | One time providers initialization |
► register_localization | |
register_localization.h | Make all registers local |
► select_functions | |
select_functions.h | If ranges or functions are selected in config, remove bodies of all functions that are not selected |
► simple_types | |
simple_types.h | Simple type reconstruction analysis |
► stack | |
stack.h | Reconstruct stack |
► stack_pointer_ops | |
stack_pointer_ops.h | Remove the remaining stack pointer operations |
► syscalls | |
syscalls.h | Implement syscall identification and fixing pass SyscallFixer |
► types_propagator | |
types_propagator.h | Data type propagation |
► unreachable_funcs | |
unreachable_funcs.h | Removes unreachable functions from main |
► value_protect | |
value_protect.h | Protect values from LLVM optimization passes |
► writer_bc | |
writer_bc.h | Generate the current bitcode |
► writer_config | |
writer_config.h | Generate the current config |
► writer_dsm | |
writer_dsm.h | Generate the current disassembly |
► writer_ll | |
writer_ll.h | Generate the current LLVM IR |
► x86_addr_spaces | |
x86_addr_spaces.h | Optimize a single x86 address spaces instruction |
x86_addr_spaces_pass.h | X86 address spaces optimization pass |
► x87_fpu | |
x87_fpu.h | X87 FPU analysis - replace fpu stack operations with FPU registers |
► providers | |
► abi | |
abi.h | ABI information |
arm.h | ABI information for ARM |
arm64.h | ABI information for ARM64 |
mips.h | ABI information for MIPS |
mips64.h | ABI information for MIPS |
ms_x64.h | ABI information for x86_64 |
pic32.h | ABI information for MIPS |
powerpc.h | ABI information for PowerPC |
powerpc64.h | ABI information for PowerPC 64 |
x64.h | ABI information for x86_64 |
x86.h | ABI information for x86 |
► calling_convention | |
► arm | |
arm_conv.h | Calling conventions of ARM architecture |
► arm64 | |
arm64_conv.h | Calling conventions of ARM64 architecture |
► mips | |
mips_conv.h | Calling convention of MIPS architecture |
mips_psp.h | Calling convention of MIPS architecture |
► mips64 | |
mips64_conv.h | Calling convention of Mips64 architecture |
► pic32 | |
pic32_conv.h | Calling conventions of PIC32 architecture |
► powerpc | |
powerpc_conv.h | Calling conventions of PowerPC architecture |
► powerpc64 | |
powerpc64_conv.h | Calling conventions of PowerPC64 architecture |
► x64 | |
x64_conv.h | Calling convention of X64 architecture |
x64_microsoft.h | MS Windows calling convention of X64 architecture |
x64_systemv.h | System V calling convention of X64 architecture |
► x86 | |
x86_cdecl.h | Cdecl calling convention of x86 architecture |
x86_conv.h | Common calling convention of x86 architecture |
x86_fastcall.h | Fastcall calling convention of x86 architecture |
x86_pascal.h | Pascal calling convention of x86 architecture |
x86_thiscall.h | Thiscall calling convention of x86 architecture |
x86_watcom.h | Common calling convention of x86 architecture |
calling_convention.h | Calling convention information |
asm_instruction.h | Mapping of LLVM instructions to underlying ASM instructions |
config.h | Config DB provider for bin2llvmirl |
debugformat.h | Debug format provider for bin2llvmirl |
demangler.h | Demangler provider for bin2llvmirl |
fileimage.h | File image provider for bin2llvmirl |
lti.h | Library type information provider for bin2llvmirl |
names.h | Database of objects' names in binary |
► utils | |
capstone.h | Capstone utilities |
ctypes2llvm.h | Ctypes to LLVM IR converter |
debug.h | Debugging utilities |
ir_modifier.h | Modify both LLVM IR and config |
llvm.h | LLVM Utility functions |
symbolic_tree_match.h | |
► capstone2llvmir | |
► arm | |
arm.h | ARM specialization of translator's abstract public interface |
arm_defs.h | Additional (on top of Capstone) definitions for ARM translator |
► arm64 | |
arm64.h | ARM64 specialization of translator's abstract public interface |
arm64_defs.h | Additional (on top of Capstone) definitions for ARM64 translator |
► mips | |
mips.h | MIPS specialization of translator's abstract public interface |
mips_defs.h | Additional (on top of Capstone) definitions for MIPS translator |
► powerpc | |
powerpc.h | PowerPC specialization of translator's abstract public interface |
powerpc_defs.h | Additional (on top of Capstone) definitions for PowerPC translator |
► x86 | |
x86.h | X86 specialization of translator's abstract public interface |
x86_defs.h | Additional (on top of Capstone) definitions for x86 translator |
capstone2llvmir.h | Common public interface for translators converting bytes to LLVM IR |
exceptions.h | Definitions of exceptions used in capstone2llmvir library |
► common | |
address.h | Address, address pair and other derived class representation |
architecture.h | Common architecture representation |
basic_block.h | Common basic block representation |
calling_convention.h | Calling convention representation |
class.h | Common class representation |
file_format.h | Common file format representation |
file_type.h | Common file type representation |
function.h | Common function representation |
language.h | Common programming language representation |
object.h | Common object representation |
pattern.h | Common pattern representation |
range.h | Declaration of templated Range class |
storage.h | Common object storage representation |
tool_info.h | Common tool information representation |
type.h | Common data type representation |
vtable.h | Common vtable representation |
► config | |
config.h | Decompilation configuration manipulation |
config_exceptions.h | Definitions of config exceptions |
parameters.h | Decompilation configuration manipulation: decompilation parameters |
► cpdetect | |
► heuristics | |
elf_heuristics.h | Definition of ElfHeuristics class |
heuristics.h | Class for heuristics detection |
macho_heuristics.h | Definition of MachOHeuristics class |
pe_heuristics.h | Definition of PeHeuristics class |
cpdetect.h | Class for tool detection |
cptypes.h | Cpdetectl types and structures |
errors.h | Header file for error functions |
search.h | Class for search in file |
settings.h | Settings for compiler detection |
signature.h | Definiton of compiler or packer signature |
► ctypes | |
annotation.h | A representation of type's annotation |
annotation_in.h | A representation of in annotation |
annotation_inout.h | A representation of inout annotation |
annotation_optional.h | A representation of optional annotation |
annotation_out.h | A representation of out annotation |
array_type.h | A representation of array types |
call_convention.h | A representation of a C call convention |
composite_type.h | A representation of composite types |
context.h | Container for all C functions and types |
ctypes.h | File to include, when all ctypes files are needed |
enum_type.h | A representation of enum types |
exceptions.h | Exceptions for C-types |
floating_point_type.h | A representation of floating point types |
function.h | A representation of a C functions |
function_declaration.h | A representation of a C function declaration |
function_type.h | A representation of a function type |
header_file.h | A representation of C header file |
integral_type.h | A representation of integral types |
member.h | A representation of a struct's and union's members |
module.h | Main class for C functions representation |
named_type.h | A representation of class and instantiated template class types |
parameter.h | A representation of a function parameter |
pointer_type.h | A representation of pointer types |
reference_type.h | A representation of reference types |
struct_type.h | A representation of struct types |
type.h | A base class of all C types |
typedefed_type.h | A representation of typedefed types |
union_type.h | A representation of union types |
unknown_type.h | A representation of unknown type |
visit_all_visitor.h | A visitor that visits all types inside some type |
visitable.h | Interface for classes whose instances are visitable by a visitor |
visitor.h | A base class of all visitors |
void_type.h | A representation of void type |
► ctypesparser | |
ctypes_parser.h | Parser for C-types |
exceptions.h | Exceptions for C-types parser |
json_ctypes_parser.h | Parser for C-types from JSON files |
type_config.h | Defines type widths and singnedness for types that are implementation specific |
► debugformat | |
debugformat.h | Common (DWARF and PDB) debug information representation library |
► demangler | |
► borland_ast | |
array_type.h | Representation of array types in borland AST |
borland_ast.h | File to include, when all borland_ast node files are needed |
built_in_type.h | Representation of built-in types in borland AST |
char_type.h | Representation of char types in borland AST |
conversion_operator.h | Representation of conversion operators in borland AST |
float_type.h | Representation of floating point number types in borland AST |
function_node.h | Representation of functions in borland AST |
function_type.h | Representation of function types in borland AST |
integral_type.h | Representation of integral number types in borland AST |
name_node.h | Representation of names in borland AST |
named_type.h | Representation of named types in borland AST |
node.h | Base class for all nodes in borland AST |
node_array.h | Representation of arrays of nodes in borland AST |
parentheses_node.h | Representation of node that adds parentheses around another node in borland AST |
pointer_type.h | Representation of pointer type in borland AST |
qualifiers.h | Representation of type qualifiers in borland AST |
reference_type.h | Representation of L-value reference type in borland AST |
rreference_type.h | Representation of R-value reference type in borland AST |
template_node.h | Representation of templates in borland AST |
type_node.h | Base class for all types in borland AST |
ast_ctypes_parser.h | Base class for all AST to ctypes parsers |
borland_ast_ctypes_parser.h | |
borland_ast_parser.h | Parser of mangled names into tree for borland demangler |
borland_demangler.h | Borland demangler adapter |
context.h | Storage for all created nodes in borland AST |
demangler.h | File to include for demangling work |
demangler_base.h | Base class for demanglers |
itanium_ast_ctypes_parser.h | Parser for AST created in Itanium demangler to ctypes parsers |
itanium_demangler.h | Itanium demangler adapter |
microsoft_demangler.h | Microsoft demangler adapter |
ms_ast_ctypes_parser.h | |
► fileformat | |
► file_format | |
► coff | |
coff_format.h | Definition of CoffFormat class |
► elf | |
elf_format.h | Definition of ElfFormat class |
► intel_hex | |
► intel_hex_parser | |
intel_hex_parser.h | Definition of IntelHexSection and IntelHexParser classes |
intel_hex_tokenizer.h | Definition of IntelHexToken and IntelHexTokenizer classes |
intel_hex_format.h | Definition of IntelHexFormat class |
► macho | |
macho_format.h | Definition of MachOFormat class |
► pe | |
pe_format.h | Definition of PeFormat class |
pe_format_parser.h | Definition of PeFormatParser class |
pe_template_aux.h | Auxiliary functions for PE files |
► raw_data | |
raw_data_format.h | Definition of RawDataFormat class |
file_format.h | Definition of FileFormat class |
► types | |
► certificate_table | |
certificate.h | Class for one certificate |
certificate_table.h | Class for certificate table |
► dotnet_headers | |
blob_stream.h | Class for #Blob Stream |
clr_header.h | Class for CLR header |
guid_stream.h | Class for #GUID Stream |
metadata_header.h | Class for Metadata header |
metadata_stream.h | Class for #~ Stream |
metadata_table.h | Class for metadata table |
metadata_tables.h | Classes for metadata tables |
stream.h | Abstract class for Stream |
string_stream.h | Class for #Strings Stream |
user_string_stream.h | Class for #US Stream |
► dotnet_types | |
dotnet_class.h | Class for .NET class |
dotnet_data_types.h | Classes for .NET data types |
dotnet_field.h | Class for .NET field |
dotnet_method.h | Class for .NET method |
dotnet_parameter.h | Class for .NET method parameter |
dotnet_property.h | Class for .NET property |
dotnet_type.h | Class for .NET type |
dotnet_type_reconstructor.h | Class for .NET reconstructor |
► dynamic_table | |
dynamic_entry.h | Class for dynamic entry |
dynamic_table.h | Class for dynamic table |
► export_table | |
export.h | Class for one export |
export_table.h | Class for export table |
► import_table | |
import.h | Class for one import |
import_table.h | Class for import table |
pe_import.h | Class for one PE import |
► note_section | |
elf_core.h | Class for ELF core data |
elf_notes.h | Class for ELF note section (segment) |
► pdb_info | |
pdb_info.h | Class for information about PDB debug file |
► relocation_table | |
relocation.h | Class for one relocation |
relocation_table.h | Class for relocation table |
► resource_table | |
bitmap_image.h | Class for one bitmap image |
resource.h | Class for one resource |
resource_icon.h | Class for one resource icon |
resource_icon_group.h | Class for one resource icon group |
resource_table.h | Class for resource table |
resource_tree.h | Class for resource tree |
► rich_header | |
linker_info.h | Class for information about linker |
rich_header.h | Class for rich header |
► sec_seg | |
elf_section.h | Class for ELF section |
elf_segment.h | Class for ELF segment |
macho_section.h | Class for Mach-O section |
pe_coff_section.h | Class for PE and COFF section |
sec_seg.h | Basic class for section and segment |
section.h | Class for file section |
segment.h | Class for file segment |
► strings | |
character_iterator.h | Class for character iterator |
string.h | Class for string in the file |
► symbol_table | |
elf_symbol.h | Class for one ELF symbol |
macho_symbol.h | Class for one Mach-O symbol |
symbol.h | Class for one symbol |
symbol_table.h | Class for symbol table |
► tls_info | |
tls_info.h | Class for information about thread-local storage |
► visual_basic | |
visual_basic_extern.h | Class for visual basic extern |
visual_basic_info.h | Class for visual basic information |
visual_basic_object.h | Class for visual basic object |
visual_basic_structures.h | Visual basic metadata structures |
► utils | |
asn1.h | Declaration of classes for ASN1 parsing and representation |
byte_array_buffer.h | Array of bytes to std::istream abstraction |
conversions.h | Simple string conversions |
crypto.h | Crypto functions |
file_io.h | Functions for file I/O |
format_detection.h | File format detection |
other.h | Simple utilities |
fftypes.h | Header file for fileformat types and structures |
fileformat.h | Interface to fileformat library |
format_factory.h | Factory for creating file detectors |
► llvmir-emul | |
exceptions.h | Definitions of exceptions used in llvmir-emul library |
llvmir_emul.h | LLVM IR emulator library |
► llvmir2hll | |
► analysis | |
► alias_analysis | |
► alias_analyses | |
basic_alias_analysis.h | A basic alias analysis |
simple_alias_analysis.h | A very simple alias analysis |
alias_analysis.h | A base class for all alias analyses |
alias_analysis_factory.h | Factory that creates instances of classes derived from AliasAnalysis |
break_in_if_analysis.h | Analysis of a break statement in an if statement |
def_use_analysis.h | An analysis providing def-use chains |
expr_types_analysis.h | A visitor for fixing the types in BIR |
goto_target_analysis.h | Analysis of goto targets |
indirect_func_ref_analysis.h | Analysis of functions that are referenced outside of direct calls |
no_init_var_def_analysis.h | An analysis which returns variable-defining statements without an initializer in given functions |
null_pointer_analysis.h | Analysis of the use of null pointers |
special_fp_analysis.h | A visitor for obtaining information whether a special floating-point value is used in a module |
use_def_analysis.h | An analysis providing use-def chains |
used_types_visitor.h | A visitor for obtaining the used types in the IR |
used_vars_visitor.h | A visitor for obtaining the used variables in a value |
value_analysis.h | An analysis for obtaining information about a value |
var_uses_visitor.h | A visitor for obtaining the uses of variables in a function |
written_into_globals_visitor.h | A visitor for obtaining written-into global variables in functions |
► config | |
► configs | |
json_config.h | Config in the JSON format |
config.h | Base class for all configs |
► evaluator | |
► arithm_expr_evaluators | |
c_arithm_expr_evaluator.h | Evaluates expressions with c language conditions |
strict_arithm_expr_evaluator.h | Evaluates expressions with strict conditions |
arithm_expr_evaluator.h | A base class for all evaluators |
arithm_expr_evaluator_factory.h | Factory that creates instances of classes derived from ArithmExprEvaluator |
► graphs | |
► cfg | |
► cfg_builders | |
non_recursive_cfg_builder.h | A non-recursive creator of control-flow graphs (CFGs) from functions |
recursive_cfg_builder.h | A recursive creator of control-flow graphs (CFGs) from functions |
► cfg_traversals | |
lhs_rhs_uses_cfg_traversal.h | A CFG traversal that for an assign statement S returns the uses of its left-hand side such that there are no uses of its right-hand side before them |
modified_before_read_cfg_traversal.h | A CFG traversal that checks whether a variable is modified prior to every read access to it starting from a given statement |
no_var_def_cfg_traversal.h | A CFG traversal that checks whether no variable in a given set is defined/modified between a start statement and a set of end statements |
nodes_of_var_use_cfg_traversal.h | A CFG traversal that returns a map where key is a VarDefStmt statement and item is the set of nodes where a variable from the VarDefStmt statement is used |
optim_func_info_cfg_traversal.h | A CFG traversal for computing OptimFuncInfos |
var_def_cfg_traversal.h | A CFG traversal that checks whether a variable is defined/modified between two statements |
var_use_cfg_traversal.h | A CFG traversal that checks whether a variable is defined/modified prior to every read access to it in a function |
► cfg_writers | |
graphviz_cfg_writer.h | A CFG writer in the dot format (graphviz ) |
cfg.h | A representation of a control-flow graph (CFG) |
cfg_builder.h | A base class for creators of control-flow graphs (CFGs) from functions |
cfg_traversal.h | A base class of all CFG traversals |
cfg_writer.h | A base class of all control-flow graph (CFG) writers |
cfg_writer_factory.h | Factory that creates instances of classes derived from CFGWriter |
► cg | |
► cg_writers | |
graphviz_cg_writer.h | A CG writer in the dot format (graphviz ) |
cg.h | A representation of a call graph (CG) |
cg_builder.h | A creator of call graphs (CGs) from modules |
cg_writer.h | A base class of all call graph (CG) writers |
cg_writer_factory.h | Factory that creates instances of classes derived from CGWriter |
► hll | |
► bracket_managers | |
c_bracket_manager.h | A brackets manager of redundant brackets for the C language |
no_bracket_manager.h | A brackets manager that turns off eleminating redundant brackets |
► compound_op_managers | |
c_compound_op_manager.h | A compound operator manager for the C language |
no_compound_op_manager.h | A compound operator manager that turns off all compound optimizations |
► hll_writers | |
c_hll_writer.h | Implementation of the HLL writer for the C language |
► output_managers | |
json_manager.h | A JSON output manager class |
plain_manager.h | A plain output manager class |
bir_writer.h | Class for writing BIR to stdout |
bracket_manager.h | A base class of all BracketManagers |
compound_op_manager.h | A base class for compound operator managers |
hll_writer.h | A base class of all HLL writers |
hll_writer_factory.h | Factory that creates instances of classes derived from HLLWriter |
output_manager.h | A base class of all output managers |
► ir | |
add_op_expr.h | An addition operator |
address_op_expr.h | An address operator |
and_op_expr.h | A logical "and" operator |
array_index_op_expr.h | An array subscript operator |
array_type.h | A representation of an array type |
assign_op_expr.h | An assignment operator |
assign_stmt.h | An assignment statement |
binary_op_expr.h | A base class for all binary operators |
bit_and_op_expr.h | A bit-and operator |
bit_cast_expr.h | The casting of LLVM instruction BitCast |
bit_or_op_expr.h | A bit-or operator |
bit_shl_op_expr.h | A bit left shift operator |
bit_shr_op_expr.h | A bit right shift operator |
bit_xor_op_expr.h | A bit-xor operator |
break_stmt.h | A break statement to exit a loop or a switch case |
call_expr.h | A call expression |
call_stmt.h | A statement wrapping a call expression |
cast_expr.h | Base class for cast instructions |
comma_op_expr.h | A comma operator |
const_array.h | An array constant |
const_bool.h | A bool constant |
const_float.h | A float constant |
const_int.h | An integer constant |
const_null_pointer.h | A null pointer constant |
const_string.h | A generic string constant |
const_struct.h | A struct constant |
const_symbol.h | A symbolic constant |
constant.h | A base class for all constants |
continue_stmt.h | A continue statement to continue looping |
deref_op_expr.h | A dereference operator |
div_op_expr.h | A division operator |
empty_stmt.h | An empty statement (like NOP) |
eq_op_expr.h | An equality operator |
expression.h | A base class of all expressions |
ext_cast_expr.h | The casting of LLVM instructions: FPExt, SExt, ZExt |
float_type.h | A representation of an floatong point types |
for_loop_stmt.h | A for loop statement |
fp_to_int_cast_expr.h | The casting of LLVM instructions FPtoSI/FPtoUI |
function.h | A representation of a function |
function_builder.h | A builder providing a simple way of creating functions |
function_type.h | A representation of a function type |
global_var_def.h | A definition of a global variable |
goto_stmt.h | A goto statement for unconditional transfer of control |
gt_eq_op_expr.h | A greater-than-or-equal operator |
gt_op_expr.h | A greater-than operator |
if_stmt.h | An if/else-if/else statement |
int_to_fp_cast_expr.h | The casting of LLVM instructions SItoFP/UItoFP |
int_to_ptr_cast_expr.h | The casting of LLVM instruction IntToPtr |
int_type.h | A representation of an integer type |
lt_eq_op_expr.h | A less-than-or-equal operator |
lt_op_expr.h | A less-than operator |
mod_op_expr.h | A modulo operator |
module.h | A representation of a complete module |
mul_op_expr.h | A multiplication operator |
neg_op_expr.h | An arithmetic negation operator |
neq_op_expr.h | A non-equality operator |
not_op_expr.h | A logical negation operator |
or_op_expr.h | A logical "or" operator |
pointer_type.h | A representation of a pointer type |
ptr_to_int_cast_expr.h | The casting of LLVM instruction PtrToInt |
return_stmt.h | A return statement |
statement.h | A representation of a program statement |
string_type.h | A representation of a string type |
struct_index_op_expr.h | A struct index operator |
struct_type.h | A representation of a structured type |
sub_op_expr.h | A subtraction operator |
switch_stmt.h | A switch statement |
ternary_op_expr.h | A ternary operator |
trunc_cast_expr.h | The casting of LLVM instructions FPTrunc/Trunc |
type.h | A base class of all types |
ufor_loop_stmt.h | A universal for loop statement |
unary_op_expr.h | A base class for all unary operators |
unknown_type.h | A representation of an Unknown type |
unreachable_stmt.h | An unreachable statement |
value.h | A base class of all objects a module can contain |
var_def_stmt.h | A variable definition statement |
variable.h | A representation of a variable |
void_type.h | A representation of an void type |
while_loop_stmt.h | A while loop statement |
► llvm | |
► llvmir2bir_converter | |
basic_block_converter.h | A converter of LLVM basic blocks |
cfg_node.h | A representation of a control-flow graph node |
labels_handler.h | Handling of labels during conversion of LLVM IR to BIR |
llvm_constant_converter.h | A converter from LLVM constant to constant in BIR |
llvm_fcmp_converter.h | A converter from LLVM fcmp instruction to expression in BIR |
llvm_instruction_converter.h | A converter from LLVM instruction to expression in BIR |
llvm_type_converter.h | A converter from LLVM type to type in BIR |
llvm_value_converter.h | A converter from LLVM values to values in BIR |
structure_converter.h | A converter of the LLVM function structure |
variables_manager.h | Managing of local variables created during conversion of LLVM functions to BIR |
llvm_debug_info_obtainer.h | Obtainer of debug information from an LLVM module |
llvm_intrinsic_converter.h | Conversion of LLVM intrinsic functions into functions from the standard C library |
llvm_support.h | Supportive functions regarding LLVM IR |
llvmir2bir_converter.h | A base class for all converters of LLVM IR to BIR |
string_conversions.h | Conversions of strings stored in LLVM IR |
► obtainer | |
► call_info_obtainers | |
optim_call_info_obtainer.h | Obtainer of information about functions and function calls that assumes it has access to complete information about the module |
pessim_call_info_obtainer.h | Obtainer of information about functions and function calls that assumes nothing |
call_info_obtainer.h | A base class of all obtainers of information about functions and function calls |
call_info_obtainer_factory.h | Factory that creates instances of classes derived from CallInfoObtainer |
calls_in_module_obtainer.h | An obtainer of information about function calls in a module |
calls_obtainer.h | An obtainer of information about function calls |
► optimizer | |
► optimizers | |
► simplify_arithm_expr | |
bool_comparison_optimizer.h | Simplification of comparisons with true and false |
change_order_of_operands_sub_optimizer.h | A sub-optimization class that change order of operand |
const_operator_const_sub_optimizer.h | A sub-optimization class that optimize expression like Constant operator constant |
equal_operands_sub_optimizer.h | A sub-optimization class that optimize expression with equal operands |
negation_operator_sub_optimizer.h | A sub-optimization class that optimizes negation operators outside of expressions |
negative_operand_sub_optimizer.h | A sub-optimization class that optimize expression with some negative operand |
one_sub_optimizer.h | A sub-optimization class that optimize expression with number one operand |
sub_optimizer.h | A base class for all simplify arithmetical expression optimizations |
sub_optimizer_factory.h | Factory that creates instances of classes derived from SubOptimizer |
ternary_operator_sub_optimizer.h | A sub-optimization class that optimize ternary operator |
three_operands_sub_optimizer.h | A sub-optimization class that optimize expression like (operand operator operand) operator operand or vica versa |
zero_sub_optimizer.h | A sub-optimization class that optimize expression with zero operand |
aggressive_deref_optimizer.h | Optimizes dereferences of integer values |
aggressive_global_to_local_optimizer.h | Converts all global variables without a name from debug information to local variables |
bit_op_to_log_op_optimizer.h | Optimizes BitAndExpr to AndOpExpr or BitOrExpr to OrOpExpr if fulfil conditions |
bit_shift_optimizer.h | Change bit shift to division or multiplication |
break_continue_return_optimizer.h | Removes statements following a break, continue, or return statements |
c_array_arg_optimizer.h | Optimizes array arguments of function calls |
c_cast_optimizer.h | Removes useless casts when emitting C code |
copy_propagation_optimizer.h | Copy propagation optimization |
dead_code_optimizer.h | Removes dead code |
dead_local_assign_optimizer.h | Elimination of dead assignments to local variables |
deref_address_optimizer.h | Optimizes dereferences of addresses |
deref_to_array_index_optimizer.h | Optimizes pointer arithmetic on variables or array accesses or structures to array accesses |
empty_array_to_string_optimizer.h | Optimizes global empty arrays to empty strings |
empty_stmt_optimizer.h | Removes empty statements |
goto_stmt_optimizer.h | Replace goto statements when possible |
if_before_loop_optimizer.h | Optimizes if statements before loops |
if_structure_optimizer.h | Optimizes the structure of if statements |
if_to_switch_optimizer.h | Optimizes if statements to switch statements |
llvm_intrinsics_optimizer.h | Optimizes calls to LLVM intrinsic functions |
loop_last_continue_optimizer.h | Optimizes redundant continue statements in loops |
no_init_var_def_optimizer.h | Removes variable-defining statements with no initializer |
pre_while_true_loop_conv_optimizer.h | Optimizes the bodies of while True loops to simplify other optimizations of these loops |
remove_all_casts_optimizer.h | Removes all casts from a module |
remove_useless_casts_optimizer.h | Removes useless casts from a module |
self_assign_optimizer.h | Removes self assignments |
simple_copy_propagation_optimizer.h | A simple version of the copy propagation optimization |
simplify_arithm_expr_optimizer.h | Optimizer that optimizes expressions to a simpler form |
unused_global_var_optimizer.h | Removes global variables that are not used |
var_def_for_loop_optimizer.h | Optimizes VarDefStmts for induction variables of for loops |
var_def_stmt_optimizer.h | Optimizes VarDefStmt to the closest place of it's variable use |
void_return_optimizer.h | Optimizes redundant void returns |
while_true_to_for_loop_optimizer.h | Optimizes while loops into for loops |
while_true_to_ufor_loop_optimizer.h | Optimizes while loops into for universal for loops |
while_true_to_while_cond_optimizer.h | Optimizes "while true" loops into "while cond" loops |
func_optimizer.h | A base class of all function optimizers |
optimizer.h | A base class of all optimizers |
optimizer_manager.h | A manager managing optimizations |
► pattern | |
► pattern_finder_runners | |
cli_pattern_finder_runner.h | Runner of pattern finders for the command line interface |
no_action_pattern_finder_runner.h | Runner of pattern finders that performs no additional actions |
► pattern_finders | |
► api_call | |
► api_call_seq_finders | |
basic_block_api_call_seq_finder.h | API call finder which searches only in a basic block |
api_call_info.h | A representation of information about an API call |
api_call_info_seq.h | A sequence of information about API calls |
api_call_info_seq_parser.h | A parser of textual representation of API call sequences |
api_call_seq_data.h | A storage of intermediate data when finding sequences of API calls |
api_call_seq_finder.h | A base class for all API calls finders |
api_call_pattern_finder.h | Finds interesting API calls in a module |
api_call_seq_pattern_finder.h | Finds sequences of interesting API calls in a module |
► patterns | |
stmts_pattern.h | A pattern that is composed of zero or more statements |
pattern.h | A base class for representing code patterns |
pattern_finder.h | A base class for all pattern finders |
pattern_finder_factory.h | Factory that creates instances of classes derived from PatternFinder |
pattern_finder_runner.h | A base class for all runners of pattern finders |
► semantics | |
► semantics | |
► gcc_general_semantics | |
get_c_header_file_for_func.h | Provides function getCHeaderFileForFunc() for GCCGeneralSemantics in the semantics::gcc_general namespace |
get_name_of_param.h | Provides function getNameOfParam() for GCCGeneralSemantics in the semantics::gcc_general namespace |
get_name_of_var_storing_result.h | Provides function getNameOfVarStoringResult() for GCCGeneralSemantics in the semantics::gcc_general namespace |
get_symbolic_names_for_param.h | Provides function getSymbolicNamesForParam() for GCCGeneralSemantics in the semantics::gcc_general namespace |
► impl_support | |
get_c_header_file_for_func.h | Support for implementing the getCHeaderFileForFunc semantics |
get_name_of_param.h | Support for implementing the getNameOfParam semantics |
get_name_of_var_storing_result.h | Support for implementing the getNameOfVarStoringResult semantics |
get_symbolic_names_for_param.h | Support for implementing the getSymbolicNamesForParam semantics |
► libc_semantics | |
func_never_returns.h | Provides function funcNeverReturns() for LibcSemantics in the semantics::libc namespace |
get_c_header_file_for_func.h | Provides function getCHeaderFileForFunc() for LibcSemantics in the semantics::libc namespace |
get_name_of_param.h | Provides function getNameOfParam() for LibcSemantics in the semantics::libc namespace |
get_name_of_var_storing_result.h | Provides function getNameOfVarStoringResult() for LibcSemantics in the semantics::libc namespace |
get_symbolic_names_for_param.h | Provides function getSymbolicNamesForParam() for LibcSemantics in the semantics::libc namespace |
► win_api_semantics | |
► get_name_of_param | |
a.h | Initializes FuncParamNamesMap for WinAPI functions starting with A |
b.h | Initializes FuncParamNamesMap for WinAPI functions starting with B |
c1.h | Initializes FuncParamNamesMap for WinAPI functions starting with C (first part) |
c2.h | Initializes FuncParamNamesMap for WinAPI functions starting with C (second part) |
d.h | Initializes FuncParamNamesMap for WinAPI functions starting with D |
e.h | Initializes FuncParamNamesMap for WinAPI functions starting with E |
f.h | Initializes FuncParamNamesMap for WinAPI functions starting with F |
g1.h | Initializes FuncParamNamesMap for WinAPI functions starting with G (first part) |
g2.h | Initializes FuncParamNamesMap for WinAPI functions starting with G (second part) |
h.h | Initializes FuncParamNamesMap for WinAPI functions starting with H |
i.h | Initializes FuncParamNamesMap for WinAPI functions starting with I |
j.h | Initializes FuncParamNamesMap for WinAPI functions starting with J |
k.h | Initializes FuncParamNamesMap for WinAPI functions starting with K |
l.h | Initializes FuncParamNamesMap for WinAPI functions starting with L |
m.h | Initializes FuncParamNamesMap for WinAPI functions starting with M |
n.h | Initializes FuncParamNamesMap for WinAPI functions starting with N |
o.h | Initializes FuncParamNamesMap for WinAPI functions starting with O |
p.h | Initializes FuncParamNamesMap for WinAPI functions starting with P |
q.h | Initializes FuncParamNamesMap for WinAPI functions starting with Q |
r.h | Initializes FuncParamNamesMap for WinAPI functions starting with R |
s.h | Initializes FuncParamNamesMap for WinAPI functions starting with S |
t.h | Initializes FuncParamNamesMap for WinAPI functions starting with T |
u.h | Initializes FuncParamNamesMap for WinAPI functions starting with U |
v.h | Initializes FuncParamNamesMap for WinAPI functions starting with V |
w.h | Initializes FuncParamNamesMap for WinAPI functions starting with W |
x.h | Initializes FuncParamNamesMap for WinAPI functions starting with X |
y.h | Initializes FuncParamNamesMap for WinAPI functions starting with Y |
z.h | Initializes FuncParamNamesMap for WinAPI functions starting with Z |
func_never_returns.h | Provides function funcNeverReturns() for WinAPISemantics in the semantics::win_api namespace |
get_c_header_file_for_func.h | Provides function getCHeaderFileForFunc() for WinAPISemantics in the semantics::win_api namespace |
get_name_of_param.h | Provides function getNameOfParam() for WinAPISemantics in the semantics::win_api namespace |
get_name_of_var_storing_result.h | Provides function getNameOfVarStoringResult() for WinAPISemantics in the semantics::win_api namespace |
get_symbolic_names_for_param.h | Provides function getSymbolicNamesForParam() for WinAPISemantics in the semantics::win_api namespace |
compound_semantics.h | A class providing compound semantics from several different semantics |
compound_semantics_builder.h | A class providing an easy construction of compound semantics from several different semantics |
default_semantics.h | A default semantics which doesn't know anything |
gcc_general_semantics.h | A general semantics for the GCC compiler |
libc_semantics.h | Semantics for the standard C library |
win_api_semantics.h | Semantics for Windows API |
semantics.h | A base class for all descriptions of function semantics |
semantics_factory.h | Factory that creates instances of classes derived from Semantics |
► support | |
► visitors | |
ordered_all_visitor.h | A visitor that visits everything in an ordered way |
caching.h | A mixin for enabling caching of computed results |
const_symbol_converter.h | |
debug.h | Debugging support |
expr_types_fixer.h | A visitor for fixing the types in the IR |
expression_negater.h | Negation of expressions |
factory.h | Implementation of the Object Factory design pattern |
global_vars_sorter.h | Sorts global variables according to the given conditions |
headers_for_declared_funcs.h | |
library_funcs_remover.h | |
metadatable.h | A mixin providing metadata attached to objects |
observer.h | Implementation of a generic typed observer (observer part) |
singleton.h | Implementation of the Singleton design pattern |
smart_ptr.h | Declarations, aliases, macros, etc. for the use of smart pointers |
statements_counter.h | Counter of the number of statements in a block |
struct_types_sorter.h | Sorts structured types according to their names and dependencies |
subject.h | Implementation of a generic typed observer (subject part) |
types.h | Aliases for several useful types |
unreachable_code_in_cfg_remover.h | |
valid_state.h | A mixin providing support for keeping the validity of an object |
value_text_repr_visitor.h | A visitor for obtaining a textual representation of a value |
variable_replacer.h | A replacer of variables in functions |
visitable.h | Interface for classes whose instances are visitable by a Visitor |
visitor.h | A base class of all visitors |
visitor_adapter.h | A visitor whose visit methods do nothing |
► utils | |
graphviz.h | graphviz utilities |
ir.h | IR utilities |
loop_optimizer.h | Utilities for optimizers |
string.h | String utilities |
► validator | |
► validators | |
break_outside_loop_validator.h | A validator which checks that no break or continue statement appears where it should not appear |
no_global_var_def_validator.h | A validator which checks that no global variable is defined in a VarDefStmt |
return_validator.h | A validator which checks returns from functions |
validator.h | A base class for all validators |
validator_factory.h | Factory that creates instances of classes derived from Validator |
► var_name_gen | |
► var_name_gens | |
fruit_var_name_gen.h | A generator of fruit names as variable names |
num_var_name_gen.h | A generator of variable names of the form "prefixN", where N is a number |
word_var_name_gen.h | A generator of English words as variable names |
var_name_gen.h | A base class for all generators of variable names |
var_name_gen_factory.h | Factory that creates instances of classes derived from VarNameGen |
► var_renamer | |
► var_renamers | |
address_var_renamer.h | A renamer of variable names which extracts and uses the original addresses of the variables |
hungarian_var_renamer.h | A renamer of variable names by using the Hungarian notation |
readable_var_renamer.h | A renamer of variable names which names them to make the code as readable as possible |
simple_var_renamer.h | A renamer of variable names which names them simply by using the given variable name generator |
unified_var_renamer.h | A renamer of variable names which names the variables gX (global variables), aX (parameters), and vX (local variables) |
var_renamer.h | A base class for all variable renamers |
var_renamer_factory.h | Factory that creates instances of classes derived from VarRenamer |
llvmir2hll.h | Define LlvmIr2Hll LLVM pass |
► loader | |
► loader | |
► coff | |
coff_image.h | Declaration of loadable COFF image class |
► elf | |
elf_image.h | Declaration of loadable ELF image class |
► intel_hex | |
intel_hex_image.h | Declaration of loadable Intel HEX image class |
► macho | |
macho_image.h | Declaration of loadable Mach-O image class |
► pe | |
pe_image.h | Declaration of loadable PE image class |
► raw_data | |
raw_data_image.h | Declaration of loadable raw data image class for testing |
image.h | Declaration of loadable image class |
segment.h | Declaration of segment class |
segment_data_source.h | Declaration of segment data source class |
► utils | |
name_generator.h | Declaration of name generator |
overlap_resolver.h | Declaration of overlap resolver |
range.h | Declaration of operations over ranges |
image_factory.h | Factory for creating loaded images |
loader.h | Interface to loader library |
► macho-extractor | |
break_fat.h | Definition of BreakMachOUniversal class |
► patterngen | |
► pattern_extractor | |
► types | |
symbol_pattern.h | Class representing pattern of one function |
pattern_extractor.h | Binary pattern extractor |
patterngen.h | Interface to patterngen library |
► pdbparser | |
pdb_file.h | PDB file |
pdb_info.h | PDB info |
pdb_symbols.h | Symbols |
pdb_types.h | Types |
pdb_utils.h | Utils |
► pelib | |
BoundImportDirectory.h | |
CoffSymbolTable.h | Class for COFF symbol table |
ComHeaderDirectory.h | |
DebugDirectory.h | |
DelayImportDirectory.h | Class for delay import directory |
ExportDirectory.h | |
IatDirectory.h | |
ImageLoader.h | |
ImportDirectory.h | |
InputBuffer.h | |
OutputBuffer.h | |
PeFile.h | |
PeLibAux.h | |
PeLibInc.h | |
RelocationsDirectory.h | |
ResourceDirectory.h | |
RichHeader.h | Class for rich header |
SecurityDirectory.h | Class for certificate directory |
TlsDirectory.h | |
► retdec | |
retdec.h | RetDec library |
► rtti-finder | |
► rtti | |
rtti_gcc.h | GCC/Clang C++ RTTI structures |
rtti_gcc_parser.h | Parse C++ GCC/Clang RTTI structures |
rtti_msvc.h | MSVC C++ RTTI structures |
rtti_msvc_parser.h | Parse C++ MSVC RTTI structures |
► vtable | |
vtable_finder.h | Find vtable structures in Image |
vtable_gcc.h | GCC C++ virtual table structures |
vtable_msvc.h | |
rtti_finder.h | Find C++ RTTI structures in Image |
► serdes | |
address.h | Address (de)serialization |
architecture.h | Architecture (de)serialization |
basic_block.h | Basic block (de)serialization |
calling_convention.h | Calling convention (de)serialization |
class.h | Class (de)serialization |
file_format.h | File format (de)serialization |
file_type.h | File type (de)serialization |
function.h | Function (de)serialization |
language.h | Language (de)serialization |
object.h | Object (de)serialization |
pattern.h | Pattern (de)serialization |
std.h | |
storage.h | Storage (de)serialization |
tool_info.h | Tool information (de)serialization |
type.h | Data type (de)serialization |
vtable.h | Vtable (de)serialization |
► stacofin | |
stacofin.h | Static code finder library |
► unpacker | |
► decompression | |
► lzma | |
lzma_data.h | Declaration of class for compressed LZMA data representation |
► lzmat | |
lzmat_data.h | Declaration of class for compressed LZMAT data representation |
► nrv | |
bit_parsers.h | Bit getters for NRV decompression algorithms |
nrv2b_data.h | Declaration of class for NRV2B compressed data |
nrv2d_data.h | Declaration of class for NRV2D compressed data |
nrv2e_data.h | Declaration of class for NRV2E compressed data |
nrv_data.h | Declaration of abstract class for NRV compressed data |
compressed_data.h | Declaration of class for abstract compressed data |
plugin.h | Plugin class declaration which is representation of interface to the plugin library |
signature.h | Declaration of class for matching signatures in executable files or buffers |
unpacker_exception.h | Declaration of unpacker exceptions that can be subclassed in unpacker plugins |
unpacking_stub.h | Base class for unpacking stubs that can be subclassed in unpacker plugins |
► unpackertool | |
unpackertool.h | Unpackertool library |
► utils | |
► io | |
log.h | |
logger.h | Provides unified logging interface |
alignment.h | Declaration of aligning operations |
array.h | Array utilities |
binary_path.h | Absolute path of currently running binary getters |
byte_value_storage.h | Declaration of ByteValueStorage |
container.h | Container utilities |
conversion.h | Conversion utilities |
crc32.h | |
debug.h | Debug logging module |
dynamic_buffer.h | Declaration of class for buffered data mainpulation |
equality.h | Equality-related utilities |
file_io.h | Functions for file I/O |
filesystem.h | Wrapper for conditional include of C++17 filesystem feature |
filter_iterator.h | An adapter of an iterator range in which some elements of the range are skipped |
math.h | Mathematical utilities |
memory.h | Memory utilities |
non_copyable.h | A mixin to make classes non-copyable |
os.h | OS-related macros |
scope_exit.h | Macro for performing actions when the current block exits |
string.h | String utilities |
system.h | Portable system utilities |
time.h | Time-related functions |
► yaracpp | |
doxygen.h | Doxygen documentation of the yaracpp namespace |
yara_detector.h | Interpret of YARA rules |
yara_match.h | Library representation of one YARA match |
yara_meta.h | Library representation of one YARA meta |
yara_rule.h | Library representation of one YARA rule |
▼ src | |
► ar-extractor | |
archive_wrapper.cpp | Definition of ArchiveWrapper class |
detection.cpp | Detection methods |
doxygen.h | Doxygen documentation of the retdec::ar_extractor namespace |
► ar-extractortool | |
ar_extractor.cpp | New frontend replacing llvm-ar |
► bin2llvmir | |
► analyses | |
ctor_dtor.cpp | Constructor and destructor detection analysis |
indirectly_called_funcs_analysis.cpp | Implementation of indirectly called functions analysis |
reachable_funcs_analysis.cpp | Implementation of reachable functions analysis |
reaching_definitions.cpp | Reaching definitions analysis builds UD and DU chains |
symbolic_tree.cpp | Construction of symbolic tree from the given node |
► optimizations | |
► asm_inst_remover | |
asm_inst_remover.cpp | Remove all special instructions used to map LLVM instructions to ASM instructions |
► class_hierarchy | |
hierarchy.cpp | Represents class hierarchy |
hierarchy_analysis.cpp | Analyse results of other analyses to reconstruct class hierarchy |
► cond_branch_opt | |
cond_branch_opt.cpp | Conditional branch optimization |
► constants | |
constants.cpp | Composite type reconstruction analysis |
► decoder | |
arm.cpp | Decoding methods specific to ARM architecture |
arm64.cpp | Decoding methods specific to ARM64 architecture |
bbs.cpp | Decode input binary into LLVM IR |
decoder.cpp | Decode input binary into LLVM IR |
decoder_init.cpp | |
decoder_ranges.cpp | Representation of ranges to decode |
functions.cpp | Decode input binary into LLVM IR |
ir_modifications.cpp | Decode input binary into LLVM IR |
jump_targets.cpp | Jump targets representation |
mips.cpp | Decoding methods specific to MIPS architecture |
patterns.cpp | Decode input binary into LLVM IR |
powerpc.cpp | |
x86.cpp | Decoding methods specific to x86 architecture |
► dump_module | |
dump_module.cpp | An utility debug pass that dumps the module into a file |
► idioms | |
idioms.cpp | Instruction idioms analysis |
idioms_abstract.cpp | Implementation of the instruction idioms analysis abstract class |
idioms_analysis.cpp | Instruction idioms analysis |
idioms_borland.cpp | Borland C/C++ instruction idioms |
idioms_common.cpp | Common compiler instruction idioms |
idioms_gcc.cpp | GNU/GCC instruction idioms |
idioms_intel.cpp | Intel instruction idioms |
idioms_llvm.cpp | Clang/LLVM instruction idioms |
idioms_magicdivmod.cpp | Magic div and modulo exchangers |
idioms_owatcom.cpp | Open Watcom instruction idioms |
idioms_vstudio.cpp | Visual Studio instruction idioms |
► idioms_libgcc | |
idioms_libgcc.cpp | Idioms produced by libgcc |
► inst_opt | |
inst_opt.cpp | Optimize a single LLVM instruction |
inst_opt_pass.cpp | LLVM instruction optimization pass |
► inst_opt_rda | |
inst_opt_rda.cpp | Optimize a single LLVM instruction using RDA |
inst_opt_rda_pass.cpp | LLVM instruction optimization pass using RDA |
► main_detection | |
main_detection.cpp | Detect main function |
► param_return | |
► collector | |
collector.cpp | Collects possible arguments and returns of functions |
pic32.cpp | Pic32 specific collection algorithms |
► filter | |
filter.cpp | Filters potential values according to calling convention |
ms_x64.cpp | Microsoft x64 specific filtration of registers |
data_entries.cpp | Data entries for parameter analysis |
param_return.cpp | Detect functions' parameters and returns |
► phi_remover | |
phi_remover.cpp | Remove all Phi nodes (instructions) |
► provider_init | |
provider_init.cpp | One time providers initialization |
► register_localization | |
register_localization.cpp | Make all registers local |
► select_functions | |
select_functions.cpp | If ranges or functions are selected in config, remove bodies of all functions that are not selected |
► simple_types | |
simple_types.cpp | Simple type reconstruction analysis |
► stack | |
stack.cpp | Reconstruct stack |
► stack_pointer_ops | |
stack_pointer_ops.cpp | Remove the remaining stack pointer operations |
► syscalls | |
arm.cpp | Implement ARM syscall identification and fixing pass SyscallFixer |
arm64.cpp | Implement ARM64 syscall identification and fixing pass SyscallFixer |
mips.cpp | Implement MIPS syscall identification and fixing pass SyscallFixer |
syscalls.cpp | Implement syscall identification and fixing pass SyscallFixer |
x86.cpp | Implement x86 syscall identification and fixing pass SyscallFixer |
► types_propagator | |
types_propagator.cpp | Data type propagation |
► unreachable_funcs | |
unreachable_funcs.cpp | Implementation of UnreachableFuncs optimizer |
► value_protect | |
value_protect.cpp | Protect values from LLVM optimization passes |
► writer_bc | |
writer_bc.cpp | Generate the current bitcode |
► writer_config | |
writer_config.cpp | Generate the current config |
► writer_dsm | |
writer_dsm.cpp | Generate the current disassembly |
► writer_ll | |
writer_ll.cpp | Generate the current LLVM IR |
► x86_addr_spaces | |
x86_addr_spaces.cpp | Optimize a single x86 address spaces instruction |
x86_addr_spaces_pass.cpp | X86 address spaces optimization pass |
► x87_fpu | |
x87_fpu.cpp | X87 FPU analysis - replace fpu stack operations with FPU registers |
► providers | |
► abi | |
abi.cpp | ABI information |
arm.cpp | ABI information for ARM |
arm64.cpp | ABI information for ARM64 |
mips.cpp | ABI information for MIPS |
mips64.cpp | ABI information for MIPS |
ms_x64.cpp | ABI information for x86_64 |
pic32.cpp | ABI information for MIPS |
powerpc.cpp | ABI information for PowerPC |
powerpc64.cpp | ABI information for PowerPC 64 |
x64.cpp | ABI information for x86_64 |
x86.cpp | ABI information for x86 |
► calling_convention | |
► arm | |
arm_conv.cpp | Calling convention of ARM architecture |
► arm64 | |
arm64_conv.cpp | Calling conventions of ARM64 architecture |
► mips | |
mips_conv.cpp | Calling conventions of MIPS architecture |
mips_psp.cpp | Calling conventions of MIPS architecture |
► mips64 | |
mips64_conv.cpp | Calling convention of Mips64 architecture |
► pic32 | |
pic32_conv.cpp | Calling conventions of PIC32 architecture |
► powerpc | |
powerpc_conv.cpp | Calling conventions of PowerPC architecture |
► powerpc64 | |
powerpc64_conv.cpp | Calling conventions of PowerPC64 architecture |
► x64 | |
x64_conv.cpp | Calling conventions of X64 architecture |
x64_microsoft.cpp | Microsoft calling convention of X64 architecture |
x64_systemv.cpp | System V Calling convention of X64 architecture |
► x86 | |
x86_cdecl.cpp | Cdecl calling convention of architecture x86 |
x86_conv.cpp | Calling convention of architecture x86 |
x86_fastcall.cpp | Fastcall calling convention of architecture x86 |
x86_pascal.cpp | Pascal calling convention of architecture x86 |
x86_thiscall.cpp | Thiscall calling convention of architecture x86 |
x86_watcom.cpp | Watcom calling convention of architecture x86 |
calling_convention.cpp | Calling convention information |
asm_instruction.cpp | Mapping of LLVM instructions to underlying ASM instructions |
config.cpp | Config DB provider for bin2llvmirl |
debugformat.cpp | Debug format provider for bin2llvmirl |
demangler.cpp | Demangler provider for bin2llvmirl |
fileimage.cpp | File image provider for bin2llvmirl |
lti.cpp | Library type information provider for bin2llvmirl |
names.cpp | Database of objects' names in binary |
► utils | |
capstone.cpp | Capstone utilities |
ctypes2llvm.cpp | |
debug.cpp | Debugging utilities |
ir_modifier.cpp | Modify both LLVM IR and config |
llvm.cpp | LLVM Utility functions |
doxygen.h | Doxygen documentation of the bin2llvmirl namespace |
► bin2pat | |
bin2pat.cpp | Binary pattern generator |
► capstone2llvmir | |
► arm | |
arm.cpp | ARM implementation of Capstone2LlvmIrTranslator |
arm_impl.h | ARM implementation of Capstone2LlvmIrTranslator |
arm_init.cpp | Initializations for ARM implementation of Capstone2LlvmIrTranslator |
► arm64 | |
arm64.cpp | ARM64 implementation of Capstone2LlvmIrTranslator |
arm64_impl.h | ARM implementation of Capstone2LlvmIrTranslator |
arm64_init.cpp | Initializations for ARM64 implementation of Capstone2LlvmIrTranslator |
► mips | |
mips.cpp | MIPS implementation of Capstone2LlvmIrTranslator |
mips_impl.h | MIPS implementation of Capstone2LlvmIrTranslator |
mips_init.cpp | Initializations for MIPS implementation of Capstone2LlvmIrTranslator |
► powerpc | |
powerpc.cpp | PowerPC implementation of Capstone2LlvmIrTranslator |
powerpc_impl.h | PowerPC implementation of Capstone2LlvmIrTranslator |
powerpc_init.cpp | Initializations for PowerPC implementation of Capstone2LlvmIrTranslator |
► x86 | |
x86.cpp | X86 implementation of Capstone2LlvmIrTranslator |
x86_impl.h | X86 implementation of Capstone2LlvmIrTranslator |
x86_init.cpp | Initializations for X86 implementation of Capstone2LlvmIrTranslator |
capstone2llvmir.cpp | Converts bytes to Capstone representation, and Capstone representation to LLVM IR |
capstone2llvmir_impl.cpp | Common public interface for translators converting bytes to LLVM IR |
capstone2llvmir_impl.h | Common private implementation for translators converting bytes to LLVM IR |
capstone_utils.h | Utility functions for types, enums, etc. defined in Capstone |
exceptions.cpp | Definitions of exceptions used in capstone2llmvir library |
llvmir_utils.cpp | LLVM IR utilities |
llvmir_utils.h | LLVM IR utilities |
► capstone2llvmirtool | |
capstone2llvmir.cpp | Decodes specified bytes to LLVM IR using capstone2llvmir library |
► common | |
address.cpp | Address, address pair and other derived class representation |
architecture.cpp | Common architecture representation |
basic_block.cpp | Common basic block representation |
calling_convention.cpp | Calling convention representation |
class.cpp | Common class representation |
file_format.cpp | Common file format representation |
file_type.cpp | Common file format representation |
function.cpp | Common function representation |
language.cpp | Common programming language representation |
object.cpp | Common object representation |
pattern.cpp | Common pattern representation |
storage.cpp | Common object storage representation |
tool_info.cpp | Common tool information representation |
type.cpp | Common data type representation |
vtable.cpp | Common vtable representation |
► config | |
config.cpp | Decompilation configuration manipulation |
parameters.cpp | Decompilation configuration manipulation: decompilation parameters |
► cpdetect | |
► heuristics | |
elf_heuristics.cpp | Methods of ElfHeuristics class |
heuristics.cpp | Class for heuristics detection |
macho_heuristics.cpp | Methods of MachOHeuristics class |
pe_heuristics.cpp | Methods of PeHeuristics class |
cpdetect.cpp | Methods of CompilerDetector class |
cptypes.cpp | Cpdetectl types and structures |
doxygen.h | Doxygen documentation of the cpdetectl namespace |
errors.cpp | File for error functions |
search.cpp | Class for search in file |
signature.cpp | Definiton of compiler or packer signature |
► ctypes | |
annotation.cpp | Implementation of annotation |
annotation_in.cpp | Implementation of in annotation |
annotation_inout.cpp | Implementation of inout annotation |
annotation_optional.cpp | Implementation of optional annotation |
annotation_out.cpp | Implementation of out annotation |
array_type.cpp | Implementation of ArrayType |
call_convention.cpp | Implementation of CallConvention |
composite_type.cpp | Implementation of CompositeType |
context.cpp | Implementation of Context |
doxygen.h | Doxygen documentation of the ctypes namespace |
enum_type.cpp | Implementation of EnumType |
floating_point_type.cpp | Implementation of FloatingPointType |
function.cpp | Implementation of Function |
function_declaration.cpp | Implementation of FunctionDeclaration |
function_type.cpp | Implementation of FunctionType |
header_file.cpp | Implementation of HeaderFile |
integral_type.cpp | Implementation of IntegralType |
member.cpp | Implementation of Member |
module.cpp | Implementation of Module |
named_type.cpp | Implementation of custom types |
parameter.cpp | Implementation of Parameter |
pointer_type.cpp | Implementation of PointerType |
reference_type.cpp | Implementation of ReferenceType |
struct_type.cpp | Implementation of StructType |
type.cpp | Implementation of Type |
typedefed_type.cpp | Implementation of TypedefedType |
union_type.cpp | Implementation of UnionType |
unknown_type.cpp | Implementation of unknown type |
visit_all_visitor.cpp | Implementation of VisitAllVisitor |
visitor.cpp | Implementation of Visitor |
void_type.cpp | Implementation of void type |
► ctypesparser | |
ctypes_parser.cpp | Parser for C-types files |
doxygen.h | Doxygen documentation of the ctypesparser namespace |
json_ctypes_parser.cpp | Parser for C-types from JSON files |
type_config.cpp | Configuration of type widths and type signedness, that are implementation specific |
► debugformat | |
debugformat.cpp | Common (DWARF and PDB) debug information representation library |
dwarf.cpp | Common (DWARF and PDB) debug information representation library |
pdb.cpp | Common (DWARF and PDB) debug information representation library |
► demangler | |
► borland_ast | |
array_type.cpp | Representation of array types |
built_in_type.cpp | Representation of built-in types |
char_type.cpp | Representation of char types |
conversion_operator.cpp | Representation of conversion operators |
float_type.cpp | Representation of floating point number types |
function_node.cpp | Representation of functions |
function_type.cpp | Representation of function_types |
integral_type.cpp | Representation of integral types |
name_node.cpp | Representation of names |
named_type.cpp | Representation of named types as classes and template class types |
node.cpp | Base class for all nodes in AST |
node_array.cpp | Representation of array in AST node |
parentheses_node.cpp | Representation of parentheses |
pointer_type.cpp | Representation of pointer types |
qualifiers.cpp | Representation of type qualifiers |
reference_type.cpp | Representation of L-value reference types |
rreference_type.cpp | Representation of R-value reference types |
template_node.cpp | Representation of templates |
type_node.cpp | |
ast_ctypes_parser.cpp | Base class for all C-types parsers from demangler ASTs |
borland_ast_ctypes_parser.cpp | Parser from AST created by Borland demangler to C-types |
borland_ast_parser.cpp | Implementation of borland demangler parsing into AST |
borland_demangler.cpp | Implementation of borland demangler |
context.cpp | Implementation of cacheing of nodes in borland demangler AST |
demangler_base.cpp | Demangler library implementation |
itanium_ast_ctypes_parser.cpp | Parser from AST created by Itanium demangler to C-types |
itanium_demangler_adapter.cpp | Implementation of itanium demangler adapter |
microsoft_demangler_adapter.cpp | Implementation of microsoft demangler adapter |
ms_ast_ctypes_parser.cpp | |
► demanglertool | |
demangler.cpp | Demangler tool |
► fileformat | |
► file_format | |
► coff | |
coff_format.cpp | Definition of CoffFormat class |
► elf | |
elf_format.cpp | Methods of ElfFormat class |
► intel_hex | |
► intel_hex_parser | |
intel_hex_parser.cpp | Definition of IntelHexSection and IntelHexParser classes |
intel_hex_tokenizer.cpp | Definition of IntelHexToken and IntelHexTokenizer classes |
intel_hex_format.cpp | Definition of IntelHexFormat class |
► macho | |
macho_format.cpp | Definition of MachOFormat class |
► pe | |
pe_dll_list.cpp | |
pe_format.cpp | Methods of PeFormat class |
► raw_data | |
raw_data_format.cpp | Methods of RawDataFormat class |
file_format.cpp | Methods of FileFormat class |
► types | |
► certificate_table | |
certificate.cpp | Class for one certificate |
certificate_table.cpp | Class for certificate table |
► dotnet_headers | |
blob_stream.cpp | Class for #Blob Stream |
clr_header.cpp | Class for CLR header |
guid_stream.cpp | Class for #GUID Stream |
metadata_header.cpp | Class for Metadata header |
metadata_stream.cpp | Class for #~ Stream |
metadata_tables.cpp | Classes for metadata tables |
string_stream.cpp | Class for #Strings Stream |
user_string_stream.cpp | Class for #US Stream |
► dotnet_types | |
dotnet_class.cpp | Class for .NET class |
dotnet_data_types.cpp | Classes for .NET data types |
dotnet_field.cpp | Class for .NET field |
dotnet_method.cpp | Class for .NET method |
dotnet_parameter.cpp | Class for .NET method parameter |
dotnet_property.cpp | Class for .NET property |
dotnet_type.cpp | Class for .NET type |
dotnet_type_reconstructor.cpp | Class for .NET reconstructor |
► dynamic_table | |
dynamic_entry.cpp | Class for dynamic entry |
dynamic_table.cpp | Class for dynamic table |
► export_table | |
export.cpp | Class for one export |
export_table.cpp | Class for export table |
► import_table | |
import.cpp | Class for one import |
import_table.cpp | Class for import table |
pe_import.cpp | Class for one PE import |
► note_section | |
elf_core.cpp | Class for ELF core data |
elf_notes.cpp | Class for ELF note segment |
► pdb_info | |
pdb_info.cpp | Class for information about PDB debug file |
► relocation_table | |
relocation.cpp | Class for one relocation |
relocation_table.cpp | Class for relocation table |
► resource_table | |
bitmap_image.cpp | Class for one bitmap image |
resource.cpp | Class for one resource |
resource_icon.cpp | Class for one resource icon |
resource_icon_group.cpp | Class for one resource icon group |
resource_table.cpp | Class for resource table |
resource_tree.cpp | Class for resource tree |
► rich_header | |
linker_info.cpp | Class for information about linker |
rich_header.cpp | Class for rich header |
► sec_seg | |
elf_section.cpp | Class for ELF section |
elf_segment.cpp | Class for ELF segment |
macho_section.cpp | Class for Mach-O section |
pe_coff_section.cpp | Class for PE and COFF section |
sec_seg.cpp | Basic class for section and segment |
section.cpp | Class for file section |
segment.cpp | Class for file segment |
► strings | |
string.cpp | Class for string in the file |
► symbol_table | |
elf_symbol.cpp | Class for one ELF symbol |
macho_symbol.cpp | Class for one Mach-O symbol |
symbol.cpp | Class for one symbol |
symbol_table.cpp | Class for symbol table |
► tls_info | |
tls_info.cpp | Class for information about thread-local storage |
► visual_basic | |
visual_basic_extern.cpp | Class visual basic extern |
visual_basic_info.cpp | Class visual basic information |
visual_basic_object.cpp | Class visual basic object |
► utils | |
asn1.cpp | Implementation of classes for ASN1 parsing and representation |
byte_array_buffer.cpp | Array of bytes to std::istream abstraction |
conversions.cpp | Simple string conversions |
crypto.cpp | Crypto functions |
file_io.cpp | Functions for file I/O |
format_detection.cpp | File format detection |
other.cpp | Simple utilities |
doxygen.h | Doxygen documentation of the fileformat namespaces |
format_factory.cpp | Factory for creating file detectors |
► fileinfo | |
► file_detector | |
coff_detector.cpp | Methods of CoffDetector class |
coff_detector.h | Definition of CoffDetector class |
detector_factory.cpp | Functions for creating file detectors |
detector_factory.h | Functions for creating file detectors |
elf_detector.cpp | Methods of ElfDetector class |
elf_detector.h | Definition of ElfDetector class |
file_detector.cpp | Methods of FileDetector class |
file_detector.h | Definition of FileDetector class |
intel_hex_detector.cpp | Definition of IntelHexDetector class |
intel_hex_detector.h | Definition of IntelHexDetector class |
macho_detector.cpp | Methods of MachODetector class |
macho_detector.h | Definition of MachODetector class |
pe_detector.cpp | Methods of PeDetector class |
pe_detector.h | Definition of PeDetector class |
raw_data_detector.cpp | Definition of RawDataDetector class |
raw_data_detector.h | Definition of RawDataDetector class |
► file_information | |
► file_information_types | |
► dynamic_section | |
dynamic_entry.cpp | Class for dynamic entry |
dynamic_entry.h | Class for dynamic entry |
dynamic_section.cpp | Class for dynamic section |
dynamic_section.h | Class for dynamic section |
► pattern | |
pattern.cpp | Information about detected pattern |
pattern.h | Information about detected pattern |
pattern_match.cpp | Information about pattern match |
pattern_match.h | Information about pattern match |
► relocation_table | |
relocation.cpp | Class for one relocation |
relocation.h | Class for one relocation |
relocation_table.cpp | Class for relocation table |
relocation_table.h | Class for relocation table |
► resource_table | |
resource.cpp | Class for one resource |
resource.h | Class for one resource |
resource_table.cpp | Class for resource table |
resource_table.h | Class for resource table |
► symbol_table | |
symbol.cpp | Class for one symol |
symbol.h | Class for one symol |
symbol_table.cpp | Class for symbol table |
symbol_table.h | Class for symbol table |
certificate_table.cpp | Certificate table |
certificate_table.h | Certificate table |
data_directory.cpp | Class for data directory |
data_directory.h | Class for data directory |
dotnet_info.cpp | Information about .NET |
dotnet_info.h | Information about .NET |
elf_core.cpp | ElfCore |
elf_core.h | ElfNotes |
elf_notes.cpp | ElfNotes |
elf_notes.h | ElfNotes |
export_table.cpp | Export table |
export_table.h | Export table |
file_header.cpp | Class for file header |
file_header.h | Class for file header |
file_information_types.h | Types for FileInformation class |
file_section.cpp | Class for file section |
file_section.h | Class for file section |
file_segment.cpp | Class for file segment |
file_segment.h | Class for file segment |
flags.cpp | Class for binary flags |
flags.h | Class for binary flags |
import_table.cpp | Import table |
import_table.h | Import table |
loader_info.cpp | Class for loader info |
loader_info.h | Class for loader info |
pdb_info.cpp | Information about related PDB file |
pdb_info.h | Information about related PDB file |
rich_header.cpp | Rich header |
rich_header.h | Rich header |
special_information.cpp | Methods of SpecialInformation class |
special_information.h | Definition of SpecialInformation class |
strings.cpp | Strings |
strings.h | Strings |
tls_info.cpp | TLS information |
tls_info.h | TLS information |
type_conversions.cpp | Type conversions |
type_conversions.h | Type conversions |
visual_basic_info.cpp | Rich header |
visual_basic_info.h | Visual basic information |
file_information.cpp | Methods of FileInformation class |
file_information.h | Definition of FileInformation class |
► file_presentation | |
► getters | |
► iterative_getter | |
► iterative_distribution_getter | |
anomalies_plain_getter.cpp | Methods of AnomaliesPlainGetter class |
anomalies_plain_getter.h | Definition of AnomaliesPlainGetter class |
data_directory_plain_getter.cpp | Methods of DataDirectoryPlainGetter class |
data_directory_plain_getter.h | Definition of DataDirectoryPlainGetter class |
dynamic_sections_plain_getter.cpp | Methods of DynamicSectionsPlainGetter class |
dynamic_sections_plain_getter.h | Definition of DynamicSectionsPlainGetter class |
elf_auxv_plain_getter.cpp | Methods of ElfAuxVPlainGetter class |
elf_auxv_plain_getter.h | Definition of ElfAuxVPlainGetter class |
elf_core_map_plain_getter.cpp | Methods of ElfCoreMapPlainGetter class |
elf_core_map_plain_getter.h | Definition of ElfCoreMapPlainGetter class |
elf_notes_plain_getter.cpp | Methods of ElfNotesPlainGetter class |
elf_notes_plain_getter.h | Definition of ElfNotesPlainGetter class |
export_table_plain_getter.cpp | Methods of ExportTablePlainGetter class |
export_table_plain_getter.h | Definition of ExportTablePlainGetter class |
import_table_plain_getter.cpp | Methods of ImportTablePlainGetter class |
import_table_plain_getter.h | Definition of ImportTablePlainGetter class |
iterative_distribution_getter.cpp | Methods of IterativeDistributionGetter class |
iterative_distribution_getter.h | Definition of IterativeDistributionGetter class |
loader_info_plain_getter.cpp | Methods of LoaderInfoPlainGetter class |
loader_info_plain_getter.h | Declaration of LoaderInfoPlainGetter class |
missing_deps_plain_getter.cpp | |
missing_deps_plain_getter.h | Declaration of MissingDepsPlainGetter class |
pattern_matches_plain_getter.cpp | Methods of PatternMatchesPlainGetter class |
pattern_matches_plain_getter.h | Definition of PatternMatchesPlainGetter class |
relocation_tables_plain_getter.cpp | Methods of RelocationTablesPlainGetter class |
relocation_tables_plain_getter.h | Definition of RelocationTablesPlainGetter class |
resource_plain_getter.cpp | Methods of ResourcePlainGetter class |
resource_plain_getter.h | Definition of ResourcePlainGetter class |
rich_header_plain_getter.cpp | Methods of RichHeaderPlainGetter class |
rich_header_plain_getter.h | Definition of RichHeaderPlainGetter class |
section_plain_getter.cpp | Methods of SectionPlainGetter class |
section_plain_getter.h | Definition of SectionPlainGetter class |
segment_plain_getter.cpp | Methods of SegmentPlainGetter class |
segment_plain_getter.h | Definition of SegmentPlainGetter class |
strings_plain_getter.cpp | Methods of StringsPlainGetter class |
strings_plain_getter.h | Definition of StringsPlainGetter class |
symbol_tables_plain_getter.cpp | Methods of SymbolTablesPlainGetter class |
symbol_tables_plain_getter.h | Definition of SymbolTablesPlainGetter class |
tls_info_plain_getter.cpp | Methods of TlsInfoPlainGetter class |
tls_info_plain_getter.h | Definition of TlsInfoPlainGetter class |
typeref_table_plain_getter.cpp | Methods of TypeRefTablePlainGetter class |
typeref_table_plain_getter.h | Definition of TypeRefTablePlainGetter class |
version_info_language_table_plain_getter.cpp | Definition of VersionInfoLanguageTablePlainGetter class |
version_info_language_table_plain_getter.h | Definition of VersionInfoLanguageTablePlainGetter class |
version_info_string_table_plain_getter.cpp | Definition of VersionInfoStringTablePlainGetter class |
version_info_string_table_plain_getter.h | Definition of VersionInfoStringTablePlainGetter class |
visual_basic_extern_table_plain_getter.cpp | Definition of VisualBasicExternTablePlainGetter class |
visual_basic_extern_table_plain_getter.h | Definition of VisualBasicExternTablePlainGetter class |
► iterative_simple_getter | |
certificate_table_plain_getter.cpp | Methods of CertificateTablePlainGetter class |
certificate_table_plain_getter.h | Definition of CertificateTablePlainGetter class |
iterative_simple_getter.cpp | Methods of IterativeSimpleGetter class |
iterative_simple_getter.h | Definition of IterativeSimpleGetter class |
► iterative_subtitle_getter | |
anomalies_json_getter.cpp | Methods of AnomaliesJsonGetter class |
anomalies_json_getter.h | Definition of AnomaliesJsonGetter class |
data_directory_json_getter.cpp | Methods of DataDirectoryJsonGetter class |
data_directory_json_getter.h | Definition of DataDirectoryJsonGetter class |
dynamic_sections_json_getter.cpp | Methods of DynamicSectionsJsonGetter class |
dynamic_sections_json_getter.h | Definition of DynamicSectionsJsonGetter class |
export_table_json_getter.cpp | Methods of ExportTableJsonGetter class |
export_table_json_getter.h | Definition of ExportTableJsonGetter class |
import_table_json_getter.cpp | Methods of ImportTableJsonGetter class |
import_table_json_getter.h | Definition of ImportTableJsonGetter class |
iterative_subtitle_getter.cpp | Methods of IterativeSubtitleGetter class |
iterative_subtitle_getter.h | Definition of IterativeSubtitleGetter class |
loader_info_json_getter.cpp | Definition of LoaderInfoJsonGetter class |
loader_info_json_getter.h | Declaration of LoaderInfoJsonGetter class |
missing_deps_json_getter.cpp | |
missing_deps_json_getter.h | |
relocation_tables_json_getter.cpp | Methods of RelocationTablesJsonGetter class |
relocation_tables_json_getter.h | Definition of RelocationTablesJsonGetter class |
resource_json_getter.cpp | Methods of ResourceJsonGetter class |
resource_json_getter.h | Definition of ResourceJsonGetter class |
rich_header_json_getter.cpp | Methods of RichHeaderJsonGetter class |
rich_header_json_getter.h | Definition of RichHeaderJsonGetter class |
section_json_getter.cpp | Methods of SectionJsonGetter class |
section_json_getter.h | Definition of SectionJsonGetter class |
segment_json_getter.cpp | Methods of SegmentJsonGetter class |
segment_json_getter.h | Definition of SegmentJsonGetter class |
strings_json_getter.cpp | Methods of StringsJsonGetter class |
strings_json_getter.h | Definition of StringsJsonGetter class |
symbol_tables_json_getter.cpp | Methods of SymbolTablesJsonGetter class |
symbol_tables_json_getter.h | Definition of SymbolTablesJsonGetter class |
typeref_table_json_getter.cpp | Methods of TypeRefTableJsonGetter class |
typeref_table_json_getter.h | Definition of TypRefTableJsonGetter class |
iterative_getter.cpp | Methods of IterativeGetter class |
iterative_getter.h | Definition of IterativeGetter class |
► pattern_config_getter | |
pattern_config_getter.cpp | Methods of PatternConfigGetter class |
pattern_config_getter.h | Definition of PatternConfigGetter class |
► simple_getter | |
basic_json_getter.cpp | Methods of BasicJsonGetter class |
basic_json_getter.h | Definition of BasicJsonGetter class |
basic_plain_getter.cpp | Methods of BasicPlainGetter class |
basic_plain_getter.h | Definition of BasicPlainGetter class |
dotnet_plain_getter.cpp | Methods of DotnetPlainGetter class |
dotnet_plain_getter.h | Definition of DotnetPlainGetter class |
entry_point_json_getter.cpp | Methods of EntryPointJsonGetter class |
entry_point_json_getter.h | Definition of EntryPointJsonGetter class |
header_json_getter.cpp | Methods of HeaderJsonGetter class |
header_json_getter.h | Definition of HeaderJsonGetter class |
header_plain_getter.cpp | Methods of HeaderPlainGetter class |
header_plain_getter.h | Definition of HeaderPlainGetter class |
pdb_json_getter.cpp | Methods of PdbJsonGetter class |
pdb_json_getter.h | Definition of PdbJsonGetter class |
pdb_plain_getter.cpp | Methods of PdbPlainGetter class |
pdb_plain_getter.h | Definition of PdbPlainGetter class |
simple_getter.cpp | Methods of SimpleGetter class |
simple_getter.h | Definition of SimpleGetter class |
visual_basic_plain_getter.cpp | Methods of VisualBasicPlainGetter class |
visual_basic_plain_getter.h | Definition of VisualBasicPlainGetter class |
format.cpp | Functions for formatting of strings |
format.h | Functions for formatting of strings |
json_getters.h | Getters for PlainPresentation class |
plain_getters.h | Getters for PlainPresentation class |
config_presentation.cpp | Config DB presentation class |
config_presentation.h | Config DB presentation class |
file_presentation.cpp | General presentation class |
file_presentation.h | General presentation class |
json_presentation.cpp | Plain text presentation class |
json_presentation.h | Plain text presentation class |
plain_presentation.cpp | Plain text presentation class |
plain_presentation.h | Plain text presentation class |
► file_wrapper | |
coff_wrapper.cpp | Methods of CoffWrapper class |
coff_wrapper.h | Definition of CoffWrapper class |
elf_wrapper.cpp | Methods of ElfWrapper class |
elf_wrapper.h | Definition of ElfWrapper class |
macho_wrapper.cpp | Methods of MachOWrapper class |
macho_wrapper.h | Definition of MachOWrapper class |
pe_wrapper.cpp | Methods of PeWrapper class |
pe_wrapper.h | Definition of PeWrapper class |
► pattern_detector | |
pattern_detector.cpp | Methods of PatternDetector class |
pattern_detector.h | Definition of PatternDetector class |
doxygen.h | Doxygen documentation of the fileinfo namespace |
fileinfo.cpp | Main function and related things |
► getsig | |
doxygen.h | Doxygen documentation of the getsig namespace |
getsig.cpp | Generate signatures from binary files |
► idr2pat | |
idr2pat.cpp | IDR knowledge base pattern extractor |
► llvmir-emul | |
llvmir_emul.cpp | LLVM IR emulator library |
► llvmir2hll | |
► analysis | |
► alias_analysis | |
► alias_analyses | |
basic_alias_analysis.cpp | Implementation of BasicAliasAnalysis |
simple_alias_analysis.cpp | Implementation SimpleAliasAnalysis |
alias_analysis.cpp | Implementation of AliasAnalysis |
break_in_if_analysis.cpp | Implementation of BreakInIfAnalysis |
def_use_analysis.cpp | Implementation of DefUseAnalysis |
expr_types_analysis.cpp | Implementation of ExprTypesAnalysis |
goto_target_analysis.cpp | Implementation of GotoTargetAnalysis |
indirect_func_ref_analysis.cpp | Implementation of IndirectFuncRefAnalysis |
no_init_var_def_analysis.cpp | Implementation of NoInitVarDefAnalysis |
null_pointer_analysis.cpp | Implementation of NullPointerAnalysis |
special_fp_analysis.cpp | Implementation of SpecialFPAnalysis |
use_def_analysis.cpp | Implementation of UseDefAnalysis |
used_types_visitor.cpp | A visitor for obtaining the used types in the IR |
used_vars_visitor.cpp | Implementation of UsedVarsVisitor |
value_analysis.cpp | Implementation of ValueAnalysis |
var_uses_visitor.cpp | Implementation of VarUsesVisitor |
written_into_globals_visitor.cpp | Implementation of WrittenIntoGlobalsVisitor |
► config | |
► configs | |
json_config.cpp | Implementation of the base class for all configs |
config.cpp | Implementation of the base class for all configs |
► evaluator | |
► arithm_expr_evaluators | |
c_arithm_expr_evaluator.cpp | Implementation of CArithmExprEvaluator |
strict_arithm_expr_evaluator.cpp | Implementation of StrictArithmExprEvaluator |
arithm_expr_evaluator.cpp | Implementation of ArithmExprEvaluator |
► graphs | |
► cfg | |
► cfg_builders | |
non_recursive_cfg_builder.cpp | Implementation of NonRecursiveCFGBuilder |
recursive_cfg_builder.cpp | Implementation of RecursiveCFGBuilder |
► cfg_traversals | |
lhs_rhs_uses_cfg_traversal.cpp | Implementation of LhsRhsUsesCFGTraversal |
modified_before_read_cfg_traversal.cpp | Implementation of ModifiedBeforeReadCFGTraversal |
no_var_def_cfg_traversal.cpp | Implementation of NoVarDefCFGTraversal |
nodes_of_var_use_cfg_traversal.cpp | Implementation of NodesOfVarUseCFGTraversal |
optim_func_info_cfg_traversal.cpp | Implementation of OptimFuncInfoCFGTraversal |
var_def_cfg_traversal.cpp | Implementation of VarDefCFGTraversal |
var_use_cfg_traversal.cpp | Implementation of VarUseCFGTraversal |
► cfg_writers | |
graphviz_cfg_writer.cpp | Implementation of GraphvizCFGWriter |
cfg.cpp | Implementation of CFG |
cfg_builder.cpp | Implementation of CFGBuilder |
cfg_traversal.cpp | Implementation of CFGTraversal |
cfg_writer.cpp | Implementation of CFGWriter |
► cg | |
► cg_writers | |
graphviz_cg_writer.cpp | Implementation of GraphvizCGWriter |
cg.cpp | Implementation of CG |
cg_builder.cpp | Implementation of CGBuilder |
cg_writer.cpp | Implementation of CGWriter |
► hll | |
► bracket_managers | |
c_bracket_manager.cpp | A subclass from BracketManager that contains precedence table and methods which decide of elimination redundant brackets for the C language |
no_bracket_manager.cpp | A brackets manager that turns off eleminating redundant brackets |
► compound_op_managers | |
c_compound_op_manager.cpp | Implementation of CCompoundOpManager |
no_compound_op_manager.cpp | Implementation of NoCompoundOpManager |
► hll_writers | |
c_hll_writer.cpp | Implementation of CHLLWriter |
► output_managers | |
json_manager.cpp | Implementation of JsonOutputManager |
plain_manager.cpp | Implementation of PlainOutputManager |
bir_writer.cpp | Implementation of BIRWriter |
bracket_manager.cpp | Implementation of BracketManager |
compound_op_manager.cpp | Implementation of CompoundOpManager |
hll_writer.cpp | Implementation of HLLWriter |
output_manager.cpp | Implementation of OutputManager |
► ir | |
add_op_expr.cpp | Implementation of AddOpExpr |
address_op_expr.cpp | Implementation of AddressOpExpr |
and_op_expr.cpp | Implementation of AndOpExpr |
array_index_op_expr.cpp | Implementation of ArrayIndexOpExpr |
array_type.cpp | Implementation of ArrayType |
assign_op_expr.cpp | Implementation of AssignOpExpr |
assign_stmt.cpp | Implementation of AssignStmt |
binary_op_expr.cpp | Implementation of BinaryOpExpr |
bit_and_op_expr.cpp | Implementation of BitAndOpExpr |
bit_cast_expr.cpp | Implementation of BitCastExpr |
bit_or_op_expr.cpp | Implementation of BitOrOpExpr |
bit_shl_op_expr.cpp | Implementation of BitShlOpExpr |
bit_shr_op_expr.cpp | Implementation of BitShrOpExpr |
bit_xor_op_expr.cpp | Implementation of BitXorOpExpr |
break_stmt.cpp | Implementation of BreakStmt |
call_expr.cpp | Implementation of CallExpr |
call_stmt.cpp | Implementation of CallStmt |
cast_expr.cpp | Implementation of CastExpr |
comma_op_expr.cpp | Implementation of CommaOpExpr |
const_array.cpp | Implementation of ConstArray |
const_bool.cpp | Implementation of ConstBool |
const_float.cpp | Implementation of ConstFloat |
const_int.cpp | Implementation of ConstInt |
const_null_pointer.cpp | Implementation of ConstNullPointer |
const_string.cpp | Implementation of ConstString |
const_struct.cpp | Implementation of ConstStruct |
const_symbol.cpp | Implementation of ConstSymbol |
continue_stmt.cpp | Implementation of ContinueStmt |
deref_op_expr.cpp | Implementation of DerefOpExpr |
div_op_expr.cpp | Implementation of DivOpExpr |
empty_stmt.cpp | Implementation of EmptyStmt |
eq_op_expr.cpp | Implementation of EqOpExpr |
expression.cpp | Implementation of Expression |
ext_cast_expr.cpp | Implementation of ExtCastExpr |
float_type.cpp | Implementation of FloatType |
for_loop_stmt.cpp | Implementation of ForLoopStmt |
fp_to_int_cast_expr.cpp | Implementation of FPToIntCastExpr |
function.cpp | The implementation of the representation of a function |
function_builder.cpp | The implementation of FunctionBuilder |
function_type.cpp | |
global_var_def.cpp | Implementation of GlobalVarDef |
goto_stmt.cpp | Implementation of GotoStmt |
gt_eq_op_expr.cpp | Implementation of GtEqOpExpr |
gt_op_expr.cpp | Implementation of GtOpExpr |
if_stmt.cpp | Implementation of IfStmt |
int_to_fp_cast_expr.cpp | Implementation of IntToFPCastExpr |
int_to_ptr_cast_expr.cpp | Implementation of IntToPtrCastExpr |
int_type.cpp | Implementation of IntType |
lt_eq_op_expr.cpp | Implementation of LtEqOpExpr |
lt_op_expr.cpp | Implementation of LtOpExpr |
mod_op_expr.cpp | Implementation of ModOpExpr |
module.cpp | Implementation of Module |
mul_op_expr.cpp | Implementation of MulOpExpr |
neg_op_expr.cpp | Implementation of NegOpExpr |
neq_op_expr.cpp | Implementation of NeqOpExpr |
not_op_expr.cpp | Implementation of NotOpExpr |
or_op_expr.cpp | Implementation of OrOpExpr |
pointer_type.cpp | Implementation of PointerType |
ptr_to_int_cast_expr.cpp | Implementation of PtrToIntCastExpr |
return_stmt.cpp | Implementation of ReturnStmt |
statement.cpp | Implementation of Statement |
string_type.cpp | Implementation of StringType |
struct_index_op_expr.cpp | Implementation of StructIndexOpExpr |
struct_type.cpp | Implementation of StructType |
sub_op_expr.cpp | Implementation of SubOpExpr |
switch_stmt.cpp | Implementation of SwitchStmt |
ternary_op_expr.cpp | Implementation of TernaryOpExpr |
trunc_cast_expr.cpp | Implementation of TruncCastExpr |
ufor_loop_stmt.cpp | Implementation of UForLoopStmt |
unary_op_expr.cpp | Implementation of UnaryOpExpr |
unknown_type.cpp | Implementation of UnknownType |
unreachable_stmt.cpp | Implementation of UnreachableStmt |
value.cpp | Implementation of Value |
var_def_stmt.cpp | Implementation of VarDefStmt |
variable.cpp | Implementation of Variable |
void_type.cpp | Implementation of VoidType |
while_loop_stmt.cpp | Implementation of WhileLoopStmt |
► llvm | |
► llvmir2bir_converter | |
basic_block_converter.cpp | Implementation of BasicBlockConverter |
cfg_node.cpp | Implementation of CFGNode |
labels_handler.cpp | Implementation of LabelsHandler |
llvm_constant_converter.cpp | Implementation of LLVMConstantConverter |
llvm_fcmp_converter.cpp | Implementation of LLVMFCmpConverter |
llvm_instruction_converter.cpp | Implementation of LLVMInstructionConverter |
llvm_type_converter.cpp | Implementation of LLVMTypeConverter |
llvm_value_converter.cpp | Implementation of LLVMValueConverter |
structure_converter.cpp | Implementation of StructureConverter |
variables_manager.cpp | Implementation of VariablesManager |
llvm_debug_info_obtainer.cpp | Implementation of LLVMDebugInfoObtainer |
llvm_intrinsic_converter.cpp | Implementation of LLVMIntrinsicConverter |
llvm_support.cpp | Implementation of LLVMSupport |
llvmir2bir_converter.cpp | Implementation of LLVMIR2BIRConverter |
string_conversions.cpp | Implementation of string conversions |
► obtainer | |
► call_info_obtainers | |
optim_call_info_obtainer.cpp | Implementation of OptimCallInfoObtainer |
pessim_call_info_obtainer.cpp | Implementation of PessimCallInfoObtainer |
call_info_obtainer.cpp | Implementation of CallInfoObtainer |
calls_in_module_obtainer.cpp | Implementation of the obtainer of information about function calls in a module |
calls_obtainer.cpp | Implementation of CallsObtainer |
► optimizer | |
► optimizers | |
► simplify_arithm_expr | |
bool_comparison_optimizer.cpp | Implementation of BoolComparisonSubOptimizer |
change_order_of_operands_sub_optimizer.cpp | Implementation of ChangeOrderOfOperandsSubOptimizer |
const_operator_const_sub_optimizer.cpp | Implementation of ConstOperatorConstSubOptimizer |
equal_operands_sub_optimizer.cpp | Implementation of EqualOperandsSubOptimizer |
negation_operator_sub_optimizer.cpp | Implementation of NegationOperatorSubOptimizer |
negative_operand_sub_optimizer.cpp | Implementation of NegativeOperandSubOptimizer |
one_sub_optimizer.cpp | Implementation of a sub-optimization class that optimize expression with operand which is number one |
sub_optimizer.cpp | Implementation of SubOptimizer |
ternary_operator_sub_optimizer.cpp | Implementation of TernaryOperatorSubOptimizer |
three_operands_sub_optimizer.cpp | Implementation of ThreeOperandsSubOptimizer |
zero_sub_optimizer.cpp | Implementation of ZeroSubOptimizer |
aggressive_deref_optimizer.cpp | Implementation of AggressiveDerefOptimizer |
aggressive_global_to_local_optimizer.cpp | Implementation of AggressiveGlobalToLocalOptimizer |
bit_op_to_log_op_optimizer.cpp | Implementation of BitOpToLogOpOptimizer |
bit_shift_optimizer.cpp | Implementation of BitShiftOptimizer |
break_continue_return_optimizer.cpp | Implementation of BreakContinueReturnOptimizer |
c_array_arg_optimizer.cpp | Implementation of CArrayArgOptimizer |
c_cast_optimizer.cpp | Implementation of CCastOptimizer |
copy_propagation_optimizer.cpp | Implementation of CopyPropagationOptimizer |
dead_code_optimizer.cpp | Implementation of DeadCodeOptimizer |
dead_local_assign_optimizer.cpp | Implementation of DeadLocalAssignOptimizer |
deref_address_optimizer.cpp | Implementation of DerefAddressOptimizer |
deref_to_array_index_optimizer.cpp | Implementation of DerefToArrayIndexOptimizer |
empty_array_to_string_optimizer.cpp | Implementation of EmptyArrayToStringOptimizer |
empty_stmt_optimizer.cpp | Implementation of EmptyStmtOptimizer |
goto_stmt_optimizer.cpp | Replace goto statements when possible |
if_before_loop_optimizer.cpp | Implementation of IfBeforeLoopOptimizer |
if_structure_optimizer.cpp | Implementation of IfStructureOptimizer |
if_to_switch_optimizer.cpp | Implementation of IfToSwitchOptimizer |
llvm_intrinsics_optimizer.cpp | Implementation of LLVMIntrinsicsOptimizer |
loop_last_continue_optimizer.cpp | Implementation of LoopLastContinueOptimizer |
no_init_var_def_optimizer.cpp | Implementation of NoInitVarDefOptimizer |
pre_while_true_loop_conv_optimizer.cpp | Implementation of PreWhileTrueLoopConvOptimizer |
remove_all_casts_optimizer.cpp | Implementation of RemoveAllCastsOptimizer |
remove_useless_casts_optimizer.cpp | Implementation of RemoveUselessCastsOptimizer |
self_assign_optimizer.cpp | Implementation of SelfAssignOptimizer |
simple_copy_propagation_optimizer.cpp | Implementation of SimpleCopyPropagationOptimizer |
simplify_arithm_expr_optimizer.cpp | Implementation of SimplifyArithmExprOptimizer |
unused_global_var_optimizer.cpp | Implementation of UnusedGlobalVarOptimizer |
var_def_for_loop_optimizer.cpp | Implementation of VarDefForLoopOptimizer |
var_def_stmt_optimizer.cpp | Implementation of VarDefStmtOptimizer |
void_return_optimizer.cpp | Implementation of VoidReturnOptimizer |
while_true_to_for_loop_optimizer.cpp | Implementation of WhileTrueToForLoopOptimizer |
while_true_to_ufor_loop_optimizer.cpp | Implementation of WhileTrueToUForLoopOptimizer |
while_true_to_while_cond_optimizer.cpp | Implementation of WhileTrueToWhileCondOptimizer |
func_optimizer.cpp | Implementation of FuncOptimizer |
optimizer.cpp | Implementation of Optimizer |
optimizer_manager.cpp | Implementation of OptimizerManager |
► pattern | |
► pattern_finder_runners | |
cli_pattern_finder_runner.cpp | Implementation of CLIPatternFinderRunner |
no_action_pattern_finder_runner.cpp | Implementation of NoActionPatternFinderRunner |
► pattern_finders | |
► api_call | |
► api_call_seq_finders | |
basic_block_api_call_seq_finder.cpp | Implementation of BasicBlockAPICallSeqFinder |
api_call_info.cpp | Implementation of APICallInfo |
api_call_info_seq.cpp | Implementation of APICallInfoSeq |
api_call_info_seq_parser.cpp | Implementation of APICallInfoSeqParser |
api_call_seq_data.cpp | Implementation of APICallSeqData |
api_call_seq_finder.cpp | Implementation of APICallSeqFinder |
api_call_pattern_finder.cpp | Implementation of APICallPatternFinder |
api_call_seq_pattern_finder.cpp | Implementation of APICallSeqPatternFinder |
► patterns | |
stmts_pattern.cpp | Implementation of StmtsPattern |
pattern_finder.cpp | Implementation of PatternFinder |
pattern_finder_runner.cpp | Implementation of PatternFinderRunner |
► semantics | |
► semantics | |
► gcc_general_semantics | |
doxygen.h | Doxygen documentation for the gcc_general namespace |
get_c_header_file_for_func.cpp | Implementation of semantics::gcc_general::getCHeaderFileForFunc() for GCCGeneralSemantics |
get_name_of_param.cpp | Implementation of semantics::gcc_general::getNameOfParam() for GCCGeneralSemantics |
get_name_of_var_storing_result.cpp | Implementation of semantics::gcc_general::getNameOfVarStoringResult() for GCCGeneralSemantics |
get_symbolic_names_for_param.cpp | Implementation of semantics::gcc_general::getSymbolicNamesForParam() for GCCGeneralSemantics |
► impl_support | |
get_c_header_file_for_func.cpp | Implementation of functions from getCHeaderFileForFunc.h |
get_name_of_param.cpp | Implementation of functions from getNameOfParam.h |
get_name_of_var_storing_result.cpp | Implementation of functions from getNameOfVarStoringResult.h |
get_symbolic_names_for_param.cpp | Implementation of functions from getSymbolicNamesForParam.h |
► libc_semantics | |
doxygen.h | Doxygen documentation for the libc namespace |
func_never_returns.cpp | Implementation of semantics::libc::funcNeverReturns() for LibcSemantics |
get_c_header_file_for_func.cpp | Implementation of semantics::libc::getCHeaderFileForFunc() for LibcSemantics |
get_name_of_param.cpp | Implementation of semantics::libc::getNameOfParam() for LibcSemantics |
get_name_of_var_storing_result.cpp | Implementation of semantics::libc::getNameOfVarStoringResult() for LibcSemantics |
get_symbolic_names_for_param.cpp | Implementation of semantics::libc::getSymbolicNamesForParam() for LibcSemantics |
► win_api_semantics | |
► get_name_of_param | |
a.cpp | Implementation of the initialization of WinAPI functions |
b.cpp | Implementation of the initialization of WinAPI functions |
c1.cpp | Implementation of the initialization of WinAPI functions |
c2.cpp | Implementation of the initialization of WinAPI functions |
d.cpp | Implementation of the initialization of WinAPI functions |
e.cpp | Implementation of the initialization of WinAPI functions |
f.cpp | Implementation of the initialization of WinAPI functions |
g1.cpp | Implementation of the initialization of WinAPI functions |
g2.cpp | Implementation of the initialization of WinAPI functions |
h.cpp | Implementation of the initialization of WinAPI functions |
i.cpp | Implementation of the initialization of WinAPI functions |
j.cpp | Implementation of the initialization of WinAPI functions |
k.cpp | Implementation of the initialization of WinAPI functions |
l.cpp | Implementation of the initialization of WinAPI functions |
m.cpp | Implementation of the initialization of WinAPI functions |
n.cpp | Implementation of the initialization of WinAPI functions |
o.cpp | Implementation of the initialization of WinAPI functions |
p.cpp | Implementation of the initialization of WinAPI functions |
q.cpp | Implementation of the initialization of WinAPI functions |
r.cpp | Implementation of the initialization of WinAPI functions |
s.cpp | Implementation of the initialization of WinAPI functions |
t.cpp | Implementation of the initialization of WinAPI functions |
u.cpp | Implementation of the initialization of WinAPI functions |
v.cpp | Implementation of the initialization of WinAPI functions |
w.cpp | Implementation of the initialization of WinAPI functions |
x.cpp | Implementation of the initialization of WinAPI functions |
y.cpp | Implementation of the initialization of WinAPI functions |
z.cpp | Implementation of the initialization of WinAPI functions |
doxygen.h | Doxygen documentation for the win_api namespace |
func_never_returns.cpp | Implementation of semantics::win_api::funcNeverReturns() for WinAPISemantics |
get_c_header_file_for_func.cpp | Implementation of semantics::win_api::getCHeaderFileForFunc() for WinAPISemantics |
get_name_of_param.cpp | Implementation of semantics::win_api::getNameOfParam() for WinAPISemantics |
get_name_of_var_storing_result.cpp | Implementation of semantics::win_api::getNameOfVarStoringResult() for WinAPISemantics |
get_symbolic_names_for_param.cpp | Implementation of semantics::win_api::getSymbolicNamesForParam() for WinAPISemantics |
compound_semantics.cpp | Implementation of CompoundSemantics |
compound_semantics_builder.cpp | Implementation of CompoundSemanticsBuilder |
default_semantics.cpp | Implementation of DefaultSemantics |
doxygen.h | Doxygen documentation for the semantics namespace |
gcc_general_semantics.cpp | Implementation of GCCGeneralSemantics |
libc_semantics.cpp | Implementation of LibcSemantics |
win_api_semantics.cpp | Implementation of WinAPISemantics |
► support | |
► visitors | |
ordered_all_visitor.cpp | Implementation of OrderedAllVisitor |
const_symbol_converter.cpp | Implementation of ConstSymbolConverter |
expr_types_fixer.cpp | A visitor for fixing the types in the IR |
expression_negater.cpp | Implementation of ExpressionNegater |
global_vars_sorter.cpp | Implementation of GlobalVarsSorter |
headers_for_declared_funcs.cpp | Implementation of HeadersForDeclaredFuncs |
library_funcs_remover.cpp | Implementation of LibraryFuncsRemover |
statements_counter.cpp | Implementation of StatementsCounter |
struct_types_sorter.cpp | Implementation of StructTypesSorter |
types.cpp | Implementation of the types |
unreachable_code_in_cfg_remover.cpp | Implementation of UnreachableCodeInCFGRemover |
valid_state.cpp | Implementation of ValidState |
value_text_repr_visitor.cpp | Implementation of ValueTextReprVisitor |
variable_replacer.cpp | Implementation of VariableReplacer |
► utils | |
graphviz.cpp | Implementation of the graphviz utilities |
ir.cpp | Implementation of the IR utilities |
loop_optimizer.cpp | Implementation of the utilities for optimizers |
string.cpp | Implementation of the string utilities |
► validator | |
► validators | |
break_outside_loop_validator.cpp | An implementation of the validator which checks that no break or continue statement appears where it should not appear |
no_global_var_def_validator.cpp | Implementation of NoGlobalVarDefValidator |
return_validator.cpp | An implementation of the validator which checks returns from functions |
validator.cpp | Implementation of Validator |
► var_name_gen | |
► var_name_gens | |
fruit_var_name_gen.cpp | Implementation of FruitVarNameGen |
num_var_name_gen.cpp | Implementation of NumVarNameGen |
word_var_name_gen.cpp | Implementation of WordVarNameGen |
var_name_gen.cpp | Implementation of VarNameGen |
► var_renamer | |
► var_renamers | |
address_var_renamer.cpp | Implementation of AddressVarRenamer |
hungarian_var_renamer.cpp | Implementation of HungarianVarRenamer |
readable_var_renamer.cpp | Implementation of ReadableVarRenamer |
simple_var_renamer.cpp | Implementation of SimpleVarRenamer |
unified_var_renamer.cpp | Implementation of UnifiedVarRenamer |
var_renamer.cpp | Implementation of VarRenamer |
doxygen.h | Doxygen documentation of several namespaces |
llvmir2hll.cpp | |
► loader | |
► loader | |
► coff | |
coff_image.cpp | Implementation of loadable PE image class |
► elf | |
elf_image.cpp | Implementation of loadable ELF image class |
► intel_hex | |
intel_hex_image.cpp | Implementation of loadable Intel HEX image class |
► macho | |
macho_image.cpp | Implementation of loadable Mach-O image class |
► pe | |
pe_image.cpp | Implementation of loadable PE image class |
► raw_data | |
raw_data_image.cpp | Implementation of loadable raw data image class for testing |
image.cpp | Implementation of loadable image class |
segment.cpp | Implementation of segment class |
segment_data_source.cpp | Definition of segment data source class |
► utils | |
name_generator.cpp | Definition of name generator |
overlap_resolver.cpp | Definition of overlap resolver |
range.cpp | Definition of operations over ranges |
doxygen.h | Doxygen documentation of the loader namespace |
image_factory.cpp | Factory for creating loaded images |
► macho-extractor | |
break_fat.cpp | Definition of BreakMachOUniversal class |
doxygen.h | Doxygen documentation of the retdec::macho_extractor namespace |
► macho-extractortool | |
macho_extractor.cpp | This program breaks Mach-O Universal static libraries |
► pat2yara | |
compare.cpp | Functions for rules comparison |
compare.h | Functions for rules comparison |
logic.cpp | Logic for yara patterns filter |
logic.h | Logic for yara patterns filter |
modifications.cpp | Rule manipulation functions for yara patterns filter |
modifications.h | Rule manipulation functions for yara patterns filter |
pat2yara.cpp | Yara patterns processing |
processing.cpp | File processing |
processing.h | File processing |
utils.cpp | Auxiliary functions |
utils.h | Auxiliary functions |
► patterngen | |
► pattern_extractor | |
► types | |
symbol_pattern.cpp | Class representing pattern of one symbol |
pattern_extractor.cpp | Binary pattern extractor |
doxygen.h | Doxygen documentation of the patterngen namespace |
► pdbparser | |
doxygen.h | Doxygen documentation of the retdec::pdbparser namespace |
pdb_file.cpp | PDB file |
pdb_symbols.cpp | Symbols |
pdb_types.cpp | Types |
pdb_utils.cpp | Utils |
► pelib | |
BoundImportDirectory.cpp | |
CoffSymbolTable.cpp | Class for COFF symbol table |
ComHeaderDirectory.cpp | |
DebugDirectory.cpp | |
ExportDirectory.cpp | |
IatDirectory.cpp | |
ImageLoader.cpp | Implementation of image |
InputBuffer.cpp | |
OutputBuffer.cpp | |
PeFile.cpp | |
PeLibAux.cpp | |
RelocationsDirectory.cpp | |
ResourceDirectory.cpp | |
RichHeader.cpp | Class for rich header |
SecurityDirectory.cpp | Class for security directory |
► retdec | |
retdec.cpp | RetDec library |
► retdec-decompiler | |
retdec-decompiler.cpp | RetDec decompiler |
► retdectool | |
retdec.cpp | RetDec tool |
► rtti-finder | |
► rtti | |
rtti_gcc_parser.cpp | Parse C++ GCC/Clang RTTI structures |
rtti_msvc_parser.cpp | Parse C++ MSVC RTTI structures |
► vtable | |
vtable_finder.cpp | Find vtable structures in Image |
rtti_finder.cpp | Find C++ RTTI structures in Image |
► serdes | |
address.cpp | Address (de)serialization |
architecture.cpp | Architecture (de)serialization |
basic_block.cpp | Basic block (de)serialization |
calling_convention.cpp | Calling convention (de)serialization |
class.cpp | Class (de)serialization |
file_format.cpp | File format (de)serialization |
file_type.cpp | File type (de)serialization |
function.cpp | Function (de)serialization |
language.cpp | Language (de)serialization |
object.cpp | Object (de)serialization |
pattern.cpp | Pattern (de)serialization |
std.cpp | C++ standard types (de)serialization |
storage.cpp | Storage (de)serialization |
tool_info.cpp | Tool information (de)serialization |
type.cpp | Data type (de)serialization |
vtable.cpp | Address (de)serialization |
► stacofin | |
doxygen.h | Doxygen documentation of the retdec::stacofin namespace |
stacofin.cpp | Static code finder library |
► stacofintool | |
stacofin.cpp | Static code detection tool |
► unpacker | |
► decompression | |
► lzma | |
lzma_data.cpp | Implementation of class for compressed LZMA data representation |
► lzmat | |
lzmat_data.cpp | Implementation of class for compressed LZMAT data representation |
► nrv | |
nrv2b_data.cpp | Implementation of class for NRV2B compressed data |
nrv2d_data.cpp | Implementation of class for NRV2D compressed data |
nrv2e_data.cpp | Implementation of class for NRV2E compressed data |
doxygen.h | Doxygen documentation of the unpacker namespace |
signature.cpp | Declaration of class for matching signatures in executable files and buffers |
► unpackertool | |
► plugins | |
► example | |
doxygen.h | Doxygen documentation of the example namespace |
example.cpp | Example of an unpacker plugin |
example.h | Example of an unpacker plugin |
► mpress | |
doxygen.h | Doxygen documentation of the mpress namespace |
mpress.cpp | Unpacker plugin for MPRESS packer |
mpress.h | Unpacker plugin for MPRESS packer |
mpress_exceptions.h | Exception specific for MPRESS plugin |
► upx | |
► decompressors | |
decompressor.cpp | Implementation of base decompressor visitor for unpacking packed data |
decompressor.h | Declaration of base decompressor visitor for unpacking packed data |
decompressor_direct_jump.cpp | Implementation of UPX scrambler with direct jump decompressor visitor for unpacking packed data |
decompressor_direct_jump.h | Declaration of UPX scrambler with direct jump decompressor visitor for unpacking packed data |
decompressor_lzma.cpp | Implementation of LZMA decompressor visitor for unpacking packed data |
decompressor_lzma.h | Declaration of LZMA decompressor visitor for unpacking packed data |
decompressor_nrv.cpp | Implementation of NRV decompressor visitor for unpacking packed data |
decompressor_nrv.h | Declaration of NRV decompressor visitor for unpacking packed data |
decompressor_scrambler.cpp | Implementation of UPX scrambler decompressor visitor for unpacking packed data |
decompressor_scrambler.h | Declaration of UPX scramblers decompressor visitor for unpacking packed data |
decompressor_upxshit.cpp | Implementation of UPX scrambler UPX$HIT decompressor visitor for unpacking packed data |
decompressor_upxshit.h | Declaration of UPX scrambler UPX$HIT decompressor visitor for unpacking packed data |
decompressors.h | Include file for all decompressors |
► elf | |
elf_upx_stub.cpp | Implementation of UPX unpacking stub in ELF files |
elf_upx_stub.h | Declaration of UPX unpacking stub in ELF files |
► macho | |
macho_upx_stub.cpp | Implementation of UPX unpacking stub in Mach-O files |
macho_upx_stub.h | Declaration of UPX unpacking stub in Mach-O files |
► pe | |
pe_upx_stub.cpp | Implementation of UPX unpacking stub in PE files |
pe_upx_stub.h | Declaration of UPX unpacking stub in PE files |
doxygen.h | Doxygen documentation of the upx namespace |
unfilter.cpp | Implementation of jump unfilters for UPX |
unfilter.h | Declaration of jump unfilters for UPX |
upx.cpp | Unpacker plugin for UPX packer |
upx.h | Unpacker plugin for UPX packer |
upx_exceptions.h | Exception specific for UPX plugin |
upx_stub.cpp | Implementation of abstract UPX stub class that represents the unpacking procedure itself |
upx_stub.h | Declaration of abstract UPX stub class that represents the unpacking procedure itself |
upx_stub_signatures.cpp | UPX stub signatures definitions |
upx_stub_signatures.h | UPX stub signatures declarations |
arg_handler.cpp | ArgHandler class implementation for command line argument parsing |
arg_handler.h | ArgHandler class declaration for command line argument parsing |
doxygen.h | Doxygen documentation of the unpacker namespace |
main.cpp | |
plugin_mgr.cpp | PluginMgr implementation which is singleton manager for plugin loading |
plugin_mgr.h | PluginMgr declaration which is singleton manager for plugin loading |
unpacker.cpp | Main function and help |
► utils | |
► io | |
log.cpp | |
logger.cpp | Provides unified logging interface |
alignment.cpp | Definition of aligning operations |
binary_path.cpp | Absolute path of currently running binary getters |
byte_value_storage.cpp | Implementation of ByteValueStorage |
conversion.cpp | Implementation of the conversion utilities |
crc32.cpp | |
doxygen.h | Doxygen documentation of the utilsl namespace |
dynamic_buffer.cpp | Implementation of class for buffered data mainpulation |
file_io.cpp | Functions for file I/O |
math.cpp | Mathematical utilities |
memory.cpp | Memory utilities |
string.cpp | String utilities |
system.cpp | Implementation of the portable system utilities |
time.cpp | Implementation of the time-related functions |
► yaracpp | |
yara_detector.cpp | Interpret of YARA rules |
yara_match.cpp | Library representation of one YARA match |
yara_meta.cpp | Library representation of one YARA meta |
yara_rule.cpp | Library representation of one YARA rule |