Show bits and enhace RAsm plugin descriptions

This commit is contained in:
pancake 2014-02-25 17:03:12 +01:00
parent fcc9489c4f
commit bc46258402
35 changed files with 74 additions and 82 deletions

View File

@ -15,6 +15,7 @@ static int coutput = R_FALSE;
static void rasm2_list(RAsm *a, const char *arch) {
int i;
char bits[32];
RAsmPlugin *h;
RListIter *iter;
r_list_foreach (a->plugins, iter, h) {
@ -23,17 +24,23 @@ static void rasm2_list(RAsm *a, const char *arch) {
char *c = strdup (h->cpus);
int n = r_str_split (c, ',');
for (i=0;i<n;i++)
printf ("%s\n", r_str_word_get0(c, i));
printf ("%s\n", r_str_word_get0 (c, i));
free (c);
break;
}
} else {
bits[0] = 0;
if (h->bits&8) strcat (bits, "8 ");
if (h->bits&16) strcat (bits, "16 ");
if (h->bits&32) strcat (bits, "32 ");
if (h->bits&64) strcat (bits, "64 ");
const char *feat = "--";
if (h->assemble && h->disassemble) feat = "ad";
if (h->assemble && !h->disassemble) feat = "a_";
if (!h->assemble && h->disassemble) feat = "_d";
printf ("%s %-11s %s (%s)\n", feat, h->name,
h->desc, h->license?h->license:"unknown");
printf ("%s %-9s %-11s %-7s %s\n", feat, bits,
h->name,
h->license?h->license:"unknown", h->desc);
}
}
}

View File

