mirror of
https://github.com/yuzu-emu/unicorn.git
synced 2025-02-01 23:11:02 +00:00
commit
6d8e5b32f4
|
@ -40,6 +40,22 @@ template = {
|
|||
'comment_open': '//',
|
||||
'comment_close': '',
|
||||
},
|
||||
'java': {
|
||||
'header': "// For Unicorn Engine. AUTO-GENERATED FILE, DO NOT EDIT\n\npackage unicorn;\n\npublic interface %sConst {\n",
|
||||
'footer': "\n}\n",
|
||||
'line_format': ' public static final int %s = %s;\n',
|
||||
'out_file': './java/unicorn/%sConst.java',
|
||||
# prefixes for constant filenames of all archs - case sensitive
|
||||
'arm.h': 'Arm',
|
||||
'arm64.h': 'Arm64',
|
||||
'mips.h': 'Mips',
|
||||
'x86.h': 'X86',
|
||||
'sparc.h': 'Sparc',
|
||||
'm68k.h': 'M68k',
|
||||
'unicorn.h': 'Unicorn',
|
||||
'comment_open': '//',
|
||||
'comment_close': '',
|
||||
},
|
||||
}
|
||||
|
||||
# markup for comments to be added to autogen files
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
|
||||
.PHONY: gen_const clean
|
||||
|
||||
JAVA_HOME := $(shell jrunscript -e 'java.lang.System.out.println(java.lang.System.getProperty("java.home"));')
|
||||
|
||||
JAVA_INC := $(shell realpath $(JAVA_HOME)/../include)
|
||||
|
@ -63,3 +66,13 @@ jar: jarfiles
|
|||
install: lib jar
|
||||
cp libunicorn_java$(LIB_EXT) $(JAVA_HOME)/lib/ext
|
||||
cp $(JARFILE) $(JAVA_HOME)/lib/ext
|
||||
|
||||
gen_const:
|
||||
cd .. && python const_generator.py java
|
||||
|
||||
clean:
|
||||
rm unicorn/*.class
|
||||
rm samples/*.class
|
||||
rm *.so
|
||||
rm *.dylib
|
||||
rm *.dll
|
|
@ -245,25 +245,25 @@ public class SampleNetworkAuditing {
|
|||
static {
|
||||
SOCKET_TYPES = new Hashtable<Long, String>();
|
||||
ADDR_FAMILY = new Hashtable<Long, String>();
|
||||
SOCKET_TYPES.put(1, "SOCK_STREAM");
|
||||
SOCKET_TYPES.put(2, "SOCK_DGRAM");
|
||||
SOCKET_TYPES.put(3, "SOCK_RAW");
|
||||
SOCKET_TYPES.put(4, "SOCK_RDM");
|
||||
SOCKET_TYPES.put(5, "SOCK_SEQPACKET");
|
||||
SOCKET_TYPES.put(10, "SOCK_PACKET");
|
||||
SOCKET_TYPES.put(1L, "SOCK_STREAM");
|
||||
SOCKET_TYPES.put(2L, "SOCK_DGRAM");
|
||||
SOCKET_TYPES.put(3L, "SOCK_RAW");
|
||||
SOCKET_TYPES.put(4L, "SOCK_RDM");
|
||||
SOCKET_TYPES.put(5L, "SOCK_SEQPACKET");
|
||||
SOCKET_TYPES.put(10L, "SOCK_PACKET");
|
||||
|
||||
ADDR_FAMILY.put(0, "AF_UNSPEC");
|
||||
ADDR_FAMILY.put(1, "AF_UNIX");
|
||||
ADDR_FAMILY.put(2, "AF_INET");
|
||||
ADDR_FAMILY.put(3, "AF_AX25");
|
||||
ADDR_FAMILY.put(4, "AF_IPX");
|
||||
ADDR_FAMILY.put(5, "AF_APPLETALK");
|
||||
ADDR_FAMILY.put(6, "AF_NETROM");
|
||||
ADDR_FAMILY.put(7, "AF_BRIDGE");
|
||||
ADDR_FAMILY.put(8, "AF_AAL5");
|
||||
ADDR_FAMILY.put(9, "AF_X25");
|
||||
ADDR_FAMILY.put(10, "AF_INET6");
|
||||
ADDR_FAMILY.put(12, "AF_MAX");
|
||||
ADDR_FAMILY.put(0L, "AF_UNSPEC");
|
||||
ADDR_FAMILY.put(1L, "AF_UNIX");
|
||||
ADDR_FAMILY.put(2L, "AF_INET");
|
||||
ADDR_FAMILY.put(3L, "AF_AX25");
|
||||
ADDR_FAMILY.put(4L, "AF_IPX");
|
||||
ADDR_FAMILY.put(5L, "AF_APPLETALK");
|
||||
ADDR_FAMILY.put(6L, "AF_NETROM");
|
||||
ADDR_FAMILY.put(7L, "AF_BRIDGE");
|
||||
ADDR_FAMILY.put(8L, "AF_AAL5");
|
||||
ADDR_FAMILY.put(9L, "AF_X25");
|
||||
ADDR_FAMILY.put(10L, "AF_INET6");
|
||||
ADDR_FAMILY.put(12L, "AF_MAX");
|
||||
}
|
||||
|
||||
// http://shell-storm.org/shellcode/files/shellcode-861.php
|
||||
|
@ -395,7 +395,7 @@ public class SampleNetworkAuditing {
|
|||
Unicorn mu = new Unicorn(Unicorn.UC_ARCH_X86, Unicorn.UC_MODE_32);
|
||||
|
||||
// map 2MB memory for this emulation
|
||||
mu.mem_map(ADDRESS, 2 * 1024 * 1024);
|
||||
mu.mem_map(ADDRESS, 2 * 1024 * 1024, Unicorn.UC_PROT_READ | Unicorn.UC_PROT_WRITE);
|
||||
|
||||
// write machine code to be emulated to memory
|
||||
mu.mem_write(ADDRESS, code);
|
||||
|
|
|
@ -51,7 +51,7 @@ public class Sample_arm {
|
|||
Unicorn u = new Unicorn(Unicorn.UC_ARCH_ARM, Unicorn.UC_MODE_ARM);
|
||||
|
||||
// map 2MB memory for this emulation
|
||||
u.mem_map(ADDRESS, 2 * 1024 * 1024);
|
||||
u.mem_map(ADDRESS, 2 * 1024 * 1024, Unicorn.UC_PROT_READ | Unicorn.UC_PROT_WRITE);
|
||||
|
||||
// write machine code to be emulated to memory
|
||||
u.mem_write(ADDRESS, ARM_CODE);
|
||||
|
@ -93,7 +93,7 @@ public class Sample_arm {
|
|||
Unicorn u = new Unicorn(Unicorn.UC_ARCH_ARM, Unicorn.UC_MODE_THUMB);
|
||||
|
||||
// map 2MB memory for this emulation
|
||||
u.mem_map(ADDRESS, 2 * 1024 * 1024);
|
||||
u.mem_map(ADDRESS, 2 * 1024 * 1024, Unicorn.UC_PROT_READ | Unicorn.UC_PROT_WRITE);
|
||||
|
||||
// write machine code to be emulated to memory
|
||||
u.mem_write(ADDRESS, THUMB_CODE);
|
||||
|
|
|
@ -79,7 +79,7 @@ public class Sample_arm64 {
|
|||
Unicorn u = new Unicorn(Unicorn.UC_ARCH_ARM64, Unicorn.UC_MODE_ARM);
|
||||
|
||||
// map 2MB memory for this emulation
|
||||
u.mem_map(ADDRESS, 2 * 1024 * 1024);
|
||||
u.mem_map(ADDRESS, 2 * 1024 * 1024, Unicorn.UC_PROT_READ | Unicorn.UC_PROT_WRITE);
|
||||
|
||||
// write machine code to be emulated to memory
|
||||
u.mem_write(ADDRESS, ARM_CODE);
|
||||
|
|
|
@ -95,7 +95,7 @@ public class Sample_m68k {
|
|||
Unicorn u = new Unicorn(Unicorn.UC_ARCH_M68K, Unicorn.UC_MODE_BIG_ENDIAN);
|
||||
|
||||
// map 2MB memory for this emulation
|
||||
u.mem_map(ADDRESS, 2 * 1024 * 1024);
|
||||
u.mem_map(ADDRESS, 2 * 1024 * 1024, Unicorn.UC_PROT_READ | Unicorn.UC_PROT_WRITE);
|
||||
|
||||
// write machine code to be emulated to memory
|
||||
u.mem_write(ADDRESS, M68K_CODE);
|
||||
|
|
|
@ -78,7 +78,7 @@ public class Sample_mips {
|
|||
Unicorn u = new Unicorn(Unicorn.UC_ARCH_MIPS, Unicorn.UC_MODE_MIPS32 + Unicorn.UC_MODE_BIG_ENDIAN);
|
||||
|
||||
// map 2MB memory for this emulation
|
||||
u.mem_map(ADDRESS, 2 * 1024 * 1024);
|
||||
u.mem_map(ADDRESS, 2 * 1024 * 1024, Unicorn.UC_PROT_READ | Unicorn.UC_PROT_WRITE);
|
||||
|
||||
// write machine code to be emulated to memory
|
||||
u.mem_write(ADDRESS, MIPS_CODE_EB);
|
||||
|
@ -116,7 +116,7 @@ public class Sample_mips {
|
|||
Unicorn u = new Unicorn(Unicorn.UC_ARCH_MIPS, Unicorn.UC_MODE_MIPS32);
|
||||
|
||||
// map 2MB memory for this emulation
|
||||
u.mem_map(ADDRESS, 2 * 1024 * 1024);
|
||||
u.mem_map(ADDRESS, 2 * 1024 * 1024, Unicorn.UC_PROT_READ | Unicorn.UC_PROT_WRITE);
|
||||
|
||||
// write machine code to be emulated to memory
|
||||
u.mem_write(ADDRESS, MIPS_CODE_EL);
|
||||
|
|
|
@ -79,7 +79,7 @@ public class Sample_sparc {
|
|||
Unicorn u = new Unicorn(Unicorn.UC_ARCH_SPARC, Unicorn.UC_MODE_BIG_ENDIAN);
|
||||
|
||||
// map 2MB memory for this emulation
|
||||
u.mem_map(ADDRESS, 2 * 1024 * 1024);
|
||||
u.mem_map(ADDRESS, 2 * 1024 * 1024, Unicorn.UC_PROT_READ | Unicorn.UC_PROT_WRITE);
|
||||
|
||||
// write machine code to be emulated to memory
|
||||
u.mem_write(ADDRESS, SPARC_CODE);
|
||||
|
|
|
@ -91,7 +91,7 @@ public class Sample_x86 {
|
|||
System.out.printf(">>> Missing memory is being WRITE at 0x%x, data size = %d, data value = 0x%x\n",
|
||||
address, size, value);
|
||||
// map this memory in with 2MB in size
|
||||
u.mem_map(0xaaaa0000, 2 * 1024*1024);
|
||||
u.mem_map(0xaaaa0000, 2 * 1024*1024, Unicorn.UC_PROT_READ | Unicorn.UC_PROT_WRITE);
|
||||
// return true to indicate we want to continue
|
||||
return true;
|
||||
}
|
||||
|
@ -193,7 +193,7 @@ public class Sample_x86 {
|
|||
}
|
||||
|
||||
// map 2MB memory for this emulation
|
||||
uc.mem_map(ADDRESS, 2 * 1024 * 1024);
|
||||
uc.mem_map(ADDRESS, 2 * 1024 * 1024, Unicorn.UC_PROT_READ | Unicorn.UC_PROT_WRITE);
|
||||
|
||||
// write machine code to be emulated to memory
|
||||
try {
|
||||
|
@ -251,7 +251,7 @@ public class Sample_x86 {
|
|||
Unicorn u = new Unicorn(Unicorn.UC_ARCH_X86, Unicorn.UC_MODE_32);
|
||||
|
||||
// map 2MB memory for this emulation
|
||||
u.mem_map(ADDRESS, 2 * 1024 * 1024);
|
||||
u.mem_map(ADDRESS, 2 * 1024 * 1024, Unicorn.UC_PROT_READ | Unicorn.UC_PROT_WRITE);
|
||||
|
||||
// write machine code to be emulated to memory
|
||||
u.mem_write(ADDRESS, X86_CODE32_INOUT);
|
||||
|
@ -294,7 +294,7 @@ public class Sample_x86 {
|
|||
Unicorn u = new Unicorn(Unicorn.UC_ARCH_X86, Unicorn.UC_MODE_32);
|
||||
|
||||
// map 2MB memory for this emulation
|
||||
u.mem_map(ADDRESS, 2 * 1024 * 1024);
|
||||
u.mem_map(ADDRESS, 2 * 1024 * 1024, Unicorn.UC_PROT_READ | Unicorn.UC_PROT_WRITE);
|
||||
|
||||
// write machine code to be emulated to memory
|
||||
u.mem_write(ADDRESS, X86_CODE32_JUMP);
|
||||
|
@ -326,7 +326,7 @@ public class Sample_x86 {
|
|||
Unicorn u = new Unicorn(Unicorn.UC_ARCH_X86, Unicorn.UC_MODE_32);
|
||||
|
||||
// map 2MB memory for this emulation
|
||||
u.mem_map(ADDRESS, 2 * 1024 * 1024);
|
||||
u.mem_map(ADDRESS, 2 * 1024 * 1024, Unicorn.UC_PROT_READ | Unicorn.UC_PROT_WRITE);
|
||||
|
||||
// write machine code to be emulated to memory
|
||||
u.mem_write(ADDRESS, X86_CODE32_LOOP);
|
||||
|
@ -363,7 +363,7 @@ public class Sample_x86 {
|
|||
Unicorn u = new Unicorn(Unicorn.UC_ARCH_X86, Unicorn.UC_MODE_32);
|
||||
|
||||
// map 2MB memory for this emulation
|
||||
u.mem_map(ADDRESS, 2 * 1024 * 1024);
|
||||
u.mem_map(ADDRESS, 2 * 1024 * 1024, Unicorn.UC_PROT_READ | Unicorn.UC_PROT_WRITE);
|
||||
|
||||
// write machine code to be emulated to memory
|
||||
u.mem_write(ADDRESS, X86_CODE32_MEM_READ);
|
||||
|
@ -410,7 +410,7 @@ public class Sample_x86 {
|
|||
Unicorn u = new Unicorn(Unicorn.UC_ARCH_X86, Unicorn.UC_MODE_32);
|
||||
|
||||
// map 2MB memory for this emulation
|
||||
u.mem_map(ADDRESS, 2 * 1024 * 1024);
|
||||
u.mem_map(ADDRESS, 2 * 1024 * 1024, Unicorn.UC_PROT_READ | Unicorn.UC_PROT_WRITE);
|
||||
|
||||
// write machine code to be emulated to memory
|
||||
u.mem_write(ADDRESS, X86_CODE32_MEM_WRITE);
|
||||
|
@ -470,7 +470,7 @@ public class Sample_x86 {
|
|||
Unicorn u = new Unicorn(Unicorn.UC_ARCH_X86, Unicorn.UC_MODE_32);
|
||||
|
||||
// map 2MB memory for this emulation
|
||||
u.mem_map(ADDRESS, 2 * 1024 * 1024);
|
||||
u.mem_map(ADDRESS, 2 * 1024 * 1024, Unicorn.UC_PROT_READ | Unicorn.UC_PROT_WRITE);
|
||||
|
||||
// write machine code to be emulated to memory
|
||||
u.mem_write(ADDRESS, X86_CODE32_JMP_INVALID);
|
||||
|
@ -528,7 +528,7 @@ public class Sample_x86 {
|
|||
Unicorn u = new Unicorn(Unicorn.UC_ARCH_X86, Unicorn.UC_MODE_64);
|
||||
|
||||
// map 2MB memory for this emulation
|
||||
u.mem_map(ADDRESS, 2 * 1024 * 1024);
|
||||
u.mem_map(ADDRESS, 2 * 1024 * 1024, Unicorn.UC_PROT_READ | Unicorn.UC_PROT_WRITE);
|
||||
|
||||
// write machine code to be emulated to memory
|
||||
u.mem_write(ADDRESS, X86_CODE64);
|
||||
|
@ -615,7 +615,7 @@ public class Sample_x86 {
|
|||
Unicorn u = new Unicorn(Unicorn.UC_ARCH_X86, Unicorn.UC_MODE_16);
|
||||
|
||||
// map 8KB memory for this emulation
|
||||
u.mem_map(0, 8 * 1024);
|
||||
u.mem_map(0, 8 * 1024, Unicorn.UC_PROT_READ | Unicorn.UC_PROT_WRITE);
|
||||
|
||||
// write machine code to be emulated to memory
|
||||
u.mem_write(0, X86_CODE16);
|
||||
|
|
|
@ -121,7 +121,7 @@ public class Shellcode {
|
|||
Unicorn u = new Unicorn(Unicorn.UC_ARCH_X86, Unicorn.UC_MODE_32);
|
||||
|
||||
// map 2MB memory for this emulation
|
||||
u.mem_map(ADDRESS, 2 * 1024 * 1024);
|
||||
u.mem_map(ADDRESS, 2 * 1024 * 1024, Unicorn.UC_PROT_READ | Unicorn.UC_PROT_WRITE);
|
||||
|
||||
// write machine code to be emulated to memory
|
||||
u.mem_write(ADDRESS, X86_CODE32_SELF);
|
||||
|
|
|
@ -1,27 +1,11 @@
|
|||
/*
|
||||
|
||||
Java bindings for the Unicorn Emulator Engine
|
||||
|
||||
Copyright(c) 2015 Chris Eagle
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
version 2 as published by the Free Software Foundation.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
*/
|
||||
// For Unicorn Engine. AUTO-GENERATED FILE, DO NOT EDIT
|
||||
|
||||
package unicorn;
|
||||
|
||||
public interface Arm64Regs {
|
||||
public interface Arm64Const {
|
||||
|
||||
// ARM64 registers
|
||||
|
||||
public static final int UC_ARM64_REG_INVALID = 0;
|
||||
public static final int UC_ARM64_REG_X29 = 1;
|
||||
public static final int UC_ARM64_REG_X30 = 2;
|
||||
|
@ -282,10 +266,15 @@ public interface Arm64Regs {
|
|||
public static final int UC_ARM64_REG_V29 = 257;
|
||||
public static final int UC_ARM64_REG_V30 = 258;
|
||||
public static final int UC_ARM64_REG_V31 = 259;
|
||||
|
||||
// pseudo registers
|
||||
public static final int UC_ARM64_REG_PC = 260;
|
||||
public static final int UC_ARM64_REG_ENDING = 261;
|
||||
public static final int UC_ARM64_REG_IP1 = UC_ARM64_REG_X16;
|
||||
public static final int UC_ARM64_REG_IP0 = UC_ARM64_REG_X17;
|
||||
public static final int UC_ARM64_REG_FP = UC_ARM64_REG_X29;
|
||||
public static final int UC_ARM64_REG_LR = UC_ARM64_REG_X30;
|
||||
|
||||
// alias registers
|
||||
public static final int UC_ARM64_REG_IP1 = 215;
|
||||
public static final int UC_ARM64_REG_IP0 = 216;
|
||||
public static final int UC_ARM64_REG_FP = 1;
|
||||
public static final int UC_ARM64_REG_LR = 2;
|
||||
|
||||
}
|
|
@ -1,27 +1,11 @@
|
|||
/*
|
||||
|
||||
Java bindings for the Unicorn Emulator Engine
|
||||
|
||||
Copyright(c) 2015 Chris Eagle
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
version 2 as published by the Free Software Foundation.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
*/
|
||||
// For Unicorn Engine. AUTO-GENERATED FILE, DO NOT EDIT
|
||||
|
||||
package unicorn;
|
||||
|
||||
public interface ArmRegs {
|
||||
public interface ArmConst {
|
||||
|
||||
// ARM registers
|
||||
|
||||
public static final int UC_ARM_REG_INVALID = 0;
|
||||
public static final int UC_ARM_REG_APSR = 1;
|
||||
public static final int UC_ARM_REG_APSR_NZCV = 2;
|
||||
|
@ -134,11 +118,14 @@ public interface ArmRegs {
|
|||
public static final int UC_ARM_REG_S30 = 109;
|
||||
public static final int UC_ARM_REG_S31 = 110;
|
||||
public static final int UC_ARM_REG_ENDING = 111;
|
||||
public static final int UC_ARM_REG_R13 = UC_ARM_REG_SP;
|
||||
public static final int UC_ARM_REG_R14 = UC_ARM_REG_LR;
|
||||
public static final int UC_ARM_REG_R15 = UC_ARM_REG_PC;
|
||||
public static final int UC_ARM_REG_SB = UC_ARM_REG_R9;
|
||||
public static final int UC_ARM_REG_SL = UC_ARM_REG_R10;
|
||||
public static final int UC_ARM_REG_FP = UC_ARM_REG_R11;
|
||||
public static final int UC_ARM_REG_IP = UC_ARM_REG_R12;
|
||||
|
||||
// alias registers
|
||||
public static final int UC_ARM_REG_R13 = 12;
|
||||
public static final int UC_ARM_REG_R14 = 10;
|
||||
public static final int UC_ARM_REG_R15 = 11;
|
||||
public static final int UC_ARM_REG_SB = 75;
|
||||
public static final int UC_ARM_REG_SL = 76;
|
||||
public static final int UC_ARM_REG_FP = 77;
|
||||
public static final int UC_ARM_REG_IP = 78;
|
||||
|
||||
}
|
|
@ -1,27 +1,11 @@
|
|||
/*
|
||||
|
||||
Java bindings for the Unicorn Emulator Engine
|
||||
|
||||
Copyright(c) 2015 Chris Eagle
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
version 2 as published by the Free Software Foundation.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
*/
|
||||
// For Unicorn Engine. AUTO-GENERATED FILE, DO NOT EDIT
|
||||
|
||||
package unicorn;
|
||||
|
||||
public interface M68kRegs {
|
||||
public interface M68kConst {
|
||||
|
||||
// M68K registers
|
||||
|
||||
public static final int UC_M68K_REG_INVALID = 0;
|
||||
public static final int UC_M68K_REG_A0 = 1;
|
||||
public static final int UC_M68K_REG_A1 = 2;
|
||||
|
@ -42,4 +26,5 @@ public interface M68kRegs {
|
|||
public static final int UC_M68K_REG_SR = 17;
|
||||
public static final int UC_M68K_REG_PC = 18;
|
||||
public static final int UC_M68K_REG_ENDING = 19;
|
||||
|
||||
}
|
|
@ -1,28 +1,14 @@
|
|||
/*
|
||||
|
||||
Java bindings for the Unicorn Emulator Engine
|
||||
|
||||
Copyright(c) 2015 Chris Eagle
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
version 2 as published by the Free Software Foundation.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
*/
|
||||
// For Unicorn Engine. AUTO-GENERATED FILE, DO NOT EDIT
|
||||
|
||||
package unicorn;
|
||||
|
||||
public interface MipsRegs {
|
||||
public interface MipsConst {
|
||||
|
||||
// MIPS registers
|
||||
|
||||
public static final int UC_MIPS_REG_INVALID = 0;
|
||||
|
||||
// General purpose registers
|
||||
public static final int UC_MIPS_REG_PC = 1;
|
||||
public static final int UC_MIPS_REG_0 = 2;
|
||||
public static final int UC_MIPS_REG_1 = 3;
|
||||
|
@ -56,6 +42,8 @@ public interface MipsRegs {
|
|||
public static final int UC_MIPS_REG_29 = 31;
|
||||
public static final int UC_MIPS_REG_30 = 32;
|
||||
public static final int UC_MIPS_REG_31 = 33;
|
||||
|
||||
// DSP registers
|
||||
public static final int UC_MIPS_REG_DSPCCOND = 34;
|
||||
public static final int UC_MIPS_REG_DSPCARRY = 35;
|
||||
public static final int UC_MIPS_REG_DSPEFI = 36;
|
||||
|
@ -67,10 +55,14 @@ public interface MipsRegs {
|
|||
public static final int UC_MIPS_REG_DSPOUTFLAG23 = 42;
|
||||
public static final int UC_MIPS_REG_DSPPOS = 43;
|
||||
public static final int UC_MIPS_REG_DSPSCOUNT = 44;
|
||||
|
||||
// ACC registers
|
||||
public static final int UC_MIPS_REG_AC0 = 45;
|
||||
public static final int UC_MIPS_REG_AC1 = 46;
|
||||
public static final int UC_MIPS_REG_AC2 = 47;
|
||||
public static final int UC_MIPS_REG_AC3 = 48;
|
||||
|
||||
// COP registers
|
||||
public static final int UC_MIPS_REG_CC0 = 49;
|
||||
public static final int UC_MIPS_REG_CC1 = 50;
|
||||
public static final int UC_MIPS_REG_CC2 = 51;
|
||||
|
@ -79,6 +71,8 @@ public interface MipsRegs {
|
|||
public static final int UC_MIPS_REG_CC5 = 54;
|
||||
public static final int UC_MIPS_REG_CC6 = 55;
|
||||
public static final int UC_MIPS_REG_CC7 = 56;
|
||||
|
||||
// FPU registers
|
||||
public static final int UC_MIPS_REG_F0 = 57;
|
||||
public static final int UC_MIPS_REG_F1 = 58;
|
||||
public static final int UC_MIPS_REG_F2 = 59;
|
||||
|
@ -119,6 +113,8 @@ public interface MipsRegs {
|
|||
public static final int UC_MIPS_REG_FCC5 = 94;
|
||||
public static final int UC_MIPS_REG_FCC6 = 95;
|
||||
public static final int UC_MIPS_REG_FCC7 = 96;
|
||||
|
||||
// AFPR128
|
||||
public static final int UC_MIPS_REG_W0 = 97;
|
||||
public static final int UC_MIPS_REG_W1 = 98;
|
||||
public static final int UC_MIPS_REG_W2 = 99;
|
||||
|
@ -160,45 +156,46 @@ public interface MipsRegs {
|
|||
public static final int UC_MIPS_REG_MPL1 = 135;
|
||||
public static final int UC_MIPS_REG_MPL2 = 136;
|
||||
public static final int UC_MIPS_REG_ENDING = 137;
|
||||
public static final int UC_MIPS_REG_ZERO = UC_MIPS_REG_0;
|
||||
public static final int UC_MIPS_REG_AT = UC_MIPS_REG_1;
|
||||
public static final int UC_MIPS_REG_V0 = UC_MIPS_REG_2;
|
||||
public static final int UC_MIPS_REG_V1 = UC_MIPS_REG_3;
|
||||
public static final int UC_MIPS_REG_A0 = UC_MIPS_REG_4;
|
||||
public static final int UC_MIPS_REG_A1 = UC_MIPS_REG_5;
|
||||
public static final int UC_MIPS_REG_A2 = UC_MIPS_REG_6;
|
||||
public static final int UC_MIPS_REG_A3 = UC_MIPS_REG_7;
|
||||
public static final int UC_MIPS_REG_T0 = UC_MIPS_REG_8;
|
||||
public static final int UC_MIPS_REG_T1 = UC_MIPS_REG_9;
|
||||
public static final int UC_MIPS_REG_T2 = UC_MIPS_REG_10;
|
||||
public static final int UC_MIPS_REG_T3 = UC_MIPS_REG_11;
|
||||
public static final int UC_MIPS_REG_T4 = UC_MIPS_REG_12;
|
||||
public static final int UC_MIPS_REG_T5 = UC_MIPS_REG_13;
|
||||
public static final int UC_MIPS_REG_T6 = UC_MIPS_REG_14;
|
||||
public static final int UC_MIPS_REG_T7 = UC_MIPS_REG_15;
|
||||
public static final int UC_MIPS_REG_S0 = UC_MIPS_REG_16;
|
||||
public static final int UC_MIPS_REG_S1 = UC_MIPS_REG_17;
|
||||
public static final int UC_MIPS_REG_S2 = UC_MIPS_REG_18;
|
||||
public static final int UC_MIPS_REG_S3 = UC_MIPS_REG_19;
|
||||
public static final int UC_MIPS_REG_S4 = UC_MIPS_REG_20;
|
||||
public static final int UC_MIPS_REG_S5 = UC_MIPS_REG_21;
|
||||
public static final int UC_MIPS_REG_S6 = UC_MIPS_REG_22;
|
||||
public static final int UC_MIPS_REG_S7 = UC_MIPS_REG_23;
|
||||
public static final int UC_MIPS_REG_T8 = UC_MIPS_REG_24;
|
||||
public static final int UC_MIPS_REG_T9 = UC_MIPS_REG_25;
|
||||
public static final int UC_MIPS_REG_K0 = UC_MIPS_REG_26;
|
||||
public static final int UC_MIPS_REG_K1 = UC_MIPS_REG_27;
|
||||
public static final int UC_MIPS_REG_GP = UC_MIPS_REG_28;
|
||||
public static final int UC_MIPS_REG_SP = UC_MIPS_REG_29;
|
||||
public static final int UC_MIPS_REG_FP = UC_MIPS_REG_30;
|
||||
public static final int UC_MIPS_REG_S8 = UC_MIPS_REG_30;
|
||||
public static final int UC_MIPS_REG_RA = UC_MIPS_REG_31;
|
||||
public static final int UC_MIPS_REG_HI0 = UC_MIPS_REG_AC0;
|
||||
public static final int UC_MIPS_REG_HI1 = UC_MIPS_REG_AC1;
|
||||
public static final int UC_MIPS_REG_HI2 = UC_MIPS_REG_AC2;
|
||||
public static final int UC_MIPS_REG_HI3 = UC_MIPS_REG_AC3;
|
||||
public static final int UC_MIPS_REG_LO0 = UC_MIPS_REG_HI0;
|
||||
public static final int UC_MIPS_REG_LO1 = UC_MIPS_REG_HI1;
|
||||
public static final int UC_MIPS_REG_LO2 = UC_MIPS_REG_HI2;
|
||||
public static final int UC_MIPS_REG_LO3 = UC_MIPS_REG_HI3;
|
||||
public static final int UC_MIPS_REG_ZERO = 2;
|
||||
public static final int UC_MIPS_REG_AT = 3;
|
||||
public static final int UC_MIPS_REG_V0 = 4;
|
||||
public static final int UC_MIPS_REG_V1 = 5;
|
||||
public static final int UC_MIPS_REG_A0 = 6;
|
||||
public static final int UC_MIPS_REG_A1 = 7;
|
||||
public static final int UC_MIPS_REG_A2 = 8;
|
||||
public static final int UC_MIPS_REG_A3 = 9;
|
||||
public static final int UC_MIPS_REG_T0 = 10;
|
||||
public static final int UC_MIPS_REG_T1 = 11;
|
||||
public static final int UC_MIPS_REG_T2 = 12;
|
||||
public static final int UC_MIPS_REG_T3 = 13;
|
||||
public static final int UC_MIPS_REG_T4 = 14;
|
||||
public static final int UC_MIPS_REG_T5 = 15;
|
||||
public static final int UC_MIPS_REG_T6 = 16;
|
||||
public static final int UC_MIPS_REG_T7 = 17;
|
||||
public static final int UC_MIPS_REG_S0 = 18;
|
||||
public static final int UC_MIPS_REG_S1 = 19;
|
||||
public static final int UC_MIPS_REG_S2 = 20;
|
||||
public static final int UC_MIPS_REG_S3 = 21;
|
||||
public static final int UC_MIPS_REG_S4 = 22;
|
||||
public static final int UC_MIPS_REG_S5 = 23;
|
||||
public static final int UC_MIPS_REG_S6 = 24;
|
||||
public static final int UC_MIPS_REG_S7 = 25;
|
||||
public static final int UC_MIPS_REG_T8 = 26;
|
||||
public static final int UC_MIPS_REG_T9 = 27;
|
||||
public static final int UC_MIPS_REG_K0 = 28;
|
||||
public static final int UC_MIPS_REG_K1 = 29;
|
||||
public static final int UC_MIPS_REG_GP = 30;
|
||||
public static final int UC_MIPS_REG_SP = 31;
|
||||
public static final int UC_MIPS_REG_FP = 32;
|
||||
public static final int UC_MIPS_REG_S8 = 32;
|
||||
public static final int UC_MIPS_REG_RA = 33;
|
||||
public static final int UC_MIPS_REG_HI0 = 45;
|
||||
public static final int UC_MIPS_REG_HI1 = 46;
|
||||
public static final int UC_MIPS_REG_HI2 = 47;
|
||||
public static final int UC_MIPS_REG_HI3 = 48;
|
||||
public static final int UC_MIPS_REG_LO0 = 45;
|
||||
public static final int UC_MIPS_REG_LO1 = 46;
|
||||
public static final int UC_MIPS_REG_LO2 = 47;
|
||||
public static final int UC_MIPS_REG_LO3 = 48;
|
||||
|
||||
}
|
|
@ -1,27 +1,11 @@
|
|||
/*
|
||||
|
||||
Java bindings for the Unicorn Emulator Engine
|
||||
|
||||
Copyright(c) 2015 Chris Eagle
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
version 2 as published by the Free Software Foundation.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
*/
|
||||
// For Unicorn Engine. AUTO-GENERATED FILE, DO NOT EDIT
|
||||
|
||||
package unicorn;
|
||||
|
||||
public interface SparcRegs {
|
||||
public interface SparcConst {
|
||||
|
||||
// SPARC registers
|
||||
|
||||
public static final int UC_SPARC_REG_INVALID = 0;
|
||||
public static final int UC_SPARC_REG_F0 = 1;
|
||||
public static final int UC_SPARC_REG_F1 = 2;
|
||||
|
@ -112,6 +96,7 @@ public interface SparcRegs {
|
|||
public static final int UC_SPARC_REG_XCC = 87;
|
||||
public static final int UC_SPARC_REG_PC = 88;
|
||||
public static final int UC_SPARC_REG_ENDING = 89;
|
||||
public static final int UC_SPARC_REG_O6 = UC_SPARC_REG_SP;
|
||||
public static final int UC_SPARC_REG_I6 = UC_SPARC_REG_FP;
|
||||
public static final int UC_SPARC_REG_O6 = 85;
|
||||
public static final int UC_SPARC_REG_I6 = 53;
|
||||
|
||||
}
|
|
@ -23,8 +23,7 @@ package unicorn;
|
|||
|
||||
import java.util.*;
|
||||
|
||||
public class Unicorn implements UnicornArchs, UnicornModes, UnicornHooks,
|
||||
ArmRegs, Arm64Regs, M68kRegs, SparcRegs, MipsRegs, X86Regs, X86Instructions {
|
||||
public class Unicorn implements UnicornConst, ArmConst, Arm64Const, M68kConst, SparcConst, MipsConst, X86Const {
|
||||
|
||||
// Scales to calculate timeout on microsecond unit
|
||||
// 1 second = 1000,000 microseconds
|
||||
|
|
|
@ -1,34 +0,0 @@
|
|||
/*
|
||||
|
||||
Java bindings for the Unicorn Emulator Engine
|
||||
|
||||
Copyright(c) 2015 Chris Eagle
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
version 2 as published by the Free Software Foundation.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
*/
|
||||
|
||||
package unicorn;
|
||||
|
||||
public interface UnicornArchs {
|
||||
public static final int UC_ARCH_ARM = 1; // ARM architecture (including Thumb, Thumb-2)
|
||||
public static final int UC_ARCH_ARM64 = 2; // ARM-64, also called AArch64
|
||||
public static final int UC_ARCH_MIPS = 3; // Mips architecture
|
||||
public static final int UC_ARCH_X86 = 4; // X86 architecture (including x86 & x86-64)
|
||||
public static final int UC_ARCH_PPC = 5; // PowerPC architecture
|
||||
public static final int UC_ARCH_SPARC = 6; // Sparc architecture
|
||||
public static final int UC_ARCH_M68K = 7; // M68K architecture
|
||||
public static final int UC_ARCH_MAX = 8;
|
||||
public static final int UC_ARCH_ALL = 0xFFFF; // All architectures - for uc_support()
|
||||
}
|
71
bindings/java/unicorn/UnicornConst.java
Normal file
71
bindings/java/unicorn/UnicornConst.java
Normal file
|
@ -0,0 +1,71 @@
|
|||
// For Unicorn Engine. AUTO-GENERATED FILE, DO NOT EDIT
|
||||
|
||||
package unicorn;
|
||||
|
||||
public interface UnicornConst {
|
||||
|
||||
public static final int UC_API_MAJOR = 0;
|
||||
public static final int UC_API_MINOR = 9;
|
||||
public static final int UC_SECOND_SCALE = 1000000;
|
||||
public static final int UC_MILISECOND_SCALE = 1000;
|
||||
public static final int UC_ARCH_ARM = 1;
|
||||
public static final int UC_ARCH_ARM64 = 2;
|
||||
public static final int UC_ARCH_MIPS = 3;
|
||||
public static final int UC_ARCH_X86 = 4;
|
||||
public static final int UC_ARCH_PPC = 5;
|
||||
public static final int UC_ARCH_SPARC = 6;
|
||||
public static final int UC_ARCH_M68K = 7;
|
||||
public static final int UC_ARCH_MAX = 8;
|
||||
|
||||
public static final int UC_MODE_LITTLE_ENDIAN = 0;
|
||||
|
||||
public static final int UC_MODE_ARM = 0;
|
||||
public static final int UC_MODE_16 = 2;
|
||||
public static final int UC_MODE_32 = 4;
|
||||
public static final int UC_MODE_64 = 8;
|
||||
public static final int UC_MODE_THUMB = 16;
|
||||
public static final int UC_MODE_MCLASS = 32;
|
||||
public static final int UC_MODE_V8 = 64;
|
||||
public static final int UC_MODE_MICRO = 16;
|
||||
public static final int UC_MODE_MIPS3 = 32;
|
||||
public static final int UC_MODE_MIPS32R6 = 64;
|
||||
public static final int UC_MODE_V9 = 16;
|
||||
public static final int UC_MODE_QPX = 16;
|
||||
public static final int UC_MODE_BIG_ENDIAN = 0x80000000;
|
||||
public static final int UC_MODE_MIPS32 = 4;
|
||||
public static final int UC_MODE_MIPS64 = 8;
|
||||
|
||||
public static final int UC_ERR_OK = 0;
|
||||
public static final int UC_ERR_OOM = 1;
|
||||
public static final int UC_ERR_ARCH = 2;
|
||||
public static final int UC_ERR_HANDLE = 3;
|
||||
public static final int UC_ERR_UCH = 4;
|
||||
public static final int UC_ERR_MODE = 5;
|
||||
public static final int UC_ERR_VERSION = 6;
|
||||
public static final int UC_ERR_MEM_READ = 7;
|
||||
public static final int UC_ERR_MEM_WRITE = 8;
|
||||
public static final int UC_ERR_CODE_INVALID = 9;
|
||||
public static final int UC_ERR_HOOK = 10;
|
||||
public static final int UC_ERR_INSN_INVALID = 11;
|
||||
public static final int UC_ERR_MAP = 12;
|
||||
public static final int UC_ERR_MEM_WRITE_NW = 13;
|
||||
public static final int UC_ERR_MEM_READ_NR = 14;
|
||||
public static final int UC_MEM_READ = 16;
|
||||
public static final int UC_MEM_WRITE = 17;
|
||||
public static final int UC_MEM_READ_WRITE = 18;
|
||||
public static final int UC_MEM_WRITE_NW = 19;
|
||||
public static final int UC_MEM_READ_NR = 20;
|
||||
public static final int UC_MEM_NX = 21;
|
||||
public static final int UC_HOOK_INTR = 32;
|
||||
public static final int UC_HOOK_INSN = 33;
|
||||
public static final int UC_HOOK_CODE = 34;
|
||||
public static final int UC_HOOK_BLOCK = 35;
|
||||
public static final int UC_HOOK_MEM_INVALID = 36;
|
||||
public static final int UC_HOOK_MEM_READ = 37;
|
||||
public static final int UC_HOOK_MEM_WRITE = 38;
|
||||
public static final int UC_HOOK_MEM_READ_WRITE = 39;
|
||||
public static final int UC_PROT_READ = 1;
|
||||
public static final int UC_PROT_WRITE = 2;
|
||||
public static final int UC_PROT_EXEC = 4;
|
||||
|
||||
}
|
|
@ -1,38 +0,0 @@
|
|||
/*
|
||||
|
||||
Java bindings for the Unicorn Emulator Engine
|
||||
|
||||
Copyright(c) 2015 Chris Eagle
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
version 2 as published by the Free Software Foundation.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
*/
|
||||
|
||||
package unicorn;
|
||||
|
||||
public interface UnicornHooks {
|
||||
|
||||
public static final int UC_MEM_READ = 16; // Memory is read from
|
||||
public static final int UC_MEM_WRITE = 17; // Memory is written to
|
||||
public static final int UC_MEM_READ_WRITE = 18; // Memory is accessed (either READ or WRITE)
|
||||
|
||||
public static final int UC_HOOK_INTR = 32; // Hook all interrupt events
|
||||
public static final int UC_HOOK_INSN = 33; // Hook a particular instruction
|
||||
public static final int UC_HOOK_CODE = 34; // Hook a range of code
|
||||
public static final int UC_HOOK_BLOCK = 35; // Hook basic blocks
|
||||
public static final int UC_HOOK_MEM_INVALID = 36; // Hook for all invalid memory access events
|
||||
public static final int UC_HOOK_MEM_READ = 37; // Hook all memory read events.
|
||||
public static final int UC_HOOK_MEM_WRITE = 38; // Hook all memory write events.
|
||||
public static final int UC_HOOK_MEM_READ_WRITE = 39; // Hook all memory accesses (either READ or WRITE).
|
||||
}
|
|
@ -1,20 +0,0 @@
|
|||
package unicorn;
|
||||
|
||||
public interface UnicornModes {
|
||||
public static final int UC_MODE_LITTLE_ENDIAN = 0; // little-endian mode (default mode)
|
||||
public static final int UC_MODE_ARM = 0; // 32-bit ARM
|
||||
public static final int UC_MODE_16 = 1 << 1; // 16-bit mode (X86)
|
||||
public static final int UC_MODE_32 = 1 << 2; // 32-bit mode (X86)
|
||||
public static final int UC_MODE_64 = 1 << 3; // 64-bit mode (X86; PPC)
|
||||
public static final int UC_MODE_THUMB = 1 << 4; // ARM's Thumb mode; including Thumb-2
|
||||
public static final int UC_MODE_MCLASS = 1 << 5; // ARM's Cortex-M series
|
||||
public static final int UC_MODE_V8 = 1 << 6; // ARMv8 A32 encodings for ARM
|
||||
public static final int UC_MODE_MICRO = 1 << 4; // MicroMips mode (MIPS)
|
||||
public static final int UC_MODE_MIPS3 = 1 << 5; // Mips III ISA
|
||||
public static final int UC_MODE_MIPS32R6 = 1 << 6; // Mips32r6 ISA
|
||||
public static final int UC_MODE_V9 = 1 << 4; // SparcV9 mode (Sparc)
|
||||
public static final int UC_MODE_QPX = 1 << 4; // Quad Processing eXtensions mode (PPC)
|
||||
public static final int UC_MODE_BIG_ENDIAN = 1 << 31; // big-endian mode
|
||||
public static final int UC_MODE_MIPS32 = UC_MODE_32; // Mips32 ISA (Mips)
|
||||
public static final int UC_MODE_MIPS64 = UC_MODE_64; // Mips64 ISA (Mips)
|
||||
}
|
|
@ -1,27 +1,257 @@
|
|||
/*
|
||||
|
||||
Java bindings for the Unicorn Emulator Engine
|
||||
|
||||
Copyright(c) 2015 Chris Eagle
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
version 2 as published by the Free Software Foundation.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
*/
|
||||
// For Unicorn Engine. AUTO-GENERATED FILE, DO NOT EDIT
|
||||
|
||||
package unicorn;
|
||||
|
||||
public interface X86Instructions {
|
||||
public interface X86Const {
|
||||
|
||||
// X86 registers
|
||||
|
||||
public static final int UC_X86_REG_INVALID = 0;
|
||||
public static final int UC_X86_REG_AH = 1;
|
||||
public static final int UC_X86_REG_AL = 2;
|
||||
public static final int UC_X86_REG_AX = 3;
|
||||
public static final int UC_X86_REG_BH = 4;
|
||||
public static final int UC_X86_REG_BL = 5;
|
||||
public static final int UC_X86_REG_BP = 6;
|
||||
public static final int UC_X86_REG_BPL = 7;
|
||||
public static final int UC_X86_REG_BX = 8;
|
||||
public static final int UC_X86_REG_CH = 9;
|
||||
public static final int UC_X86_REG_CL = 10;
|
||||
public static final int UC_X86_REG_CS = 11;
|
||||
public static final int UC_X86_REG_CX = 12;
|
||||
public static final int UC_X86_REG_DH = 13;
|
||||
public static final int UC_X86_REG_DI = 14;
|
||||
public static final int UC_X86_REG_DIL = 15;
|
||||
public static final int UC_X86_REG_DL = 16;
|
||||
public static final int UC_X86_REG_DS = 17;
|
||||
public static final int UC_X86_REG_DX = 18;
|
||||
public static final int UC_X86_REG_EAX = 19;
|
||||
public static final int UC_X86_REG_EBP = 20;
|
||||
public static final int UC_X86_REG_EBX = 21;
|
||||
public static final int UC_X86_REG_ECX = 22;
|
||||
public static final int UC_X86_REG_EDI = 23;
|
||||
public static final int UC_X86_REG_EDX = 24;
|
||||
public static final int UC_X86_REG_EFLAGS = 25;
|
||||
public static final int UC_X86_REG_EIP = 26;
|
||||
public static final int UC_X86_REG_EIZ = 27;
|
||||
public static final int UC_X86_REG_ES = 28;
|
||||
public static final int UC_X86_REG_ESI = 29;
|
||||
public static final int UC_X86_REG_ESP = 30;
|
||||
public static final int UC_X86_REG_FPSW = 31;
|
||||
public static final int UC_X86_REG_FS = 32;
|
||||
public static final int UC_X86_REG_GS = 33;
|
||||
public static final int UC_X86_REG_IP = 34;
|
||||
public static final int UC_X86_REG_RAX = 35;
|
||||
public static final int UC_X86_REG_RBP = 36;
|
||||
public static final int UC_X86_REG_RBX = 37;
|
||||
public static final int UC_X86_REG_RCX = 38;
|
||||
public static final int UC_X86_REG_RDI = 39;
|
||||
public static final int UC_X86_REG_RDX = 40;
|
||||
public static final int UC_X86_REG_RIP = 41;
|
||||
public static final int UC_X86_REG_RIZ = 42;
|
||||
public static final int UC_X86_REG_RSI = 43;
|
||||
public static final int UC_X86_REG_RSP = 44;
|
||||
public static final int UC_X86_REG_SI = 45;
|
||||
public static final int UC_X86_REG_SIL = 46;
|
||||
public static final int UC_X86_REG_SP = 47;
|
||||
public static final int UC_X86_REG_SPL = 48;
|
||||
public static final int UC_X86_REG_SS = 49;
|
||||
public static final int UC_X86_REG_CR0 = 50;
|
||||
public static final int UC_X86_REG_CR1 = 51;
|
||||
public static final int UC_X86_REG_CR2 = 52;
|
||||
public static final int UC_X86_REG_CR3 = 53;
|
||||
public static final int UC_X86_REG_CR4 = 54;
|
||||
public static final int UC_X86_REG_CR5 = 55;
|
||||
public static final int UC_X86_REG_CR6 = 56;
|
||||
public static final int UC_X86_REG_CR7 = 57;
|
||||
public static final int UC_X86_REG_CR8 = 58;
|
||||
public static final int UC_X86_REG_CR9 = 59;
|
||||
public static final int UC_X86_REG_CR10 = 60;
|
||||
public static final int UC_X86_REG_CR11 = 61;
|
||||
public static final int UC_X86_REG_CR12 = 62;
|
||||
public static final int UC_X86_REG_CR13 = 63;
|
||||
public static final int UC_X86_REG_CR14 = 64;
|
||||
public static final int UC_X86_REG_CR15 = 65;
|
||||
public static final int UC_X86_REG_DR0 = 66;
|
||||
public static final int UC_X86_REG_DR1 = 67;
|
||||
public static final int UC_X86_REG_DR2 = 68;
|
||||
public static final int UC_X86_REG_DR3 = 69;
|
||||
public static final int UC_X86_REG_DR4 = 70;
|
||||
public static final int UC_X86_REG_DR5 = 71;
|
||||
public static final int UC_X86_REG_DR6 = 72;
|
||||
public static final int UC_X86_REG_DR7 = 73;
|
||||
public static final int UC_X86_REG_DR8 = 74;
|
||||
public static final int UC_X86_REG_DR9 = 75;
|
||||
public static final int UC_X86_REG_DR10 = 76;
|
||||
public static final int UC_X86_REG_DR11 = 77;
|
||||
public static final int UC_X86_REG_DR12 = 78;
|
||||
public static final int UC_X86_REG_DR13 = 79;
|
||||
public static final int UC_X86_REG_DR14 = 80;
|
||||
public static final int UC_X86_REG_DR15 = 81;
|
||||
public static final int UC_X86_REG_FP0 = 82;
|
||||
public static final int UC_X86_REG_FP1 = 83;
|
||||
public static final int UC_X86_REG_FP2 = 84;
|
||||
public static final int UC_X86_REG_FP3 = 85;
|
||||
public static final int UC_X86_REG_FP4 = 86;
|
||||
public static final int UC_X86_REG_FP5 = 87;
|
||||
public static final int UC_X86_REG_FP6 = 88;
|
||||
public static final int UC_X86_REG_FP7 = 89;
|
||||
public static final int UC_X86_REG_K0 = 90;
|
||||
public static final int UC_X86_REG_K1 = 91;
|
||||
public static final int UC_X86_REG_K2 = 92;
|
||||
public static final int UC_X86_REG_K3 = 93;
|
||||
public static final int UC_X86_REG_K4 = 94;
|
||||
public static final int UC_X86_REG_K5 = 95;
|
||||
public static final int UC_X86_REG_K6 = 96;
|
||||
public static final int UC_X86_REG_K7 = 97;
|
||||
public static final int UC_X86_REG_MM0 = 98;
|
||||
public static final int UC_X86_REG_MM1 = 99;
|
||||
public static final int UC_X86_REG_MM2 = 100;
|
||||
public static final int UC_X86_REG_MM3 = 101;
|
||||
public static final int UC_X86_REG_MM4 = 102;
|
||||
public static final int UC_X86_REG_MM5 = 103;
|
||||
public static final int UC_X86_REG_MM6 = 104;
|
||||
public static final int UC_X86_REG_MM7 = 105;
|
||||
public static final int UC_X86_REG_R8 = 106;
|
||||
public static final int UC_X86_REG_R9 = 107;
|
||||
public static final int UC_X86_REG_R10 = 108;
|
||||
public static final int UC_X86_REG_R11 = 109;
|
||||
public static final int UC_X86_REG_R12 = 110;
|
||||
public static final int UC_X86_REG_R13 = 111;
|
||||
public static final int UC_X86_REG_R14 = 112;
|
||||
public static final int UC_X86_REG_R15 = 113;
|
||||
public static final int UC_X86_REG_ST0 = 114;
|
||||
public static final int UC_X86_REG_ST1 = 115;
|
||||
public static final int UC_X86_REG_ST2 = 116;
|
||||
public static final int UC_X86_REG_ST3 = 117;
|
||||
public static final int UC_X86_REG_ST4 = 118;
|
||||
public static final int UC_X86_REG_ST5 = 119;
|
||||
public static final int UC_X86_REG_ST6 = 120;
|
||||
public static final int UC_X86_REG_ST7 = 121;
|
||||
public static final int UC_X86_REG_XMM0 = 122;
|
||||
public static final int UC_X86_REG_XMM1 = 123;
|
||||
public static final int UC_X86_REG_XMM2 = 124;
|
||||
public static final int UC_X86_REG_XMM3 = 125;
|
||||
public static final int UC_X86_REG_XMM4 = 126;
|
||||
public static final int UC_X86_REG_XMM5 = 127;
|
||||
public static final int UC_X86_REG_XMM6 = 128;
|
||||
public static final int UC_X86_REG_XMM7 = 129;
|
||||
public static final int UC_X86_REG_XMM8 = 130;
|
||||
public static final int UC_X86_REG_XMM9 = 131;
|
||||
public static final int UC_X86_REG_XMM10 = 132;
|
||||
public static final int UC_X86_REG_XMM11 = 133;
|
||||
public static final int UC_X86_REG_XMM12 = 134;
|
||||
public static final int UC_X86_REG_XMM13 = 135;
|
||||
public static final int UC_X86_REG_XMM14 = 136;
|
||||
public static final int UC_X86_REG_XMM15 = 137;
|
||||
public static final int UC_X86_REG_XMM16 = 138;
|
||||
public static final int UC_X86_REG_XMM17 = 139;
|
||||
public static final int UC_X86_REG_XMM18 = 140;
|
||||
public static final int UC_X86_REG_XMM19 = 141;
|
||||
public static final int UC_X86_REG_XMM20 = 142;
|
||||
public static final int UC_X86_REG_XMM21 = 143;
|
||||
public static final int UC_X86_REG_XMM22 = 144;
|
||||
public static final int UC_X86_REG_XMM23 = 145;
|
||||
public static final int UC_X86_REG_XMM24 = 146;
|
||||
public static final int UC_X86_REG_XMM25 = 147;
|
||||
public static final int UC_X86_REG_XMM26 = 148;
|
||||
public static final int UC_X86_REG_XMM27 = 149;
|
||||
public static final int UC_X86_REG_XMM28 = 150;
|
||||
public static final int UC_X86_REG_XMM29 = 151;
|
||||
public static final int UC_X86_REG_XMM30 = 152;
|
||||
public static final int UC_X86_REG_XMM31 = 153;
|
||||
public static final int UC_X86_REG_YMM0 = 154;
|
||||
public static final int UC_X86_REG_YMM1 = 155;
|
||||
public static final int UC_X86_REG_YMM2 = 156;
|
||||
public static final int UC_X86_REG_YMM3 = 157;
|
||||
public static final int UC_X86_REG_YMM4 = 158;
|
||||
public static final int UC_X86_REG_YMM5 = 159;
|
||||
public static final int UC_X86_REG_YMM6 = 160;
|
||||
public static final int UC_X86_REG_YMM7 = 161;
|
||||
public static final int UC_X86_REG_YMM8 = 162;
|
||||
public static final int UC_X86_REG_YMM9 = 163;
|
||||
public static final int UC_X86_REG_YMM10 = 164;
|
||||
public static final int UC_X86_REG_YMM11 = 165;
|
||||
public static final int UC_X86_REG_YMM12 = 166;
|
||||
public static final int UC_X86_REG_YMM13 = 167;
|
||||
public static final int UC_X86_REG_YMM14 = 168;
|
||||
public static final int UC_X86_REG_YMM15 = 169;
|
||||
public static final int UC_X86_REG_YMM16 = 170;
|
||||
public static final int UC_X86_REG_YMM17 = 171;
|
||||
public static final int UC_X86_REG_YMM18 = 172;
|
||||
public static final int UC_X86_REG_YMM19 = 173;
|
||||
public static final int UC_X86_REG_YMM20 = 174;
|
||||
public static final int UC_X86_REG_YMM21 = 175;
|
||||
public static final int UC_X86_REG_YMM22 = 176;
|
||||
public static final int UC_X86_REG_YMM23 = 177;
|
||||
public static final int UC_X86_REG_YMM24 = 178;
|
||||
public static final int UC_X86_REG_YMM25 = 179;
|
||||
public static final int UC_X86_REG_YMM26 = 180;
|
||||
public static final int UC_X86_REG_YMM27 = 181;
|
||||
public static final int UC_X86_REG_YMM28 = 182;
|
||||
public static final int UC_X86_REG_YMM29 = 183;
|
||||
public static final int UC_X86_REG_YMM30 = 184;
|
||||
public static final int UC_X86_REG_YMM31 = 185;
|
||||
public static final int UC_X86_REG_ZMM0 = 186;
|
||||
public static final int UC_X86_REG_ZMM1 = 187;
|
||||
public static final int UC_X86_REG_ZMM2 = 188;
|
||||
public static final int UC_X86_REG_ZMM3 = 189;
|
||||
public static final int UC_X86_REG_ZMM4 = 190;
|
||||
public static final int UC_X86_REG_ZMM5 = 191;
|
||||
public static final int UC_X86_REG_ZMM6 = 192;
|
||||
public static final int UC_X86_REG_ZMM7 = 193;
|
||||
public static final int UC_X86_REG_ZMM8 = 194;
|
||||
public static final int UC_X86_REG_ZMM9 = 195;
|
||||
public static final int UC_X86_REG_ZMM10 = 196;
|
||||
public static final int UC_X86_REG_ZMM11 = 197;
|
||||
public static final int UC_X86_REG_ZMM12 = 198;
|
||||
public static final int UC_X86_REG_ZMM13 = 199;
|
||||
public static final int UC_X86_REG_ZMM14 = 200;
|
||||
public static final int UC_X86_REG_ZMM15 = 201;
|
||||
public static final int UC_X86_REG_ZMM16 = 202;
|
||||
public static final int UC_X86_REG_ZMM17 = 203;
|
||||
public static final int UC_X86_REG_ZMM18 = 204;
|
||||
public static final int UC_X86_REG_ZMM19 = 205;
|
||||
public static final int UC_X86_REG_ZMM20 = 206;
|
||||
public static final int UC_X86_REG_ZMM21 = 207;
|
||||
public static final int UC_X86_REG_ZMM22 = 208;
|
||||
public static final int UC_X86_REG_ZMM23 = 209;
|
||||
public static final int UC_X86_REG_ZMM24 = 210;
|
||||
public static final int UC_X86_REG_ZMM25 = 211;
|
||||
public static final int UC_X86_REG_ZMM26 = 212;
|
||||
public static final int UC_X86_REG_ZMM27 = 213;
|
||||
public static final int UC_X86_REG_ZMM28 = 214;
|
||||
public static final int UC_X86_REG_ZMM29 = 215;
|
||||
public static final int UC_X86_REG_ZMM30 = 216;
|
||||
public static final int UC_X86_REG_ZMM31 = 217;
|
||||
public static final int UC_X86_REG_R8B = 218;
|
||||
public static final int UC_X86_REG_R9B = 219;
|
||||
public static final int UC_X86_REG_R10B = 220;
|
||||
public static final int UC_X86_REG_R11B = 221;
|
||||
public static final int UC_X86_REG_R12B = 222;
|
||||
public static final int UC_X86_REG_R13B = 223;
|
||||
public static final int UC_X86_REG_R14B = 224;
|
||||
public static final int UC_X86_REG_R15B = 225;
|
||||
public static final int UC_X86_REG_R8D = 226;
|
||||
public static final int UC_X86_REG_R9D = 227;
|
||||
public static final int UC_X86_REG_R10D = 228;
|
||||
public static final int UC_X86_REG_R11D = 229;
|
||||
public static final int UC_X86_REG_R12D = 230;
|
||||
public static final int UC_X86_REG_R13D = 231;
|
||||
public static final int UC_X86_REG_R14D = 232;
|
||||
public static final int UC_X86_REG_R15D = 233;
|
||||
public static final int UC_X86_REG_R8W = 234;
|
||||
public static final int UC_X86_REG_R9W = 235;
|
||||
public static final int UC_X86_REG_R10W = 236;
|
||||
public static final int UC_X86_REG_R11W = 237;
|
||||
public static final int UC_X86_REG_R12W = 238;
|
||||
public static final int UC_X86_REG_R13W = 239;
|
||||
public static final int UC_X86_REG_R14W = 240;
|
||||
public static final int UC_X86_REG_R15W = 241;
|
||||
public static final int UC_X86_REG_ENDING = 242;
|
||||
|
||||
// X86 instructions
|
||||
|
||||
public static final int UC_X86_INS_INVALID = 0;
|
||||
public static final int UC_X86_INS_AAA = 1;
|
||||
public static final int UC_X86_INS_AAD = 2;
|
||||
|
@ -1361,4 +1591,5 @@ public interface X86Instructions {
|
|||
public static final int UC_X86_INS_FDISI8087_NOP = 1336;
|
||||
public static final int UC_X86_INS_FENI8087_NOP = 1337;
|
||||
public static final int UC_X86_INS_ENDING = 1338;
|
||||
|
||||
}
|
|
@ -1,268 +0,0 @@
|
|||
/*
|
||||
|
||||
Java bindings for the Unicorn Emulator Engine
|
||||
|
||||
Copyright(c) 2015 Chris Eagle
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
version 2 as published by the Free Software Foundation.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
*/
|
||||
|
||||
package unicorn;
|
||||
|
||||
public interface X86Regs {
|
||||
public static final int UC_X86_REG_INVALID = 0;
|
||||
public static final int UC_X86_REG_AH = 1;
|
||||
public static final int UC_X86_REG_AL = 2;
|
||||
public static final int UC_X86_REG_AX = 3;
|
||||
public static final int UC_X86_REG_BH = 4;
|
||||
public static final int UC_X86_REG_BL = 5;
|
||||
public static final int UC_X86_REG_BP = 6;
|
||||
public static final int UC_X86_REG_BPL = 7;
|
||||
public static final int UC_X86_REG_BX = 8;
|
||||
public static final int UC_X86_REG_CH = 9;
|
||||
public static final int UC_X86_REG_CL = 10;
|
||||
public static final int UC_X86_REG_CS = 11;
|
||||
public static final int UC_X86_REG_CX = 12;
|
||||
public static final int UC_X86_REG_DH = 13;
|
||||
public static final int UC_X86_REG_DI = 14;
|
||||
public static final int UC_X86_REG_DIL = 15;
|
||||
public static final int UC_X86_REG_DL = 16;
|
||||
public static final int UC_X86_REG_DS = 17;
|
||||
public static final int UC_X86_REG_DX = 18;
|
||||
public static final int UC_X86_REG_EAX = 19;
|
||||
public static final int UC_X86_REG_EBP = 20;
|
||||
public static final int UC_X86_REG_EBX = 21;
|
||||
public static final int UC_X86_REG_ECX = 22;
|
||||
public static final int UC_X86_REG_EDI = 23;
|
||||
public static final int UC_X86_REG_EDX = 24;
|
||||
public static final int UC_X86_REG_EFLAGS = 25;
|
||||
public static final int UC_X86_REG_EIP = 26;
|
||||
public static final int UC_X86_REG_EIZ = 27;
|
||||
public static final int UC_X86_REG_ES = 28;
|
||||
public static final int UC_X86_REG_ESI = 29;
|
||||
public static final int UC_X86_REG_ESP = 30;
|
||||
public static final int UC_X86_REG_FPSW = 31;
|
||||
public static final int UC_X86_REG_FS = 32;
|
||||
public static final int UC_X86_REG_GS = 33;
|
||||
public static final int UC_X86_REG_IP = 34;
|
||||
public static final int UC_X86_REG_RAX = 35;
|
||||
public static final int UC_X86_REG_RBP = 36;
|
||||
public static final int UC_X86_REG_RBX = 37;
|
||||
public static final int UC_X86_REG_RCX = 38;
|
||||
public static final int UC_X86_REG_RDI = 39;
|
||||
public static final int UC_X86_REG_RDX = 40;
|
||||
public static final int UC_X86_REG_RIP = 41;
|
||||
public static final int UC_X86_REG_RIZ = 42;
|
||||
public static final int UC_X86_REG_RSI = 43;
|
||||
public static final int UC_X86_REG_RSP = 44;
|
||||
public static final int UC_X86_REG_SI = 45;
|
||||
public static final int UC_X86_REG_SIL = 46;
|
||||
public static final int UC_X86_REG_SP = 47;
|
||||
public static final int UC_X86_REG_SPL = 48;
|
||||
public static final int UC_X86_REG_SS = 49;
|
||||
public static final int UC_X86_REG_CR0 = 50;
|
||||
public static final int UC_X86_REG_CR1 = 51;
|
||||
public static final int UC_X86_REG_CR2 = 52;
|
||||
public static final int UC_X86_REG_CR3 = 53;
|
||||
public static final int UC_X86_REG_CR4 = 54;
|
||||
public static final int UC_X86_REG_CR5 = 55;
|
||||
public static final int UC_X86_REG_CR6 = 56;
|
||||
public static final int UC_X86_REG_CR7 = 57;
|
||||
public static final int UC_X86_REG_CR8 = 58;
|
||||
public static final int UC_X86_REG_CR9 = 59;
|
||||
public static final int UC_X86_REG_CR10 = 60;
|
||||
public static final int UC_X86_REG_CR11 = 61;
|
||||
public static final int UC_X86_REG_CR12 = 62;
|
||||
public static final int UC_X86_REG_CR13 = 63;
|
||||
public static final int UC_X86_REG_CR14 = 64;
|
||||
public static final int UC_X86_REG_CR15 = 65;
|
||||
public static final int UC_X86_REG_DR0 = 66;
|
||||
public static final int UC_X86_REG_DR1 = 67;
|
||||
public static final int UC_X86_REG_DR2 = 68;
|
||||
public static final int UC_X86_REG_DR3 = 69;
|
||||
public static final int UC_X86_REG_DR4 = 70;
|
||||
public static final int UC_X86_REG_DR5 = 71;
|
||||
public static final int UC_X86_REG_DR6 = 72;
|
||||
public static final int UC_X86_REG_DR7 = 73;
|
||||
public static final int UC_X86_REG_DR8 = 74;
|
||||
public static final int UC_X86_REG_DR9 = 75;
|
||||
public static final int UC_X86_REG_DR10 = 76;
|
||||
public static final int UC_X86_REG_DR11 = 77;
|
||||
public static final int UC_X86_REG_DR12 = 78;
|
||||
public static final int UC_X86_REG_DR13 = 79;
|
||||
public static final int UC_X86_REG_DR14 = 80;
|
||||
public static final int UC_X86_REG_DR15 = 81;
|
||||
public static final int UC_X86_REG_FP0 = 82;
|
||||
public static final int UC_X86_REG_FP1 = 83;
|
||||
public static final int UC_X86_REG_FP2 = 84;
|
||||
public static final int UC_X86_REG_FP3 = 85;
|
||||
public static final int UC_X86_REG_FP4 = 86;
|
||||
public static final int UC_X86_REG_FP5 = 87;
|
||||
public static final int UC_X86_REG_FP6 = 88;
|
||||
public static final int UC_X86_REG_FP7 = 89;
|
||||
public static final int UC_X86_REG_K0 = 90;
|
||||
public static final int UC_X86_REG_K1 = 91;
|
||||
public static final int UC_X86_REG_K2 = 92;
|
||||
public static final int UC_X86_REG_K3 = 93;
|
||||
public static final int UC_X86_REG_K4 = 94;
|
||||
public static final int UC_X86_REG_K5 = 95;
|
||||
public static final int UC_X86_REG_K6 = 96;
|
||||
public static final int UC_X86_REG_K7 = 97;
|
||||
public static final int UC_X86_REG_MM0 = 98;
|
||||
public static final int UC_X86_REG_MM1 = 99;
|
||||
public static final int UC_X86_REG_MM2 = 100;
|
||||
public static final int UC_X86_REG_MM3 = 101;
|
||||
public static final int UC_X86_REG_MM4 = 102;
|
||||
public static final int UC_X86_REG_MM5 = 103;
|
||||
public static final int UC_X86_REG_MM6 = 104;
|
||||
public static final int UC_X86_REG_MM7 = 105;
|
||||
public static final int UC_X86_REG_R8 = 106;
|
||||
public static final int UC_X86_REG_R9 = 107;
|
||||
public static final int UC_X86_REG_R10 = 108;
|
||||
public static final int UC_X86_REG_R11 = 109;
|
||||
public static final int UC_X86_REG_R12 = 110;
|
||||
public static final int UC_X86_REG_R13 = 111;
|
||||
public static final int UC_X86_REG_R14 = 112;
|
||||
public static final int UC_X86_REG_R15 = 113;
|
||||
public static final int UC_X86_REG_ST0 = 114;
|
||||
public static final int UC_X86_REG_ST1 = 115;
|
||||
public static final int UC_X86_REG_ST2 = 116;
|
||||
public static final int UC_X86_REG_ST3 = 117;
|
||||
public static final int UC_X86_REG_ST4 = 118;
|
||||
public static final int UC_X86_REG_ST5 = 119;
|
||||
public static final int UC_X86_REG_ST6 = 120;
|
||||
public static final int UC_X86_REG_ST7 = 121;
|
||||
public static final int UC_X86_REG_XMM0 = 122;
|
||||
public static final int UC_X86_REG_XMM1 = 123;
|
||||
public static final int UC_X86_REG_XMM2 = 124;
|
||||
public static final int UC_X86_REG_XMM3 = 125;
|
||||
public static final int UC_X86_REG_XMM4 = 126;
|
||||
public static final int UC_X86_REG_XMM5 = 127;
|
||||
public static final int UC_X86_REG_XMM6 = 128;
|
||||
public static final int UC_X86_REG_XMM7 = 129;
|
||||
public static final int UC_X86_REG_XMM8 = 130;
|
||||
public static final int UC_X86_REG_XMM9 = 131;
|
||||
public static final int UC_X86_REG_XMM10 = 132;
|
||||
public static final int UC_X86_REG_XMM11 = 133;
|
||||
public static final int UC_X86_REG_XMM12 = 134;
|
||||
public static final int UC_X86_REG_XMM13 = 135;
|
||||
public static final int UC_X86_REG_XMM14 = 136;
|
||||
public static final int UC_X86_REG_XMM15 = 137;
|
||||
public static final int UC_X86_REG_XMM16 = 138;
|
||||
public static final int UC_X86_REG_XMM17 = 139;
|
||||
public static final int UC_X86_REG_XMM18 = 140;
|
||||
public static final int UC_X86_REG_XMM19 = 141;
|
||||
public static final int UC_X86_REG_XMM20 = 142;
|
||||
public static final int UC_X86_REG_XMM21 = 143;
|
||||
public static final int UC_X86_REG_XMM22 = 144;
|
||||
public static final int UC_X86_REG_XMM23 = 145;
|
||||
public static final int UC_X86_REG_XMM24 = 146;
|
||||
public static final int UC_X86_REG_XMM25 = 147;
|
||||
public static final int UC_X86_REG_XMM26 = 148;
|
||||
public static final int UC_X86_REG_XMM27 = 149;
|
||||
public static final int UC_X86_REG_XMM28 = 150;
|
||||
public static final int UC_X86_REG_XMM29 = 151;
|
||||
public static final int UC_X86_REG_XMM30 = 152;
|
||||
public static final int UC_X86_REG_XMM31 = 153;
|
||||
public static final int UC_X86_REG_YMM0 = 154;
|
||||
public static final int UC_X86_REG_YMM1 = 155;
|
||||
public static final int UC_X86_REG_YMM2 = 156;
|
||||
public static final int UC_X86_REG_YMM3 = 157;
|
||||
public static final int UC_X86_REG_YMM4 = 158;
|
||||
public static final int UC_X86_REG_YMM5 = 159;
|
||||
public static final int UC_X86_REG_YMM6 = 160;
|
||||
public static final int UC_X86_REG_YMM7 = 161;
|
||||
public static final int UC_X86_REG_YMM8 = 162;
|
||||
public static final int UC_X86_REG_YMM9 = 163;
|
||||
public static final int UC_X86_REG_YMM10 = 164;
|
||||
public static final int UC_X86_REG_YMM11 = 165;
|
||||
public static final int UC_X86_REG_YMM12 = 166;
|
||||
public static final int UC_X86_REG_YMM13 = 167;
|
||||
public static final int UC_X86_REG_YMM14 = 168;
|
||||
public static final int UC_X86_REG_YMM15 = 169;
|
||||
public static final int UC_X86_REG_YMM16 = 170;
|
||||
public static final int UC_X86_REG_YMM17 = 171;
|
||||
public static final int UC_X86_REG_YMM18 = 172;
|
||||
public static final int UC_X86_REG_YMM19 = 173;
|
||||
public static final int UC_X86_REG_YMM20 = 174;
|
||||
public static final int UC_X86_REG_YMM21 = 175;
|
||||
public static final int UC_X86_REG_YMM22 = 176;
|
||||
public static final int UC_X86_REG_YMM23 = 177;
|
||||
public static final int UC_X86_REG_YMM24 = 178;
|
||||
public static final int UC_X86_REG_YMM25 = 179;
|
||||
public static final int UC_X86_REG_YMM26 = 180;
|
||||
public static final int UC_X86_REG_YMM27 = 181;
|
||||
public static final int UC_X86_REG_YMM28 = 182;
|
||||
public static final int UC_X86_REG_YMM29 = 183;
|
||||
public static final int UC_X86_REG_YMM30 = 184;
|
||||
public static final int UC_X86_REG_YMM31 = 185;
|
||||
public static final int UC_X86_REG_ZMM0 = 186;
|
||||
public static final int UC_X86_REG_ZMM1 = 187;
|
||||
public static final int UC_X86_REG_ZMM2 = 188;
|
||||
public static final int UC_X86_REG_ZMM3 = 189;
|
||||
public static final int UC_X86_REG_ZMM4 = 190;
|
||||
public static final int UC_X86_REG_ZMM5 = 191;
|
||||
public static final int UC_X86_REG_ZMM6 = 192;
|
||||
public static final int UC_X86_REG_ZMM7 = 193;
|
||||
public static final int UC_X86_REG_ZMM8 = 194;
|
||||
public static final int UC_X86_REG_ZMM9 = 195;
|
||||
public static final int UC_X86_REG_ZMM10 = 196;
|
||||
public static final int UC_X86_REG_ZMM11 = 197;
|
||||
public static final int UC_X86_REG_ZMM12 = 198;
|
||||
public static final int UC_X86_REG_ZMM13 = 199;
|
||||
public static final int UC_X86_REG_ZMM14 = 200;
|
||||
public static final int UC_X86_REG_ZMM15 = 201;
|
||||
public static final int UC_X86_REG_ZMM16 = 202;
|
||||
public static final int UC_X86_REG_ZMM17 = 203;
|
||||
public static final int UC_X86_REG_ZMM18 = 204;
|
||||
public static final int UC_X86_REG_ZMM19 = 205;
|
||||
public static final int UC_X86_REG_ZMM20 = 206;
|
||||
public static final int UC_X86_REG_ZMM21 = 207;
|
||||
public static final int UC_X86_REG_ZMM22 = 208;
|
||||
public static final int UC_X86_REG_ZMM23 = 209;
|
||||
public static final int UC_X86_REG_ZMM24 = 210;
|
||||
public static final int UC_X86_REG_ZMM25 = 211;
|
||||
public static final int UC_X86_REG_ZMM26 = 212;
|
||||
public static final int UC_X86_REG_ZMM27 = 213;
|
||||
public static final int UC_X86_REG_ZMM28 = 214;
|
||||
public static final int UC_X86_REG_ZMM29 = 215;
|
||||
public static final int UC_X86_REG_ZMM30 = 216;
|
||||
public static final int UC_X86_REG_ZMM31 = 217;
|
||||
public static final int UC_X86_REG_R8B = 218;
|
||||
public static final int UC_X86_REG_R9B = 219;
|
||||
public static final int UC_X86_REG_R10B = 220;
|
||||
public static final int UC_X86_REG_R11B = 221;
|
||||
public static final int UC_X86_REG_R12B = 222;
|
||||
public static final int UC_X86_REG_R13B = 223;
|
||||
public static final int UC_X86_REG_R14B = 224;
|
||||
public static final int UC_X86_REG_R15B = 225;
|
||||
public static final int UC_X86_REG_R8D = 226;
|
||||
public static final int UC_X86_REG_R9D = 227;
|
||||
public static final int UC_X86_REG_R10D = 228;
|
||||
public static final int UC_X86_REG_R11D = 229;
|
||||
public static final int UC_X86_REG_R12D = 230;
|
||||
public static final int UC_X86_REG_R13D = 231;
|
||||
public static final int UC_X86_REG_R14D = 232;
|
||||
public static final int UC_X86_REG_R15D = 233;
|
||||
public static final int UC_X86_REG_R8W = 234;
|
||||
public static final int UC_X86_REG_R9W = 235;
|
||||
public static final int UC_X86_REG_R10W = 236;
|
||||
public static final int UC_X86_REG_R11W = 237;
|
||||
public static final int UC_X86_REG_R12W = 238;
|
||||
public static final int UC_X86_REG_R13W = 239;
|
||||
public static final int UC_X86_REG_R14W = 240;
|
||||
public static final int UC_X86_REG_R15W = 241;
|
||||
public static final int UC_X86_REG_ENDING = 242;
|
||||
}
|
|
@ -95,7 +95,7 @@ typedef enum uc_mode {
|
|||
UC_MODE_MIPS32R6 = 1 << 6, // Mips32r6 ISA
|
||||
UC_MODE_V9 = 1 << 4, // SparcV9 mode (Sparc)
|
||||
UC_MODE_QPX = 1 << 4, // Quad Processing eXtensions mode (PPC)
|
||||
UC_MODE_BIG_ENDIAN = 1 << 31, // big-endian mode
|
||||
UC_MODE_BIG_ENDIAN = 1 << 30, // big-endian mode
|
||||
UC_MODE_MIPS32 = UC_MODE_32, // Mips32 ISA (Mips)
|
||||
UC_MODE_MIPS64 = UC_MODE_64, // Mips64 ISA (Mips)
|
||||
} uc_mode;
|
||||
|
|
Loading…
Reference in a new issue