gitextract_7lagk856/ ├── .clang-format ├── .github/ │ └── workflows/ │ ├── Crate-publishing.yml │ ├── Nuget-publishing.yml │ ├── build-uc2.yml │ ├── build-wheels-publish.yml │ ├── prerelease.yml │ ├── release.yml │ └── zigbuild.yml ├── .gitignore ├── .gitmodules ├── AUTHORS.TXT ├── CMakeLists.txt ├── COPYING ├── COPYING.LGPL2 ├── COPYING_GLIB ├── CREDITS.TXT ├── Cargo.toml ├── ChangeLog ├── README.md ├── SECURITY.md ├── TODO ├── bindings/ │ ├── Makefile │ ├── README │ ├── const_generator.py │ ├── dotnet/ │ │ ├── README.md │ │ ├── UnicornDotNet.sln │ │ ├── UnicornEngine/ │ │ │ ├── Binding/ │ │ │ │ ├── BindingFactory.fs │ │ │ │ ├── IBinding.fs │ │ │ │ ├── MockBinding.fs │ │ │ │ └── NativeBinding.fs │ │ │ ├── Const/ │ │ │ │ ├── Arm.fs │ │ │ │ ├── Arm64.fs │ │ │ │ ├── Common.fs │ │ │ │ ├── M68k.fs │ │ │ │ ├── Mips.fs │ │ │ │ ├── Ppc.fs │ │ │ │ ├── Riscv.fs │ │ │ │ ├── S390x.fs │ │ │ │ ├── Sparc.fs │ │ │ │ ├── TriCore.fs │ │ │ │ └── X86.fs │ │ │ ├── ConvertUtility.fs │ │ │ ├── InternalHooks.fs │ │ │ ├── Unicorn.fs │ │ │ ├── UnicornEngine.fsproj │ │ │ ├── UnicornEngineException.fs │ │ │ └── WinNativeImport.fs │ │ └── UnicornSamples/ │ │ ├── Program.cs │ │ ├── ShellcodeSample.cs │ │ ├── UnicornSamples.csproj │ │ ├── Utils.cs │ │ └── X86Sample32.cs │ ├── go/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── sample.go │ │ └── unicorn/ │ │ ├── arm64_const.go │ │ ├── arm_const.go │ │ ├── cgo.go │ │ ├── cgo_dynamic.go │ │ ├── cgo_static.go │ │ ├── context.go │ │ ├── context_test.go │ │ ├── hook.c │ │ ├── hook.go │ │ ├── hook.h │ │ ├── m68k_const.go │ │ ├── mips_const.go │ │ ├── ppc_const.go │ │ ├── reg_batch.go │ │ ├── riscv_const.go │ │ ├── s390x_const.go │ │ ├── sparc_const.go │ │ ├── tricore_const.go │ │ ├── uc.c │ │ ├── uc.h │ │ ├── unicorn.go │ │ ├── unicorn_const.go │ │ ├── unicorn_test.go │ │ ├── x86.go │ │ ├── x86_const.go │ │ └── x86_test.go │ ├── haskell/ │ │ ├── .gitignore │ │ ├── README.TXT │ │ ├── Setup.hs │ │ ├── samples/ │ │ │ ├── SampleArm.hs │ │ │ ├── SampleArm64.hs │ │ │ ├── SampleBatchReg.hs │ │ │ ├── SampleM68k.hs │ │ │ ├── SampleMips.hs │ │ │ ├── SampleSparc.hs │ │ │ ├── SampleX86.hs │ │ │ └── Shellcode.hs │ │ ├── src/ │ │ │ ├── Unicorn/ │ │ │ │ ├── CPU/ │ │ │ │ │ ├── Arm.chs │ │ │ │ │ ├── Arm64.chs │ │ │ │ │ ├── M68k.chs │ │ │ │ │ ├── Mips.chs │ │ │ │ │ ├── Sparc.chs │ │ │ │ │ └── X86.chs │ │ │ │ ├── Hook.hs │ │ │ │ └── Internal/ │ │ │ │ ├── Core.chs │ │ │ │ ├── Hook.chs │ │ │ │ ├── Unicorn.chs │ │ │ │ └── Util.hs │ │ │ ├── Unicorn.hs │ │ │ ├── cbits/ │ │ │ │ └── unicorn_wrapper.c │ │ │ └── include/ │ │ │ └── unicorn_wrapper.h │ │ └── unicorn.cabal │ ├── java/ │ │ ├── .gitignore │ │ ├── CMakeLists.txt │ │ ├── Makefile │ │ ├── README.md │ │ ├── eclipse-formatter.xml │ │ ├── pom.xml │ │ ├── src/ │ │ │ ├── main/ │ │ │ │ └── java/ │ │ │ │ └── unicorn/ │ │ │ │ ├── Arm64Const.java │ │ │ │ ├── Arm64SysHook.java │ │ │ │ ├── Arm64_CP.java │ │ │ │ ├── ArmConst.java │ │ │ │ ├── Arm_CP.java │ │ │ │ ├── BlockHook.java │ │ │ │ ├── CodeHook.java │ │ │ │ ├── CpuidHook.java │ │ │ │ ├── EdgeGeneratedHook.java │ │ │ │ ├── EventMemHook.java │ │ │ │ ├── Hook.java │ │ │ │ ├── InHook.java │ │ │ │ ├── InstructionHook.java │ │ │ │ ├── InterruptHook.java │ │ │ │ ├── InvalidInstructionHook.java │ │ │ │ ├── M68kConst.java │ │ │ │ ├── MemHook.java │ │ │ │ ├── MemRegion.java │ │ │ │ ├── MipsConst.java │ │ │ │ ├── MmioReadHandler.java │ │ │ │ ├── MmioWriteHandler.java │ │ │ │ ├── OutHook.java │ │ │ │ ├── PpcConst.java │ │ │ │ ├── RiscvConst.java │ │ │ │ ├── S390xConst.java │ │ │ │ ├── SparcConst.java │ │ │ │ ├── SyscallHook.java │ │ │ │ ├── TcgOpcodeHook.java │ │ │ │ ├── TlbFillHook.java │ │ │ │ ├── TranslationBlock.java │ │ │ │ ├── TriCoreConst.java │ │ │ │ ├── Unicorn.java │ │ │ │ ├── UnicornConst.java │ │ │ │ ├── UnicornException.java │ │ │ │ ├── X86Const.java │ │ │ │ ├── X86_Float80.java │ │ │ │ ├── X86_MMR.java │ │ │ │ └── X86_MSR.java │ │ │ └── test/ │ │ │ └── java/ │ │ │ ├── samples/ │ │ │ │ ├── SampleNetworkAuditing.java │ │ │ │ ├── Sample_arm.java │ │ │ │ ├── Sample_arm64.java │ │ │ │ ├── Sample_ctl.java │ │ │ │ ├── Sample_m68k.java │ │ │ │ ├── Sample_mips.java │ │ │ │ ├── Sample_mmu.java │ │ │ │ ├── Sample_ppc.java │ │ │ │ ├── Sample_riscv.java │ │ │ │ ├── Sample_s390x.java │ │ │ │ ├── Sample_sparc.java │ │ │ │ ├── Sample_tricore.java │ │ │ │ ├── Sample_x86.java │ │ │ │ ├── Sample_x86_mmr.java │ │ │ │ ├── Shellcode.java │ │ │ │ └── Utils.java │ │ │ └── tests/ │ │ │ ├── FunctionalityTests.java │ │ │ ├── HookTests.java │ │ │ ├── MemTests.java │ │ │ ├── RegTests.java │ │ │ ├── RegressionTests.java │ │ │ └── TestSamples.java │ │ └── unicorn_Unicorn.c │ ├── pascal/ │ │ ├── LICENSE │ │ ├── README.md │ │ ├── examples/ │ │ │ ├── x86.lpi │ │ │ ├── x86.lpr │ │ │ └── x86.lps │ │ └── unicorn/ │ │ ├── Arm64Const.pas │ │ ├── ArmConst.pas │ │ ├── M68kConst.pas │ │ ├── MipsConst.pas │ │ ├── PpcConst.pas │ │ ├── RiscvConst.pas │ │ ├── S390xConst.pas │ │ ├── SparcConst.pas │ │ ├── TriCoreConst.pas │ │ ├── UnicornConst.pas │ │ ├── Unicorn_dyn.pas │ │ └── X86Const.pas │ ├── python/ │ │ ├── MANIFEST.in │ │ ├── Makefile │ │ ├── README.md │ │ ├── prebuilt/ │ │ │ └── .gitkeep │ │ ├── pyproject.toml │ │ ├── setup.py │ │ ├── tests/ │ │ │ ├── test_arm.py │ │ │ ├── test_arm64.py │ │ │ ├── test_arm64eb.py │ │ │ ├── test_armeb.py │ │ │ ├── test_ctl.py │ │ │ ├── test_m68k.py │ │ │ ├── test_mips.py │ │ │ ├── test_network_auditing.py │ │ │ ├── test_ppc.py │ │ │ ├── test_riscv.py │ │ │ ├── test_s390x.py │ │ │ ├── test_shellcode.py │ │ │ ├── test_sparc.py │ │ │ ├── test_tricore.py │ │ │ └── test_x86.py │ │ └── unicorn/ │ │ ├── __init__.py │ │ ├── arm64_const.py │ │ ├── arm_const.py │ │ ├── m68k_const.py │ │ ├── mips_const.py │ │ ├── ppc_const.py │ │ ├── py.typed │ │ ├── riscv_const.py │ │ ├── s390x_const.py │ │ ├── sparc_const.py │ │ ├── tricore_const.py │ │ ├── unicorn.py │ │ ├── unicorn_const.py │ │ ├── unicorn_py2.py │ │ ├── unicorn_py3/ │ │ │ ├── __init__.py │ │ │ ├── arch/ │ │ │ │ ├── __init__.py │ │ │ │ ├── arm.py │ │ │ │ ├── arm64.py │ │ │ │ ├── intel.py │ │ │ │ └── types.py │ │ │ └── unicorn.py │ │ └── x86_const.py │ ├── ruby/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── sample_arm.rb │ │ ├── sample_arm64.rb │ │ ├── sample_m68k.rb │ │ ├── sample_mips.rb │ │ ├── sample_sparc.rb │ │ ├── sample_x86.rb │ │ ├── sample_x86_gdt.rb │ │ ├── test_hook_gc.rb │ │ └── unicorn_gem/ │ │ ├── Gemfile │ │ ├── Rakefile │ │ ├── ext/ │ │ │ ├── extconf.rb │ │ │ ├── types.h │ │ │ ├── unicorn.c │ │ │ └── unicorn.h │ │ ├── lib/ │ │ │ └── unicorn_engine/ │ │ │ ├── arm64_const.rb │ │ │ ├── arm_const.rb │ │ │ ├── m68k_const.rb │ │ │ ├── mips_const.rb │ │ │ ├── ppc_const.rb │ │ │ ├── riscv_const.rb │ │ │ ├── s390x_const.rb │ │ │ ├── sparc_const.rb │ │ │ ├── tricore_const.rb │ │ │ ├── unicorn_const.rb │ │ │ ├── version.rb │ │ │ └── x86_const.rb │ │ ├── pkg/ │ │ │ └── .gitignore │ │ └── unicorn-engine.gemspec │ ├── rust/ │ │ ├── sys/ │ │ │ ├── README.md │ │ │ └── src/ │ │ │ ├── bindings.rs │ │ │ └── lib.rs │ │ └── unicorn-engine/ │ │ ├── COPYING │ │ ├── Cargo.toml │ │ ├── README.md │ │ └── src/ │ │ ├── ffi.rs │ │ ├── hook.rs │ │ ├── lib.rs │ │ ├── tests/ │ │ │ ├── arm.rs │ │ │ ├── arm64.rs │ │ │ ├── ctl.rs │ │ │ ├── m68k.rs │ │ │ ├── mem.rs │ │ │ ├── mips.rs │ │ │ ├── mod.rs │ │ │ ├── ppc.rs │ │ │ ├── riscv.rs │ │ │ └── s390x.rs │ │ └── unicorn_const.rs │ ├── vb6/ │ │ ├── .gitattributes │ │ ├── Apache_2.0_License.txt │ │ ├── CMemRegion.cls │ │ ├── Form1.frm │ │ ├── Project1.vbp │ │ ├── Project1.vbw │ │ ├── README.txt │ │ ├── example_output.txt │ │ ├── main.cpp │ │ ├── misc.bas │ │ ├── msvbvm60.tlh │ │ ├── msvbvm60.tli │ │ ├── ucIntel32.cls │ │ ├── uc_def.bas │ │ ├── ucvbshim.sln │ │ └── ucvbshim.vcproj │ └── zig/ │ ├── README.md │ ├── sample/ │ │ └── sample_riscv_zig.zig │ ├── tools/ │ │ ├── zigcc.cmd │ │ └── zigcc.sh │ └── unicorn/ │ ├── arm64_const.zig │ ├── arm_const.zig │ ├── m68k_const.zig │ ├── mips_const.zig │ ├── ppc_const.zig │ ├── riscv_const.zig │ ├── s390x_const.zig │ ├── sparc_const.zig │ ├── tricore_const.zig │ ├── unicorn.zig │ ├── unicorn_const.zig │ └── x86_const.zig ├── build.rs ├── build.zig ├── build.zig.zon ├── cmake/ │ ├── bundle_static.cmake │ ├── mingw-w64.cmake │ └── zig.cmake ├── docs/ │ ├── COMPILE.md │ ├── FAQ.md │ ├── Hooks.md │ ├── OPENBSD-NOTES.md │ ├── README.md │ ├── Testing.md │ └── unicorn1-logo.txt ├── format.sh ├── glib_compat/ │ ├── README │ ├── garray.c │ ├── garray.h │ ├── ghash.h │ ├── glib_compat.c │ ├── glib_compat.h │ ├── glist.c │ ├── glist.h │ ├── gmacros.h │ ├── gmem.c │ ├── gmem.h │ ├── gmessages.h │ ├── gnode.h │ ├── gpattern.c │ ├── gpattern.h │ ├── grand.c │ ├── grand.h │ ├── gslice.c │ ├── gslice.h │ ├── gtestutils.c │ ├── gtestutils.h │ ├── gtree.c │ ├── gtree.h │ └── gtypes.h ├── go.mod ├── include/ │ ├── list.h │ ├── qemu.h │ ├── uc_priv.h │ └── unicorn/ │ ├── arm.h │ ├── arm64.h │ ├── m68k.h │ ├── mips.h │ ├── platform.h │ ├── ppc.h │ ├── riscv.h │ ├── s390x.h │ ├── sparc.h │ ├── tricore.h │ ├── unicorn.h │ └── x86.h ├── list.c ├── msvc/ │ ├── aarch64-softmmu/ │ │ └── config-target.h │ ├── aarch64eb-softmmu/ │ │ └── config-target.h │ ├── arm-softmmu/ │ │ └── config-target.h │ ├── armeb-softmmu/ │ │ └── config-target.h │ ├── config-host.h │ ├── m68k-softmmu/ │ │ └── config-target.h │ ├── mips-softmmu/ │ │ └── config-target.h │ ├── mips64-softmmu/ │ │ └── config-target.h │ ├── mips64el-softmmu/ │ │ └── config-target.h │ ├── mipsel-softmmu/ │ │ └── config-target.h │ ├── ppc-softmmu/ │ │ └── config-target.h │ ├── ppc64-softmmu/ │ │ └── config-target.h │ ├── riscv32-softmmu/ │ │ └── config-target.h │ ├── riscv64-softmmu/ │ │ └── config-target.h │ ├── s390x-softmmu/ │ │ └── config-target.h │ ├── sparc-softmmu/ │ │ └── config-target.h │ ├── sparc64-softmmu/ │ │ └── config-target.h │ ├── tricore-softmmu/ │ │ └── config-target.h │ ├── unicorn/ │ │ └── dllmain.cpp │ └── x86_64-softmmu/ │ └── config-target.h ├── qemu/ │ ├── .editorconfig │ ├── CODING_STYLE.rst │ ├── COPYING │ ├── COPYING.LIB │ ├── LICENSE │ ├── MAINTAINERS │ ├── VERSION │ ├── aarch64.h │ ├── accel/ │ │ └── tcg/ │ │ ├── atomic_template.h │ │ ├── cpu-exec-common.c │ │ ├── cpu-exec.c │ │ ├── cputlb.c │ │ ├── tcg-all.c │ │ ├── tcg-runtime-gvec.c │ │ ├── tcg-runtime.c │ │ ├── tcg-runtime.h │ │ ├── translate-all.c │ │ ├── translate-all.h │ │ └── translator.c │ ├── arm.h │ ├── configure │ ├── crypto/ │ │ ├── aes.c │ │ └── init.c │ ├── exec-vary.c │ ├── exec.c │ ├── fpu/ │ │ ├── softfloat-specialize.inc.c │ │ └── softfloat.c │ ├── hw/ │ │ ├── core/ │ │ │ └── cpu.c │ │ ├── i386/ │ │ │ └── x86.c │ │ ├── ppc/ │ │ │ ├── ppc.c │ │ │ └── ppc_booke.c │ │ └── s390x/ │ │ └── s390-skeys.c │ ├── include/ │ │ ├── crypto/ │ │ │ ├── aes.h │ │ │ ├── init.h │ │ │ └── random.h │ │ ├── elf.h │ │ ├── exec/ │ │ │ ├── cpu-all.h │ │ │ ├── cpu-common.h │ │ │ ├── cpu-defs.h │ │ │ ├── cpu_ldst.h │ │ │ ├── cputlb.h │ │ │ ├── exec-all.h │ │ │ ├── gen-icount.h │ │ │ ├── helper-gen.h │ │ │ ├── helper-head.h │ │ │ ├── helper-proto.h │ │ │ ├── helper-tcg.h │ │ │ ├── hwaddr.h │ │ │ ├── ioport.h │ │ │ ├── memattrs.h │ │ │ ├── memop.h │ │ │ ├── memory-internal.h │ │ │ ├── memory.h │ │ │ ├── memory_ldst.inc.h │ │ │ ├── memory_ldst_cached.inc.h │ │ │ ├── memory_ldst_phys.inc.h │ │ │ ├── poison.h │ │ │ ├── ram_addr.h │ │ │ ├── ramblock.h │ │ │ ├── ramlist.h │ │ │ ├── softmmu-semi.h │ │ │ ├── target_page.h │ │ │ ├── tb-context.h │ │ │ ├── tb-hash.h │ │ │ ├── tb-lookup.h │ │ │ └── translator.h │ │ ├── fpu/ │ │ │ ├── softfloat-helpers.h │ │ │ ├── softfloat-macros.h │ │ │ ├── softfloat-types.h │ │ │ └── softfloat.h │ │ ├── hw/ │ │ │ ├── core/ │ │ │ │ └── cpu.h │ │ │ ├── i386/ │ │ │ │ └── topology.h │ │ │ ├── mips/ │ │ │ │ └── cpudevs.h │ │ │ ├── ppc/ │ │ │ │ └── ppc.h │ │ │ ├── registerfields.h │ │ │ └── s390x/ │ │ │ ├── ebcdic.h │ │ │ ├── ioinst.h │ │ │ ├── sclp.h │ │ │ └── storage-keys.h │ │ ├── libdecnumber/ │ │ │ ├── dconfig.h │ │ │ ├── decContext.h │ │ │ ├── decDPD.h │ │ │ ├── decNumber.h │ │ │ ├── decNumberLocal.h │ │ │ └── dpd/ │ │ │ ├── decimal128.h │ │ │ ├── decimal128Local.h │ │ │ ├── decimal32.h │ │ │ └── decimal64.h │ │ ├── qemu/ │ │ │ ├── atomic.h │ │ │ ├── atomic128.h │ │ │ ├── bitmap.h │ │ │ ├── bitops.h │ │ │ ├── bswap.h │ │ │ ├── compiler.h │ │ │ ├── cpuid.h │ │ │ ├── crc32c.h │ │ │ ├── ctype.h │ │ │ ├── cutils.h │ │ │ ├── guest-random.h │ │ │ ├── host-utils.h │ │ │ ├── int128.h │ │ │ ├── log.h │ │ │ ├── osdep.h │ │ │ ├── processor.h │ │ │ ├── qdist.h │ │ │ ├── qht.h │ │ │ ├── queue.h │ │ │ ├── range.h │ │ │ ├── rcu_queue.h │ │ │ ├── thread-posix.h │ │ │ ├── thread-win32.h │ │ │ ├── thread.h │ │ │ ├── timer.h │ │ │ ├── typedefs.h │ │ │ ├── units.h │ │ │ └── xxhash.h │ │ ├── qemu-common.h │ │ ├── sysemu/ │ │ │ ├── cpus.h │ │ │ ├── memory_mapping.h │ │ │ ├── os-win32.h │ │ │ ├── sysemu.h │ │ │ └── tcg.h │ │ └── tcg/ │ │ ├── tcg-apple-jit.h │ │ ├── tcg-gvec-desc.h │ │ ├── tcg-mo.h │ │ ├── tcg-op-gvec.h │ │ ├── tcg-op.h │ │ ├── tcg-opc.h │ │ └── tcg.h │ ├── libdecnumber/ │ │ ├── decContext.c │ │ ├── decNumber.c │ │ └── dpd/ │ │ ├── decimal128.c │ │ ├── decimal32.c │ │ └── decimal64.c │ ├── m68k.h │ ├── memory_ldst.inc.c │ ├── mips.h │ ├── mips64.h │ ├── mips64el.h │ ├── mipsel.h │ ├── ppc.h │ ├── ppc64.h │ ├── riscv32.h │ ├── riscv64.h │ ├── rules.mak │ ├── s390x.h │ ├── scripts/ │ │ └── create_config │ ├── softmmu/ │ │ ├── cpus.c │ │ ├── ioport.c │ │ ├── memory.c │ │ ├── memory_mapping.c │ │ ├── unicorn_vtlb.c │ │ └── vl.c │ ├── sparc.h │ ├── sparc64.h │ ├── target/ │ │ ├── arm/ │ │ │ ├── README │ │ │ ├── arm-powerctl.c │ │ │ ├── arm-powerctl.h │ │ │ ├── arm-semi.c │ │ │ ├── arm_ldst.h │ │ │ ├── cpu-param.h │ │ │ ├── cpu-qom.h │ │ │ ├── cpu.c │ │ │ ├── cpu.h │ │ │ ├── cpu64.c │ │ │ ├── crypto_helper.c │ │ │ ├── debug_helper.c │ │ │ ├── decode-a32-uncond.inc.c │ │ │ ├── decode-a32.inc.c │ │ │ ├── decode-sve.inc.c │ │ │ ├── decode-t16.inc.c │ │ │ ├── decode-t32.inc.c │ │ │ ├── decode-vfp-uncond.inc.c │ │ │ ├── decode-vfp.inc.c │ │ │ ├── helper-a64.c │ │ │ ├── helper-a64.h │ │ │ ├── helper-sve.h │ │ │ ├── helper.c │ │ │ ├── helper.h │ │ │ ├── internals.h │ │ │ ├── iwmmxt_helper.c │ │ │ ├── kvm-consts.h │ │ │ ├── m_helper.c │ │ │ ├── neon_helper.c │ │ │ ├── op_addsub.h │ │ │ ├── op_helper.c │ │ │ ├── pauth_helper.c │ │ │ ├── psci.c │ │ │ ├── sve_helper.c │ │ │ ├── tlb_helper.c │ │ │ ├── translate-a64.c │ │ │ ├── translate-a64.h │ │ │ ├── translate-sve.c │ │ │ ├── translate-vfp.inc.c │ │ │ ├── translate.c │ │ │ ├── translate.h │ │ │ ├── unicorn.h │ │ │ ├── unicorn_aarch64.c │ │ │ ├── unicorn_arm.c │ │ │ ├── vec_helper.c │ │ │ └── vfp_helper.c │ │ ├── i386/ │ │ │ ├── TODO │ │ │ ├── arch_memory_mapping.c │ │ │ ├── bpt_helper.c │ │ │ ├── cc_helper.c │ │ │ ├── cc_helper_template.h │ │ │ ├── cpu-param.h │ │ │ ├── cpu-qom.h │ │ │ ├── cpu.c │ │ │ ├── cpu.h │ │ │ ├── excp_helper.c │ │ │ ├── fpu_helper.c │ │ │ ├── helper.c │ │ │ ├── helper.h │ │ │ ├── int_helper.c │ │ │ ├── machine.c │ │ │ ├── mem_helper.c │ │ │ ├── misc_helper.c │ │ │ ├── mpx_helper.c │ │ │ ├── ops_sse.h │ │ │ ├── ops_sse_header.h │ │ │ ├── seg_helper.c │ │ │ ├── shift_helper_template.h │ │ │ ├── smm_helper.c │ │ │ ├── svm.h │ │ │ ├── svm_helper.c │ │ │ ├── translate.c │ │ │ ├── unicorn.c │ │ │ ├── unicorn.h │ │ │ └── xsave_helper.c │ │ ├── m68k/ │ │ │ ├── cpu-param.h │ │ │ ├── cpu-qom.h │ │ │ ├── cpu.c │ │ │ ├── cpu.h │ │ │ ├── fpu_helper.c │ │ │ ├── helper.c │ │ │ ├── helper.h │ │ │ ├── op_helper.c │ │ │ ├── qregs.def │ │ │ ├── softfloat.c │ │ │ ├── softfloat.h │ │ │ ├── softfloat_fpsp_tables.h │ │ │ ├── translate.c │ │ │ ├── unicorn.c │ │ │ └── unicorn.h │ │ ├── mips/ │ │ │ ├── TODO │ │ │ ├── cp0_helper.c │ │ │ ├── cp0_timer.c │ │ │ ├── cpu-param.h │ │ │ ├── cpu-qom.h │ │ │ ├── cpu.c │ │ │ ├── cpu.h │ │ │ ├── dsp_helper.c │ │ │ ├── fpu_helper.c │ │ │ ├── helper.c │ │ │ ├── helper.h │ │ │ ├── internal.h │ │ │ ├── lmi_helper.c │ │ │ ├── mips-defs.h │ │ │ ├── msa_helper.c │ │ │ ├── op_helper.c │ │ │ ├── translate.c │ │ │ ├── translate_init.inc.c │ │ │ ├── unicorn.c │ │ │ └── unicorn.h │ │ ├── ppc/ │ │ │ ├── compat.c │ │ │ ├── cpu-models.c │ │ │ ├── cpu-models.h │ │ │ ├── cpu-param.h │ │ │ ├── cpu-qom.h │ │ │ ├── cpu.c │ │ │ ├── cpu.h │ │ │ ├── dfp_helper.c │ │ │ ├── excp_helper.c │ │ │ ├── fpu_helper.c │ │ │ ├── helper.h │ │ │ ├── helper_regs.h │ │ │ ├── int_helper.c │ │ │ ├── internal.h │ │ │ ├── kvm_ppc.h │ │ │ ├── machine.c │ │ │ ├── mem_helper.c │ │ │ ├── mfrom_table.inc.c │ │ │ ├── mfrom_table_gen.c │ │ │ ├── misc_helper.c │ │ │ ├── mmu-book3s-v3.c │ │ │ ├── mmu-book3s-v3.h │ │ │ ├── mmu-hash32.c │ │ │ ├── mmu-hash32.h │ │ │ ├── mmu-hash64.c │ │ │ ├── mmu-hash64.h │ │ │ ├── mmu-radix64.c │ │ │ ├── mmu-radix64.h │ │ │ ├── mmu_helper.c │ │ │ ├── timebase_helper.c │ │ │ ├── translate/ │ │ │ │ ├── dfp-impl.inc.c │ │ │ │ ├── dfp-ops.inc.c │ │ │ │ ├── fp-impl.inc.c │ │ │ │ ├── fp-ops.inc.c │ │ │ │ ├── spe-impl.inc.c │ │ │ │ ├── spe-ops.inc.c │ │ │ │ ├── vmx-impl.inc.c │ │ │ │ ├── vmx-ops.inc.c │ │ │ │ ├── vsx-impl.inc.c │ │ │ │ └── vsx-ops.inc.c │ │ │ ├── translate.c │ │ │ ├── translate_init.inc.c │ │ │ ├── unicorn.c │ │ │ └── unicorn.h │ │ ├── riscv/ │ │ │ ├── README │ │ │ ├── cpu-param.h │ │ │ ├── cpu.c │ │ │ ├── cpu.h │ │ │ ├── cpu_bits.h │ │ │ ├── cpu_helper.c │ │ │ ├── cpu_user.h │ │ │ ├── csr.c │ │ │ ├── fpu_helper.c │ │ │ ├── helper.h │ │ │ ├── insn_trans/ │ │ │ │ ├── trans_privileged.inc.c │ │ │ │ ├── trans_rva.inc.c │ │ │ │ ├── trans_rvd.inc.c │ │ │ │ ├── trans_rvf.inc.c │ │ │ │ ├── trans_rvi.inc.c │ │ │ │ └── trans_rvm.inc.c │ │ │ ├── instmap.h │ │ │ ├── op_helper.c │ │ │ ├── pmp.c │ │ │ ├── pmp.h │ │ │ ├── riscv32/ │ │ │ │ ├── decode_insn16.inc.c │ │ │ │ └── decode_insn32.inc.c │ │ │ ├── riscv64/ │ │ │ │ ├── decode_insn16.inc.c │ │ │ │ └── decode_insn32.inc.c │ │ │ ├── translate.c │ │ │ ├── unicorn.c │ │ │ └── unicorn.h │ │ ├── s390x/ │ │ │ ├── cc_helper.c │ │ │ ├── cpu-param.h │ │ │ ├── cpu-qom.h │ │ │ ├── cpu.c │ │ │ ├── cpu.h │ │ │ ├── cpu_features.c │ │ │ ├── cpu_features.h │ │ │ ├── cpu_features_def.h │ │ │ ├── cpu_features_def.inc.h │ │ │ ├── cpu_models.c │ │ │ ├── cpu_models.h │ │ │ ├── crypto_helper.c │ │ │ ├── excp_helper.c │ │ │ ├── fpu_helper.c │ │ │ ├── gen-features.c │ │ │ ├── gen-features.h │ │ │ ├── helper.c │ │ │ ├── helper.h │ │ │ ├── insn-data.def │ │ │ ├── insn-format.def │ │ │ ├── int_helper.c │ │ │ ├── internal.h │ │ │ ├── interrupt.c │ │ │ ├── ioinst.c │ │ │ ├── mem_helper.c │ │ │ ├── misc_helper.c │ │ │ ├── mmu_helper.c │ │ │ ├── s390-tod.h │ │ │ ├── sigp.c │ │ │ ├── tcg-stub.c │ │ │ ├── tcg_s390x.h │ │ │ ├── translate.c │ │ │ ├── translate_vx.inc.c │ │ │ ├── unicorn.c │ │ │ ├── unicorn.h │ │ │ ├── vec.h │ │ │ ├── vec_fpu_helper.c │ │ │ ├── vec_helper.c │ │ │ ├── vec_int_helper.c │ │ │ └── vec_string_helper.c │ │ ├── sparc/ │ │ │ ├── asi.h │ │ │ ├── cc_helper.c │ │ │ ├── cpu-param.h │ │ │ ├── cpu-qom.h │ │ │ ├── cpu.c │ │ │ ├── cpu.h │ │ │ ├── fop_helper.c │ │ │ ├── helper.c │ │ │ ├── helper.h │ │ │ ├── int32_helper.c │ │ │ ├── int64_helper.c │ │ │ ├── ldst_helper.c │ │ │ ├── mmu_helper.c │ │ │ ├── translate.c │ │ │ ├── unicorn.c │ │ │ ├── unicorn.h │ │ │ ├── unicorn64.c │ │ │ ├── vis_helper.c │ │ │ └── win_helper.c │ │ └── tricore/ │ │ ├── cpu-param.h │ │ ├── cpu-qom.h │ │ ├── cpu.c │ │ ├── cpu.h │ │ ├── csfr.def │ │ ├── fpu_helper.c │ │ ├── helper.c │ │ ├── helper.h │ │ ├── op_helper.c │ │ ├── translate.c │ │ ├── tricore-defs.h │ │ ├── tricore-opcodes.h │ │ ├── unicorn.c │ │ └── unicorn.h │ ├── tcg/ │ │ ├── README │ │ ├── aarch64/ │ │ │ ├── tcg-target.h │ │ │ ├── tcg-target.inc.c │ │ │ └── tcg-target.opc.h │ │ ├── arm/ │ │ │ ├── tcg-target.h │ │ │ └── tcg-target.inc.c │ │ ├── i386/ │ │ │ ├── tcg-target.h │ │ │ ├── tcg-target.inc.c │ │ │ └── tcg-target.opc.h │ │ ├── loongarch64/ │ │ │ ├── tcg-insn-defs.c.inc │ │ │ ├── tcg-target.h │ │ │ ├── tcg-target.inc.c │ │ │ └── tcg-target.opc.h │ │ ├── mips/ │ │ │ ├── tcg-target.h │ │ │ └── tcg-target.inc.c │ │ ├── optimize.c │ │ ├── ppc/ │ │ │ ├── tcg-target.h │ │ │ ├── tcg-target.inc.c │ │ │ └── tcg-target.opc.h │ │ ├── riscv/ │ │ │ ├── tcg-target.h │ │ │ └── tcg-target.inc.c │ │ ├── s390/ │ │ │ ├── tcg-target.h │ │ │ └── tcg-target.inc.c │ │ ├── sparc/ │ │ │ ├── tcg-target.h │ │ │ └── tcg-target.inc.c │ │ ├── tcg-ldst.inc.c │ │ ├── tcg-op-gvec.c │ │ ├── tcg-op-vec.c │ │ ├── tcg-op.c │ │ ├── tcg-pool.inc.c │ │ └── tcg.c │ ├── trace/ │ │ ├── mem-internal.h │ │ └── mem.h │ ├── tricore.h │ ├── unicorn_common.h │ ├── util/ │ │ ├── bitmap.c │ │ ├── bitops.c │ │ ├── cacheinfo.c │ │ ├── crc32c.c │ │ ├── cutils.c │ │ ├── getauxval.c │ │ ├── guest-random.c │ │ ├── host-utils.c │ │ ├── osdep.c │ │ ├── oslib-posix.c │ │ ├── oslib-win32.c │ │ ├── pagesize.c │ │ ├── qdist.c │ │ ├── qemu-thread-posix.c │ │ ├── qemu-thread-win32.c │ │ ├── qemu-timer-common.c │ │ ├── qemu-timer.c │ │ ├── qht.c │ │ ├── range.c │ │ └── setjmp-wrapper-win32.asm │ ├── vl.h │ └── x86_64.h ├── samples/ │ ├── Makefile │ ├── mem_apis.c │ ├── sample_all.sh │ ├── sample_arm.c │ ├── sample_arm64.c │ ├── sample_batch_reg.c │ ├── sample_ctl.c │ ├── sample_m68k.c │ ├── sample_mips.c │ ├── sample_mmu.c │ ├── sample_ppc.c │ ├── sample_riscv.c │ ├── sample_s390x.c │ ├── sample_sparc.c │ ├── sample_tricore.c │ ├── sample_x86.c │ ├── sample_x86_32_gdt_and_seg_regs.c │ └── shellcode.c ├── symbols.sh ├── tests/ │ ├── README.md │ ├── benchmarks/ │ │ └── cow/ │ │ ├── Makefile │ │ ├── benchmark.c │ │ └── binary.S │ ├── fuzz/ │ │ ├── Makefile │ │ ├── dlcorpus.sh │ │ ├── fuzz_emu.options │ │ ├── fuzz_emu_arm64_arm.c │ │ ├── fuzz_emu_arm64_armbe.c │ │ ├── fuzz_emu_arm_arm.c │ │ ├── fuzz_emu_arm_armbe.c │ │ ├── fuzz_emu_arm_thumb.c │ │ ├── fuzz_emu_m68k_be.c │ │ ├── fuzz_emu_mips_32be.c │ │ ├── fuzz_emu_mips_32le.c │ │ ├── fuzz_emu_s390x_be.c │ │ ├── fuzz_emu_sparc_32be.c │ │ ├── fuzz_emu_x86_16.c │ │ ├── fuzz_emu_x86_32.c │ │ ├── fuzz_emu_x86_64.c │ │ ├── gentargets.sh │ │ ├── onedir.c │ │ └── onefile.c │ ├── regress/ │ │ ├── .gitignore │ │ ├── 001-bad_condition_code_0xe.c │ │ ├── 002-qemu__fatal__unimplemented_control_register_write_0xffb___0x0.c │ │ ├── 003-qemu__fatal__wdebug_not_implemented.c │ │ ├── 004-segmentation_fault_1.c │ │ ├── 005-qemu__fatal__illegal_instruction__0000___00000404.c │ │ ├── 006-qemu__fatal__illegal_instruction__0421___00040026.c │ │ ├── 00opcode_uc_crash.c │ │ ├── LICENSE │ │ ├── Makefile │ │ ├── arm64_reg_rw_w0_w30.py │ │ ├── arm_bx_unmapped.py │ │ ├── arm_bxeq_hang.py │ │ ├── arm_enable_vfp.c │ │ ├── arm_fp_vfp_disabled.py │ │ ├── arm_init_input_crash.py │ │ ├── arm_memcpy_neon.py │ │ ├── arm_movr12_hang.py │ │ ├── arm_vldr_invalid.py │ │ ├── arm_wfi_first_insn_of_tb.py │ │ ├── bad_ram.py │ │ ├── block_test.c │ │ ├── callback-pc.py │ │ ├── core_ctl.py │ │ ├── crash_tb.py │ │ ├── deadlock_1.py │ │ ├── eflags_noset.c │ │ ├── eflags_nosync.c │ │ ├── emu_clear_errors.c │ │ ├── emu_clear_errors.py │ │ ├── emu_stop_in_hook_overrun.c │ │ ├── emu_stop_segfault.py │ │ ├── ensure_typedef_consts_generated.py │ │ ├── fpu_ip.py │ │ ├── fpu_mem_write.py │ │ ├── hang.py │ │ ├── high_mem.py │ │ ├── hook_add_crash.py │ │ ├── hook_code_add_del.py │ │ ├── hook_code_stop_emu.py │ │ ├── hook_extrainvoke.c │ │ ├── hook_raises_exception.py │ │ ├── hook_readonly_write_local.py │ │ ├── init.py │ │ ├── invalid_insn.py │ │ ├── invalid_read_in_cpu_tb_exec.c │ │ ├── invalid_read_in_tb_flush_x86_64.c │ │ ├── invalid_write.py │ │ ├── invalid_write_in_cpu_tb_exec_x86_64.c │ │ ├── jmp_ebx_hang.py │ │ ├── jumping.py │ │ ├── leaked_refs.py │ │ ├── map_crash.c │ │ ├── map_write.c │ │ ├── memmap.py │ │ ├── memmap_segfault.py │ │ ├── mips64.py │ │ ├── mips_branch_delay.py │ │ ├── mips_branch_likely_issue.c │ │ ├── mips_cp1.py │ │ ├── mips_delay_slot_code_hook.c │ │ ├── mips_except.py │ │ ├── mips_invalid_read_of_size_4_when_tracing.c │ │ ├── mips_kernel_mmu.py │ │ ├── mips_kseg0_1.c │ │ ├── mips_single_step_sp.py │ │ ├── mips_syscall_pc.py │ │ ├── mov_gs_eax.py │ │ ├── movsd.py │ │ ├── nr_mem_test.c │ │ ├── osx_qemu_thread_create_crash.py │ │ ├── potential_memory_leak.py │ │ ├── pshufb.py │ │ ├── reg_write_sign_extension.py │ │ ├── regress.py │ │ ├── regress.sh │ │ ├── rep_hook.py │ │ ├── rep_movsb.c │ │ ├── ro_mem_test.c │ │ ├── run_across_bb.py │ │ ├── rw_hookstack.c │ │ ├── segfault_on_stop.py │ │ ├── sigill.c │ │ ├── sigill2.c │ │ ├── sparc64.py │ │ ├── sparc_jump_to_zero.c │ │ ├── sparc_reg.py │ │ ├── sysenter_hook_x86.c │ │ ├── tcg_liveness_analysis_bug_issue-287.py │ │ ├── test_old_ctl.py │ │ ├── threaded_emu_start.c │ │ ├── timeout_segfault.c │ │ ├── translator_buffer.py │ │ ├── vld.py │ │ ├── write_before_map.py │ │ ├── wrong_rip.py │ │ ├── wrong_rip_arm.py │ │ ├── wrong_sp_arm.py │ │ ├── x86_16_segfault.c │ │ ├── x86_64_conditional_jump.py │ │ ├── x86_64_eflags.py │ │ ├── x86_64_msr.py │ │ ├── x86_eflags.py │ │ ├── x86_fldt_fsqrt.py │ │ ├── x86_gdt.py │ │ ├── x86_ld_crash.py │ │ ├── x86_self_modifying.elf │ │ ├── x86_self_modifying.py │ │ ├── x86_self_modifying.s │ │ ├── x86_set_ip.py │ │ ├── x86_vex │ │ └── x86_vex.c │ └── unit/ │ ├── acutest.h │ ├── test_arm.c │ ├── test_arm64.c │ ├── test_ctl.c │ ├── test_m68k.c │ ├── test_mem.c │ ├── test_mips.c │ ├── test_ppc.c │ ├── test_riscv.c │ ├── test_s390x.c │ ├── test_sparc.c │ ├── test_tricore.c │ ├── test_x86.c │ └── unicorn_test.h └── uc.c