Skip to content
Snippets Groups Projects
Commit 9a84b5f2 authored by FuzzySecurity's avatar FuzzySecurity
Browse files

+Const-Fix

parent 59328a0f
No related branches found
No related tags found
No related merge requests found
......@@ -15,6 +15,22 @@ def CamelCase(s):
return ''.join(''.join([w[0].upper(), w[1:].lower()]) for w in s.split('_'))
template = {
'powershell': {
'header': "/// For Keystone Engine. AUTO-GENERATED FILE, DO NOT EDIT [%s_h.cs]\n",
'footer': "",
'out_file': './powershell/Keystone/Const/%s_h.cs',
# prefixes for constant filenames of all archs - case sensitive
'keystone.h': 'keystone',
'comment_open': '///',
'comment_close': '',
'rules': [
{
'regex': r'.*',
'line_format': 'KS_{0} = {1},\n',
'fn': (lambda x: x),
},
]
},
'rust': {
'header': "// For Keystone Engine. AUTO-GENERATED FILE, DO NOT EDIT [%s_const.rs]\nextern crate libc;\n\n",
'footer': "",
......
KS_API_MAJOR = 0,
KS_API_MINOR = 9,
KS_VERSION_MAJOR = 0,
KS_VERSION_MINOR = 9,
KS_VERSION_EXTRA = 1,
KS_ARCH_ARM = 1,
KS_ARCH_ARM64 = 2,
KS_ARCH_MIPS = 3,
KS_ARCH_X86 = 4,
KS_ARCH_PPC = 5,
KS_ARCH_SPARC = 6,
KS_ARCH_SYSTEMZ = 7,
KS_ARCH_HEXAGON = 8,
KS_ARCH_MAX = 9,
KS_MODE_LITTLE_ENDIAN = 0,
KS_MODE_BIG_ENDIAN = 1073741824,
KS_MODE_ARM = 1,
KS_MODE_THUMB = 16,
KS_MODE_V8 = 64,
KS_MODE_MICRO = 16,
KS_MODE_MIPS3 = 32,
KS_MODE_MIPS32R6 = 64,
KS_MODE_MIPS32 = 4,
KS_MODE_MIPS64 = 8,
KS_MODE_16 = 2,
KS_MODE_32 = 4,
KS_MODE_64 = 8,
KS_MODE_PPC32 = 4,
KS_MODE_PPC64 = 8,
KS_MODE_QPX = 16,
KS_MODE_SPARC32 = 4,
KS_MODE_SPARC64 = 8,
KS_MODE_V9 = 16,
KS_ERR_ASM = 128,
KS_ERR_ASM_ARCH = 512,
KS_ERR_OK = 0,
KS_ERR_NOMEM = 1,
KS_ERR_ARCH = 2,
KS_ERR_HANDLE = 3,
KS_ERR_MODE = 4,
KS_ERR_VERSION = 5,
KS_ERR_OPT_INVALID = 6,
KS_ERR_ASM_EXPR_TOKEN = 128,
KS_ERR_ASM_DIRECTIVE_VALUE_RANGE = 129,
KS_ERR_ASM_DIRECTIVE_ID = 130,
KS_ERR_ASM_DIRECTIVE_TOKEN = 131,
KS_ERR_ASM_DIRECTIVE_STR = 132,
KS_ERR_ASM_DIRECTIVE_COMMA = 133,
KS_ERR_ASM_DIRECTIVE_RELOC_NAME = 134,
KS_ERR_ASM_DIRECTIVE_RELOC_TOKEN = 135,
KS_ERR_ASM_DIRECTIVE_FPOINT = 136,
KS_ERR_ASM_DIRECTIVE_UNKNOWN = 137,
KS_ERR_ASM_DIRECTIVE_EQU = 138,
KS_ERR_ASM_DIRECTIVE_INVALID = 139,
KS_ERR_ASM_VARIANT_INVALID = 140,
KS_ERR_ASM_EXPR_BRACKET = 141,
KS_ERR_ASM_SYMBOL_MODIFIER = 142,
KS_ERR_ASM_SYMBOL_REDEFINED = 143,
KS_ERR_ASM_SYMBOL_MISSING = 144,
KS_ERR_ASM_RPAREN = 145,
KS_ERR_ASM_STAT_TOKEN = 146,
KS_ERR_ASM_UNSUPPORTED = 147,
KS_ERR_ASM_MACRO_TOKEN = 148,
KS_ERR_ASM_MACRO_PAREN = 149,
KS_ERR_ASM_MACRO_EQU = 150,
KS_ERR_ASM_MACRO_ARGS = 151,
KS_ERR_ASM_MACRO_LEVELS_EXCEED = 152,
KS_ERR_ASM_MACRO_STR = 153,
KS_ERR_ASM_MACRO_INVALID = 154,
KS_ERR_ASM_ESC_BACKSLASH = 155,
KS_ERR_ASM_ESC_OCTAL = 156,
KS_ERR_ASM_ESC_SEQUENCE = 157,
KS_ERR_ASM_ESC_STR = 158,
KS_ERR_ASM_TOKEN_INVALID = 159,
KS_ERR_ASM_INSN_UNSUPPORTED = 160,
KS_ERR_ASM_FIXUP_INVALID = 161,
KS_ERR_ASM_LABEL_INVALID = 162,
KS_ERR_ASM_FRAGMENT_INVALID = 163,
KS_ERR_ASM_INVALIDOPERAND = 512,
KS_ERR_ASM_MISSINGFEATURE = 513,
KS_ERR_ASM_MNEMONICFAIL = 514,
KS_OPT_SYNTAX = 1,
KS_OPT_SYM_RESOLVER = 2,
KS_OPT_SYNTAX_INTEL = 1,
KS_OPT_SYNTAX_ATT = 2,
KS_OPT_SYNTAX_NASM = 4,
KS_OPT_SYNTAX_MASM = 8,
KS_OPT_SYNTAX_GAS = 16,
KS_OPT_SYNTAX_RADIX16 = 32,
\ No newline at end of file
KS_ARCH_ARM = 1,
KS_ARCH_ARM64,
KS_ARCH_MIPS,
KS_ARCH_X86,
KS_ARCH_PPC,
KS_ARCH_SPARC,
KS_ARCH_SYSTEMZ,
KS_ARCH_HEXAGON,
KS_ARCH_MAX,
\ No newline at end of file
KS_ERR_OK = 0,
KS_ERR_NOMEM,
KS_ERR_ARCH,
KS_ERR_HANDLE,
KS_ERR_MODE,
KS_ERR_VERSION,
KS_ERR_OPT_INVALID,
KS_ERR_ASM_EXPR_TOKEN = 128,
KS_ERR_ASM_DIRECTIVE_VALUE_RANGE,
KS_ERR_ASM_DIRECTIVE_ID,
KS_ERR_ASM_DIRECTIVE_TOKEN,
KS_ERR_ASM_DIRECTIVE_STR,
KS_ERR_ASM_DIRECTIVE_COMMA,
KS_ERR_ASM_DIRECTIVE_RELOC_NAME,
KS_ERR_ASM_DIRECTIVE_RELOC_TOKEN,
KS_ERR_ASM_DIRECTIVE_FPOINT,
KS_ERR_ASM_DIRECTIVE_UNKNOWN,
KS_ERR_ASM_DIRECTIVE_EQU,
KS_ERR_ASM_DIRECTIVE_INVALID,
KS_ERR_ASM_VARIANT_INVALID,
KS_ERR_ASM_EXPR_BRACKET,
KS_ERR_ASM_SYMBOL_MODIFIER,
KS_ERR_ASM_SYMBOL_REDEFINED,
KS_ERR_ASM_SYMBOL_MISSING,
KS_ERR_ASM_RPAREN,
KS_ERR_ASM_STAT_TOKEN,
KS_ERR_ASM_UNSUPPORTED,
KS_ERR_ASM_MACRO_TOKEN,
KS_ERR_ASM_MACRO_PAREN,
KS_ERR_ASM_MACRO_EQU,
KS_ERR_ASM_MACRO_ARGS,
KS_ERR_ASM_MACRO_LEVELS_EXCEED,
KS_ERR_ASM_MACRO_STR,
KS_ERR_ASM_MACRO_INVALID,
KS_ERR_ASM_ESC_BACKSLASH,
KS_ERR_ASM_ESC_OCTAL,
KS_ERR_ASM_ESC_SEQUENCE,
KS_ERR_ASM_ESC_STR,
KS_ERR_ASM_TOKEN_INVALID,
KS_ERR_ASM_INSN_UNSUPPORTED,
KS_ERR_ASM_FIXUP_INVALID,
KS_ERR_ASM_LABEL_INVALID,
KS_ERR_ASM_FRAGMENT_INVALID,
KS_ERR_ASM_INVALIDOPERAND = 512,
KS_ERR_ASM_MISSINGFEATURE,
KS_ERR_ASM_MNEMONICFAIL,
\ No newline at end of file
KS_MODE_LITTLE_ENDIAN = 0,
KS_MODE_BIG_ENDIAN = 1 << 30,
KS_MODE_ARM = 1 << 0,
KS_MODE_THUMB = 1 << 4,
KS_MODE_V8 = 1 << 6,
KS_MODE_MICRO = 1 << 4,
KS_MODE_MIPS3 = 1 << 5,
KS_MODE_MIPS32R6 = 1 << 6,
KS_MODE_MIPS32 = 1 << 2,
KS_MODE_MIPS64 = 1 << 3,
KS_MODE_16 = 1 << 1,
KS_MODE_32 = 1 << 2,
KS_MODE_64 = 1 << 3,
KS_MODE_PPC32 = 1 << 2,
KS_MODE_PPC64 = 1 << 3,
KS_MODE_QPX = 1 << 4,
KS_MODE_SPARC32 = 1 << 2,
KS_MODE_SPARC64 = 1 << 3,
KS_MODE_V9 = 1 << 4,
\ No newline at end of file
KS_OPT_SYNTAX_INTEL = 1 << 0,
KS_OPT_SYNTAX_ATT = 1 << 1,
KS_OPT_SYNTAX_NASM = 1 << 2,
KS_OPT_SYNTAX_MASM = 1 << 3,
KS_OPT_SYNTAX_GAS = 1 << 4,
\ No newline at end of file
......@@ -130,10 +130,10 @@ function Get-KeystoneAssembly {
}
# Load C# constants
$ks_err = Get-Content $($PSScriptRoot + '\Const\ks_err_cons.cs')
$ks_arch = Get-Content $($PSScriptRoot + '\Const\ks_arch_cons.cs')
$ks_mode = Get-Content $($PSScriptRoot + '\Const\ks_mode_cons.cs')
$ks_opt_value = Get-Content $($PSScriptRoot + '\Const\ks_opt_value_cons.cs')
$ks_err = Select-String "KS_ERR_" $($PSScriptRoot + '\Const\keystone_h.cs') |select -exp line
$ks_arch = Select-String "KS_ARCH_" $($PSScriptRoot + '\Const\keystone_h.cs') |select -exp line
$ks_mode = Select-String "KS_MODE_" $($PSScriptRoot + '\Const\keystone_h.cs') |select -exp line
$ks_opt_value = Select-String "KS_OPT_SYNTAX_" $($PSScriptRoot + '\Const\keystone_h.cs') |select -exp line
# Inline C# to parse the unmanaged keystone DLL
Add-Type -TypeDefinition @"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment