]> git.siccegge.de Git - frida/frida.git/blob - src/Binary.hxx
Update
[frida/frida.git] / src / Binary.hxx
1 #include "include.hxx"
2
3 #include <string>
4
5 using llvm::OwningPtr;
6
7 class Binary {
8 private:
9 llvm::Triple triple;
10 const llvm::Target * target;
11 llvm::object::ObjectFile * o;
12
13 OwningPtr<llvm::object::Binary> binary;
14 OwningPtr<const llvm::MCRegisterInfo> MRI;
15 OwningPtr<const llvm::MCAsmInfo> AsmInfo;
16 OwningPtr<llvm::MCModule> Mod;
17 OwningPtr<llvm::MCInstPrinter> IP;
18 OwningPtr<llvm::MCDisassembler> DisAsm;
19 OwningPtr<const llvm::MCObjectFileInfo> MOFI;
20 OwningPtr<llvm::MCContext> Ctx;
21 OwningPtr<const llvm::MCInstrAnalysis> MIA;
22 OwningPtr<const llvm::MCSubtargetInfo> STI;
23 OwningPtr<const llvm::MCInstrInfo> MII;
24 OwningPtr<llvm::MCRelocationInfo> RelInfo;
25 OwningPtr<llvm::MCSymbolizer> Symzer;
26 public:
27 Binary(const std::string& filename);
28
29 void disassemble();
30
31 void disassemble_functions();
32
33 void disassemble_cfg();
34 };