retdec
|
#include <parameters.h>
Public Member Functions | |
void | fixRelativePaths (const std::string &configPath) |
template<typename Writer > | |
void | serialize (Writer &writer) const |
void | deserialize (const rapidjson::Value &val) |
Parameters query methods. | |
bool | isSomethingSelected () const |
bool | isVerboseOutput () const |
bool | isKeepAllFunctions () const |
bool | isSelectedDecodeOnly () const |
bool | isDetectStaticCode () const |
bool | isTimeout () const |
bool | isMaxMemoryLimitHalfRam () const |
bool | isBackendNoOpts () const |
bool | isBackendEmitCfg () const |
bool | isBackendEmitCg () const |
bool | isBackendAggressiveOpts () const |
bool | isBackendKeepAllBrackets () const |
bool | isBackendKeepLibraryFuncs () const |
bool | isBackendNoTimeVaryingInfo () const |
bool | isBackendNoVarRenaming () const |
bool | isBackendNoCompoundOperators () const |
bool | isBackendNoSymbolicNames () const |
Parameters set methods. | |
void | setIsVerboseOutput (bool b) |
void | setIsKeepAllFunctions (bool b) |
void | setIsSelectedDecodeOnly (bool b) |
void | setOrdinalNumbersDirectory (const std::string &n) |
void | setInputFile (const std::string &file) |
void | setInputPdbFile (const std::string &file) |
void | setOutputFile (const std::string &n) |
void | setOutputBitcodeFile (const std::string &file) |
void | setOutputAsmFile (const std::string &file) |
void | setOutputLlvmirFile (const std::string &file) |
void | setOutputConfigFile (const std::string &file) |
void | setOutputUnpackedFile (const std::string &file) |
void | setOutputFormat (const std::string &format) |
void | setLogFile (const std::string &file) |
void | setErrFile (const std::string &file) |
void | setMaxMemoryLimit (uint64_t limit) |
void | setIsMaxMemoryLimitHalfRam (bool f) |
void | setTimeout (uint64_t seconds) |
void | setEntryPoint (const retdec::common::Address &a) |
void | setMainAddress (const retdec::common::Address &a) |
void | setSectionVMA (const retdec::common::Address &a) |
void | setBackendDisabledOpts (const std::string &o) |
void | setBackendEnabledOpts (const std::string &o) |
void | setBackendCallInfoObtainer (const std::string &val) |
void | setBackendVarRenamer (const std::string &val) |
void | setIsDetectStaticCode (bool b) |
void | setIsBackendNoOpts (bool b) |
void | setIsBackendEmitCfg (bool b) |
void | setIsBackendEmitCg (bool b) |
void | setIsBackendAggressiveOpts (bool b) |
void | setIsBackendKeepAllBrackets (bool b) |
void | setIsBackendKeepLibraryFuncs (bool b) |
void | setIsBackendNoTimeVaryingInfo (bool b) |
void | setIsBackendNoVarRenaming (bool b) |
void | setIsBackendNoCompoundOperators (bool b) |
void | setIsBackendNoSymbolicNames (bool b) |
Parameters get methods. | |
const std::string & | getOrdinalNumbersDirectory () const |
const std::string & | getInputFile () const |
const std::string & | getInputPdbFile () const |
const std::string & | getOutputFile () const |
const std::string & | getOutputBitcodeFile () const |
const std::string & | getOutputAsmFile () const |
const std::string & | getOutputLlvmirFile () const |
const std::string & | getOutputConfigFile () const |
const std::string & | getOutputUnpackedFile () const |
const std::string & | getOutputFormat () const |
const std::string & | getLogFile () const |
const std::string & | getErrFile () const |
uint64_t | getMaxMemoryLimit () const |
uint64_t | getTimeout () const |
retdec::common::Address | getEntryPoint () const |
retdec::common::Address | getMainAddress () const |
retdec::common::Address | getSectionVMA () const |
const std::string & | getBackendDisabledOpts () const |
const std::string & | getBackendEnabledOpts () const |
const std::string & | getBackendCallInfoObtainer () const |
const std::string & | getBackendVarRenamer () const |
Public Attributes | |
std::set< std::string > | userStaticSignaturePaths |
std::set< std::string > | staticSignaturePaths |
std::set< std::string > | libraryTypeInfoPaths |
std::set< std::string > | cryptoPatternPaths |
std::set< std::string > | abiPaths |
std::set< std::string > | selectedFunctions |
std::set< std::string > | selectedNotFoundFunctions |
common::AddressRangeContainer | selectedRanges |
Address ranges selected by the user through selective decompilation. More... | |
std::vector< std::string > | llvmPasses |
LLVM passes. More... | |
Represents decompilation process parameters (options).
void retdec::config::Parameters::deserialize | ( | const rapidjson::Value & | val | ) |
Reads JSON object (associative array) holding parameters information.
val | JSON object. |
void retdec::config::Parameters::fixRelativePaths | ( | const std::string & | configPath | ) |
const std::string & retdec::config::Parameters::getBackendCallInfoObtainer | ( | ) | const |
const std::string & retdec::config::Parameters::getBackendDisabledOpts | ( | ) | const |
const std::string & retdec::config::Parameters::getBackendEnabledOpts | ( | ) | const |
const std::string & retdec::config::Parameters::getBackendVarRenamer | ( | ) | const |
retdec::common::Address retdec::config::Parameters::getEntryPoint | ( | ) | const |
const std::string & retdec::config::Parameters::getErrFile | ( | ) | const |
const std::string & retdec::config::Parameters::getInputFile | ( | ) | const |
const std::string & retdec::config::Parameters::getInputPdbFile | ( | ) | const |
const std::string & retdec::config::Parameters::getLogFile | ( | ) | const |
retdec::common::Address retdec::config::Parameters::getMainAddress | ( | ) | const |
uint64_t retdec::config::Parameters::getMaxMemoryLimit | ( | ) | const |
const std::string & retdec::config::Parameters::getOrdinalNumbersDirectory | ( | ) | const |
const std::string & retdec::config::Parameters::getOutputAsmFile | ( | ) | const |
const std::string & retdec::config::Parameters::getOutputBitcodeFile | ( | ) | const |
const std::string & retdec::config::Parameters::getOutputConfigFile | ( | ) | const |
const std::string & retdec::config::Parameters::getOutputFile | ( | ) | const |
const std::string & retdec::config::Parameters::getOutputFormat | ( | ) | const |
const std::string & retdec::config::Parameters::getOutputLlvmirFile | ( | ) | const |
const std::string & retdec::config::Parameters::getOutputUnpackedFile | ( | ) | const |
retdec::common::Address retdec::config::Parameters::getSectionVMA | ( | ) | const |
uint64_t retdec::config::Parameters::getTimeout | ( | ) | const |
bool retdec::config::Parameters::isBackendAggressiveOpts | ( | ) | const |
bool retdec::config::Parameters::isBackendEmitCfg | ( | ) | const |
bool retdec::config::Parameters::isBackendEmitCg | ( | ) | const |
bool retdec::config::Parameters::isBackendKeepAllBrackets | ( | ) | const |
bool retdec::config::Parameters::isBackendKeepLibraryFuncs | ( | ) | const |
bool retdec::config::Parameters::isBackendNoCompoundOperators | ( | ) | const |
bool retdec::config::Parameters::isBackendNoOpts | ( | ) | const |
bool retdec::config::Parameters::isBackendNoSymbolicNames | ( | ) | const |
bool retdec::config::Parameters::isBackendNoTimeVaryingInfo | ( | ) | const |
bool retdec::config::Parameters::isBackendNoVarRenaming | ( | ) | const |
bool retdec::config::Parameters::isDetectStaticCode | ( | ) | const |
bool retdec::config::Parameters::isKeepAllFunctions | ( | ) | const |
bool retdec::config::Parameters::isMaxMemoryLimitHalfRam | ( | ) | const |
bool retdec::config::Parameters::isSelectedDecodeOnly | ( | ) | const |
bool retdec::config::Parameters::isSomethingSelected | ( | ) | const |
Find out if some functions or ranges were selected in selective decompilation.
True
if selectedFunctions
or selectedRanges
not empty, false
otherwise. bool retdec::config::Parameters::isTimeout | ( | ) | const |
bool retdec::config::Parameters::isVerboseOutput | ( | ) | const |
template void retdec::config::Parameters::serialize | ( | Writer & | writer | ) | const |
Returns JSON object (associative array) holding parameters information.
void retdec::config::Parameters::setBackendCallInfoObtainer | ( | const std::string & | val | ) |
void retdec::config::Parameters::setBackendDisabledOpts | ( | const std::string & | o | ) |
void retdec::config::Parameters::setBackendEnabledOpts | ( | const std::string & | o | ) |
void retdec::config::Parameters::setBackendVarRenamer | ( | const std::string & | val | ) |
void retdec::config::Parameters::setEntryPoint | ( | const retdec::common::Address & | a | ) |
void retdec::config::Parameters::setErrFile | ( | const std::string & | file | ) |
void retdec::config::Parameters::setInputFile | ( | const std::string & | file | ) |
void retdec::config::Parameters::setInputPdbFile | ( | const std::string & | file | ) |
void retdec::config::Parameters::setIsBackendAggressiveOpts | ( | bool | b | ) |
void retdec::config::Parameters::setIsBackendEmitCfg | ( | bool | b | ) |
void retdec::config::Parameters::setIsBackendEmitCg | ( | bool | b | ) |
void retdec::config::Parameters::setIsBackendKeepAllBrackets | ( | bool | b | ) |
void retdec::config::Parameters::setIsBackendKeepLibraryFuncs | ( | bool | b | ) |
void retdec::config::Parameters::setIsBackendNoCompoundOperators | ( | bool | b | ) |
void retdec::config::Parameters::setIsBackendNoOpts | ( | bool | b | ) |
void retdec::config::Parameters::setIsBackendNoSymbolicNames | ( | bool | b | ) |
void retdec::config::Parameters::setIsBackendNoTimeVaryingInfo | ( | bool | b | ) |
void retdec::config::Parameters::setIsBackendNoVarRenaming | ( | bool | b | ) |
void retdec::config::Parameters::setIsDetectStaticCode | ( | bool | b | ) |
void retdec::config::Parameters::setIsKeepAllFunctions | ( | bool | b | ) |
void retdec::config::Parameters::setIsMaxMemoryLimitHalfRam | ( | bool | f | ) |
void retdec::config::Parameters::setIsSelectedDecodeOnly | ( | bool | b | ) |
void retdec::config::Parameters::setIsVerboseOutput | ( | bool | b | ) |
void retdec::config::Parameters::setLogFile | ( | const std::string & | file | ) |
void retdec::config::Parameters::setMainAddress | ( | const retdec::common::Address & | a | ) |
void retdec::config::Parameters::setMaxMemoryLimit | ( | uint64_t | limit | ) |
void retdec::config::Parameters::setOrdinalNumbersDirectory | ( | const std::string & | n | ) |
void retdec::config::Parameters::setOutputAsmFile | ( | const std::string & | file | ) |
void retdec::config::Parameters::setOutputBitcodeFile | ( | const std::string & | file | ) |
void retdec::config::Parameters::setOutputConfigFile | ( | const std::string & | file | ) |
void retdec::config::Parameters::setOutputFile | ( | const std::string & | n | ) |
void retdec::config::Parameters::setOutputFormat | ( | const std::string & | format | ) |
void retdec::config::Parameters::setOutputLlvmirFile | ( | const std::string & | file | ) |
void retdec::config::Parameters::setOutputUnpackedFile | ( | const std::string & | file | ) |
void retdec::config::Parameters::setSectionVMA | ( | const retdec::common::Address & | a | ) |
void retdec::config::Parameters::setTimeout | ( | uint64_t | seconds | ) |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
Keep all functions in the decompiler's output. Otherwise, only functions reachable from main are kept.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
Decode only parts selected through selective decompilation. Otherwise, entire binary is decoded. This speeds up decompilation, but usually produces lower-quality results.
|
private |
|
private |
Decompilation will verbosely inform about the decompilation process.
std::set<std::string> retdec::config::Parameters::abiPaths |
std::set<std::string> retdec::config::Parameters::cryptoPatternPaths |
std::set<std::string> retdec::config::Parameters::libraryTypeInfoPaths |
std::vector<std::string> retdec::config::Parameters::llvmPasses |
LLVM passes.
std::set<std::string> retdec::config::Parameters::selectedFunctions |
Functions' names which were selected by the user through selective decompilation.
std::set<std::string> retdec::config::Parameters::selectedNotFoundFunctions |
Selected functions' names from selectedFunctions
which were not found in the binary.
common::AddressRangeContainer retdec::config::Parameters::selectedRanges |
Address ranges selected by the user through selective decompilation.
std::set<std::string> retdec::config::Parameters::staticSignaturePaths |
std::set<std::string> retdec::config::Parameters::userStaticSignaturePaths |