RetDec decompiler.
More...
#include <fstream>
#include <future>
#include <chrono>
#include <thread>
#include <llvm/ADT/Triple.h>
#include <llvm/Analysis/LoopInfo.h>
#include <llvm/Analysis/ScalarEvolution.h>
#include <llvm/Analysis/TargetLibraryInfo.h>
#include <llvm/IR/DataLayout.h>
#include <llvm/IR/LLVMContext.h>
#include <llvm/IR/LegacyPassManager.h>
#include <llvm/IR/Module.h>
#include <llvm/IRReader/IRReader.h>
#include <llvm/MC/SubtargetFeature.h>
#include <llvm/Pass.h>
#include <llvm/Support/CommandLine.h>
#include <llvm/Support/Debug.h>
#include <llvm/Support/ErrorHandling.h>
#include <llvm/Support/FileSystem.h>
#include <llvm/Support/FormattedStream.h>
#include <llvm/Support/Host.h>
#include <llvm/Support/ManagedStatic.h>
#include <llvm/Support/PluginLoader.h>
#include <llvm/Support/PrettyStackTrace.h>
#include <llvm/Support/Signals.h>
#include <llvm/Support/SourceMgr.h>
#include <llvm/Support/TargetRegistry.h>
#include <llvm/Support/TargetSelect.h>
#include <llvm/Support/ToolOutputFile.h>
#include <llvm/Target/TargetMachine.h>
#include "retdec/ar-extractor/archive_wrapper.h"
#include "retdec/ar-extractor/detection.h"
#include "retdec/config/config.h"
#include "retdec/retdec/retdec.h"
#include "retdec/macho-extractor/break_fat.h"
#include "retdec/unpackertool/unpackertool.h"
#include "retdec/utils/binary_path.h"
#include "retdec/utils/filesystem.h"
#include "retdec/utils/string.h"
#include "retdec/utils/memory.h"
#include "retdec/utils/io/log.h"
RetDec decompiler.
- Copyright
- (c) 2020 Avast Software, licensed under the MIT license
◆ cleanup()
◆ decompile()
◆ limitMaximalMemoryIfRequested()
Limits the maximal memory of the tool based on the command-line parameters.
◆ main()
int main |
( |
int |
argc, |
|
|
char ** |
argv |
|
) |
| |
◆ setLogsFrom()
TODO: this function is exact copy of the function located in retdec/retdec.cpp. The reason for this is that right now creation of correct interface that would hold this function is much more time expensive than hard copy.
This function should be located in utils/io/log.{cpp,h}. For that it should now retdec::config::Parameters object. Inclusion of this object would be, however, only possible after linking rapidjson library to the retdec::utils. This is not wanted. Best solution would be making Parameters unaware of rapidjson.
◆ EXIT_BAD_ALLOC
const int EXIT_BAD_ALLOC = 135 |
◆ EXIT_TIMEOUT
const int EXIT_TIMEOUT = 137 |