Home | History | Annotate | Download | only in courgette

Lines Matching defs:disassembler

5 #include "courgette/disassembler.h"
26 Disassembler* DetectDisassembler(const void* buffer, size_t length) {
27 Disassembler* disassembler = NULL;
29 disassembler = new DisassemblerWin32X86(buffer, length);
30 if (disassembler->ParseHeader())
31 return disassembler;
33 delete disassembler;
35 disassembler = new DisassemblerWin32X64(buffer, length);
36 if (disassembler->ParseHeader())
37 return disassembler;
39 delete disassembler;
41 disassembler = new DisassemblerElf32X86(buffer, length);
42 if (disassembler->ParseHeader())
43 return disassembler;
45 delete disassembler;
47 disassembler = new DisassemblerElf32ARM(buffer, length);
48 if (disassembler->ParseHeader())
49 return disassembler;
51 delete disassembler;
60 Disassembler* disassembler = DetectDisassembler(buffer, length);
62 if (disassembler) {
63 *type = disassembler->kind();
64 *detected_length = disassembler->length();
65 delete disassembler;
79 Disassembler* disassembler = DetectDisassembler(buffer, length);
81 if (!disassembler) {
85 AssemblyProgram* program = new AssemblyProgram(disassembler->kind());
87 if (!disassembler->Disassemble(program)) {
89 delete disassembler;
93 delete disassembler;
102 Disassembler::Disassembler(const void* start, size_t length)
110 Disassembler::~Disassembler() {};
112 const uint8* Disassembler::OffsetToPointer(size_t offset) const {
117 bool Disassembler::Good() {
122 bool Disassembler::Bad(const char* reason) {
127 void Disassembler::ReduceLength(size_t reduced_length) {