C# Класс Reko.DecompilerDriver

The main driver class for decompilation of binaries.
This class is named this way as the previous name 'Decompiler' causes C# to get confused between the namespace and the class name.
Наследование: IDecompiler
Показать файл Открыть проект

Открытые методы

Метод Описание
AnalyzeDataFlow ( ) : void

Determines the signature of the procedures, the locations and types of all the values in the program.

Assemble ( string fileName, Assembler asm ) : void
Decompile ( string filename ) : void

Main entry point of the decompiler. Loads, decompiles, and outputs the results.

DecompilerDriver ( ILoader ldr, IServiceProvider services ) : Reko.Core
DumpAssembler ( Program program, Reko.Core.Output.Formatter wr ) : void
Load ( string fileName ) : bool

Loads (or assembles) the decompiler project. If a binary file is specified instead, we create a simple project for the file.

LoadCallSignatures ( Program program, ICollection userCalls ) : FunctionType>.IDictionary
LoadRawImage ( string fileName, RawFileElement raw ) : Program
LoadRawImage ( string fileName, string arch, string platform, Address addrBase ) : Program

Loads a program into memory, but performs no relocations.

ReconstructTypes ( ) : void

Extracts type information from the typeless rewritten programs.

RunScriptOnProgramImage ( Program program, Script_v2 script ) : void
ScanProcedure ( Reko.Core.ProgramAddress paddr ) : Reko.Core.ProcedureBase

Starts a scan at address addr on the user's request.

ScanPrograms ( ) : void

Generates the control flow graph and finds executable code in each program.

StructureProgram ( ) : void

Extracts structured program constructs out of snarled goto nests, if possible. Since procedures are now independent of each other, this analysis is done one procedure at a time.

WriteDecompiledProcedures ( Program program, TextWriter w ) : void
WriteDecompiledTypes ( Program program, TextWriter w ) : void
WriteDecompilerProducts ( ) : void
WriteGlobals ( Program program, TextWriter w ) : void
WriteHeaderComment ( string filename, Program program, TextWriter w ) : void

Защищенные методы

Метод Описание
CreateDefaultProject ( string fileName, Program program ) : Reko.Core.Project

Приватные методы

Метод Описание
BuildImageMaps ( ) : void

Build image maps for each program in preparation of the scanning phase.

CreateScanner ( Program program ) : IScanner
EmitProgram ( Program program, DataFlowAnalysis dfa, TextWriter output ) : void
ScanProgram ( Program program ) : void

Описание методов

AnalyzeDataFlow() публичный Метод

Determines the signature of the procedures, the locations and types of all the values in the program.
public AnalyzeDataFlow ( ) : void
Результат void

Assemble() публичный Метод

public Assemble ( string fileName, Assembler asm ) : void
fileName string
asm Assembler
Результат void

CreateDefaultProject() защищенный Метод

protected CreateDefaultProject ( string fileName, Program program ) : Reko.Core.Project
fileName string
program Program
Результат Reko.Core.Project

Decompile() публичный Метод

Main entry point of the decompiler. Loads, decompiles, and outputs the results.
public Decompile ( string filename ) : void
filename string
Результат void

DecompilerDriver() публичный Метод

public DecompilerDriver ( ILoader ldr, IServiceProvider services ) : Reko.Core
ldr ILoader
services IServiceProvider
Результат Reko.Core

DumpAssembler() публичный Метод

public DumpAssembler ( Program program, Reko.Core.Output.Formatter wr ) : void
program Program
wr Reko.Core.Output.Formatter
Результат void

Load() публичный Метод

Loads (or assembles) the decompiler project. If a binary file is specified instead, we create a simple project for the file.
public Load ( string fileName ) : bool
fileName string
Результат bool

LoadCallSignatures() публичный Метод

public LoadCallSignatures ( Program program, ICollection userCalls ) : FunctionType>.IDictionary
program Program
userCalls ICollection
Результат FunctionType>.IDictionary

LoadRawImage() публичный Метод

public LoadRawImage ( string fileName, RawFileElement raw ) : Program
fileName string
raw RawFileElement
Результат Program

LoadRawImage() публичный Метод

Loads a program into memory, but performs no relocations.
public LoadRawImage ( string fileName, string arch, string platform, Address addrBase ) : Program
fileName string
arch string
platform string
addrBase Address
Результат Program

ReconstructTypes() публичный Метод

Extracts type information from the typeless rewritten programs.
public ReconstructTypes ( ) : void
Результат void

RunScriptOnProgramImage() публичный Метод

public RunScriptOnProgramImage ( Program program, Script_v2 script ) : void
program Program
script Script_v2
Результат void

ScanProcedure() публичный Метод

Starts a scan at address addr on the user's request.
public ScanProcedure ( Reko.Core.ProgramAddress paddr ) : Reko.Core.ProcedureBase
paddr Reko.Core.ProgramAddress
Результат Reko.Core.ProcedureBase

ScanPrograms() публичный Метод

Generates the control flow graph and finds executable code in each program.
public ScanPrograms ( ) : void
Результат void

StructureProgram() публичный Метод

Extracts structured program constructs out of snarled goto nests, if possible. Since procedures are now independent of each other, this analysis is done one procedure at a time.
public StructureProgram ( ) : void
Результат void

WriteDecompiledProcedures() публичный Метод

public WriteDecompiledProcedures ( Program program, TextWriter w ) : void
program Program
w System.IO.TextWriter
Результат void

WriteDecompiledTypes() публичный Метод

public WriteDecompiledTypes ( Program program, TextWriter w ) : void
program Program
w System.IO.TextWriter
Результат void

WriteDecompilerProducts() публичный Метод

public WriteDecompilerProducts ( ) : void
Результат void

WriteGlobals() публичный Метод

public WriteGlobals ( Program program, TextWriter w ) : void
program Program
w System.IO.TextWriter
Результат void

WriteHeaderComment() публичный Метод

public WriteHeaderComment ( string filename, Program program, TextWriter w ) : void
filename string
program Program
w System.IO.TextWriter
Результат void