From 881e797e8bae3ad08209d49a429f5f74ad35125b Mon Sep 17 00:00:00 2001 From: Fedor Sakharov Date: Mon, 20 Nov 2017 23:19:35 +0300 Subject: [PATCH] We are moving EVM to radare2-extras --- libr/asm/arch/evm/Makefile | 3 - libr/asm/arch/evm/evm.c | 401 ---------------------------------- libr/asm/arch/evm/test.hex | 3 - libr/asm/arch/evm/test.txt.gz | Bin 8658 -> 0 bytes libr/asm/p/asm_evm.c | 43 ---- libr/asm/p/evm.mk | 10 - plugins.def.cfg | 1 - 7 files changed, 461 deletions(-) delete mode 100644 libr/asm/arch/evm/Makefile delete mode 100644 libr/asm/arch/evm/evm.c delete mode 100644 libr/asm/arch/evm/test.hex delete mode 100644 libr/asm/arch/evm/test.txt.gz delete mode 100644 libr/asm/p/asm_evm.c delete mode 100644 libr/asm/p/evm.mk diff --git a/libr/asm/arch/evm/Makefile b/libr/asm/arch/evm/Makefile deleted file mode 100644 index a346edc6f6..0000000000 --- a/libr/asm/arch/evm/Makefile +++ /dev/null @@ -1,3 +0,0 @@ -all: - gcc -DHAS_MAIN=1 evm.c - ./a.out diff --git a/libr/asm/arch/evm/evm.c b/libr/asm/arch/evm/evm.c deleted file mode 100644 index 392db2c713..0000000000 --- a/libr/asm/arch/evm/evm.c +++ /dev/null @@ -1,401 +0,0 @@ -#include -#include -#include -#include -#include - -typedef enum { - EVM_OP_STOP = 0x00, - EVM_OP_ADD, - EVM_OP_MUL, - EVM_OP_SUB, - EVM_OP_DIV, - EVM_OP_SDIV, - EVM_OP_MOD, - EVM_OP_SMOD, - EVM_OP_ADDMOD, - EVM_OP_MULMOD, - EVM_OP_EXP, - EVM_OP_SIGNEXTEND, - EVM_OP_LT, - EVM_OP_GT, - EVM_OP_SLT, - EVM_OP_SGT, - - EVM_OP_EQ = 0x10, - EVM_OP_ISZERO, - EVM_OP_AND, - EVM_OP_OR, - EVM_OP_XOR, - EVM_OP_NOT, - EVM_OP_BYTE, - EVM_OP_SHA3 = 0x20, - - EVM_OP_ADDRESS = 0x30, - EVM_OP_BALANCE, - EVM_OP_ORIGIN, - EVM_OP_CALLER, - EVM_OP_CALLVALUE, - EVM_OP_CALLDATALOAD, - EVM_OP_CALLDATASIZE, - EVM_OP_CALLDATACOPY, - EVM_OP_CODESIZE, - EVM_OP_CODECOPY, - EVM_OP_GASPRICE, - EVM_OP_EXTCODESIZE, - EVM_OP_EXTCODECOPY, - - EVM_OP_BLOCKHASH = 0x40, - EVM_OP_COINBASE, - EVM_OP_TIMESTAMP, - EVM_OP_NUMBER, - EVM_OP_DIFFICULTY, - EVM_OP_GASLIMIT, - - EVM_OP_POP = 0x50, - EVM_OP_MLOAD, - EVM_OP_MSTORE, - EVM_OP_MSTORE8, - EVM_OP_SLOAD, - EVM_OP_SSTORE, - EVM_OP_JUMP, - EVM_OP_JUMPI, - EVM_OP_PC, - EVM_OP_MSIZE, - EVM_OP_GAS, - EVM_OP_JUMPDEST, - - EVM_OP_PUSH1 = 0x60, - EVM_OP_PUSH2, - EVM_OP_PUSH3, - EVM_OP_PUSH4, - EVM_OP_PUSH5, - EVM_OP_PUSH6, - EVM_OP_PUSH7, - EVM_OP_PUSH8, - EVM_OP_PUSH9, - EVM_OP_PUSH10, - EVM_OP_PUSH11, - EVM_OP_PUSH12, - EVM_OP_PUSH13, - EVM_OP_PUSH14, - EVM_OP_PUSH15, - EVM_OP_PUSH16, - EVM_OP_PUSH17, - EVM_OP_PUSH18, - EVM_OP_PUSH19, - EVM_OP_PUSH20, - EVM_OP_PUSH21, - EVM_OP_PUSH22, - EVM_OP_PUSH23, - EVM_OP_PUSH24, - EVM_OP_PUSH25, - EVM_OP_PUSH26, - EVM_OP_PUSH27, - EVM_OP_PUSH28, - EVM_OP_PUSH29, - EVM_OP_PUSH30, - EVM_OP_PUSH31, - EVM_OP_PUSH32, - EVM_OP_DUP1, - EVM_OP_DUP2, - EVM_OP_DUP3, - EVM_OP_DUP4, - EVM_OP_DUP5, - EVM_OP_DUP6, - EVM_OP_DUP7, - EVM_OP_DUP8, - EVM_OP_DUP9, - EVM_OP_DUP10, - EVM_OP_DUP11, - EVM_OP_DUP12, - EVM_OP_DUP13, - EVM_OP_DUP14, - EVM_OP_DUP15, - EVM_OP_DUP16, - EVM_OP_SWAP1, - EVM_OP_SWAP2, - EVM_OP_SWAP3, - EVM_OP_SWAP4, - EVM_OP_SWAP5, - EVM_OP_SWAP6, - EVM_OP_SWAP7, - EVM_OP_SWAP8, - EVM_OP_SWAP9, - EVM_OP_SWAP10, - EVM_OP_SWAP11, - EVM_OP_SWAP12, - EVM_OP_SWAP13, - EVM_OP_SWAP14, - EVM_OP_SWAP15, - EVM_OP_SWAP16, - - EVM_OP_LOG0 = 0xa0, - EVM_OP_LOG1, - EVM_OP_LOG2, - EVM_OP_LOG3, - EVM_OP_LOG4, - - EVM_OP_CREATE = 0xf0, - EVM_OP_CALL, - EVM_OP_CALLCODE, - EVM_OP_RETURN, - EVM_OP_DELEGATECALL, - EVM_OP_SELFDESTRUCT = 0xff -} EvmOpcodes; - -typedef struct EvmOp { - EvmOpcodes op; - int len; - uint64_t imm; - const char *txt; - char txt_buf[32]; -} EvmOp; - -typedef struct { - const char *txt; - int len; -} EvmOpDef; - - -static EvmOpDef opcodes[256] = { - [EVM_OP_STOP] = { "stop", 1 }, - [EVM_OP_ADD] = { "add", 1 }, - [EVM_OP_MUL] = { "mul", 1 }, - [EVM_OP_SUB] = { "sub", 1 }, - [EVM_OP_DIV] = { "div", 1 }, - [EVM_OP_SDIV] = { "sdiv", 1 }, - [EVM_OP_MOD] = { "mod", 1 }, - [EVM_OP_SMOD] = { "smod", 1 }, - [EVM_OP_ADDMOD] = { "addmod", 1 }, - [EVM_OP_MULMOD] = { "mulmod", 1 }, - [EVM_OP_EXP] = { "exp", 1 }, - [EVM_OP_SIGNEXTEND] = { "signextend", 1 }, - [EVM_OP_LT] = { "lt", 1 }, - [EVM_OP_GT] = { "gt", 1 }, - [EVM_OP_SLT] = { "slt", 1 }, - [EVM_OP_SGT] = { "sgt", 1 }, - [EVM_OP_EQ] = { "eq", 1 }, - [EVM_OP_ISZERO] = { "iszero", 1 }, - [EVM_OP_AND] = { "and", 1 }, - [EVM_OP_OR] = { "or" }, - [EVM_OP_XOR] = { "xor" }, - [EVM_OP_NOT] = { "not" }, - [EVM_OP_BYTE] = { "byte" }, - [EVM_OP_SHA3] = { "sha3" }, - [EVM_OP_ADDRESS] = { "address" }, - [EVM_OP_BALANCE] = { "balance" }, - [EVM_OP_ORIGIN] = { "origin" }, - [EVM_OP_CALLER] = { "caller" }, - [EVM_OP_CALLVALUE] = { "callvalue" }, - [EVM_OP_CALLDATALOAD] = { "calldataload" }, - [EVM_OP_CALLDATASIZE] = { "calldatasize" }, - [EVM_OP_CALLDATACOPY] = { "calldatacopy" }, - [EVM_OP_CODESIZE] = { "codesize" }, - [EVM_OP_CODECOPY] = { "codecopy" }, - [EVM_OP_GASPRICE] = { "gasprice" }, - [EVM_OP_EXTCODESIZE] = { "extcodesize" }, - [EVM_OP_EXTCODECOPY] = { "extcodecopy" }, - [EVM_OP_BLOCKHASH] = { "blockhash" }, - [EVM_OP_COINBASE] = { "coinbase" }, - [EVM_OP_TIMESTAMP] = { "timestamp" }, - [EVM_OP_NUMBER] = { "number" }, - [EVM_OP_DIFFICULTY] = { "difficulty" }, - [EVM_OP_GASLIMIT] = { "gaslimit", 1 }, - [EVM_OP_POP] = { "pop", 1 }, - [EVM_OP_MLOAD] = { "mload", 1 }, - [EVM_OP_MSTORE] = { "mstore" }, - [EVM_OP_MSTORE8] = { "mstore8" }, - [EVM_OP_SLOAD] = { "sload" }, - [EVM_OP_SSTORE] = { "sstore" }, - [EVM_OP_JUMP] = { "jump" }, - [EVM_OP_JUMPI] = { "jumpi" }, - [EVM_OP_PC] = { "pc" }, - [EVM_OP_MSIZE] = { "msize" }, - [EVM_OP_GAS] = { "gas" }, - [EVM_OP_JUMPDEST] = { "jumpdest" }, - // .... - [EVM_OP_CREATE] = { "create", 1 }, - [EVM_OP_CALL] = { "call", 1 }, - [EVM_OP_CALLCODE] = { "callcode", 1 }, - [EVM_OP_RETURN] = { "return", 1 }, - [EVM_OP_DELEGATECALL] = { "delegatecall", 1 }, - [EVM_OP_SELFDESTRUCT] = { "selfdestruct", 1 }, -}; - -static void settxtf(EvmOp *op, const char *fmt, ...) { - if (strchr (fmt, '%')) { - va_list ap; - va_start (ap, fmt); - op->txt = op->txt_buf; - vsnprintf (op->txt_buf, sizeof (op->txt_buf), fmt, ap); - va_end (ap); - } else { - op->txt = fmt; - } -} - -int evm_asm (const char *str, unsigned char *buf, int buf_len) { - int i, len = -1; - for (i = 0; i< 0xff; i++) { - EvmOpDef *opdef = &opcodes[i]; - if (opdef->txt) { - if (!strcmp (opdef->txt, str)) { - buf[0] = i; - return 1; - } - } - } - // TODO: add support for: push, swap, dup, log - return len; -} - -int evm_dis (EvmOp *op, const unsigned char *buf, int buf_len) { - op->len = 1; - op->op = buf[0]; - EvmOpDef *opdef = &opcodes[buf[0]]; - if (opdef->txt) { - op->txt = opdef->txt; - op->len = opdef->len; - if (op->len < 1) { - op->len = 1; - } - return op->len; - } - switch (op->op) { - case EVM_OP_PUSH1: - case EVM_OP_PUSH2: - case EVM_OP_PUSH3: - case EVM_OP_PUSH4: - case EVM_OP_PUSH5: - case EVM_OP_PUSH6: - case EVM_OP_PUSH7: - case EVM_OP_PUSH8: - case EVM_OP_PUSH9: - case EVM_OP_PUSH10: - case EVM_OP_PUSH11: - case EVM_OP_PUSH12: - case EVM_OP_PUSH13: - case EVM_OP_PUSH14: - case EVM_OP_PUSH15: - case EVM_OP_PUSH16: - case EVM_OP_PUSH17: - case EVM_OP_PUSH18: - case EVM_OP_PUSH19: - case EVM_OP_PUSH20: - case EVM_OP_PUSH21: - case EVM_OP_PUSH22: - case EVM_OP_PUSH23: - case EVM_OP_PUSH24: - case EVM_OP_PUSH25: - case EVM_OP_PUSH26: - case EVM_OP_PUSH27: - case EVM_OP_PUSH28: - case EVM_OP_PUSH29: - case EVM_OP_PUSH30: - case EVM_OP_PUSH31: - case EVM_OP_PUSH32: - { - int i, pushSize = buf[0] - EVM_OP_PUSH1; - op->imm = 0; - for (i = 0; i < pushSize + 1; i++) { - op->imm <<= 8; - op->imm |= buf[i + 1]; - } - settxtf (op, "push%d 0x%x", pushSize + 1, op->imm); - op->len = 2 + pushSize; - } - break; - case EVM_OP_DUP1: - case EVM_OP_DUP2: - case EVM_OP_DUP3: - case EVM_OP_DUP4: - case EVM_OP_DUP5: - case EVM_OP_DUP6: - case EVM_OP_DUP7: - case EVM_OP_DUP8: - case EVM_OP_DUP9: - case EVM_OP_DUP10: - case EVM_OP_DUP11: - case EVM_OP_DUP12: - case EVM_OP_DUP13: - case EVM_OP_DUP14: - case EVM_OP_DUP15: - case EVM_OP_DUP16: - { - int dupSize = buf[0] - EVM_OP_DUP1 + 1; - settxtf (op, "dup%d", dupSize); - op->len = dupSize + 1; - } - break; - case EVM_OP_SWAP1: - case EVM_OP_SWAP2: - case EVM_OP_SWAP3: - case EVM_OP_SWAP4: - case EVM_OP_SWAP5: - case EVM_OP_SWAP6: - case EVM_OP_SWAP7: - case EVM_OP_SWAP8: - case EVM_OP_SWAP9: - case EVM_OP_SWAP10: - case EVM_OP_SWAP11: - case EVM_OP_SWAP12: - case EVM_OP_SWAP13: - case EVM_OP_SWAP14: - case EVM_OP_SWAP15: - case EVM_OP_SWAP16: - { - int swapSize = buf[0] - EVM_OP_SWAP1 + 1; - settxtf (op, "swap%d", swapSize); - op->len = swapSize + 1; - } - break; - case EVM_OP_LOG0: - case EVM_OP_LOG1: - case EVM_OP_LOG2: - case EVM_OP_LOG3: - case EVM_OP_LOG4: - { - int logSize = buf[0] - EVM_OP_LOG0; - settxtf (op, "log%d", logSize); - op->len = logSize + 1; - } - break; - default: - settxtf (op, "invalid"); - op->len = 0; - break; - } - return op->len; -} - -typedef const unsigned char* buf_t; - -#if HAS_MAIN -int main() { -#if 0 -[1] 6060 PUSH1 0x60 -[3] 6040 PUSH1 0x40 -[4] 52 MSTORE -[5] 36 CALLDATASIZE -[6] 15 ISZERO // WRONG ?? should be 11 -[9] PUSH2 0x00da -[10] JUMPI -[12] PUSH1 0xe0 -[14] PUSH1 0x02 -[15] EXP -#endif - int i; - EvmOp op = {0}; - buf_t b = (buf_t)"\x60\x60\x60\x40\x52\x36\x15\x61\x00\xda\x57\x60\xe0\x60\x02"; - for (i= 0; i < sizeof (b); i++) { - evm_dis (&op, b + i, sizeof (b) - i); - printf ("len=%d op=0x%02x %s\n", op.len, op.op, op.txt); - if (op.len < 1) { - break; - } - i += op.len - 1; - } - return 0; -} -#endif diff --git a/libr/asm/arch/evm/test.hex b/libr/asm/arch/evm/test.hex deleted file mode 100644 index b4e5236cc9..0000000000 --- a/libr/asm/arch/evm/test.hex +++ /dev/null @@ -1,3 +0,0 @@ -606060405236156100da5760e060020a6000350463016b94b4811461035b5780630911e24d1461037c5780631d007f5f146103a35780632825b231146103c45780633052c493146104205780633ccfd60b146104415780633cebb8231461045f57806347174efb14610480578063528f0dfd146104a15780635353c11d146104c857806373837c831461052657806377a8a2191461058457806377c00de0146105e6578063812d6c4014610604578063a2c0da8d14610625578063a9059cbb1461068f578063c2147c58146106b3578063c9d27afe146106d4575b6106f86000805460ff16156102ec57600b547f70a08231000000000000000000000000000000000000000000000000000000006060908152600160a060020a03308116606452909116906370a082319060849060209060248187876161da5a03f11561000257505060405151600554600a54919350901015905061025857600a8054600101905560005462010000900460ff16156101fb57600b60009054906101000a9004600160a060020a0316600160a060020a031663a9059cbb600360009054906101000a9004600160a060020a031660646006600050548502046040518360e060020a0281526004018083600160a060020a03168152602001828152602001925050506020604051808303816000876161da5a03f115610002575050505b60408051600b546004805460015460e260020a632099877102855291840152600160a060020a03908116602484015292519216916382661dc49160448181019260209290919082900301816000876161da5a03f115610002575050505b6000600a81905554610100900460ff16156102ec57600b60009054906101000a9004600160a060020a0316600160a060020a031663a9059cbb600360009054906101000a9004600160a060020a0316836040518360e060020a0281526004018083600160a060020a03168152602001828152602001925050506020604051808303816000876161da5a03f115610002575050505b60075460ff161561075c57600760019054906101000a9004600160a060020a0316600160a060020a0316600860005054600960005060405180828054600181600116156101000203166002900480156107415780601f106106fa57610100808354040283529160200191610741565b6106f860043560025433600160a060020a0390811691161461082b57610002565b6106f860043560243560443560025433600160a060020a0390811691161461075f57610002565b6106f860043560025433600160a060020a03908116911614610b7257610002565b60206004803580820135601f8101849004909302608090810160405260608481526106f894602493919291840191819083828082843750949650505050505050600254600160a060020a03908116339091161461096b57610002565b6106f860043560025433600160a060020a03908116911614610b5357610002565b6106f860025433600160a060020a0390811691161461094557610002565b6106f860043560025433600160a060020a03908116911614610b5d57610002565b6106f860043560025433600160a060020a0390811691161461078557610002565b6106f860043560243560443560025433600160a060020a039081169116146107ac57610002565b60206004803580820135601f8101849004909302608090810160405260608481526106f8946024939192918401918190838280828437509496505093359350505050600254600160a060020a039081163390911614610a5c57610002565b60206004803580820135601f8101849004909302608090810160405260608481526106f8946024939192918401918190838280828437509496505093359350505050600254600160a060020a0390811633909116146109e357610002565b60206004803580820135601f8101849004909302608090810160405260608481526106f894602493919291840191819083828082843750949650509335935050604435915050600254600160a060020a039081163390911614610ad857610002565b6106f860025433600160a060020a039081169116146107d857610002565b6106f860043560025433600160a060020a03908116911614610bc357610002565b60806020606435600481810135601f8101849004909302840160405260608381526106f8948235946024803595604435959460849490939190920191819083828082843750949650505050505050600254600160a060020a039081163390911614610bc857610002565b6106f860043560243560025433600160a060020a039081169116146108e157610002565b6106f860043560025433600160a060020a0390811691161461079457610002565b6106f860043560243560025433600160a060020a0390811691161461087e57610002565b005b600091909152017f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af825b81548152906001019060200180831161072457829003601f168201915b505091505060006040518083038185876185025a03f1505050505b50565b6000805460ff191690931790925560045560018054600160a060020a0319169091179055565b6000805460ff19168217905550565b6000805462010000830262ff00001990911617905550565b6000805462010000840260ff19918216861762ff00001916179091556007805490911682179055505050565b600b5460045460015460e260020a6320998771026060908152606492909252600160a060020a03908116608452909116906382661dc49060a4906020906044816000876161da5a03f11561000257505050565b600b5460045460015460e260020a6320998771026060908152606492909252600160a060020a03908116608452909116906382661dc490839060a49060209060448160008887f115610002575050505050565b600b547fc9d27afe00000000000000000000000000000000000000000000000000000000606090815260648490526084839052600160a060020a039091169063c9d27afe9060a4906020906044816000876161da5a03f115610002575050505050565b600b547fa9059cbb000000000000000000000000000000000000000000000000000000006060908152600160a060020a0384811660645260848490529091169063a9059cbb9060a4906020906044816000876161da5a03f115610002575050505050565b600254600160a060020a0390811690600090301631606082818181858883f15050505050565b604051600b548251600160a060020a039190911691839181906080908083818460006004600f6020601f86010402600301f150905090810190601f1680156109c75780820380516001836020036101000a031916815260200191505b509150506000604051808303816000866161da5a03f150505050565b604051600b548351600160a060020a039190911691839185919081906080908083818460006004600f6020601f86010402600301f150905090810190601f168015610a425780820380516001836020036101000a031916815260200191505b5091505060006040518083038160008787f1505050505050565b604051600b548351600160a060020a039190911691839185919081906080908083818460006004600f6020601f86010402600301f150905090810190601f168015610abb5780820380516001836020036101000a031916815260200191505b5091505060006040518083038185876185025a03f1505050505050565b604051600b548451600160a060020a03919091169184918491879181906080908083818460006004600f6020601f86010402600301f150905090810190601f168015610b385780820380516001836020036101000a031916815260200191505b50915050600060405180830381858888f15050505050505050565b6000600a55600555565b60028054600160a060020a0319168217905550565b60008054630100000080840276ffffffffffffffffffffffffffffffffffffffff000000199092169190911791829055600b8054600160a060020a03191691909204600160a060020a031617905550565b600655565b6007805460ff1916851774ffffffffffffffffffffffffffffffffffffffff001916610100858102919091179091556008839055815160098054600082905290926020600260018416159092026000190190921604601f908101919091047f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af9081019291608090839010610c7f57805160ff19168380011785555b50610caf9291505b80821115610cb75760008155600101610c6b565b82800160010185558215610c63579182015b82811115610c63578251826000505591602001919060010190610c91565b505050505050565b509056 - - diff --git a/libr/asm/arch/evm/test.txt.gz b/libr/asm/arch/evm/test.txt.gz deleted file mode 100644 index 46109a65c6e28e5afded8dd149e3a72a29623fa9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8658 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 diff --git a/libr/asm/p/asm_evm.c b/libr/asm/p/asm_evm.c deleted file mode 100644 index 3e6c3ff725..0000000000 --- a/libr/asm/p/asm_evm.c +++ /dev/null @@ -1,43 +0,0 @@ -/* radare - LGPL - Copyright 2017 - pancake */ - -#include -#include -#include -#include -#include -#include "../arch/evm/evm.c" - -static int disassemble(RAsm *a, RAsmOp *op, const ut8 *buf, int len) { - EvmOp eop = {0}; - evm_dis (&eop, buf, len); - strncpy (op->buf_asm, eop.txt, sizeof (op->buf_asm)); - op->buf_asm[sizeof (op->buf_asm) - 1] = 0; - op->size = eop.len; - return eop.len; -} - -static int assemble(RAsm *a, RAsmOp *op, const char *buf) { - op->size = evm_asm (buf, op->buf, sizeof (op->buf)); - return op->size; -} - -RAsmPlugin r_asm_plugin_evm = { - .name = "evm", - .author = "pancake", - .version = "0.0.1", - .arch = "evm", - .license = "MIT", - .bits = 32, - .endian = R_SYS_ENDIAN_BIG, - .desc = "evm", - .disassemble = &disassemble, - .assemble = &assemble -}; - -#ifndef CORELIB -RLibStruct radare_plugin = { - .type = R_LIB_TYPE_ASM, - .data = &r_asm_plugin_evm, - .version = R2_VERSION -}; -#endif diff --git a/libr/asm/p/evm.mk b/libr/asm/p/evm.mk deleted file mode 100644 index 00ee74997d..0000000000 --- a/libr/asm/p/evm.mk +++ /dev/null @@ -1,10 +0,0 @@ -OBJ_EVM=asm_evm.o - -TARGET_EVM=asm_evm.${EXT_SO} -STATIC_OBJ+=${OBJ_EVM} - -ifeq ($(WITHPIC),1) -ALL_TARGETS+=${TARGET_EVM} -${TARGET_EVM}: ${OBJ_EVM} - ${CC} $(call libname,asm_evm) ${LDFLAGS} ${CFLAGS} -o ${TARGET_EVM} ${OBJ_EVM} -endif diff --git a/plugins.def.cfg b/plugins.def.cfg index 6525189568..b2fef41e88 100644 --- a/plugins.def.cfg +++ b/plugins.def.cfg @@ -56,7 +56,6 @@ asm.dalvik asm.dcpu16 asm.hexagon_gnu asm.ebc -asm.evm asm.gb asm.h8300 asm.hppa_gnu