1
0
Fork 0
x64dbg/x64_dbg_gui/Project/Src/Disassembler/QBeaEngine.h

32 lines
774 B
C++

#ifndef QBEAENGINE_H
#define QBEAENGINE_H
#include <QString>
#include "NewTypes.h"
#include "BeaTokenizer.h"
typedef struct _Instruction_t
{
QString instStr;
QByteArray dump;
uint_t rva;
int length;
DISASM disasm;
BeaTokenizer::BeaInstructionToken tokens;
} Instruction_t;
class QBeaEngine
{
public:
explicit QBeaEngine(int maxModuleSize);
ulong DisassembleBack(byte_t* data, uint_t base, uint_t size, uint_t ip, int n);
ulong DisassembleNext(byte_t* data, uint_t base, uint_t size, uint_t ip, int n);
Instruction_t DisassembleAt(byte_t* data, uint_t size, uint_t instIndex, uint_t origBase, uint_t origInstRVA);
private:
DISASM mDisasmStruct;
int mMaxModuleSize;
};
#endif // QBEAENGINE_H