2024-09-07 18:00:09 +06:00
|
|
|
#include "disasm.h"
|
|
|
|
|
|
|
|
DisassemblerEngine ppc::gPPCBigEndianDisassembler{ CS_ARCH_PPC, CS_MODE_BIG_ENDIAN };
|
|
|
|
|
|
|
|
DisassemblerEngine::DisassemblerEngine(cs_arch arch, cs_mode mode)
|
|
|
|
{
|
2024-09-07 18:21:08 +06:00
|
|
|
cs_open(arch, mode, &handle);
|
2024-09-07 18:00:09 +06:00
|
|
|
}
|
|
|
|
|
|
|
|
size_t DisassemblerEngine::Disassemble(const uint8_t* code, size_t size, uint64_t base, size_t count, cs_insn** instructions) const
|
|
|
|
{
|
2024-09-07 18:21:08 +06:00
|
|
|
return cs_disasm(handle, code, size, base, count, instructions);
|
2024-09-07 18:00:09 +06:00
|
|
|
}
|
|
|
|
|
|
|
|
void DisassemblerEngine::SetOption(cs_opt_type option, size_t value)
|
|
|
|
{
|
2024-09-07 18:21:08 +06:00
|
|
|
cs_option(handle, option, value);
|
2024-09-07 18:00:09 +06:00
|
|
|
}
|
|
|
|
|
|
|
|
DisassemblerEngine::~DisassemblerEngine()
|
|
|
|
{
|
2024-09-07 18:21:08 +06:00
|
|
|
cs_close(&handle);
|
2024-09-07 18:00:09 +06:00
|
|
|
}
|