Lines Matching full:disassembler
5 #include "courgette/disassembler.h"
29 Disassembler* DetectDisassembler(const void* buffer, size_t length) {
30 Disassembler* disassembler = NULL;
32 disassembler = new DisassemblerWin32X86(buffer, length);
33 if (disassembler->ParseHeader())
34 return disassembler;
36 delete disassembler;
38 disassembler = new DisassemblerElf32X86(buffer, length);
39 if (disassembler->ParseHeader())
40 return disassembler;
42 delete disassembler;
44 disassembler = new DisassemblerElf32ARM(buffer, length);
45 if (disassembler->ParseHeader())
46 return disassembler;
48 delete disassembler;
57 Disassembler* disassembler = DetectDisassembler(buffer, length);
59 if (disassembler) {
60 *type = disassembler->kind();
61 *detected_length = disassembler->length();
62 delete disassembler;
76 Disassembler* disassembler = DetectDisassembler(buffer, length);
78 if (!disassembler) {
82 AssemblyProgram* program = new AssemblyProgram(disassembler->kind());
84 if (!disassembler->Disassemble(program)) {
86 delete disassembler;
90 delete disassembler;
99 Disassembler::Disassembler(const void* start, size_t length)
107 Disassembler::~Disassembler() {};
109 const uint8* Disassembler::OffsetToPointer(size_t offset) const {
114 bool Disassembler::Good() {
119 bool Disassembler::Bad(const char* reason) {
124 void Disassembler::ReduceLength(size_t reduced_length) {