2 #include <capstone/capstone.h>
5 #ifndef DECOMPILER_REV_H
6 #define DECOMPILER_REV_H
8 #define DECOMPILER_REV_MAX_SECTIONS 256
11 using json = nlohmann::json;
40 vector<uint64_t> blocks;
41 vector<uint64_t> functions;
42 vector<uint64_t> visited;
44 struct Section sections[DECOMPILER_REV_MAX_SECTIONS];
47 bool Setup(cs_arch arch, cs_mode mode, uint index);
48 void ClearBlock(uint index);
49 void ClearTrait(uint index);
50 void AddEdges(uint count, uint index);
51 void CollectBlockTrait(uint index);
52 void CollectFunctionTrait(uint index);
53 void PrintTraits(
bool pretty);
54 void WriteTraits(
char *file_path,
bool pretty);
55 uint Decompile(
void *data,
size_t data_size,
size_t data_offset, uint index);
56 void Seek(uint offset, uint index);