@ -1,4 +1,4 @@
/* radare - LGPL - Copyright 2012-2013 - pancake
/* radare - LGPL - Copyright 2012-2014 - pancake
2014 - condret */
// copypasta from asm_gb.c
@ -18,7 +18,7 @@ static int disassemble(RAsm *a, RAsmOp *op, const ut8 *buf, ut64 len) {
RAsmPlugin r_asm_plugin_6502 = {
.name = "6502",
.desc = "6502/NES disassembly plugin",
.desc = "6502/NES/C64/T-1000 CPU",
.arch = "6502",
.bits = 8|16,
.init = NULL,

View File

@ -21,7 +21,7 @@ RAsmPlugin r_asm_plugin_8051 = {
.name = "8051",
.arch = "8051",
.bits = 16,
.desc = "8051 assembler/disassembler",
.desc = "8051 Intel CPU",
.init = NULL,
.fini = NULL,
.disassemble = &disassemble,

View File

@ -91,7 +91,7 @@ RAsmPlugin r_asm_plugin_arc = {
.name = "arc",
.arch = "arc",
.bits = 16|32,
.desc = "ARC disassembler",
.desc = "Argonaut RISC Core",
.init = NULL,
.fini = NULL,
.disassemble = &disassemble,

View File

@ -190,7 +190,7 @@ RAsmPlugin r_asm_plugin_arm = {
.name = "arm",
.arch = "arm",
.bits = 16|32|64,
.desc = "ARM disassembly plugin",
.desc = "Acorn RISC Machine CPU",
.init = NULL,
.fini = NULL,
.disassemble = &disassemble,

View File

@ -31,7 +31,7 @@ RAsmPlugin r_asm_plugin_arm_winedbg = {
.name = "arm.winedbg",
.arch = "arm",
.bits = 16|32,
.desc = "ARM disassembly plugin (winedbg backend)",
.desc = "WineDBG's ARM disassembler",
.init = NULL,
.fini = NULL,
.disassemble = &disassemble,

View File

@ -20,7 +20,7 @@ RAsmPlugin r_asm_plugin_avr = {
.arch = "avr",
.license = "GPL",
.bits = 16|32,
.desc = "AVR Atmel disassembler",
.desc = "AVR Atmel",
.init = NULL,
.fini = NULL,
.disassemble = &disassemble,

View File

@ -160,7 +160,7 @@ RAsmPlugin r_asm_plugin_bf = {
.arch = "bf",
.license = "LGPL3",
.bits = 32,
.desc = "Brainfuck disassembly plugin",
.desc = "Brainfuck",
.init = NULL,
.fini = NULL,
.disassemble = &disassemble,

View File

@ -1,4 +1,4 @@
/* radare - LGPL - Copyright 2009-2013 - nibble */
/* radare - LGPL - Copyright 2009-2014 - nibble */
#include <stdio.h>
#include <r_types.h>
@ -38,7 +38,7 @@ RAsmPlugin r_asm_plugin_csr = {
.arch = "csr",
.license = "PD",
.bits = 16,
.desc = "CSR disassembly plugin",
.desc = "Cambridge Silicon Radio (CSR)",
.init = NULL,
.fini = NULL,
.disassemble = &disassemble,

View File

@ -1,4 +1,4 @@
/* radare - LGPL - Copyright 2009-2013 - earada, pancake */
/* radare - LGPL - Copyright 2009-2014 - earada, pancake */
#include <stdio.h>
#include <string.h>
@ -414,7 +414,7 @@ RAsmPlugin r_asm_plugin_dalvik = {
.name = "dalvik",
.arch = "dalvik",
.license = "LGPL3",
.desc = "Dalvik (Android VM) disassembly plugin",
.desc = "AndroidVM Dalvik",
.bits = 32|64,
.init = &init,
.fini = NULL,

View File

@ -1,4 +1,4 @@
/* radare2 - LGPL - Copyright 2012-2013 pancake */
/* radare2 - LGPL - Copyright 2012-2014 pancake */
#include <stdio.h>
#include <stdarg.h>
@ -26,7 +26,7 @@ RAsmPlugin r_asm_plugin_dcpu16 = {
.name = "dcpu16",
.arch = "dpcu",
.bits = 16,
.desc = "DCPU16 assembler/disassembler",
.desc = "Mojang's DCPU-16",
.license = "PD",
.init = NULL,
.fini = NULL,

View File

@ -29,7 +29,7 @@ static int disassemble(RAsm *a, RAsmOp *op, const ut8 *buf, int len) {
RAsmPlugin r_asm_plugin_ebc = {
.name = "ebc",
.license = "LGPL3",
.desc = "EFI Byte Code disassembly plugin",
.desc = "EFI Bytecode",
.arch = "ebc",
.bits = 32|64,
.init = NULL,

View File

@ -26,7 +26,7 @@ static int assemble(RAsm *a, RAsmOp *op, const char *buf) {
RAsmPlugin r_asm_plugin_x86_gas = {
.name = "gas",
.license = "LGPL3",
.desc = "GNU Assembler plugin",
.desc = "GNU Assembler (gas)",
.arch = "x86", // XXX
.bits = 16|32|64,
.init = NULL,

View File

@ -1,4 +1,4 @@
/* radare - LGPL - Copyright 2012-2013 - pancake
/* radare - LGPL - Copyright 2012-2014 - pancake
2013 - condret */
// fork of asm_z80.c
@ -18,8 +18,8 @@ static int disassemble(RAsm *a, RAsmOp *r_op, const ut8 *buf, int len) {
RAsmPlugin r_asm_plugin_gb = {
.name = "gb",
.desc = "GB disassembly plugin",
.arch = "z80", //?
.desc = "GameBoy(TM) (z80-like)",
.arch = "z80",
.license = "LGPL3",
.bits = 8,
.init = NULL,

View File

@ -16,7 +16,7 @@ static int do_disassemble(RAsm *a, struct r_asm_op_t *op, const ut8 *buf, int le
RAsmPlugin r_asm_plugin_i8080 = {
.name = "i8080",
.desc = "i8080 disassembler plugin",
.desc = "Intel 8080 CPU",
.arch = "i8080",
.license = "BSD",
.bits = 8,

View File

@ -1,4 +1,4 @@
/* radare - LGPL - Copyright 2009-2013 - nibble, pancake */
/* radare - LGPL - Copyright 2009-2014 - nibble, pancake */
#include <r_types.h>
#include <r_util.h>
@ -30,7 +30,7 @@ static int assemble(RAsm *a, RAsmOp *op, const char *buf) {
RAsmPlugin r_asm_plugin_java = {
.name = "java",
.desc = "Java CLASS assembler/disassembler",
.desc = "Java bytecode",
.arch = "java",
.license = "Apache",
.bits = 32,

View File

@ -1,4 +1,4 @@
/* radare - GPL3 - Copyright 2009-2013 - nibble */
/* radare - GPL3 - Copyright 2009-2014 - nibble */
#include <stdio.h>
#include <string.h>
@ -35,7 +35,7 @@ RAsmPlugin r_asm_plugin_m68k = {
.arch = "m68k",
.license = "BSD",
.bits = 32,
.desc = "Motorola 68000 disassembly plugin",
.desc = "Motorola 68000",
.init = NULL,
.fini = NULL,
.disassemble = &disassemble,

View File

@ -3,8 +3,7 @@
#include <r_lib.h>
#include <string.h>
static int mal_dis(RAsmOp *op, ut64 c, ut8 *buf, ut64 len)
{
static int mal_dis(RAsmOp *op, ut64 c, ut8 *buf, ut64 len) {
if(len) {
switch ((buf[0]+c)%94) {
case 4:
@ -36,15 +35,13 @@ static int mal_dis(RAsmOp *op, ut64 c, ut8 *buf, ut64 len)
return R_FALSE;
}
static int disassemble(RAsm *a, RAsmOp *op, const ut8 *buf, ut64 len)
{
static int disassemble(RAsm *a, RAsmOp *op, const ut8 *buf, ut64 len) {
return op->size = mal_dis(op, a->pc, buf, len);
}
RAsmPlugin r_asm_plugin_malbolge = {
.name = "malbolge",
.desc = "Malbolge disassembler plugin",
.desc = "Malbolge Ternary VM",
.arch = "malbolge",
.license = "LGPL3",
.bits = 32,

View File

@ -1,4 +1,4 @@
/* radare - LGPL - Copyright 2009-2013 - pancake, nibble */
/* radare - LGPL - Copyright 2009-2014 - pancake, nibble */
#include <stdio.h>
#include <stdarg.h>
@ -97,7 +97,7 @@ RAsmPlugin r_asm_plugin_mips = {
.arch = "mips",
.license = "GPL3",
.bits = 32|64,
.desc = "MIPS disassembly plugin",
.desc = "MIPS CPU",
.init = NULL,
.fini = NULL,
.disassemble = &disassemble,

View File

@ -10,13 +10,10 @@
static int arch_msil_disasm(char *str, const ut8 *buf, ut64 seek) {
ut32 n;
DISASMSIL_OFFSET CodeBase = seek;
ILOPCODE_STRUCT ilopar[8];
DisasMSIL(buf, 16, CodeBase, ilopar, 8, &n);
sprintf(str,"%s",ilopar[0].Mnemonic);
DisasMSIL (buf, 16, CodeBase, ilopar, 8, &n);
sprintf (str,"%s",ilopar[0].Mnemonic);
return 0;
}
@ -30,7 +27,7 @@ RAsmPlugin r_asm_plugin_msil = {
.arch = "msil",
.license = "PD",
.bits = 16|32|64,
.desc = "MSIL disassembly plugin",
.desc = ".NET Microsoft Intermediate Language",
.init = NULL,
.fini = NULL,
.disassemble = &disassemble,

View File

@ -93,7 +93,7 @@ RAsmPlugin r_asm_plugin_nios2 = {
.arch = "nios2",
.license = "GPL3",
.bits = 32,
.desc = "NIOS II disassembly plugin",
.desc = "NIOS II Embedded Processor",
.init = NULL,
.fini = NULL,
.disassemble = &disassemble,

View File

@ -1,4 +1,4 @@
/* radare - LGPL - Copyright 2009-2013 - nibble */
/* radare - LGPL - Copyright 2009-2014 - nibble */
#include <stdio.h>
#include <stdarg.h>
@ -93,7 +93,7 @@ RAsmPlugin r_asm_plugin_ppc = {
.arch = "ppc",
.license = "GPL3",
.bits = 32|64,
.desc = "PPC disassembly plugin",
.desc = "PowerPC",
.init = NULL,
.fini = NULL,
.disassemble = &disassemble,

View File

@ -19,7 +19,7 @@ static int assemble(RAsm *a, RAsmOp *op, const char *buf) {
RAsmPlugin r_asm_plugin_psosvm = {
.name = "psosvm",
.desc = "PSOS-VM disassembly plugin",
.desc = "Smartcard PSOS Virtual Machine",
.license = "BSD",
.arch = "psosvm",
.bits = 8|16,

View File

@ -1,4 +1,4 @@
/* radare - LGPL - Copyright 2012 - pancake */
/* radare - LGPL - Copyright 2012-2014 - pancake */
#include <stdio.h>
#include <stdarg.h>
@ -26,7 +26,7 @@ RAsmPlugin r_asm_plugin_rar = {
.arch = "rar",
.license = "LGPL3",
.bits = 1,
.desc = "RAR VM disassembly plugin",
.desc = "RAR VM",
.init = NULL,
.fini = NULL,
.disassemble = &disassemble,

View File

@ -83,7 +83,7 @@ RAsmPlugin r_asm_plugin_sh = {
.arch = "sh",
.license = "GPL3",
.bits = 32,
.desc = "SH-4 disassembly plugin",
.desc = "SuperH-4 CPU",
.init = NULL,
.fini = NULL,
.disassemble = &disassemble,

View File

@ -1,7 +1,4 @@
/* radare - LGPL - Copyright 2012-2013 - pancake
2013 - condret */
// copypasta from asm_gb.c
/* radare - LGPL - Copyright 2012-2014 - condret, pancake */
#include <r_types.h>
#include <r_util.h>
@ -11,14 +8,14 @@
static int disassemble(RAsm *a, RAsmOp *op, const ut8 *buf, ut64 len) {
int dlen = snesDisass(op,buf,len);
if(dlen<0) dlen=0;
op->size=dlen;
if (dlen<0) dlen=0;
op->size = dlen;
return dlen;
}
RAsmPlugin r_asm_plugin_snes = {
.name = "snes",
.desc = "SNES disassembly plugin",
.desc = "SuperNES CPU",
.arch = "snes",
.bits = 8|16,
.init = NULL,

View File

@ -1,4 +1,4 @@
/* radare - LGPL - Copyright 2009-2013 - nibble */
/* radare - LGPL - Copyright 2009-2014 - nibble */
#include <stdio.h>
#include <stdarg.h>
@ -81,7 +81,7 @@ RAsmPlugin r_asm_plugin_sparc = {
.arch = "sparc",
.bits = 32|64,
.license = "GPL3",
.desc = "SPARC disassembly plugin",
.desc = "Scalable Processor Architecture",
.init = NULL,
.fini = NULL,
.disassemble = &disassemble,

View File

@ -16,36 +16,31 @@
static tms320_dasm_t engine = { };
static int tms320_disassemble(RAsm *a, RAsmOp *op, const ut8 *buf, int len)
{
static int tms320_disassemble(RAsm *a, RAsmOp *op, const ut8 *buf, int len) {
if (a->cpu && strcasecmp(a->cpu, "c54x") == 0)
tms320_f_set_cpu(&engine, TMS320_F_CPU_C54X);
if (a->cpu && strcasecmp(a->cpu, "c55x") == 0)
tms320_f_set_cpu(&engine, TMS320_F_CPU_C55X);
if (a->cpu && strcasecmp(a->cpu, "c55x+") == 0)
tms320_f_set_cpu(&engine, TMS320_F_CPU_C55X_PLUS);
op->size = tms320_dasm(&engine, buf, len);
snprintf(op->buf_asm, R_ASM_BUFSIZE, "%s", engine.syntax);
op->size = tms320_dasm (&engine, buf, len);
snprintf (op->buf_asm, R_ASM_BUFSIZE-1, "%s", engine.syntax);
return op->size;
}
static int tms320_init(void * user)
{
return tms320_dasm_init(&engine);
static int tms320_init(void * user) {
return tms320_dasm_init (&engine);
}
static int tms320_fini(void * user)
{
return tms320_dasm_fini(&engine);
static int tms320_fini(void * user) {
return tms320_dasm_fini (&engine);
}
RAsmPlugin r_asm_plugin_tms320 = {
.name = "tms320",
.arch = "tms320",
.cpus = "c54x,c55x,c55x+",
.desc = "TMS320 DSP family disassembly plugin",
.desc = "TMS320 DSP family",
.license = "LGPLv3",
.bits = 32,
.init = tms320_init,

View File

@ -1,4 +1,4 @@
/* radare - LGPL - Copyright 2014 - condret */
/* radare - LGPL - Copyright 2014 - condret */
#include <r_types.h>
#include <r_util.h>
@ -13,7 +13,7 @@ int disassemble(RAsm *a, RAsmOp *op, const ut8 *buf, int len) {
RAsmPlugin r_asm_plugin_ws = {
.name = "ws",
.desc = "Whitespace disassembly plugin",
.desc = "Whitespace esotheric VM",
.arch = "whitespace",
.license = "LGPL3",
.bits = 32,

View File

@ -68,7 +68,7 @@ static int disassemble(RAsm *a, RAsmOp *op, const ut8 *buf, int len) {
RAsmPlugin r_asm_plugin_x86 = {
.name = "x86",
.desc = "udis86 disassembler",
.desc = "udis86 x86-16,32,64",
.arch = "x86",
.license = "BSD",
.bits = 16 | 32 | 64,

View File

@ -1,4 +1,4 @@
/* radare - LGPL - Copyright 2011-2013 pancake */
/* radare - LGPL - Copyright 2011-2014 pancake */
#include <r_types.h>
#include <r_util.h>
@ -63,7 +63,7 @@ static int assemble(RAsm *a, RAsmOp *op, const char *buf) {
RAsmPlugin r_asm_plugin_x86_as = {
.name = "x86.as",
.desc = "X86 assembler plugin using 'as' program",
.desc = "Intel X86 GNU Assembler",
.arch = "x86",
.license = "LGPL3",
// NOTE: 64bits is not supported on OSX's nasm :(

View File

@ -1,4 +1,4 @@
/* radare - LGPL - Copyright 2009-2013 - pancake */
/* radare - LGPL - Copyright 2009-2014 - pancake */
#include <r_types.h>
#include <r_util.h>
@ -32,7 +32,6 @@ static int assemble(RAsm *a, RAsmOp *op, const char *buf) {
}
close (ofd);
unlink (ipath);
unlink (opath);
free (ipath);
@ -44,7 +43,7 @@ static int assemble(RAsm *a, RAsmOp *op, const char *buf) {
RAsmPlugin r_asm_plugin_x86_nasm = {
.name = "x86.nasm",
.desc = "X86 nasm assembler plugin",
.desc = "X86 nasm assembler",
.license = "LGPL3",
.arch = "x86",
// NOTE: 64bits is not supported on OSX's nasm :(

View File

@ -1019,7 +1019,7 @@ static int assemble(RAsm *a, RAsmOp *ao, const char *str) {
RAsmPlugin r_asm_plugin_x86_nz = {
.name = "x86.nz",
.desc = "x86 assembler with non-zeros",
.desc = "x86 handmade assembler",
.license = "LGPL3",
.arch = "x86",
.bits = 32|64,

View File

@ -43,7 +43,7 @@ static int assemble(struct r_asm_t *a, struct r_asm_op_t *op, const char *buf) {
RAsmPlugin r_asm_plugin_x86_olly = {
.name = "x86.olly",
.license = "GPL2",
.desc = "X86 disassembly plugin (olly engine)",
.desc = "OllyDBG X86 disassembler",
.arch = "x86",
.bits = 32,
.init = NULL,

View File

@ -20,8 +20,8 @@ static int do_disassemble(RAsm *a, RAsmOp *op, const ut8 *buf, int len) {
RAsmPlugin r_asm_plugin_z80 = {
.name = "z80",
.desc = "z80 assembler plugin",
.license = "GPL2 NON-COMMERCIAL",
.desc = "Zilog Z80",
.license = "NC-GPL2", //NON-COMMERCIAL",
.arch = "z80",
.bits = 8,
.init = NULL,