private static void Main(string[] args) { using (var unicorn = new Unicorn(UcArch.UC_ARCH_ARM64, UcMode.UC_MODE_ARM)) { const ulong address = 0x1000; const ulong memSize = 0x1000; var codeBytes = new byte[] { 0x01, 0x06, 0xa0, 0xd2, 0x41, 0x10, 0x18, 0xd5, 0xdf, 0x3f, 0x03, 0xd5 }; unicorn.HookCode((uc, address1, size, data) => { Console.WriteLine("Code.."); }); unicorn.MemMap(address, memSize); unicorn.MemWrite(address, codeBytes); unicorn.RegWrite(UcArm64Reg.UC_ARM64_REG_SP, address + memSize); unicorn.EmuStart(address, address + (ulong)codeBytes.Length); } }