Normalize the output of L subcommands (#5077)
This commit is contained in:
parent
d04dc5f586
commit
dbe651db33
30 changed files with 1006 additions and 659 deletions
|
|
@ -83,6 +83,6 @@ RzAsmPlugin rz_asm_plugin_avr = {
|
|||
"ATmega88,"
|
||||
"ATxmega128a4u,"
|
||||
"ATTiny48,"
|
||||
"ATTiny88,",
|
||||
"ATTiny88",
|
||||
.get_cpu_desc = avr_cpu_descriptions,
|
||||
};
|
||||
|
|
|
|||
|
|
@ -94,73 +94,93 @@ static const char *has_esil(RzCore *core, const char *name) {
|
|||
return "___";
|
||||
}
|
||||
|
||||
RZ_API RzCmdStatus rz_core_asm_plugin_print(RzCore *core, RzAsmPlugin *ap, RzCmdStateOutput *state, const char *license, const char *flags) {
|
||||
const char *feat2;
|
||||
char feat[6] = "__";
|
||||
char bits[32];
|
||||
PJ *pj = state->d.pj;
|
||||
bits[0] = 0;
|
||||
if (ap->bits == 27) {
|
||||
strcat(bits, "27");
|
||||
} else if (ap->bits == 0) {
|
||||
strcat(bits, "any");
|
||||
} else {
|
||||
if (ap->bits & 4) {
|
||||
strcat(bits, "4 ");
|
||||
}
|
||||
if (ap->bits & 8) {
|
||||
strcat(bits, "8 ");
|
||||
}
|
||||
if (ap->bits & 16) {
|
||||
strcat(bits, "16 ");
|
||||
}
|
||||
if (ap->bits & 32) {
|
||||
strcat(bits, "32 ");
|
||||
}
|
||||
if (ap->bits & 64) {
|
||||
strcat(bits, "64");
|
||||
}
|
||||
static void bits_to_string(int bits, char output[32]) {
|
||||
if (bits == 27) {
|
||||
strcat(output, "27");
|
||||
return;
|
||||
} else if (!bits) {
|
||||
strcat(output, "any");
|
||||
return;
|
||||
}
|
||||
if (bits & 4) {
|
||||
strcat(output, "4 ");
|
||||
}
|
||||
if (bits & 8) {
|
||||
strcat(output, "8 ");
|
||||
}
|
||||
if (bits & 16) {
|
||||
strcat(output, "16 ");
|
||||
}
|
||||
if (bits & 32) {
|
||||
strcat(output, "32 ");
|
||||
}
|
||||
if (bits & 64) {
|
||||
strcat(output, "64");
|
||||
}
|
||||
}
|
||||
|
||||
static RzCmdStatus core_asm_plugin_print(RzCore *core, RzAsmPlugin *ap, RzCmdStateOutput *state, const char *flags) {
|
||||
const char *feat2;
|
||||
char features[6] = "__";
|
||||
char bits[32] = { 0 };
|
||||
PJ *pj = state->d.pj;
|
||||
bits_to_string(ap->bits, bits);
|
||||
|
||||
if (ap->assemble && ap->disassemble) {
|
||||
strcpy(feat, "ad");
|
||||
strcpy(features, "ad");
|
||||
}
|
||||
if (ap->assemble && !ap->disassemble) {
|
||||
strcpy(feat, "a_");
|
||||
strcpy(features, "a_");
|
||||
}
|
||||
if (!ap->assemble && ap->disassemble) {
|
||||
strcpy(feat, "_d");
|
||||
strcpy(features, "_d");
|
||||
}
|
||||
feat2 = has_esil(core, ap->name);
|
||||
strcat(feat, feat2);
|
||||
strcat(features, feat2);
|
||||
|
||||
for (int i = 0; flags && flags[i] != '\0'; i++) {
|
||||
if (strchr(feat, flags[i]) == NULL) {
|
||||
if (strchr(features, flags[i]) == NULL) {
|
||||
return RZ_CMD_STATUS_OK;
|
||||
}
|
||||
}
|
||||
|
||||
const char *name = rz_str_get(ap->name);
|
||||
const char *description = rz_str_get(ap->desc);
|
||||
const char *license = rz_str_get(ap->license);
|
||||
const char *author = rz_str_get(ap->author);
|
||||
const char *version = rz_str_get(ap->version);
|
||||
switch (state->mode) {
|
||||
case RZ_OUTPUT_MODE_QUIET: {
|
||||
rz_cons_println(ap->name);
|
||||
rz_cons_println(name);
|
||||
break;
|
||||
}
|
||||
case RZ_OUTPUT_MODE_TABLE: {
|
||||
rz_table_add_rowf(state->d.t, "sssssss", features, bits, name, license, version, author, description);
|
||||
break;
|
||||
}
|
||||
case RZ_OUTPUT_MODE_JSON: {
|
||||
pj_ko(pj, ap->name);
|
||||
pj_ko(pj, name);
|
||||
pj_ks(pj, "bits", bits);
|
||||
pj_ks(pj, "license", license);
|
||||
pj_ks(pj, "description", ap->desc);
|
||||
pj_ks(pj, "features", feat);
|
||||
pj_ks(pj, "description", description);
|
||||
pj_ks(pj, "features", features);
|
||||
if (ap->author) {
|
||||
pj_ks(pj, "author", author);
|
||||
}
|
||||
if (ap->version) {
|
||||
pj_ks(pj, "version", version);
|
||||
}
|
||||
pj_end(pj);
|
||||
break;
|
||||
}
|
||||
case RZ_OUTPUT_MODE_STANDARD: {
|
||||
rz_cons_printf("%s %-10s %-11s %-7s %s",
|
||||
feat, bits, ap->name, license, ap->desc);
|
||||
features, bits, name, license, description);
|
||||
if (ap->author) {
|
||||
rz_cons_printf(" (by %s)", ap->author);
|
||||
rz_cons_printf(" (by %s)", author);
|
||||
}
|
||||
if (ap->version) {
|
||||
rz_cons_printf(" v%s", ap->version);
|
||||
rz_cons_printf(" v%s", version);
|
||||
}
|
||||
rz_cons_newline();
|
||||
break;
|
||||
|
|
@ -173,10 +193,58 @@ RZ_API RzCmdStatus rz_core_asm_plugin_print(RzCore *core, RzAsmPlugin *ap, RzCmd
|
|||
return RZ_CMD_STATUS_OK;
|
||||
}
|
||||
|
||||
RZ_API RzCmdStatus rz_core_asm_plugins_print(RZ_NONNULL RZ_BORROW RzCore *core, RZ_NULLABLE const char *arch, RZ_OUT RzCmdStateOutput *state, RZ_NULLABLE const char *flags) {
|
||||
RZ_API RzCmdStatus rz_core_asm_cpu_plugin_print(RZ_NONNULL RZ_BORROW RzCore *core, RZ_OUT RzCmdStateOutput *state, RZ_NULLABLE const char *arch_name) {
|
||||
rz_return_val_if_fail(core && state, RZ_CMD_STATUS_ERROR);
|
||||
int i;
|
||||
RzAsm *a = core->rasm;
|
||||
|
||||
if (RZ_STR_ISEMPTY(arch_name)) {
|
||||
return RZ_CMD_STATUS_WRONG_ARGS;
|
||||
}
|
||||
|
||||
bool found = false;
|
||||
RzAsmPlugin *plugin = ht_sp_find(a->plugins, arch_name, &found);
|
||||
if (!found || !plugin) {
|
||||
return RZ_CMD_STATUS_WRONG_ARGS;
|
||||
}
|
||||
|
||||
rz_cmd_state_output_array_start(state);
|
||||
if (RZ_STR_ISEMPTY(plugin->cpus)) {
|
||||
// there are no cpus to show.
|
||||
rz_cmd_state_output_array_end(state);
|
||||
return RZ_CMD_STATUS_OK;
|
||||
}
|
||||
|
||||
const char *name;
|
||||
RzListIter *it;
|
||||
RzList *list = rz_str_split_duplist_n(plugin->cpus, ",", 0, true);
|
||||
if (!list) {
|
||||
return RZ_CMD_STATUS_ERROR;
|
||||
}
|
||||
|
||||
PJ *pj = state->d.pj;
|
||||
rz_list_foreach (list, it, name) {
|
||||
switch (state->mode) {
|
||||
case RZ_OUTPUT_MODE_STANDARD:
|
||||
rz_cons_println(name);
|
||||
break;
|
||||
case RZ_OUTPUT_MODE_JSON:
|
||||
pj_s(pj, name);
|
||||
break;
|
||||
default:
|
||||
rz_warn_if_reached();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
rz_list_free(list);
|
||||
rz_cmd_state_output_array_end(state);
|
||||
return RZ_CMD_STATUS_OK;
|
||||
}
|
||||
|
||||
RZ_API RzCmdStatus rz_core_asm_plugins_print(RZ_NONNULL RZ_BORROW RzCore *core, RZ_OUT RzCmdStateOutput *state, RZ_NULLABLE const char *flags) {
|
||||
rz_return_val_if_fail(core && state, RZ_CMD_STATUS_ERROR);
|
||||
RzAsm *a = core->rasm;
|
||||
|
||||
RzIterator *iter = ht_sp_as_iter(a->plugins);
|
||||
RzList *plugin_list = rz_list_new_from_iterator(iter);
|
||||
if (!plugin_list) {
|
||||
|
|
@ -187,33 +255,19 @@ RZ_API RzCmdStatus rz_core_asm_plugins_print(RZ_NONNULL RZ_BORROW RzCore *core,
|
|||
RzListIter *it;
|
||||
RzAsmPlugin *ap;
|
||||
RzCmdStatus status;
|
||||
if (arch) {
|
||||
rz_list_foreach (plugin_list, it, ap) {
|
||||
if (ap->cpus && !strcmp(arch, ap->name)) {
|
||||
char *c = rz_str_dup(ap->cpus);
|
||||
int n = rz_str_split(c, ',');
|
||||
for (i = 0; i < n; i++) {
|
||||
rz_cons_println(rz_str_word_get0(c, i));
|
||||
}
|
||||
free(c);
|
||||
break;
|
||||
}
|
||||
|
||||
rz_cmd_state_output_array_start(state);
|
||||
rz_cmd_state_output_set_columnsf(state, "sssssss", "name", "bits", "features", "license", "version", "author", "description");
|
||||
rz_list_foreach (plugin_list, it, ap) {
|
||||
status = core_asm_plugin_print(core, ap, state, flags);
|
||||
if (status != RZ_CMD_STATUS_OK) {
|
||||
rz_iterator_free(iter);
|
||||
rz_list_free(plugin_list);
|
||||
return status;
|
||||
}
|
||||
} else {
|
||||
rz_cmd_state_output_array_start(state);
|
||||
rz_list_foreach (plugin_list, it, ap) {
|
||||
const char *license = ap->license
|
||||
? ap->license
|
||||
: "unknown";
|
||||
status = rz_core_asm_plugin_print(core, ap, state, license, flags);
|
||||
if (status != RZ_CMD_STATUS_OK) {
|
||||
rz_iterator_free(iter);
|
||||
rz_list_free(plugin_list);
|
||||
return status;
|
||||
}
|
||||
}
|
||||
rz_cmd_state_output_array_end(state);
|
||||
}
|
||||
rz_cmd_state_output_array_end(state);
|
||||
|
||||
rz_list_free(plugin_list);
|
||||
rz_iterator_free(iter);
|
||||
return RZ_CMD_STATUS_OK;
|
||||
|
|
|
|||
|
|
@ -4886,7 +4886,7 @@ RZ_IPI RzCmdStatus rz_core_binxtr_plugin_print(const RzBinXtrPlugin *bx, RzCmdSt
|
|||
rz_cmd_state_output_set_columnsf(state, "sss", "type", "name", "description");
|
||||
switch (state->mode) {
|
||||
case RZ_OUTPUT_MODE_QUIET:
|
||||
rz_cons_printf("%s\n", bx->name);
|
||||
rz_cons_println(bx->name);
|
||||
break;
|
||||
case RZ_OUTPUT_MODE_JSON:
|
||||
pj_o(state->d.pj);
|
||||
|
|
|
|||
|
|
@ -417,7 +417,7 @@ static bool cb_asmcpu(void *user, void *data) {
|
|||
/* print verbose help instead of plain option listing */
|
||||
RzCmdStateOutput state = { 0 };
|
||||
rz_cmd_state_output_init(&state, RZ_OUTPUT_MODE_STANDARD);
|
||||
rz_core_asm_plugins_print(core, rz_config_get(core->config, "asm.arch"), &state, NULL);
|
||||
rz_core_asm_cpu_plugin_print(core, &state, rz_config_get(core->config, "asm.arch"));
|
||||
rz_cmd_state_output_print(&state);
|
||||
rz_cmd_state_output_fini(&state);
|
||||
return 0;
|
||||
|
|
@ -503,7 +503,7 @@ static bool cb_asmarch(void *user, void *data) {
|
|||
/* print more verbose help instead of plain option values */
|
||||
RzCmdStateOutput state = { 0 };
|
||||
rz_cmd_state_output_init(&state, RZ_OUTPUT_MODE_STANDARD);
|
||||
rz_core_asm_plugins_print(core, NULL, &state, NULL);
|
||||
rz_core_asm_plugins_print(core, &state, NULL);
|
||||
rz_cmd_state_output_print(&state);
|
||||
rz_cmd_state_output_fini(&state);
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -5,41 +5,41 @@
|
|||
#include <rz_util/rz_iterator.h>
|
||||
|
||||
static RzCmdStatus core_crypto_plugin_print(RzCmdStateOutput *state, const RzCryptoPlugin *plugin) {
|
||||
const char *name = rz_str_get(plugin->name);
|
||||
const char *license = rz_str_get(plugin->license);
|
||||
const char *author = rz_str_get(plugin->author);
|
||||
|
||||
PJ *pj = state->d.pj;
|
||||
switch (state->mode) {
|
||||
case RZ_OUTPUT_MODE_QUIET: {
|
||||
rz_cons_printf("%s ", plugin->name);
|
||||
case RZ_OUTPUT_MODE_QUIET:
|
||||
rz_cons_println(name);
|
||||
break;
|
||||
}
|
||||
case RZ_OUTPUT_MODE_JSON: {
|
||||
case RZ_OUTPUT_MODE_JSON:
|
||||
pj_o(pj);
|
||||
pj_ks(pj, "name", plugin->name);
|
||||
pj_ks(pj, "license", plugin->license);
|
||||
pj_ks(pj, "author", plugin->author);
|
||||
pj_ks(pj, "name", name);
|
||||
pj_ks(pj, "license", license);
|
||||
pj_ks(pj, "author", author);
|
||||
pj_end(pj);
|
||||
break;
|
||||
}
|
||||
case RZ_OUTPUT_MODE_STANDARD: {
|
||||
rz_cons_printf("%-14s %-10s %s\n", plugin->name, plugin->license, plugin->author);
|
||||
|
||||
case RZ_OUTPUT_MODE_STANDARD:
|
||||
rz_cons_printf("%-14s %-10s %s\n", name, license, author);
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
case RZ_OUTPUT_MODE_TABLE:
|
||||
rz_table_add_rowf(state->d.t, "sss", name, license, author);
|
||||
break;
|
||||
default:
|
||||
rz_warn_if_reached();
|
||||
return RZ_CMD_STATUS_NONEXISTINGCMD;
|
||||
}
|
||||
}
|
||||
return RZ_CMD_STATUS_OK;
|
||||
}
|
||||
|
||||
RZ_API RzCmdStatus rz_core_crypto_plugins_print(RzCrypto *cry, RzCmdStateOutput *state) {
|
||||
rz_return_val_if_fail(cry, RZ_CMD_STATUS_ERROR);
|
||||
|
||||
RzCmdStatus status;
|
||||
rz_cmd_state_output_array_start(state);
|
||||
if (state->mode == RZ_OUTPUT_MODE_STANDARD) {
|
||||
rz_cons_println("algorithm license author");
|
||||
}
|
||||
rz_cmd_state_output_set_columnsf(state, "sss", "algorithm", "license", "author");
|
||||
|
||||
RzIterator *iter = ht_sp_as_iter(cry->plugins);
|
||||
RzList *plugin_list = rz_list_new_from_iterator(iter);
|
||||
if (!plugin_list) {
|
||||
|
|
@ -47,22 +47,18 @@ RZ_API RzCmdStatus rz_core_crypto_plugins_print(RzCrypto *cry, RzCmdStateOutput
|
|||
return RZ_CMD_STATUS_ERROR;
|
||||
}
|
||||
rz_list_sort(plugin_list, (RzListComparator)rz_crypto_plugin_cmp, NULL);
|
||||
|
||||
RzCmdStatus status = RZ_CMD_STATUS_OK;
|
||||
RzListIter *it;
|
||||
RzCryptoPlugin *plugin;
|
||||
rz_list_foreach (plugin_list, it, plugin) {
|
||||
status = core_crypto_plugin_print(state, plugin);
|
||||
if (status != RZ_CMD_STATUS_OK) {
|
||||
rz_list_free(plugin_list);
|
||||
rz_iterator_free(iter);
|
||||
return status;
|
||||
break;
|
||||
}
|
||||
}
|
||||
rz_list_free(plugin_list);
|
||||
rz_iterator_free(iter);
|
||||
|
||||
if (state->mode == RZ_OUTPUT_MODE_QUIET) {
|
||||
rz_cons_newline();
|
||||
}
|
||||
rz_cmd_state_output_array_end(state);
|
||||
return RZ_CMD_STATUS_OK;
|
||||
return status;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -307,40 +307,66 @@ RZ_IPI void rz_core_debug_attach(RzCore *core, int pid) {
|
|||
rz_io_system(core->io, rz_strf(buf, "pid %d", core->dbg->pid));
|
||||
}
|
||||
|
||||
RZ_API RzCmdStatus rz_core_debug_plugin_print(RzDebug *dbg, RzDebugPlugin *plugin, RzCmdStateOutput *state, int count, char *spaces) {
|
||||
static void bits_to_string(ut32 bits, char output[32]) {
|
||||
|
||||
if (bits & RZ_SYS_BITS_8) {
|
||||
strcat(output, "8 ");
|
||||
}
|
||||
if (bits & RZ_SYS_BITS_16) {
|
||||
strcat(output, "16 ");
|
||||
}
|
||||
if (bits & RZ_SYS_BITS_32) {
|
||||
strcat(output, "32 ");
|
||||
}
|
||||
if (bits & RZ_SYS_BITS_64) {
|
||||
strcat(output, "64");
|
||||
}
|
||||
}
|
||||
|
||||
static RzCmdStatus core_debug_plugin_print(RzDebug *dbg, RzDebugPlugin *plugin, RzCmdStateOutput *state, ut64 count, char *spaces) {
|
||||
const char *arch = rz_str_get(plugin->arch);
|
||||
const char *name = rz_str_get(plugin->name);
|
||||
const char *license = rz_str_get(plugin->license);
|
||||
const char *version = rz_str_get(plugin->version);
|
||||
bool selected = plugin == dbg->cur;
|
||||
char bits[32] = { 0 };
|
||||
bits_to_string(plugin->bits, bits);
|
||||
|
||||
PJ *pj = state->d.pj;
|
||||
switch (state->mode) {
|
||||
case RZ_OUTPUT_MODE_QUIET: {
|
||||
rz_cons_printf("%s\n", plugin->name);
|
||||
case RZ_OUTPUT_MODE_TABLE:
|
||||
rz_table_add_rowf(state->d.t, "nsssss", count, selected ? "yes" : "", name, license, bits, arch);
|
||||
break;
|
||||
}
|
||||
case RZ_OUTPUT_MODE_JSON: {
|
||||
case RZ_OUTPUT_MODE_QUIET:
|
||||
rz_cons_printf("%s\n", name);
|
||||
break;
|
||||
case RZ_OUTPUT_MODE_JSON:
|
||||
pj_o(pj);
|
||||
pj_ks(pj, "arch", plugin->arch);
|
||||
pj_ks(pj, "name", plugin->name);
|
||||
pj_ks(pj, "license", plugin->license);
|
||||
pj_ks(pj, "arch", arch);
|
||||
pj_ks(pj, "name", name);
|
||||
pj_ks(pj, "bits", bits);
|
||||
pj_ks(pj, "license", license);
|
||||
pj_ks(pj, "version", version);
|
||||
if (selected) {
|
||||
pj_kb(pj, "selected", true);
|
||||
}
|
||||
pj_end(pj);
|
||||
break;
|
||||
}
|
||||
case RZ_OUTPUT_MODE_STANDARD: {
|
||||
rz_cons_printf("%d %s %s %s%s\n",
|
||||
count, (plugin == dbg->cur) ? "dbg" : "---",
|
||||
plugin->name, spaces, plugin->license);
|
||||
case RZ_OUTPUT_MODE_STANDARD:
|
||||
rz_cons_printf("%" PFMT64u " %s %s %s%s\n", count, selected ? "dbg" : "---", name, spaces, license);
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
default:
|
||||
rz_warn_if_reached();
|
||||
return RZ_CMD_STATUS_NONEXISTINGCMD;
|
||||
}
|
||||
}
|
||||
return RZ_CMD_STATUS_OK;
|
||||
}
|
||||
|
||||
RZ_API RzCmdStatus rz_core_debug_plugins_print(RZ_NONNULL RZ_BORROW RzCore *core, RZ_OUT RzCmdStateOutput *state) {
|
||||
rz_return_val_if_fail(core && state, RZ_CMD_STATUS_ERROR);
|
||||
int count = 0;
|
||||
ut64 count = 0;
|
||||
char spaces[16];
|
||||
memset(spaces, ' ', 15);
|
||||
memset(spaces, ' ', sizeof(spaces));
|
||||
spaces[15] = 0;
|
||||
RzDebug *dbg = core->dbg;
|
||||
RzCmdStatus status;
|
||||
|
|
@ -348,6 +374,7 @@ RZ_API RzCmdStatus rz_core_debug_plugins_print(RZ_NONNULL RZ_BORROW RzCore *core
|
|||
return RZ_CMD_STATUS_ERROR;
|
||||
}
|
||||
rz_cmd_state_output_array_start(state);
|
||||
rz_cmd_state_output_set_columnsf(state, "nsssss", "idx", "selected", "name", "license", "bits", "arch");
|
||||
RzIterator *iter = ht_sp_as_iter(dbg->plugins);
|
||||
RzList *plugin_list = rz_list_new_from_iterator(iter);
|
||||
if (!plugin_list) {
|
||||
|
|
@ -358,9 +385,9 @@ RZ_API RzCmdStatus rz_core_debug_plugins_print(RZ_NONNULL RZ_BORROW RzCore *core
|
|||
RzListIter *it;
|
||||
RzDebugPlugin *plugin;
|
||||
rz_list_foreach (plugin_list, it, plugin) {
|
||||
int sp = 8 - strlen(plugin->name);
|
||||
size_t sp = 8 - strlen(plugin->name);
|
||||
spaces[sp] = 0;
|
||||
status = rz_core_debug_plugin_print(dbg, plugin, state, count, spaces);
|
||||
status = core_debug_plugin_print(dbg, plugin, state, count, spaces);
|
||||
if (status != RZ_CMD_STATUS_OK) {
|
||||
rz_iterator_free(iter);
|
||||
rz_list_free(plugin_list);
|
||||
|
|
|
|||
|
|
@ -3,56 +3,62 @@
|
|||
|
||||
#include <rz_core.h>
|
||||
|
||||
RZ_API RzCmdStatus rz_core_hash_plugin_print(RzCmdStateOutput *state, const RzHashPlugin *plugin) {
|
||||
static RzCmdStatus core_hash_plugin_print(RzCmdStateOutput *state, const RzHashPlugin *plugin) {
|
||||
const char *name = rz_str_get(plugin->name);
|
||||
const char *license = rz_str_get(plugin->license);
|
||||
const char *author = rz_str_get(plugin->author);
|
||||
|
||||
PJ *pj = state->d.pj;
|
||||
switch (state->mode) {
|
||||
case RZ_OUTPUT_MODE_QUIET: {
|
||||
rz_cons_printf("%s ", plugin->name);
|
||||
case RZ_OUTPUT_MODE_QUIET:
|
||||
rz_cons_println(name);
|
||||
break;
|
||||
}
|
||||
case RZ_OUTPUT_MODE_JSON: {
|
||||
case RZ_OUTPUT_MODE_JSON:
|
||||
pj_o(pj);
|
||||
pj_ks(pj, "name", plugin->name);
|
||||
pj_ks(pj, "license", plugin->license);
|
||||
pj_ks(pj, "author", plugin->author);
|
||||
pj_ks(pj, "name", name);
|
||||
pj_ks(pj, "license", license);
|
||||
pj_ks(pj, "author", author);
|
||||
pj_end(pj);
|
||||
break;
|
||||
}
|
||||
case RZ_OUTPUT_MODE_STANDARD: {
|
||||
rz_cons_printf("%-14s %-10s %s\n", plugin->name, plugin->license, plugin->author);
|
||||
|
||||
case RZ_OUTPUT_MODE_STANDARD:
|
||||
rz_cons_printf("%-14s %-10s %s\n", name, license, author);
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
case RZ_OUTPUT_MODE_TABLE:
|
||||
rz_table_add_rowf(state->d.t, "sss", name, license, author);
|
||||
break;
|
||||
default:
|
||||
rz_warn_if_reached();
|
||||
return RZ_CMD_STATUS_NONEXISTINGCMD;
|
||||
}
|
||||
}
|
||||
return RZ_CMD_STATUS_OK;
|
||||
}
|
||||
|
||||
RZ_API RzCmdStatus rz_core_hash_plugins_print(RZ_NONNULL RZ_BORROW RzHash *hash, RZ_OUT RzCmdStateOutput *state) {
|
||||
rz_return_val_if_fail(hash && state, RZ_CMD_STATUS_ERROR);
|
||||
|
||||
RzCmdStatus status;
|
||||
RzIterator *it = ht_sp_as_iter(hash->plugins);
|
||||
RzHashPlugin **val;
|
||||
rz_cmd_state_output_array_start(state);
|
||||
if (state->mode == RZ_OUTPUT_MODE_STANDARD) {
|
||||
rz_cons_println("algorithm license author");
|
||||
RzIterator *iter = ht_sp_as_iter(hash->plugins);
|
||||
RzList *plugin_list = rz_list_new_from_iterator(iter);
|
||||
if (!plugin_list) {
|
||||
rz_iterator_free(iter);
|
||||
return RZ_CMD_STATUS_ERROR;
|
||||
}
|
||||
rz_iterator_foreach(it, val) {
|
||||
const RzHashPlugin *plugin = *val;
|
||||
status = rz_core_hash_plugin_print(state, plugin);
|
||||
rz_list_sort(plugin_list, (RzListComparator)rz_crypto_plugin_cmp, NULL);
|
||||
|
||||
rz_cmd_state_output_array_start(state);
|
||||
rz_cmd_state_output_set_columnsf(state, "sss", "algorithm", "license", "author");
|
||||
|
||||
RzCmdStatus status = RZ_CMD_STATUS_OK;
|
||||
RzListIter *it;
|
||||
RzHashPlugin *plugin;
|
||||
rz_list_foreach (plugin_list, it, plugin) {
|
||||
status = core_hash_plugin_print(state, plugin);
|
||||
if (status != RZ_CMD_STATUS_OK) {
|
||||
rz_iterator_free(it);
|
||||
return status;
|
||||
break;
|
||||
}
|
||||
}
|
||||
rz_iterator_free(it);
|
||||
if (state->mode == RZ_OUTPUT_MODE_QUIET) {
|
||||
rz_cons_newline();
|
||||
}
|
||||
|
||||
rz_list_free(plugin_list);
|
||||
rz_iterator_free(iter);
|
||||
rz_cmd_state_output_array_end(state);
|
||||
return RZ_CMD_STATUS_OK;
|
||||
return status;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,30 +3,33 @@
|
|||
|
||||
#include <rz_core.h>
|
||||
|
||||
RZ_API RzCmdStatus rz_core_lang_plugin_print(RzLangPlugin *lp, RzCmdStateOutput *state) {
|
||||
const char *license = lp->license
|
||||
? lp->license
|
||||
: "???";
|
||||
static RzCmdStatus core_lang_plugin_print(RzLangPlugin *lp, RzCmdStateOutput *state) {
|
||||
const char *name = rz_str_get(lp->name);
|
||||
const char *description = rz_str_get(lp->desc);
|
||||
const char *license = rz_str_get(lp->license);
|
||||
|
||||
PJ *pj = state->d.pj;
|
||||
switch (state->mode) {
|
||||
case RZ_OUTPUT_MODE_JSON: {
|
||||
case RZ_OUTPUT_MODE_TABLE:
|
||||
rz_table_add_rowf(state->d.t, "sss", name, description, license);
|
||||
break;
|
||||
case RZ_OUTPUT_MODE_JSON:
|
||||
pj_o(pj);
|
||||
pj_ks(pj, "name", lp->name);
|
||||
pj_ks(pj, "description", lp->desc);
|
||||
pj_ks(pj, "name", name);
|
||||
pj_ks(pj, "description", description);
|
||||
pj_ks(pj, "license", license);
|
||||
pj_end(pj);
|
||||
break;
|
||||
}
|
||||
case RZ_OUTPUT_MODE_STANDARD: {
|
||||
rz_cons_printf("%s: %s (%s)\n",
|
||||
lp->name, lp->desc, license);
|
||||
case RZ_OUTPUT_MODE_STANDARD:
|
||||
rz_cons_printf("%s: %s (%s)\n", name, description, license);
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
case RZ_OUTPUT_MODE_QUIET:
|
||||
rz_cons_println(name);
|
||||
break;
|
||||
default:
|
||||
rz_warn_if_reached();
|
||||
return RZ_CMD_STATUS_NONEXISTINGCMD;
|
||||
}
|
||||
}
|
||||
return RZ_CMD_STATUS_OK;
|
||||
}
|
||||
|
||||
|
|
@ -38,8 +41,9 @@ RZ_API RzCmdStatus rz_core_lang_plugins_print(RzLang *lang, RzCmdStateOutput *st
|
|||
return RZ_CMD_STATUS_ERROR;
|
||||
}
|
||||
rz_cmd_state_output_array_start(state);
|
||||
rz_cmd_state_output_set_columnsf(state, "sss", "name", "description", "license");
|
||||
rz_list_foreach (lang->langs, iter, lp) {
|
||||
status = rz_core_lang_plugin_print(lp, state);
|
||||
status = core_lang_plugin_print(lp, state);
|
||||
if (status != RZ_CMD_STATUS_OK) {
|
||||
return status;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5499,7 +5499,7 @@ RZ_IPI RzCmdStatus rz_list_mne_handler(RzCore *core, int argc, const char **argv
|
|||
}
|
||||
|
||||
RZ_IPI RzCmdStatus rz_list_plugins_handler(RzCore *core, int argc, const char **argv, RzCmdStateOutput *state) {
|
||||
return rz_core_asm_plugins_print(core, NULL, state, NULL);
|
||||
return rz_core_asm_plugins_print(core, state, NULL);
|
||||
}
|
||||
|
||||
RZ_IPI RzCmdStatus rz_list_cpu_details_handler(RzCore *core, int argc, const char **argv) {
|
||||
|
|
|
|||
|
|
@ -412,6 +412,9 @@ RZ_API RzCmdDesc *rz_cmd_get_desc(RzCmd *cmd, const char *cmd_identifier) {
|
|||
* Command descriptors that support multiple output modes can also have a
|
||||
* default one. This function can be used to set it.
|
||||
*
|
||||
* It's not possible to add a default mode when RZ_OUTPUT_MODE_STANDARD is
|
||||
* defined because it doesn't have a letter assigned unlike the other outputs.
|
||||
*
|
||||
* \return True if the default output mode was changed, false otherwise.
|
||||
*/
|
||||
RZ_API bool rz_cmd_desc_set_default_mode(RzCmdDesc *cd, RzOutputMode mode) {
|
||||
|
|
|
|||
|
|
@ -534,6 +534,9 @@ static bool print_demangler_info(const RzDemanglerPlugin *plugin, RzDemanglerFla
|
|||
pj_ks(state->d.pj, "author", plugin->author);
|
||||
pj_end(state->d.pj);
|
||||
break;
|
||||
case RZ_OUTPUT_MODE_STANDARD:
|
||||
rz_cons_printf("%-8s %-12s %s\n", plugin->language, plugin->license, plugin->author);
|
||||
break;
|
||||
case RZ_OUTPUT_MODE_TABLE:
|
||||
rz_table_add_rowf(state->d.t, "sss", plugin->language, plugin->license, plugin->author);
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -19,9 +19,13 @@ RZ_IPI RzCmdStatus rz_plugins_lang_print_handler(RzCore *core, int argc, const c
|
|||
|
||||
RZ_IPI RzCmdStatus rz_plugins_asm_print_handler(RzCore *core, int argc, const char **argv, RzCmdStateOutput *state) {
|
||||
if (argc > 1) {
|
||||
return rz_core_asm_plugins_print(core, NULL, state, argv[1]);
|
||||
return rz_core_asm_plugins_print(core, state, argv[1]);
|
||||
}
|
||||
return rz_core_asm_plugins_print(core, NULL, state, NULL);
|
||||
return rz_core_asm_plugins_print(core, state, NULL);
|
||||
}
|
||||
|
||||
RZ_IPI RzCmdStatus rz_plugins_asm_cpu_print_handler(RzCore *core, int argc, const char **argv, RzCmdStateOutput *state) {
|
||||
return rz_core_asm_cpu_plugin_print(core, state, argv[1]);
|
||||
}
|
||||
|
||||
RZ_IPI RzCmdStatus rz_plugins_core_print_handler(RzCore *core, int argc, const char **argv, RzCmdStateOutput *state) {
|
||||
|
|
|
|||
|
|
@ -2363,7 +2363,6 @@ commands:
|
|||
summary: List syscalls
|
||||
cname: analysis_syscall_print
|
||||
type: RZ_CMD_DESC_TYPE_ARGV_STATE
|
||||
default_mode: RZ_OUTPUT_MODE_STANDARD
|
||||
modes:
|
||||
- RZ_OUTPUT_MODE_STANDARD
|
||||
- RZ_OUTPUT_MODE_JSON
|
||||
|
|
|
|||
|
|
@ -356,7 +356,6 @@ commands:
|
|||
cname: cmd_debug_descriptor_list
|
||||
args: []
|
||||
type: RZ_CMD_DESC_TYPE_ARGV_STATE
|
||||
default_mode: RZ_OUTPUT_MODE_STANDARD
|
||||
modes:
|
||||
- RZ_OUTPUT_MODE_STANDARD
|
||||
- RZ_OUTPUT_MODE_JSON
|
||||
|
|
@ -704,7 +703,6 @@ commands:
|
|||
- RZ_OUTPUT_MODE_RIZIN
|
||||
- RZ_OUTPUT_MODE_JSON
|
||||
- RZ_OUTPUT_MODE_QUIET
|
||||
default_mode: RZ_OUTPUT_MODE_STANDARD
|
||||
args: []
|
||||
- name: dk
|
||||
summary: Debug signals management
|
||||
|
|
@ -724,7 +722,6 @@ commands:
|
|||
- RZ_OUTPUT_MODE_JSON
|
||||
- RZ_OUTPUT_MODE_QUIET
|
||||
- RZ_OUTPUT_MODE_TABLE
|
||||
default_mode: RZ_OUTPUT_MODE_STANDARD
|
||||
args: []
|
||||
- name: dkn
|
||||
summary: Resolve the name of signal given the number
|
||||
|
|
@ -774,7 +771,6 @@ commands:
|
|||
- RZ_OUTPUT_MODE_STANDARD
|
||||
- RZ_OUTPUT_MODE_JSON
|
||||
- RZ_OUTPUT_MODE_QUIET
|
||||
default_mode: RZ_OUTPUT_MODE_STANDARD
|
||||
args: []
|
||||
- name: dm
|
||||
summary: Memory map commands
|
||||
|
|
@ -986,7 +982,6 @@ commands:
|
|||
summary: List current pid and children
|
||||
cname: cmd_debug_pid_list
|
||||
type: RZ_CMD_DESC_TYPE_ARGV_STATE
|
||||
default_mode: RZ_OUTPUT_MODE_STANDARD
|
||||
modes:
|
||||
- RZ_OUTPUT_MODE_STANDARD
|
||||
- RZ_OUTPUT_MODE_JSON
|
||||
|
|
@ -999,7 +994,6 @@ commands:
|
|||
summary: List all attachable pids
|
||||
cname: cmd_debug_pid_attachable_list
|
||||
type: RZ_CMD_DESC_TYPE_ARGV_STATE
|
||||
default_mode: RZ_OUTPUT_MODE_STANDARD
|
||||
modes:
|
||||
- RZ_OUTPUT_MODE_STANDARD
|
||||
- RZ_OUTPUT_MODE_JSON
|
||||
|
|
@ -1057,7 +1051,6 @@ commands:
|
|||
summary: List threads of specified or current <pid>
|
||||
cname: cmd_debug_thread_list
|
||||
type: RZ_CMD_DESC_TYPE_ARGV_STATE
|
||||
default_mode: RZ_OUTPUT_MODE_STANDARD
|
||||
modes:
|
||||
- RZ_OUTPUT_MODE_STANDARD
|
||||
- RZ_OUTPUT_MODE_JSON
|
||||
|
|
|
|||
|
|
@ -615,6 +615,7 @@ static const RzCmdDescArg sdb_namespace_load_args[3];
|
|||
static const RzCmdDescArg plugins_load_args[2];
|
||||
static const RzCmdDescArg plugins_unload_args[2];
|
||||
static const RzCmdDescArg plugins_asm_print_args[2];
|
||||
static const RzCmdDescArg plugins_asm_cpu_print_args[2];
|
||||
static const RzCmdDescArg plugins_debug_print_args[2];
|
||||
static const RzCmdDescArg plugins_io_print_args[2];
|
||||
static const RzCmdDescArg open_args[4];
|
||||
|
|
@ -13338,6 +13339,9 @@ static const RzCmdDescHelp plugins_lang_print_help = {
|
|||
.args = plugins_lang_print_args,
|
||||
};
|
||||
|
||||
static const RzCmdDescHelp La_help = {
|
||||
.summary = "List the asm/analysis plugins",
|
||||
};
|
||||
static const RzCmdDescDetailEntry plugins_asm_print_Legend_detail_entries[] = {
|
||||
{ .text = "a", .arg_str = NULL, .comment = "Analysis plugin" },
|
||||
{ .text = "d", .arg_str = NULL, .comment = "Disassembler plugin" },
|
||||
|
|
@ -13361,11 +13365,25 @@ static const RzCmdDescArg plugins_asm_print_args[] = {
|
|||
{ 0 },
|
||||
};
|
||||
static const RzCmdDescHelp plugins_asm_print_help = {
|
||||
.summary = "List the asm/analysis plugins",
|
||||
.summary = "List the arch plugins",
|
||||
.details = plugins_asm_print_details,
|
||||
.args = plugins_asm_print_args,
|
||||
};
|
||||
|
||||
static const RzCmdDescArg plugins_asm_cpu_print_args[] = {
|
||||
{
|
||||
.name = "architecture",
|
||||
.type = RZ_CMD_ARG_TYPE_STRING,
|
||||
.flags = RZ_CMD_ARG_FLAG_LAST,
|
||||
|
||||
},
|
||||
{ 0 },
|
||||
};
|
||||
static const RzCmdDescHelp plugins_asm_cpu_print_help = {
|
||||
.summary = "List the cpus supported by the arch plugin",
|
||||
.args = plugins_asm_cpu_print_args,
|
||||
};
|
||||
|
||||
static const RzCmdDescArg plugins_core_print_args[] = {
|
||||
{ 0 },
|
||||
};
|
||||
|
|
@ -21093,7 +21111,6 @@ RZ_IPI void rzshell_cmddescs_init(RzCore *core) {
|
|||
rz_warn_if_fail(slash__cd);
|
||||
RzCmdDesc *cmd_search_str_chunk_cd = rz_cmd_desc_argv_modes_new(core->rcmd, slash__cd, "/+", RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_JSON | RZ_OUTPUT_MODE_QUIET | RZ_OUTPUT_MODE_TABLE, rz_cmd_search_str_chunk_handler, &cmd_search_str_chunk_help);
|
||||
rz_warn_if_fail(cmd_search_str_chunk_cd);
|
||||
rz_cmd_desc_set_default_mode(cmd_search_str_chunk_cd, RZ_OUTPUT_MODE_STANDARD);
|
||||
|
||||
RzCmdDesc *slash_a_cd = rz_cmd_desc_group_state_new(core->rcmd, slash__cd, "/a", RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_JSON | RZ_OUTPUT_MODE_QUIET | RZ_OUTPUT_MODE_TABLE, rz_cmd_search_assemble_handler, &cmd_search_assemble_help, &slash_a_help);
|
||||
rz_warn_if_fail(slash_a_cd);
|
||||
|
|
@ -21155,54 +21172,41 @@ RZ_IPI void rzshell_cmddescs_init(RzCore *core) {
|
|||
|
||||
RzCmdDesc *cmd_search_hash_block_cd = rz_cmd_desc_argv_state_new(core->rcmd, slash_c_cd, "/ch", RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_JSON | RZ_OUTPUT_MODE_QUIET | RZ_OUTPUT_MODE_TABLE, rz_cmd_search_hash_block_handler, &cmd_search_hash_block_help);
|
||||
rz_warn_if_fail(cmd_search_hash_block_cd);
|
||||
rz_cmd_desc_set_default_mode(cmd_search_hash_block_cd, RZ_OUTPUT_MODE_STANDARD);
|
||||
|
||||
RzCmdDesc *cmd_search_hash_entropy_cd = rz_cmd_desc_argv_state_new(core->rcmd, slash_c_cd, "/ce", RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_JSON | RZ_OUTPUT_MODE_QUIET | RZ_OUTPUT_MODE_TABLE, rz_cmd_search_hash_entropy_handler, &cmd_search_hash_entropy_help);
|
||||
rz_warn_if_fail(cmd_search_hash_entropy_cd);
|
||||
rz_cmd_desc_set_default_mode(cmd_search_hash_entropy_cd, RZ_OUTPUT_MODE_STANDARD);
|
||||
|
||||
RzCmdDesc *cmd_search_hash_entropy_fractional_cd = rz_cmd_desc_argv_state_new(core->rcmd, slash_c_cd, "/cef", RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_JSON | RZ_OUTPUT_MODE_QUIET | RZ_OUTPUT_MODE_TABLE, rz_cmd_search_hash_entropy_fractional_handler, &cmd_search_hash_entropy_fractional_help);
|
||||
rz_warn_if_fail(cmd_search_hash_entropy_fractional_cd);
|
||||
rz_cmd_desc_set_default_mode(cmd_search_hash_entropy_fractional_cd, RZ_OUTPUT_MODE_STANDARD);
|
||||
|
||||
RzCmdDesc *cmd_search_cryptographic_material_cd = rz_cmd_desc_argv_state_new(core->rcmd, slash_c_cd, "/cm", RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_JSON | RZ_OUTPUT_MODE_QUIET | RZ_OUTPUT_MODE_TABLE, rz_cmd_search_cryptographic_material_handler, &cmd_search_cryptographic_material_help);
|
||||
rz_warn_if_fail(cmd_search_cryptographic_material_cd);
|
||||
rz_cmd_desc_set_default_mode(cmd_search_cryptographic_material_cd, RZ_OUTPUT_MODE_STANDARD);
|
||||
|
||||
RzCmdDesc *cmd_search_deltified_cd = rz_cmd_desc_argv_modes_new(core->rcmd, slash__cd, "/d", RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_JSON | RZ_OUTPUT_MODE_QUIET | RZ_OUTPUT_MODE_TABLE, rz_cmd_search_deltified_handler, &cmd_search_deltified_help);
|
||||
rz_warn_if_fail(cmd_search_deltified_cd);
|
||||
rz_cmd_desc_set_default_mode(cmd_search_deltified_cd, RZ_OUTPUT_MODE_STANDARD);
|
||||
|
||||
RzCmdDesc *cmd_search_file_cd = rz_cmd_desc_argv_state_new(core->rcmd, slash__cd, "/F", RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_JSON | RZ_OUTPUT_MODE_QUIET | RZ_OUTPUT_MODE_TABLE, rz_cmd_search_file_handler, &cmd_search_file_help);
|
||||
rz_warn_if_fail(cmd_search_file_cd);
|
||||
rz_cmd_desc_set_default_mode(cmd_search_file_cd, RZ_OUTPUT_MODE_STANDARD);
|
||||
|
||||
RzCmdDesc *cmd_search_insn_offset_backwards_cd = rz_cmd_desc_argv_modes_new(core->rcmd, slash__cd, "/o", RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_JSON, rz_cmd_search_insn_offset_backwards_handler, &cmd_search_insn_offset_backwards_help);
|
||||
rz_warn_if_fail(cmd_search_insn_offset_backwards_cd);
|
||||
rz_cmd_desc_set_default_mode(cmd_search_insn_offset_backwards_cd, RZ_OUTPUT_MODE_STANDARD);
|
||||
|
||||
RzCmdDesc *cmd_search_insn_offset_backwards_fallback_cd = rz_cmd_desc_argv_modes_new(core->rcmd, slash__cd, "/O", RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_JSON, rz_cmd_search_insn_offset_backwards_fallback_handler, &cmd_search_insn_offset_backwards_fallback_help);
|
||||
rz_warn_if_fail(cmd_search_insn_offset_backwards_fallback_cd);
|
||||
rz_cmd_desc_set_default_mode(cmd_search_insn_offset_backwards_fallback_cd, RZ_OUTPUT_MODE_STANDARD);
|
||||
|
||||
RzCmdDesc *cmd_search_pattern_cd = rz_cmd_desc_argv_state_new(core->rcmd, slash__cd, "/p", RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_JSON | RZ_OUTPUT_MODE_QUIET | RZ_OUTPUT_MODE_TABLE, rz_cmd_search_pattern_handler, &cmd_search_pattern_help);
|
||||
rz_warn_if_fail(cmd_search_pattern_cd);
|
||||
rz_cmd_desc_set_default_mode(cmd_search_pattern_cd, RZ_OUTPUT_MODE_STANDARD);
|
||||
|
||||
RzCmdDesc *cmd_search_blocks_cd = rz_cmd_desc_argv_state_new(core->rcmd, slash__cd, "/P", RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_JSON | RZ_OUTPUT_MODE_QUIET | RZ_OUTPUT_MODE_TABLE, rz_cmd_search_blocks_handler, &cmd_search_blocks_help);
|
||||
rz_warn_if_fail(cmd_search_blocks_cd);
|
||||
rz_cmd_desc_set_default_mode(cmd_search_blocks_cd, RZ_OUTPUT_MODE_STANDARD);
|
||||
|
||||
RzCmdDesc *slash_g_cd = rz_cmd_desc_group_state_new(core->rcmd, slash__cd, "/g", RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_JSON, rz_cmd_search_graph_path_handler, &cmd_search_graph_path_help, &slash_g_help);
|
||||
rz_warn_if_fail(slash_g_cd);
|
||||
rz_cmd_desc_set_default_mode(slash_g_cd, RZ_OUTPUT_MODE_STANDARD);
|
||||
RzCmdDesc *cmd_search_graph_path_follow_calls_cd = rz_cmd_desc_argv_state_new(core->rcmd, slash_g_cd, "/gg", RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_JSON, rz_cmd_search_graph_path_follow_calls_handler, &cmd_search_graph_path_follow_calls_help);
|
||||
rz_warn_if_fail(cmd_search_graph_path_follow_calls_cd);
|
||||
rz_cmd_desc_set_default_mode(cmd_search_graph_path_follow_calls_cd, RZ_OUTPUT_MODE_STANDARD);
|
||||
|
||||
RzCmdDesc *slash_m_cd = rz_cmd_desc_group_state_new(core->rcmd, slash__cd, "/m", RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_JSON | RZ_OUTPUT_MODE_QUIET | RZ_OUTPUT_MODE_TABLE, rz_cmd_search_magic_const_handler, &cmd_search_magic_const_help, &slash_m_help);
|
||||
rz_warn_if_fail(slash_m_cd);
|
||||
rz_cmd_desc_set_default_mode(slash_m_cd, RZ_OUTPUT_MODE_STANDARD);
|
||||
RzCmdDesc *cmd_search_magic_bin_headers_cd = rz_cmd_desc_argv_new(core->rcmd, slash_m_cd, "/mb", rz_cmd_search_magic_bin_headers_handler, &cmd_search_magic_bin_headers_help);
|
||||
rz_warn_if_fail(cmd_search_magic_bin_headers_cd);
|
||||
|
||||
|
|
@ -21228,64 +21232,48 @@ RZ_IPI void rzshell_cmddescs_init(RzCore *core) {
|
|||
|
||||
RzCmdDesc *slash_R_cd = rz_cmd_desc_group_state_new(core->rcmd, slash__cd, "/R", RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_JSON | RZ_OUTPUT_MODE_QUIET | RZ_OUTPUT_MODE_TABLE, rz_cmd_info_gadget_handler, &cmd_info_gadget_help, &slash_R_help);
|
||||
rz_warn_if_fail(slash_R_cd);
|
||||
rz_cmd_desc_set_default_mode(slash_R_cd, RZ_OUTPUT_MODE_STANDARD);
|
||||
RzCmdDesc *cmd_search_gadget_cd = rz_cmd_desc_argv_state_new(core->rcmd, slash_R_cd, "/R/", RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_JSON | RZ_OUTPUT_MODE_QUIET | RZ_OUTPUT_MODE_TABLE, rz_cmd_search_gadget_handler, &cmd_search_gadget_help);
|
||||
rz_warn_if_fail(cmd_search_gadget_cd);
|
||||
rz_cmd_desc_set_default_mode(cmd_search_gadget_cd, RZ_OUTPUT_MODE_STANDARD);
|
||||
|
||||
RzCmdDesc *cmd_query_gadget_cd = rz_cmd_desc_argv_state_new(core->rcmd, slash_R_cd, "/Rk", RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_JSON | RZ_OUTPUT_MODE_QUIET | RZ_OUTPUT_MODE_TABLE, rz_cmd_query_gadget_handler, &cmd_query_gadget_help);
|
||||
rz_warn_if_fail(cmd_query_gadget_cd);
|
||||
rz_cmd_desc_set_default_mode(cmd_query_gadget_cd, RZ_OUTPUT_MODE_STANDARD);
|
||||
|
||||
RzCmdDesc *cmd_detail_gadget_cd = rz_cmd_desc_argv_state_new(core->rcmd, slash_R_cd, "/Rg", RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_JSON, rz_cmd_detail_gadget_handler, &cmd_detail_gadget_help);
|
||||
rz_warn_if_fail(cmd_detail_gadget_cd);
|
||||
rz_cmd_desc_set_default_mode(cmd_detail_gadget_cd, RZ_OUTPUT_MODE_STANDARD);
|
||||
|
||||
RzCmdDesc *slash_v_cd = rz_cmd_desc_group_state_new(core->rcmd, slash__cd, "/v", RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_JSON | RZ_OUTPUT_MODE_QUIET | RZ_OUTPUT_MODE_TABLE, rz_cmd_search_value_handler, &cmd_search_value_help, &slash_v_help);
|
||||
rz_warn_if_fail(slash_v_cd);
|
||||
rz_cmd_desc_set_default_mode(slash_v_cd, RZ_OUTPUT_MODE_STANDARD);
|
||||
RzCmdDesc *cmd_search_value_alias_v1_cd = rz_cmd_desc_argv_state_new(core->rcmd, slash_v_cd, "/v1", RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_JSON | RZ_OUTPUT_MODE_QUIET | RZ_OUTPUT_MODE_TABLE, rz_cmd_search_value_alias_v1_handler, &cmd_search_value_alias_v1_help);
|
||||
rz_warn_if_fail(cmd_search_value_alias_v1_cd);
|
||||
rz_cmd_desc_set_default_mode(cmd_search_value_alias_v1_cd, RZ_OUTPUT_MODE_STANDARD);
|
||||
|
||||
RzCmdDesc *cmd_search_value_alias_v2_cd = rz_cmd_desc_argv_state_new(core->rcmd, slash_v_cd, "/v2", RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_JSON | RZ_OUTPUT_MODE_QUIET | RZ_OUTPUT_MODE_TABLE, rz_cmd_search_value_alias_v2_handler, &cmd_search_value_alias_v2_help);
|
||||
rz_warn_if_fail(cmd_search_value_alias_v2_cd);
|
||||
rz_cmd_desc_set_default_mode(cmd_search_value_alias_v2_cd, RZ_OUTPUT_MODE_STANDARD);
|
||||
|
||||
RzCmdDesc *cmd_search_value_alias_v4_cd = rz_cmd_desc_argv_state_new(core->rcmd, slash_v_cd, "/v4", RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_JSON | RZ_OUTPUT_MODE_QUIET | RZ_OUTPUT_MODE_TABLE, rz_cmd_search_value_alias_v4_handler, &cmd_search_value_alias_v4_help);
|
||||
rz_warn_if_fail(cmd_search_value_alias_v4_cd);
|
||||
rz_cmd_desc_set_default_mode(cmd_search_value_alias_v4_cd, RZ_OUTPUT_MODE_STANDARD);
|
||||
|
||||
RzCmdDesc *cmd_search_value_alias_v8_cd = rz_cmd_desc_argv_state_new(core->rcmd, slash_v_cd, "/v8", RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_JSON | RZ_OUTPUT_MODE_QUIET | RZ_OUTPUT_MODE_TABLE, rz_cmd_search_value_alias_v8_handler, &cmd_search_value_alias_v8_help);
|
||||
rz_warn_if_fail(cmd_search_value_alias_v8_cd);
|
||||
rz_cmd_desc_set_default_mode(cmd_search_value_alias_v8_cd, RZ_OUTPUT_MODE_STANDARD);
|
||||
|
||||
RzCmdDesc *cmd_search_value_alias_v1_range_cd = rz_cmd_desc_argv_state_new(core->rcmd, slash_v_cd, "/V1", RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_JSON | RZ_OUTPUT_MODE_QUIET | RZ_OUTPUT_MODE_TABLE, rz_cmd_search_value_alias_v1_range_handler, &cmd_search_value_alias_v1_range_help);
|
||||
rz_warn_if_fail(cmd_search_value_alias_v1_range_cd);
|
||||
rz_cmd_desc_set_default_mode(cmd_search_value_alias_v1_range_cd, RZ_OUTPUT_MODE_STANDARD);
|
||||
|
||||
RzCmdDesc *cmd_search_value_alias_v2_range_cd = rz_cmd_desc_argv_state_new(core->rcmd, slash_v_cd, "/V2", RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_JSON | RZ_OUTPUT_MODE_QUIET | RZ_OUTPUT_MODE_TABLE, rz_cmd_search_value_alias_v2_range_handler, &cmd_search_value_alias_v2_range_help);
|
||||
rz_warn_if_fail(cmd_search_value_alias_v2_range_cd);
|
||||
rz_cmd_desc_set_default_mode(cmd_search_value_alias_v2_range_cd, RZ_OUTPUT_MODE_STANDARD);
|
||||
|
||||
RzCmdDesc *cmd_search_value_alias_v4_range_cd = rz_cmd_desc_argv_state_new(core->rcmd, slash_v_cd, "/V4", RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_JSON | RZ_OUTPUT_MODE_QUIET | RZ_OUTPUT_MODE_TABLE, rz_cmd_search_value_alias_v4_range_handler, &cmd_search_value_alias_v4_range_help);
|
||||
rz_warn_if_fail(cmd_search_value_alias_v4_range_cd);
|
||||
rz_cmd_desc_set_default_mode(cmd_search_value_alias_v4_range_cd, RZ_OUTPUT_MODE_STANDARD);
|
||||
|
||||
RzCmdDesc *cmd_search_value_alias_v8_range_cd = rz_cmd_desc_argv_state_new(core->rcmd, slash_v_cd, "/V8", RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_JSON | RZ_OUTPUT_MODE_QUIET | RZ_OUTPUT_MODE_TABLE, rz_cmd_search_value_alias_v8_range_handler, &cmd_search_value_alias_v8_range_help);
|
||||
rz_warn_if_fail(cmd_search_value_alias_v8_range_cd);
|
||||
rz_cmd_desc_set_default_mode(cmd_search_value_alias_v8_range_cd, RZ_OUTPUT_MODE_STANDARD);
|
||||
|
||||
RzCmdDesc *slash_x_cd = rz_cmd_desc_group_state_new(core->rcmd, slash__cd, "/x", RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_JSON | RZ_OUTPUT_MODE_QUIET | RZ_OUTPUT_MODE_TABLE, rz_cmd_search_hex_handler, &cmd_search_hex_help, &slash_x_help);
|
||||
rz_warn_if_fail(slash_x_cd);
|
||||
rz_cmd_desc_set_default_mode(slash_x_cd, RZ_OUTPUT_MODE_STANDARD);
|
||||
RzCmdDesc *cmd_search_hex_regex_cd = rz_cmd_desc_argv_state_new(core->rcmd, slash_x_cd, "/xr", RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_JSON | RZ_OUTPUT_MODE_QUIET | RZ_OUTPUT_MODE_TABLE, rz_cmd_search_hex_regex_handler, &cmd_search_hex_regex_help);
|
||||
rz_warn_if_fail(cmd_search_hex_regex_cd);
|
||||
rz_cmd_desc_set_default_mode(cmd_search_hex_regex_cd, RZ_OUTPUT_MODE_STANDARD);
|
||||
|
||||
RzCmdDesc *slash_z_cd = rz_cmd_desc_group_state_new(core->rcmd, slash__cd, "/z", RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_JSON | RZ_OUTPUT_MODE_QUIET | RZ_OUTPUT_MODE_TABLE, rz_cmd_search_string_sensitive_handler, &cmd_search_string_sensitive_help, &slash_z_help);
|
||||
rz_warn_if_fail(slash_z_cd);
|
||||
rz_cmd_desc_set_default_mode(slash_z_cd, RZ_OUTPUT_MODE_STANDARD);
|
||||
|
||||
RzCmdDesc *R_cd = rz_cmd_desc_group_new(core->rcmd, root_cd, "R", rz_remote_handler, &remote_help, &R_help);
|
||||
rz_warn_if_fail(R_cd);
|
||||
|
|
@ -21357,7 +21345,6 @@ RZ_IPI void rzshell_cmddescs_init(RzCore *core) {
|
|||
|
||||
RzCmdDesc *print_boundaries_prot_cd = rz_cmd_desc_argv_state_new(core->rcmd, cmd_math_cd, "%B", RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_JSON | RZ_OUTPUT_MODE_TABLE, rz_print_boundaries_prot_handler, &print_boundaries_prot_help);
|
||||
rz_warn_if_fail(print_boundaries_prot_cd);
|
||||
rz_cmd_desc_set_default_mode(print_boundaries_prot_cd, RZ_OUTPUT_MODE_TABLE);
|
||||
|
||||
RzCmdDesc *print_djb2_hash_cd = rz_cmd_desc_argv_new(core->rcmd, cmd_math_cd, "%h", rz_print_djb2_hash_handler, &print_djb2_hash_help);
|
||||
rz_warn_if_fail(print_djb2_hash_cd);
|
||||
|
|
@ -22303,7 +22290,6 @@ RZ_IPI void rzshell_cmddescs_init(RzCore *core) {
|
|||
rz_warn_if_fail(as_cd);
|
||||
RzCmdDesc *analysis_syscall_print_cd = rz_cmd_desc_argv_state_new(core->rcmd, as_cd, "asl", RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_JSON, rz_analysis_syscall_print_handler, &analysis_syscall_print_help);
|
||||
rz_warn_if_fail(analysis_syscall_print_cd);
|
||||
rz_cmd_desc_set_default_mode(analysis_syscall_print_cd, RZ_OUTPUT_MODE_STANDARD);
|
||||
|
||||
RzCmdDesc *analysis_syscall_dump_assembly_cd = rz_cmd_desc_argv_new(core->rcmd, as_cd, "asca", rz_analysis_syscall_dump_assembly_handler, &analysis_syscall_dump_assembly_help);
|
||||
rz_warn_if_fail(analysis_syscall_dump_assembly_cd);
|
||||
|
|
@ -22757,7 +22743,6 @@ RZ_IPI void rzshell_cmddescs_init(RzCore *core) {
|
|||
|
||||
RzCmdDesc *cmd_debug_descriptor_list_cd = rz_cmd_desc_argv_state_new(core->rcmd, dd_cd, "ddl", RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_JSON | RZ_OUTPUT_MODE_TABLE, rz_cmd_debug_descriptor_list_handler, &cmd_debug_descriptor_list_help);
|
||||
rz_warn_if_fail(cmd_debug_descriptor_list_cd);
|
||||
rz_cmd_desc_set_default_mode(cmd_debug_descriptor_list_cd, RZ_OUTPUT_MODE_STANDARD);
|
||||
|
||||
RzCmdDesc *cmd_debug_descriptor_seek_cd = rz_cmd_desc_argv_new(core->rcmd, dd_cd, "dds", rz_cmd_debug_descriptor_seek_handler, &cmd_debug_descriptor_seek_help);
|
||||
rz_warn_if_fail(cmd_debug_descriptor_seek_cd);
|
||||
|
|
@ -22900,13 +22885,11 @@ RZ_IPI void rzshell_cmddescs_init(RzCore *core) {
|
|||
|
||||
RzCmdDesc *debug_info_cd = rz_cmd_desc_argv_state_new(core->rcmd, d_cd, "di", RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_RIZIN | RZ_OUTPUT_MODE_JSON | RZ_OUTPUT_MODE_QUIET, rz_debug_info_handler, &debug_info_help);
|
||||
rz_warn_if_fail(debug_info_cd);
|
||||
rz_cmd_desc_set_default_mode(debug_info_cd, RZ_OUTPUT_MODE_STANDARD);
|
||||
|
||||
RzCmdDesc *dk_cd = rz_cmd_desc_group_new(core->rcmd, d_cd, "dk", rz_cmd_debug_signal_handler, &cmd_debug_signal_help, &dk_help);
|
||||
rz_warn_if_fail(dk_cd);
|
||||
RzCmdDesc *cmd_debug_signal_list_cd = rz_cmd_desc_argv_state_new(core->rcmd, dk_cd, "dkl", RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_JSON | RZ_OUTPUT_MODE_QUIET | RZ_OUTPUT_MODE_TABLE, rz_cmd_debug_signal_list_handler, &cmd_debug_signal_list_help);
|
||||
rz_warn_if_fail(cmd_debug_signal_list_cd);
|
||||
rz_cmd_desc_set_default_mode(cmd_debug_signal_list_cd, RZ_OUTPUT_MODE_STANDARD);
|
||||
|
||||
RzCmdDesc *cmd_debug_signal_name_cd = rz_cmd_desc_argv_new(core->rcmd, dk_cd, "dkn", rz_cmd_debug_signal_name_handler, &cmd_debug_signal_name_help);
|
||||
rz_warn_if_fail(cmd_debug_signal_name_cd);
|
||||
|
|
@ -22921,7 +22904,6 @@ RZ_IPI void rzshell_cmddescs_init(RzCore *core) {
|
|||
rz_warn_if_fail(dl_cd);
|
||||
RzCmdDesc *cmd_debug_handler_list_cd = rz_cmd_desc_argv_state_new(core->rcmd, dl_cd, "dll", RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_JSON | RZ_OUTPUT_MODE_QUIET, rz_cmd_debug_handler_list_handler, &cmd_debug_handler_list_help);
|
||||
rz_warn_if_fail(cmd_debug_handler_list_cd);
|
||||
rz_cmd_desc_set_default_mode(cmd_debug_handler_list_cd, RZ_OUTPUT_MODE_STANDARD);
|
||||
|
||||
RzCmdDesc *dm_cd = rz_cmd_desc_group_state_new(core->rcmd, d_cd, "dm", RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_TABLE | RZ_OUTPUT_MODE_RIZIN | RZ_OUTPUT_MODE_JSON | RZ_OUTPUT_MODE_QUIET, rz_cmd_debug_list_maps_handler, &cmd_debug_list_maps_help, &dm_help);
|
||||
rz_warn_if_fail(dm_cd);
|
||||
|
|
@ -23020,10 +23002,8 @@ RZ_IPI void rzshell_cmddescs_init(RzCore *core) {
|
|||
|
||||
RzCmdDesc *dp_cd = rz_cmd_desc_group_state_new(core->rcmd, d_cd, "dp", RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_JSON | RZ_OUTPUT_MODE_TABLE, rz_cmd_debug_pid_list_handler, &cmd_debug_pid_list_help, &dp_help);
|
||||
rz_warn_if_fail(dp_cd);
|
||||
rz_cmd_desc_set_default_mode(dp_cd, RZ_OUTPUT_MODE_STANDARD);
|
||||
RzCmdDesc *cmd_debug_pid_attachable_list_cd = rz_cmd_desc_argv_state_new(core->rcmd, dp_cd, "dpl", RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_JSON | RZ_OUTPUT_MODE_TABLE, rz_cmd_debug_pid_attachable_list_handler, &cmd_debug_pid_attachable_list_help);
|
||||
rz_warn_if_fail(cmd_debug_pid_attachable_list_cd);
|
||||
rz_cmd_desc_set_default_mode(cmd_debug_pid_attachable_list_cd, RZ_OUTPUT_MODE_STANDARD);
|
||||
|
||||
RzCmdDesc *cmd_debug_pid_attach_cd = rz_cmd_desc_argv_new(core->rcmd, dp_cd, "dpa", rz_cmd_debug_pid_attach_handler, &cmd_debug_pid_attach_help);
|
||||
rz_warn_if_fail(cmd_debug_pid_attach_cd);
|
||||
|
|
@ -23051,7 +23031,6 @@ RZ_IPI void rzshell_cmddescs_init(RzCore *core) {
|
|||
|
||||
RzCmdDesc *cmd_debug_thread_list_cd = rz_cmd_desc_argv_state_new(core->rcmd, dp_cd, "dpT", RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_JSON | RZ_OUTPUT_MODE_TABLE, rz_cmd_debug_thread_list_handler, &cmd_debug_thread_list_help);
|
||||
rz_warn_if_fail(cmd_debug_thread_list_cd);
|
||||
rz_cmd_desc_set_default_mode(cmd_debug_thread_list_cd, RZ_OUTPUT_MODE_STANDARD);
|
||||
|
||||
RzCmdDesc *cmd_debug_pid_thread_select_cd = rz_cmd_desc_argv_new(core->rcmd, dp_cd, "dpt=", rz_cmd_debug_pid_thread_select_handler, &cmd_debug_pid_thread_select_help);
|
||||
rz_warn_if_fail(cmd_debug_pid_thread_select_cd);
|
||||
|
|
@ -23237,11 +23216,9 @@ RZ_IPI void rzshell_cmddescs_init(RzCore *core) {
|
|||
|
||||
RzCmdDesc *flag_local_list_cd = rz_cmd_desc_argv_state_new(core->rcmd, f_dot__cd, "f.l", RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_JSON | RZ_OUTPUT_MODE_QUIET, rz_flag_local_list_handler, &flag_local_list_help);
|
||||
rz_warn_if_fail(flag_local_list_cd);
|
||||
rz_cmd_desc_set_default_mode(flag_local_list_cd, RZ_OUTPUT_MODE_STANDARD);
|
||||
|
||||
RzCmdDesc *flag_local_list_all_cd = rz_cmd_desc_argv_state_new(core->rcmd, f_dot__cd, "f.l*", RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_JSON | RZ_OUTPUT_MODE_QUIET, rz_flag_local_list_all_handler, &flag_local_list_all_help);
|
||||
rz_warn_if_fail(flag_local_list_all_cd);
|
||||
rz_cmd_desc_set_default_mode(flag_local_list_all_cd, RZ_OUTPUT_MODE_STANDARD);
|
||||
|
||||
RzCmdDesc *flag_remove_cd = rz_cmd_desc_argv_new(core->rcmd, f_cd, "f-", rz_flag_remove_handler, &flag_remove_help);
|
||||
rz_warn_if_fail(flag_remove_cd);
|
||||
|
|
@ -23260,19 +23237,15 @@ RZ_IPI void rzshell_cmddescs_init(RzCore *core) {
|
|||
|
||||
RzCmdDesc *flag_graph_cd = rz_cmd_desc_argv_state_new(core->rcmd, f_cd, "fg", RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_RIZIN, rz_flag_graph_handler, &flag_graph_help);
|
||||
rz_warn_if_fail(flag_graph_cd);
|
||||
rz_cmd_desc_set_default_mode(flag_graph_cd, RZ_OUTPUT_MODE_STANDARD);
|
||||
|
||||
RzCmdDesc *flag_range_cd = rz_cmd_desc_argv_state_new(core->rcmd, f_cd, "fi", RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_RIZIN | RZ_OUTPUT_MODE_QUIET | RZ_OUTPUT_MODE_JSON | RZ_OUTPUT_MODE_TABLE, rz_flag_range_handler, &flag_range_help);
|
||||
rz_warn_if_fail(flag_range_cd);
|
||||
rz_cmd_desc_set_default_mode(flag_range_cd, RZ_OUTPUT_MODE_STANDARD);
|
||||
|
||||
RzCmdDesc *flag_list_cd = rz_cmd_desc_argv_state_new(core->rcmd, f_cd, "fl", RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_RIZIN | RZ_OUTPUT_MODE_QUIET | RZ_OUTPUT_MODE_JSON | RZ_OUTPUT_MODE_TABLE, rz_flag_list_handler, &flag_list_help);
|
||||
rz_warn_if_fail(flag_list_cd);
|
||||
rz_cmd_desc_set_default_mode(flag_list_cd, RZ_OUTPUT_MODE_STANDARD);
|
||||
|
||||
RzCmdDesc *flag_list_at_cd = rz_cmd_desc_argv_state_new(core->rcmd, f_cd, "fl.", RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_RIZIN | RZ_OUTPUT_MODE_QUIET | RZ_OUTPUT_MODE_JSON | RZ_OUTPUT_MODE_TABLE, rz_flag_list_at_handler, &flag_list_at_help);
|
||||
rz_warn_if_fail(flag_list_at_cd);
|
||||
rz_cmd_desc_set_default_mode(flag_list_at_cd, RZ_OUTPUT_MODE_STANDARD);
|
||||
|
||||
RzCmdDesc *flag_length_cd = rz_cmd_desc_argv_new(core->rcmd, f_cd, "fL", rz_flag_length_handler, &flag_length_help);
|
||||
rz_warn_if_fail(flag_length_cd);
|
||||
|
|
@ -23291,10 +23264,8 @@ RZ_IPI void rzshell_cmddescs_init(RzCore *core) {
|
|||
|
||||
RzCmdDesc *fd_cd = rz_cmd_desc_group_state_new(core->rcmd, f_cd, "fd", RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_TABLE | RZ_OUTPUT_MODE_JSON, rz_flag_describe_handler, &flag_describe_help, &fd_help);
|
||||
rz_warn_if_fail(fd_cd);
|
||||
rz_cmd_desc_set_default_mode(fd_cd, RZ_OUTPUT_MODE_STANDARD);
|
||||
RzCmdDesc *flag_describe_at_cd = rz_cmd_desc_argv_state_new(core->rcmd, fd_cd, "fd.", RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_TABLE | RZ_OUTPUT_MODE_JSON, rz_flag_describe_at_handler, &flag_describe_at_help);
|
||||
rz_warn_if_fail(flag_describe_at_cd);
|
||||
rz_cmd_desc_set_default_mode(flag_describe_at_cd, RZ_OUTPUT_MODE_STANDARD);
|
||||
|
||||
RzCmdDesc *flag_describe_closest_cd = rz_cmd_desc_argv_new(core->rcmd, fd_cd, "fdw", rz_flag_describe_closest_handler, &flag_describe_closest_help);
|
||||
rz_warn_if_fail(flag_describe_closest_cd);
|
||||
|
|
@ -23315,7 +23286,6 @@ RZ_IPI void rzshell_cmddescs_init(RzCore *core) {
|
|||
rz_warn_if_fail(fs_cd);
|
||||
RzCmdDesc *flag_space_list_cd = rz_cmd_desc_argv_state_new(core->rcmd, fs_cd, "fsl", RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_JSON | RZ_OUTPUT_MODE_QUIET, rz_flag_space_list_handler, &flag_space_list_help);
|
||||
rz_warn_if_fail(flag_space_list_cd);
|
||||
rz_cmd_desc_set_default_mode(flag_space_list_cd, RZ_OUTPUT_MODE_STANDARD);
|
||||
|
||||
RzCmdDesc *flag_space_remove_cd = rz_cmd_desc_argv_new(core->rcmd, fs_cd, "fs-", rz_flag_space_remove_handler, &flag_space_remove_help);
|
||||
rz_warn_if_fail(flag_space_remove_cd);
|
||||
|
|
@ -23339,13 +23309,11 @@ RZ_IPI void rzshell_cmddescs_init(RzCore *core) {
|
|||
|
||||
RzCmdDesc *flag_space_stack_list_cd = rz_cmd_desc_argv_state_new(core->rcmd, fss_cd, "fssl", RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_JSON, rz_flag_space_stack_list_handler, &flag_space_stack_list_help);
|
||||
rz_warn_if_fail(flag_space_stack_list_cd);
|
||||
rz_cmd_desc_set_default_mode(flag_space_stack_list_cd, RZ_OUTPUT_MODE_STANDARD);
|
||||
|
||||
RzCmdDesc *ft_cd = rz_cmd_desc_group_new(core->rcmd, f_cd, "ft", rz_flag_tag_add_handler, &flag_tag_add_help, &ft_help);
|
||||
rz_warn_if_fail(ft_cd);
|
||||
RzCmdDesc *flag_tag_list_cd = rz_cmd_desc_argv_state_new(core->rcmd, ft_cd, "ftl", RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_LONG | RZ_OUTPUT_MODE_JSON, rz_flag_tag_list_handler, &flag_tag_list_help);
|
||||
rz_warn_if_fail(flag_tag_list_cd);
|
||||
rz_cmd_desc_set_default_mode(flag_tag_list_cd, RZ_OUTPUT_MODE_STANDARD);
|
||||
|
||||
RzCmdDesc *flag_tag_search_cd = rz_cmd_desc_argv_new(core->rcmd, ft_cd, "ftn", rz_flag_tag_search_handler, &flag_tag_search_help);
|
||||
rz_warn_if_fail(flag_tag_search_cd);
|
||||
|
|
@ -23363,7 +23331,6 @@ RZ_IPI void rzshell_cmddescs_init(RzCore *core) {
|
|||
|
||||
RzCmdDesc *flag_zone_list_cd = rz_cmd_desc_argv_state_new(core->rcmd, fz_cd, "fzl", RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_JSON, rz_flag_zone_list_handler, &flag_zone_list_help);
|
||||
rz_warn_if_fail(flag_zone_list_cd);
|
||||
rz_cmd_desc_set_default_mode(flag_zone_list_cd, RZ_OUTPUT_MODE_STANDARD);
|
||||
|
||||
RzCmdDesc *flag_hexdump_cd = rz_cmd_desc_argv_new(core->rcmd, f_cd, "fx", rz_flag_hexdump_handler, &flag_hexdump_help);
|
||||
rz_warn_if_fail(flag_hexdump_cd);
|
||||
|
|
@ -23608,37 +23575,37 @@ RZ_IPI void rzshell_cmddescs_init(RzCore *core) {
|
|||
RzCmdDesc *plugins_unload_cd = rz_cmd_desc_argv_new(core->rcmd, L_cd, "L-", rz_plugins_unload_handler, &plugins_unload_help);
|
||||
rz_warn_if_fail(plugins_unload_cd);
|
||||
|
||||
RzCmdDesc *plugins_lang_print_cd = rz_cmd_desc_argv_state_new(core->rcmd, L_cd, "Ll", RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_JSON, rz_plugins_lang_print_handler, &plugins_lang_print_help);
|
||||
RzCmdDesc *plugins_lang_print_cd = rz_cmd_desc_argv_state_new(core->rcmd, L_cd, "Ll", RZ_OUTPUT_MODE_TABLE | RZ_OUTPUT_MODE_QUIET | RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_JSON, rz_plugins_lang_print_handler, &plugins_lang_print_help);
|
||||
rz_warn_if_fail(plugins_lang_print_cd);
|
||||
|
||||
RzCmdDesc *plugins_asm_print_cd = rz_cmd_desc_argv_state_new(core->rcmd, L_cd, "La", RZ_OUTPUT_MODE_QUIET | RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_JSON, rz_plugins_asm_print_handler, &plugins_asm_print_help);
|
||||
rz_warn_if_fail(plugins_asm_print_cd);
|
||||
RzCmdDesc *La_cd = rz_cmd_desc_group_state_new(core->rcmd, L_cd, "La", RZ_OUTPUT_MODE_TABLE | RZ_OUTPUT_MODE_QUIET | RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_JSON, rz_plugins_asm_print_handler, &plugins_asm_print_help, &La_help);
|
||||
rz_warn_if_fail(La_cd);
|
||||
RzCmdDesc *plugins_asm_cpu_print_cd = rz_cmd_desc_argv_state_new(core->rcmd, La_cd, "Lac", RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_JSON, rz_plugins_asm_cpu_print_handler, &plugins_asm_cpu_print_help);
|
||||
rz_warn_if_fail(plugins_asm_cpu_print_cd);
|
||||
|
||||
RzCmdDesc *plugins_core_print_cd = rz_cmd_desc_argv_state_new(core->rcmd, L_cd, "Lc", RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_JSON, rz_plugins_core_print_handler, &plugins_core_print_help);
|
||||
RzCmdDesc *plugins_core_print_cd = rz_cmd_desc_argv_state_new(core->rcmd, L_cd, "Lc", RZ_OUTPUT_MODE_TABLE | RZ_OUTPUT_MODE_QUIET | RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_JSON, rz_plugins_core_print_handler, &plugins_core_print_help);
|
||||
rz_warn_if_fail(plugins_core_print_cd);
|
||||
|
||||
RzCmdDesc *plugins_crypto_print_cd = rz_cmd_desc_argv_state_new(core->rcmd, L_cd, "LC", RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_JSON, rz_plugins_crypto_print_handler, &plugins_crypto_print_help);
|
||||
RzCmdDesc *plugins_crypto_print_cd = rz_cmd_desc_argv_state_new(core->rcmd, L_cd, "LC", RZ_OUTPUT_MODE_TABLE | RZ_OUTPUT_MODE_QUIET | RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_JSON, rz_plugins_crypto_print_handler, &plugins_crypto_print_help);
|
||||
rz_warn_if_fail(plugins_crypto_print_cd);
|
||||
|
||||
RzCmdDesc *plugins_debug_print_cd = rz_cmd_desc_argv_state_new(core->rcmd, L_cd, "Ld", RZ_OUTPUT_MODE_QUIET | RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_JSON, rz_plugins_debug_print_handler, &plugins_debug_print_help);
|
||||
RzCmdDesc *plugins_debug_print_cd = rz_cmd_desc_argv_state_new(core->rcmd, L_cd, "Ld", RZ_OUTPUT_MODE_TABLE | RZ_OUTPUT_MODE_QUIET | RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_JSON, rz_plugins_debug_print_handler, &plugins_debug_print_help);
|
||||
rz_warn_if_fail(plugins_debug_print_cd);
|
||||
|
||||
RzCmdDesc *plugins_hash_print_cd = rz_cmd_desc_argv_state_new(core->rcmd, L_cd, "Lh", RZ_OUTPUT_MODE_QUIET | RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_JSON, rz_plugins_hash_print_handler, &plugins_hash_print_help);
|
||||
RzCmdDesc *plugins_hash_print_cd = rz_cmd_desc_argv_state_new(core->rcmd, L_cd, "Lh", RZ_OUTPUT_MODE_TABLE | RZ_OUTPUT_MODE_QUIET | RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_JSON, rz_plugins_hash_print_handler, &plugins_hash_print_help);
|
||||
rz_warn_if_fail(plugins_hash_print_cd);
|
||||
|
||||
RzCmdDesc *plugins_bin_print_cd = rz_cmd_desc_argv_state_new(core->rcmd, L_cd, "Li", RZ_OUTPUT_MODE_QUIET | RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_JSON, rz_plugins_bin_print_handler, &plugins_bin_print_help);
|
||||
RzCmdDesc *plugins_bin_print_cd = rz_cmd_desc_argv_state_new(core->rcmd, L_cd, "Li", RZ_OUTPUT_MODE_TABLE | RZ_OUTPUT_MODE_QUIET | RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_JSON, rz_plugins_bin_print_handler, &plugins_bin_print_help);
|
||||
rz_warn_if_fail(plugins_bin_print_cd);
|
||||
|
||||
RzCmdDesc *plugins_io_print_cd = rz_cmd_desc_argv_state_new(core->rcmd, L_cd, "Lo", RZ_OUTPUT_MODE_TABLE | RZ_OUTPUT_MODE_QUIET | RZ_OUTPUT_MODE_JSON, rz_plugins_io_print_handler, &plugins_io_print_help);
|
||||
RzCmdDesc *plugins_io_print_cd = rz_cmd_desc_argv_state_new(core->rcmd, L_cd, "Lo", RZ_OUTPUT_MODE_TABLE | RZ_OUTPUT_MODE_QUIET | RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_JSON, rz_plugins_io_print_handler, &plugins_io_print_help);
|
||||
rz_warn_if_fail(plugins_io_print_cd);
|
||||
rz_cmd_desc_set_default_mode(plugins_io_print_cd, RZ_OUTPUT_MODE_TABLE);
|
||||
|
||||
RzCmdDesc *plugins_parser_print_cd = rz_cmd_desc_argv_state_new(core->rcmd, L_cd, "Lp", RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_JSON, rz_plugins_parser_print_handler, &plugins_parser_print_help);
|
||||
RzCmdDesc *plugins_parser_print_cd = rz_cmd_desc_argv_state_new(core->rcmd, L_cd, "Lp", RZ_OUTPUT_MODE_TABLE | RZ_OUTPUT_MODE_QUIET | RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_JSON, rz_plugins_parser_print_handler, &plugins_parser_print_help);
|
||||
rz_warn_if_fail(plugins_parser_print_cd);
|
||||
|
||||
RzCmdDesc *plugins_demanglers_print_cd = rz_cmd_desc_argv_state_new(core->rcmd, L_cd, "LD", RZ_OUTPUT_MODE_TABLE | RZ_OUTPUT_MODE_QUIET | RZ_OUTPUT_MODE_JSON, rz_plugins_demanglers_print_handler, &plugins_demanglers_print_help);
|
||||
RzCmdDesc *plugins_demanglers_print_cd = rz_cmd_desc_argv_state_new(core->rcmd, L_cd, "LD", RZ_OUTPUT_MODE_TABLE | RZ_OUTPUT_MODE_QUIET | RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_JSON, rz_plugins_demanglers_print_handler, &plugins_demanglers_print_help);
|
||||
rz_warn_if_fail(plugins_demanglers_print_cd);
|
||||
rz_cmd_desc_set_default_mode(plugins_demanglers_print_cd, RZ_OUTPUT_MODE_TABLE);
|
||||
|
||||
RzCmdDesc *o_cd = rz_cmd_desc_group_new(core->rcmd, root_cd, "o", rz_open_handler, &open_help, &o_help);
|
||||
rz_warn_if_fail(o_cd);
|
||||
|
|
|
|||
|
|
@ -1750,6 +1750,8 @@ RZ_IPI RzCmdStatus rz_plugins_unload_handler(RzCore *core, int argc, const char
|
|||
RZ_IPI RzCmdStatus rz_plugins_lang_print_handler(RzCore *core, int argc, const char **argv, RzCmdStateOutput *state);
|
||||
// "La"
|
||||
RZ_IPI RzCmdStatus rz_plugins_asm_print_handler(RzCore *core, int argc, const char **argv, RzCmdStateOutput *state);
|
||||
// "Lac"
|
||||
RZ_IPI RzCmdStatus rz_plugins_asm_cpu_print_handler(RzCore *core, int argc, const char **argv, RzCmdStateOutput *state);
|
||||
// "Lc"
|
||||
RZ_IPI RzCmdStatus rz_plugins_core_print_handler(RzCore *core, int argc, const char **argv, RzCmdStateOutput *state);
|
||||
// "LC"
|
||||
|
|
|
|||
|
|
@ -471,6 +471,13 @@ class CmdDesc:
|
|||
print("Specify arguments for command %s" % (self.name,))
|
||||
sys.exit(1)
|
||||
|
||||
if self.modes and "RZ_OUTPUT_MODE_STANDARD" in self.modes and self.default_mode:
|
||||
print(
|
||||
"You cannot define `default_mode` if `RZ_OUTPUT_MODE_STANDARD` mode is set on command `%s`"
|
||||
% (self.name,)
|
||||
)
|
||||
sys.exit(1)
|
||||
|
||||
def get_handler_cname(self):
|
||||
if self.type not in [
|
||||
CD_TYPE_ARGV,
|
||||
|
|
|
|||
|
|
@ -52,7 +52,6 @@ commands:
|
|||
cname: flag_local_list
|
||||
summary: List the local flags for the function
|
||||
type: RZ_CMD_DESC_TYPE_ARGV_STATE
|
||||
default_mode: RZ_OUTPUT_MODE_STANDARD
|
||||
modes:
|
||||
- RZ_OUTPUT_MODE_STANDARD
|
||||
- RZ_OUTPUT_MODE_JSON
|
||||
|
|
@ -62,7 +61,6 @@ commands:
|
|||
cname: flag_local_list_all
|
||||
summary: List the local flags for all functions
|
||||
type: RZ_CMD_DESC_TYPE_ARGV_STATE
|
||||
default_mode: RZ_OUTPUT_MODE_STANDARD
|
||||
modes:
|
||||
- RZ_OUTPUT_MODE_STANDARD
|
||||
- RZ_OUTPUT_MODE_JSON
|
||||
|
|
@ -107,7 +105,6 @@ commands:
|
|||
cname: flag_graph
|
||||
summary: Show the flag graph
|
||||
type: RZ_CMD_DESC_TYPE_ARGV_STATE
|
||||
default_mode: RZ_OUTPUT_MODE_STANDARD
|
||||
modes:
|
||||
- RZ_OUTPUT_MODE_STANDARD
|
||||
- RZ_OUTPUT_MODE_RIZIN
|
||||
|
|
@ -119,7 +116,6 @@ commands:
|
|||
cname: flag_range
|
||||
summary: Show the flags in the block or custom range
|
||||
type: RZ_CMD_DESC_TYPE_ARGV_STATE
|
||||
default_mode: RZ_OUTPUT_MODE_STANDARD
|
||||
modes:
|
||||
- RZ_OUTPUT_MODE_STANDARD
|
||||
- RZ_OUTPUT_MODE_RIZIN
|
||||
|
|
@ -134,7 +130,6 @@ commands:
|
|||
cname: flag_list
|
||||
summary: List all flags
|
||||
type: RZ_CMD_DESC_TYPE_ARGV_STATE
|
||||
default_mode: RZ_OUTPUT_MODE_STANDARD
|
||||
modes:
|
||||
- RZ_OUTPUT_MODE_STANDARD
|
||||
- RZ_OUTPUT_MODE_RIZIN
|
||||
|
|
@ -146,7 +141,6 @@ commands:
|
|||
cname: flag_list_at
|
||||
summary: List all flags at the current offset
|
||||
type: RZ_CMD_DESC_TYPE_ARGV_STATE
|
||||
default_mode: RZ_OUTPUT_MODE_STANDARD
|
||||
modes:
|
||||
- RZ_OUTPUT_MODE_STANDARD
|
||||
- RZ_OUTPUT_MODE_RIZIN
|
||||
|
|
@ -203,7 +197,6 @@ commands:
|
|||
cname: flag_describe
|
||||
summary: Describe flag + delta for the current offset
|
||||
type: RZ_CMD_DESC_TYPE_ARGV_STATE
|
||||
default_mode: RZ_OUTPUT_MODE_STANDARD
|
||||
modes:
|
||||
- RZ_OUTPUT_MODE_STANDARD
|
||||
- RZ_OUTPUT_MODE_TABLE
|
||||
|
|
@ -213,7 +206,6 @@ commands:
|
|||
cname: flag_describe_at
|
||||
summary: Describe flags for the current offset
|
||||
type: RZ_CMD_DESC_TYPE_ARGV_STATE
|
||||
default_mode: RZ_OUTPUT_MODE_STANDARD
|
||||
modes:
|
||||
- RZ_OUTPUT_MODE_STANDARD
|
||||
- RZ_OUTPUT_MODE_TABLE
|
||||
|
|
@ -269,7 +261,6 @@ commands:
|
|||
cname: flag_space_list
|
||||
summary: Display flagspaces
|
||||
type: RZ_CMD_DESC_TYPE_ARGV_STATE
|
||||
default_mode: RZ_OUTPUT_MODE_STANDARD
|
||||
modes:
|
||||
- RZ_OUTPUT_MODE_STANDARD
|
||||
- RZ_OUTPUT_MODE_JSON
|
||||
|
|
@ -312,7 +303,6 @@ commands:
|
|||
cname: flag_space_stack_list
|
||||
summary: Display flagspace stack
|
||||
type: RZ_CMD_DESC_TYPE_ARGV_STATE
|
||||
default_mode: RZ_OUTPUT_MODE_STANDARD
|
||||
modes:
|
||||
- RZ_OUTPUT_MODE_STANDARD
|
||||
- RZ_OUTPUT_MODE_JSON
|
||||
|
|
@ -332,7 +322,6 @@ commands:
|
|||
cname: flag_tag_list
|
||||
summary: List all flag tags
|
||||
type: RZ_CMD_DESC_TYPE_ARGV_STATE
|
||||
default_mode: RZ_OUTPUT_MODE_STANDARD
|
||||
modes:
|
||||
- RZ_OUTPUT_MODE_STANDARD
|
||||
- RZ_OUTPUT_MODE_LONG
|
||||
|
|
@ -371,7 +360,6 @@ commands:
|
|||
cname: flag_zone_list
|
||||
summary: List all flag zones
|
||||
type: RZ_CMD_DESC_TYPE_ARGV_STATE
|
||||
default_mode: RZ_OUTPUT_MODE_STANDARD
|
||||
modes:
|
||||
- RZ_OUTPUT_MODE_STANDARD
|
||||
- RZ_OUTPUT_MODE_JSON
|
||||
|
|
|
|||
|
|
@ -85,7 +85,6 @@ commands:
|
|||
those search modes.
|
||||
cname: print_boundaries_prot
|
||||
type: RZ_CMD_DESC_TYPE_ARGV_STATE
|
||||
default_mode: RZ_OUTPUT_MODE_TABLE
|
||||
modes:
|
||||
- RZ_OUTPUT_MODE_STANDARD
|
||||
- RZ_OUTPUT_MODE_JSON
|
||||
|
|
|
|||
|
|
@ -21,39 +21,57 @@ commands:
|
|||
type: RZ_CMD_DESC_TYPE_ARGV_STATE
|
||||
args: []
|
||||
modes:
|
||||
- RZ_OUTPUT_MODE_STANDARD
|
||||
- RZ_OUTPUT_MODE_JSON
|
||||
- name: La
|
||||
cname: plugins_asm_print
|
||||
summary: List the asm/analysis plugins
|
||||
type: RZ_CMD_DESC_TYPE_ARGV_STATE
|
||||
args:
|
||||
- name: features
|
||||
type: RZ_CMD_ARG_TYPE_STRING
|
||||
optional: true
|
||||
modes:
|
||||
- RZ_OUTPUT_MODE_TABLE
|
||||
- RZ_OUTPUT_MODE_QUIET
|
||||
- RZ_OUTPUT_MODE_STANDARD
|
||||
- RZ_OUTPUT_MODE_JSON
|
||||
details:
|
||||
- name: Legend
|
||||
entries:
|
||||
- text: "a"
|
||||
comment: "Analysis plugin"
|
||||
- text: "d"
|
||||
comment: "Disassembler plugin"
|
||||
- text: "A"
|
||||
comment: "Assembler plugin"
|
||||
- text: "e"
|
||||
comment: "ESIL Support"
|
||||
- text: "I"
|
||||
comment: "RzIL Support"
|
||||
- name: La
|
||||
summary: List the asm/analysis plugins
|
||||
subcommands:
|
||||
- name: La
|
||||
cname: plugins_asm_print
|
||||
summary: List the arch plugins
|
||||
type: RZ_CMD_DESC_TYPE_ARGV_STATE
|
||||
args:
|
||||
- name: features
|
||||
type: RZ_CMD_ARG_TYPE_STRING
|
||||
optional: true
|
||||
modes:
|
||||
- RZ_OUTPUT_MODE_TABLE
|
||||
- RZ_OUTPUT_MODE_QUIET
|
||||
- RZ_OUTPUT_MODE_STANDARD
|
||||
- RZ_OUTPUT_MODE_JSON
|
||||
details:
|
||||
- name: Legend
|
||||
entries:
|
||||
- text: "a"
|
||||
comment: "Analysis plugin"
|
||||
- text: "d"
|
||||
comment: "Disassembler plugin"
|
||||
- text: "A"
|
||||
comment: "Assembler plugin"
|
||||
- text: "e"
|
||||
comment: "ESIL Support"
|
||||
- text: "I"
|
||||
comment: "RzIL Support"
|
||||
- name: Lac
|
||||
cname: plugins_asm_cpu_print
|
||||
summary: List the cpus supported by the arch plugin
|
||||
type: RZ_CMD_DESC_TYPE_ARGV_STATE
|
||||
args:
|
||||
- name: architecture
|
||||
type: RZ_CMD_ARG_TYPE_STRING
|
||||
modes:
|
||||
- RZ_OUTPUT_MODE_STANDARD
|
||||
- RZ_OUTPUT_MODE_JSON
|
||||
- name: Lc
|
||||
cname: plugins_core_print
|
||||
summary: List the core plugins
|
||||
type: RZ_CMD_DESC_TYPE_ARGV_STATE
|
||||
args: []
|
||||
modes:
|
||||
- RZ_OUTPUT_MODE_TABLE
|
||||
- RZ_OUTPUT_MODE_QUIET
|
||||
- RZ_OUTPUT_MODE_STANDARD
|
||||
- RZ_OUTPUT_MODE_JSON
|
||||
- name: LC
|
||||
|
|
@ -62,6 +80,8 @@ commands:
|
|||
type: RZ_CMD_DESC_TYPE_ARGV_STATE
|
||||
args: []
|
||||
modes:
|
||||
- RZ_OUTPUT_MODE_TABLE
|
||||
- RZ_OUTPUT_MODE_QUIET
|
||||
- RZ_OUTPUT_MODE_STANDARD
|
||||
- RZ_OUTPUT_MODE_JSON
|
||||
- name: Ld
|
||||
|
|
@ -73,6 +93,7 @@ commands:
|
|||
type: RZ_CMD_ARG_TYPE_STRING
|
||||
optional: true
|
||||
modes:
|
||||
- RZ_OUTPUT_MODE_TABLE
|
||||
- RZ_OUTPUT_MODE_QUIET
|
||||
- RZ_OUTPUT_MODE_STANDARD
|
||||
- RZ_OUTPUT_MODE_JSON
|
||||
|
|
@ -82,6 +103,7 @@ commands:
|
|||
type: RZ_CMD_DESC_TYPE_ARGV_STATE
|
||||
args: []
|
||||
modes:
|
||||
- RZ_OUTPUT_MODE_TABLE
|
||||
- RZ_OUTPUT_MODE_QUIET
|
||||
- RZ_OUTPUT_MODE_STANDARD
|
||||
- RZ_OUTPUT_MODE_JSON
|
||||
|
|
@ -91,6 +113,7 @@ commands:
|
|||
type: RZ_CMD_DESC_TYPE_ARGV_STATE
|
||||
args: []
|
||||
modes:
|
||||
- RZ_OUTPUT_MODE_TABLE
|
||||
- RZ_OUTPUT_MODE_QUIET
|
||||
- RZ_OUTPUT_MODE_STANDARD
|
||||
- RZ_OUTPUT_MODE_JSON
|
||||
|
|
@ -102,10 +125,10 @@ commands:
|
|||
- name: path
|
||||
type: RZ_CMD_ARG_TYPE_FILE
|
||||
optional: true
|
||||
default_mode: RZ_OUTPUT_MODE_TABLE
|
||||
modes:
|
||||
- RZ_OUTPUT_MODE_TABLE
|
||||
- RZ_OUTPUT_MODE_QUIET
|
||||
- RZ_OUTPUT_MODE_STANDARD
|
||||
- RZ_OUTPUT_MODE_JSON
|
||||
- name: Lp
|
||||
cname: plugins_parser_print
|
||||
|
|
@ -113,6 +136,8 @@ commands:
|
|||
type: RZ_CMD_DESC_TYPE_ARGV_STATE
|
||||
args: []
|
||||
modes:
|
||||
- RZ_OUTPUT_MODE_TABLE
|
||||
- RZ_OUTPUT_MODE_QUIET
|
||||
- RZ_OUTPUT_MODE_STANDARD
|
||||
- RZ_OUTPUT_MODE_JSON
|
||||
- name: LD
|
||||
|
|
@ -120,8 +145,8 @@ commands:
|
|||
summary: List the demanglers plugins (alias for iDl)
|
||||
type: RZ_CMD_DESC_TYPE_ARGV_STATE
|
||||
args: []
|
||||
default_mode: RZ_OUTPUT_MODE_TABLE
|
||||
modes:
|
||||
- RZ_OUTPUT_MODE_TABLE
|
||||
- RZ_OUTPUT_MODE_QUIET
|
||||
- RZ_OUTPUT_MODE_STANDARD
|
||||
- RZ_OUTPUT_MODE_JSON
|
||||
|
|
@ -6,7 +6,6 @@ commands:
|
|||
- name: "/+"
|
||||
summary: Construct the string with chunks.
|
||||
cname: cmd_search_str_chunk
|
||||
default_mode: RZ_OUTPUT_MODE_STANDARD
|
||||
modes:
|
||||
- RZ_OUTPUT_MODE_STANDARD
|
||||
- RZ_OUTPUT_MODE_JSON
|
||||
|
|
@ -228,7 +227,6 @@ commands:
|
|||
summary: Search for blocks that have the same hash.
|
||||
cname: cmd_search_hash_block
|
||||
type: RZ_CMD_DESC_TYPE_ARGV_STATE
|
||||
default_mode: RZ_OUTPUT_MODE_STANDARD
|
||||
modes:
|
||||
- RZ_OUTPUT_MODE_STANDARD
|
||||
- RZ_OUTPUT_MODE_JSON
|
||||
|
|
@ -257,7 +255,6 @@ commands:
|
|||
summary: "Search for blocks above an entropy level."
|
||||
cname: cmd_search_hash_entropy
|
||||
type: RZ_CMD_DESC_TYPE_ARGV_STATE
|
||||
default_mode: RZ_OUTPUT_MODE_STANDARD
|
||||
modes:
|
||||
- RZ_OUTPUT_MODE_STANDARD
|
||||
- RZ_OUTPUT_MODE_JSON
|
||||
|
|
@ -281,7 +278,6 @@ commands:
|
|||
summary: "Search for blocks above an fractional entropy level."
|
||||
cname: cmd_search_hash_entropy_fractional
|
||||
type: RZ_CMD_DESC_TYPE_ARGV_STATE
|
||||
default_mode: RZ_OUTPUT_MODE_STANDARD
|
||||
modes:
|
||||
- RZ_OUTPUT_MODE_STANDARD
|
||||
- RZ_OUTPUT_MODE_JSON
|
||||
|
|
@ -305,7 +301,6 @@ commands:
|
|||
summary: Search cryptographic material.
|
||||
cname: cmd_search_cryptographic_material
|
||||
type: RZ_CMD_DESC_TYPE_ARGV_STATE
|
||||
default_mode: RZ_OUTPUT_MODE_STANDARD
|
||||
modes:
|
||||
- RZ_OUTPUT_MODE_STANDARD
|
||||
- RZ_OUTPUT_MODE_JSON
|
||||
|
|
@ -350,7 +345,6 @@ commands:
|
|||
- name: "/d"
|
||||
summary: Search for a deltified sequence of bytes.
|
||||
cname: cmd_search_deltified
|
||||
default_mode: RZ_OUTPUT_MODE_STANDARD
|
||||
modes:
|
||||
- RZ_OUTPUT_MODE_STANDARD
|
||||
- RZ_OUTPUT_MODE_JSON
|
||||
|
|
@ -363,7 +357,6 @@ commands:
|
|||
summary: Search the content of a file.
|
||||
cname: cmd_search_file
|
||||
type: RZ_CMD_DESC_TYPE_ARGV_STATE
|
||||
default_mode: RZ_OUTPUT_MODE_STANDARD
|
||||
modes:
|
||||
- RZ_OUTPUT_MODE_STANDARD
|
||||
- RZ_OUTPUT_MODE_JSON
|
||||
|
|
@ -390,7 +383,6 @@ commands:
|
|||
- name: "/o"
|
||||
summary: Show offset of n instructions backward.
|
||||
cname: cmd_search_insn_offset_backwards
|
||||
default_mode: RZ_OUTPUT_MODE_STANDARD
|
||||
modes:
|
||||
- RZ_OUTPUT_MODE_STANDARD
|
||||
- RZ_OUTPUT_MODE_JSON
|
||||
|
|
@ -401,7 +393,6 @@ commands:
|
|||
- name: "/O"
|
||||
summary: Same as /o, but with a different fallback if analysis cannot be used.
|
||||
cname: cmd_search_insn_offset_backwards_fallback
|
||||
default_mode: RZ_OUTPUT_MODE_STANDARD
|
||||
modes:
|
||||
- RZ_OUTPUT_MODE_STANDARD
|
||||
- RZ_OUTPUT_MODE_JSON
|
||||
|
|
@ -413,7 +404,6 @@ commands:
|
|||
summary: Search for pattern of given size.
|
||||
cname: cmd_search_pattern
|
||||
type: RZ_CMD_DESC_TYPE_ARGV_STATE
|
||||
default_mode: RZ_OUTPUT_MODE_STANDARD
|
||||
modes:
|
||||
- RZ_OUTPUT_MODE_STANDARD
|
||||
- RZ_OUTPUT_MODE_JSON
|
||||
|
|
@ -426,7 +416,6 @@ commands:
|
|||
summary: Search similar blocks.
|
||||
cname: cmd_search_blocks
|
||||
type: RZ_CMD_DESC_TYPE_ARGV_STATE
|
||||
default_mode: RZ_OUTPUT_MODE_STANDARD
|
||||
modes:
|
||||
- RZ_OUTPUT_MODE_STANDARD
|
||||
- RZ_OUTPUT_MODE_JSON
|
||||
|
|
@ -443,7 +432,6 @@ commands:
|
|||
summary: Search for all graph paths A to B (does not follow calls).
|
||||
cname: cmd_search_graph_path
|
||||
type: RZ_CMD_DESC_TYPE_ARGV_STATE
|
||||
default_mode: RZ_OUTPUT_MODE_STANDARD
|
||||
modes:
|
||||
- RZ_OUTPUT_MODE_STANDARD
|
||||
- RZ_OUTPUT_MODE_JSON
|
||||
|
|
@ -456,7 +444,6 @@ commands:
|
|||
summary: Search for all graph paths A to B (follows calls, see `search.count` and `analysis.depth`).
|
||||
cname: cmd_search_graph_path_follow_calls
|
||||
type: RZ_CMD_DESC_TYPE_ARGV_STATE
|
||||
default_mode: RZ_OUTPUT_MODE_STANDARD
|
||||
modes:
|
||||
- RZ_OUTPUT_MODE_STANDARD
|
||||
- RZ_OUTPUT_MODE_JSON
|
||||
|
|
@ -472,7 +459,6 @@ commands:
|
|||
summary: Magic constants search.
|
||||
cname: cmd_search_magic_const
|
||||
type: RZ_CMD_DESC_TYPE_ARGV_STATE
|
||||
default_mode: RZ_OUTPUT_MODE_STANDARD
|
||||
modes:
|
||||
- RZ_OUTPUT_MODE_STANDARD
|
||||
- RZ_OUTPUT_MODE_JSON
|
||||
|
|
@ -534,7 +520,6 @@ commands:
|
|||
cname: cmd_info_gadget
|
||||
summary: List ROP Gadgets
|
||||
type: RZ_CMD_DESC_TYPE_ARGV_STATE
|
||||
default_mode: RZ_OUTPUT_MODE_STANDARD
|
||||
modes:
|
||||
- RZ_OUTPUT_MODE_STANDARD
|
||||
- RZ_OUTPUT_MODE_JSON
|
||||
|
|
@ -548,7 +533,6 @@ commands:
|
|||
cname: cmd_search_gadget
|
||||
summary: List ROP Gadgets [regular expression]
|
||||
type: RZ_CMD_DESC_TYPE_ARGV_STATE
|
||||
default_mode: RZ_OUTPUT_MODE_STANDARD
|
||||
modes:
|
||||
- RZ_OUTPUT_MODE_STANDARD
|
||||
- RZ_OUTPUT_MODE_JSON
|
||||
|
|
@ -562,7 +546,6 @@ commands:
|
|||
cname: cmd_query_gadget
|
||||
summary: Query ROP Gadgets by providing constraints
|
||||
type: RZ_CMD_DESC_TYPE_ARGV_STATE
|
||||
default_mode: RZ_OUTPUT_MODE_STANDARD
|
||||
modes:
|
||||
- RZ_OUTPUT_MODE_STANDARD
|
||||
- RZ_OUTPUT_MODE_JSON
|
||||
|
|
@ -577,7 +560,6 @@ commands:
|
|||
cname: cmd_detail_gadget
|
||||
summary: Gadget detail info
|
||||
type: RZ_CMD_DESC_TYPE_ARGV_STATE
|
||||
default_mode: RZ_OUTPUT_MODE_STANDARD
|
||||
modes:
|
||||
- RZ_OUTPUT_MODE_STANDARD
|
||||
- RZ_OUTPUT_MODE_JSON
|
||||
|
|
@ -592,7 +574,6 @@ commands:
|
|||
summary: Value search.
|
||||
cname: cmd_search_value
|
||||
type: RZ_CMD_DESC_TYPE_ARGV_STATE
|
||||
default_mode: RZ_OUTPUT_MODE_STANDARD
|
||||
modes:
|
||||
- RZ_OUTPUT_MODE_STANDARD
|
||||
- RZ_OUTPUT_MODE_JSON
|
||||
|
|
@ -640,7 +621,6 @@ commands:
|
|||
summary: Value search - Alias for /v 1 <value>.
|
||||
cname: cmd_search_value_alias_v1
|
||||
type: RZ_CMD_DESC_TYPE_ARGV_STATE
|
||||
default_mode: RZ_OUTPUT_MODE_STANDARD
|
||||
modes:
|
||||
- RZ_OUTPUT_MODE_STANDARD
|
||||
- RZ_OUTPUT_MODE_JSON
|
||||
|
|
@ -653,7 +633,6 @@ commands:
|
|||
summary: Value search - Alias for /v 2a <value>.
|
||||
cname: cmd_search_value_alias_v2
|
||||
type: RZ_CMD_DESC_TYPE_ARGV_STATE
|
||||
default_mode: RZ_OUTPUT_MODE_STANDARD
|
||||
modes:
|
||||
- RZ_OUTPUT_MODE_STANDARD
|
||||
- RZ_OUTPUT_MODE_JSON
|
||||
|
|
@ -666,7 +645,6 @@ commands:
|
|||
summary: Value search - Alias for /v 4a <value>.
|
||||
cname: cmd_search_value_alias_v4
|
||||
type: RZ_CMD_DESC_TYPE_ARGV_STATE
|
||||
default_mode: RZ_OUTPUT_MODE_STANDARD
|
||||
modes:
|
||||
- RZ_OUTPUT_MODE_STANDARD
|
||||
- RZ_OUTPUT_MODE_JSON
|
||||
|
|
@ -679,7 +657,6 @@ commands:
|
|||
summary: Value search - Alias for /v 8a <value>.
|
||||
cname: cmd_search_value_alias_v8
|
||||
type: RZ_CMD_DESC_TYPE_ARGV_STATE
|
||||
default_mode: RZ_OUTPUT_MODE_STANDARD
|
||||
modes:
|
||||
- RZ_OUTPUT_MODE_STANDARD
|
||||
- RZ_OUTPUT_MODE_JSON
|
||||
|
|
@ -692,7 +669,6 @@ commands:
|
|||
summary: Value search - Alias for /v 1 [<min_value>,<max_value>].
|
||||
cname: cmd_search_value_alias_v1_range
|
||||
type: RZ_CMD_DESC_TYPE_ARGV_STATE
|
||||
default_mode: RZ_OUTPUT_MODE_STANDARD
|
||||
modes:
|
||||
- RZ_OUTPUT_MODE_STANDARD
|
||||
- RZ_OUTPUT_MODE_JSON
|
||||
|
|
@ -707,7 +683,6 @@ commands:
|
|||
summary: Value search - Alias for /v 2a [<min_value>,<max_value>].
|
||||
cname: cmd_search_value_alias_v2_range
|
||||
type: RZ_CMD_DESC_TYPE_ARGV_STATE
|
||||
default_mode: RZ_OUTPUT_MODE_STANDARD
|
||||
modes:
|
||||
- RZ_OUTPUT_MODE_STANDARD
|
||||
- RZ_OUTPUT_MODE_JSON
|
||||
|
|
@ -722,7 +697,6 @@ commands:
|
|||
summary: Value search - Alias for /v 4a [<min_value>,<max_value>].
|
||||
cname: cmd_search_value_alias_v4_range
|
||||
type: RZ_CMD_DESC_TYPE_ARGV_STATE
|
||||
default_mode: RZ_OUTPUT_MODE_STANDARD
|
||||
modes:
|
||||
- RZ_OUTPUT_MODE_STANDARD
|
||||
- RZ_OUTPUT_MODE_JSON
|
||||
|
|
@ -737,7 +711,6 @@ commands:
|
|||
summary: Value search - Alias for /v 8a [<min_value>,<max_value>].
|
||||
cname: cmd_search_value_alias_v8_range
|
||||
type: RZ_CMD_DESC_TYPE_ARGV_STATE
|
||||
default_mode: RZ_OUTPUT_MODE_STANDARD
|
||||
modes:
|
||||
- RZ_OUTPUT_MODE_STANDARD
|
||||
- RZ_OUTPUT_MODE_JSON
|
||||
|
|
@ -756,7 +729,6 @@ commands:
|
|||
summary: Raw hexadecimal search.
|
||||
cname: cmd_search_hex
|
||||
type: RZ_CMD_DESC_TYPE_ARGV_STATE
|
||||
default_mode: RZ_OUTPUT_MODE_STANDARD
|
||||
modes:
|
||||
- RZ_OUTPUT_MODE_STANDARD
|
||||
- RZ_OUTPUT_MODE_JSON
|
||||
|
|
@ -780,7 +752,6 @@ commands:
|
|||
summary: Regex bytes search.
|
||||
cname: cmd_search_hex_regex
|
||||
type: RZ_CMD_DESC_TYPE_ARGV_STATE
|
||||
default_mode: RZ_OUTPUT_MODE_STANDARD
|
||||
modes:
|
||||
- RZ_OUTPUT_MODE_STANDARD
|
||||
- RZ_OUTPUT_MODE_JSON
|
||||
|
|
@ -858,7 +829,6 @@ commands:
|
|||
summary: String search.
|
||||
cname: cmd_search_string_sensitive
|
||||
type: RZ_CMD_DESC_TYPE_ARGV_STATE
|
||||
default_mode: RZ_OUTPUT_MODE_STANDARD
|
||||
modes:
|
||||
- RZ_OUTPUT_MODE_STANDARD
|
||||
- RZ_OUTPUT_MODE_JSON
|
||||
|
|
|
|||
|
|
@ -2160,24 +2160,36 @@ RZ_API RzTable *rz_core_table(RzCore *core) {
|
|||
return table;
|
||||
}
|
||||
|
||||
RZ_API RzCmdStatus rz_core_core_plugin_print(RzCorePlugin *cp, RzCmdStateOutput *state, const char *license) {
|
||||
static RzCmdStatus core_core_plugin_print(RzCorePlugin *cp, RzCmdStateOutput *state) {
|
||||
const char *name = rz_str_get(cp->name);
|
||||
const char *desc = rz_str_get(cp->desc);
|
||||
const char *author = rz_str_get(cp->author);
|
||||
const char *version = rz_str_get(cp->version);
|
||||
const char *license = rz_str_get(cp->license);
|
||||
|
||||
PJ *pj = state->d.pj;
|
||||
switch (state->mode) {
|
||||
case RZ_OUTPUT_MODE_TABLE:
|
||||
rz_table_add_rowf(state->d.t, "sssss", name, license, author, version, desc);
|
||||
break;
|
||||
case RZ_OUTPUT_MODE_JSON: {
|
||||
pj_o(pj);
|
||||
pj_ks(pj, "name", cp->name);
|
||||
pj_ks(pj, "description", cp->desc);
|
||||
pj_ks(pj, "author", cp->author);
|
||||
pj_ks(pj, "version", cp->version);
|
||||
pj_ks(pj, "name", name);
|
||||
pj_ks(pj, "description", desc);
|
||||
pj_ks(pj, "author", author);
|
||||
pj_ks(pj, "version", version);
|
||||
pj_ks(pj, "license", license);
|
||||
pj_end(pj);
|
||||
break;
|
||||
}
|
||||
case RZ_OUTPUT_MODE_STANDARD: {
|
||||
rz_cons_printf("%s: %s (Made by %s, v%s, %s)\n",
|
||||
cp->name, cp->desc, cp->author, cp->version, license);
|
||||
name, desc, author, version, license);
|
||||
break;
|
||||
}
|
||||
case RZ_OUTPUT_MODE_QUIET:
|
||||
rz_cons_println(name);
|
||||
break;
|
||||
default: {
|
||||
rz_warn_if_reached();
|
||||
return RZ_CMD_STATUS_NONEXISTINGCMD;
|
||||
|
|
@ -2194,12 +2206,10 @@ RZ_API RzCmdStatus rz_core_core_plugins_print(RzCore *core, RzCmdStateOutput *st
|
|||
return RZ_CMD_STATUS_ERROR;
|
||||
}
|
||||
rz_cmd_state_output_array_start(state);
|
||||
rz_cmd_state_output_set_columnsf(state, "sssss", "name", "license", "author", "version", "description");
|
||||
rz_iterator_foreach(iter, val) {
|
||||
RzCorePlugin *cp = *val;
|
||||
const char *license = cp->license
|
||||
? cp->license
|
||||
: "???";
|
||||
status = rz_core_core_plugin_print(cp, state, license);
|
||||
status = core_core_plugin_print(cp, state);
|
||||
if (status != RZ_CMD_STATUS_OK) {
|
||||
return status;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,23 +4,30 @@
|
|||
#include <rz_core.h>
|
||||
|
||||
RZ_API RzCmdStatus rz_core_parser_plugin_print(RzParsePlugin *plugin, RzCmdStateOutput *state) {
|
||||
const char *name = rz_str_get(plugin->name);
|
||||
const char *desc = rz_str_get(plugin->desc);
|
||||
|
||||
PJ *pj = state->d.pj;
|
||||
switch (state->mode) {
|
||||
case RZ_OUTPUT_MODE_JSON: {
|
||||
case RZ_OUTPUT_MODE_QUIET:
|
||||
rz_cons_println(name);
|
||||
break;
|
||||
case RZ_OUTPUT_MODE_JSON:
|
||||
pj_o(pj);
|
||||
pj_ks(pj, "name", plugin->name);
|
||||
pj_ks(pj, "name", name);
|
||||
pj_ks(pj, "desc", desc);
|
||||
pj_end(pj);
|
||||
break;
|
||||
}
|
||||
case RZ_OUTPUT_MODE_STANDARD: {
|
||||
rz_cons_printf("%s\n", plugin->name);
|
||||
case RZ_OUTPUT_MODE_STANDARD:
|
||||
rz_cons_printf("%-15s %s\n", name, desc);
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
case RZ_OUTPUT_MODE_TABLE:
|
||||
rz_table_add_rowf(state->d.t, "ss", name, desc);
|
||||
break;
|
||||
default:
|
||||
rz_warn_if_reached();
|
||||
return RZ_CMD_STATUS_NONEXISTINGCMD;
|
||||
}
|
||||
}
|
||||
return RZ_CMD_STATUS_OK;
|
||||
}
|
||||
|
||||
|
|
@ -31,6 +38,7 @@ RZ_API RzCmdStatus rz_core_parser_plugins_print(RzParse *parser, RzCmdStateOutpu
|
|||
return RZ_CMD_STATUS_ERROR;
|
||||
}
|
||||
rz_cmd_state_output_array_start(state);
|
||||
rz_cmd_state_output_set_columnsf(state, "ss", "name", "description");
|
||||
rz_list_foreach (parser->parsers, iter, plugin) {
|
||||
rz_core_parser_plugin_print(plugin, state);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -160,7 +160,7 @@ static bool aes_ecb_fini(RzCrypto *cry) {
|
|||
|
||||
RzCryptoPlugin rz_crypto_plugin_aes = {
|
||||
.name = "aes-ecb",
|
||||
.author = "Nettle project (algorithm implementation), pancake (plugin)",
|
||||
.author = "Nettle project,pancake",
|
||||
.license = "LGPL3",
|
||||
.set_key = aes_set_key,
|
||||
.get_key_size = aes_get_key_size,
|
||||
|
|
|
|||
|
|
@ -846,7 +846,8 @@ RZ_API RzList /*<RzCoreAsmHit *>*/ *rz_core_asm_hit_list_new(void);
|
|||
RZ_API void rz_core_asm_hit_free(void *_hit);
|
||||
RZ_API void rz_core_set_asm_configs(RzCore *core, char *arch, ut32 bits, int segoff);
|
||||
RZ_API char *rz_core_asm_search(RzCore *core, const char *input);
|
||||
RZ_API RzCmdStatus rz_core_asm_plugins_print(RZ_NONNULL RZ_BORROW RzCore *core, RZ_NULLABLE const char *arch, RZ_OUT RzCmdStateOutput *state, RZ_NULLABLE const char *flags);
|
||||
RZ_API RzCmdStatus rz_core_asm_plugins_print(RZ_NONNULL RZ_BORROW RzCore *core, RZ_OUT RzCmdStateOutput *state, RZ_NULLABLE const char *flags);
|
||||
RZ_API RzCmdStatus rz_core_asm_cpu_plugin_print(RZ_NONNULL RZ_BORROW RzCore *core, RZ_OUT RzCmdStateOutput *state, RZ_NULLABLE const char *arch_name);
|
||||
RZ_API RzCmdStatus rz_core_cpu_descs_print(RZ_NONNULL RzCore *core, RZ_NONNULL const char *plugin);
|
||||
RZ_API RzList /*<RzCoreAsmHit *>*/ *rz_core_asm_strsearch(RzCore *core, const char *input, ut64 from, ut64 to, int maxhits, int regexp, int everyByte, int mode);
|
||||
RZ_API RzList /*<RzCoreAsmHit *>*/ *rz_core_asm_bwdisassemble(RzCore *core, ut64 addr, int n, int len);
|
||||
|
|
|
|||
|
|
@ -658,7 +658,11 @@ RZ_API int rz_main_rz_asm(int argc, const char *argv[]) {
|
|||
core->analysis = as->analysis;
|
||||
RzCmdStateOutput state = { 0 };
|
||||
rz_cmd_state_output_init(&state, as->json ? RZ_OUTPUT_MODE_JSON : RZ_OUTPUT_MODE_STANDARD);
|
||||
rz_core_asm_plugins_print(core, opt.argv[opt.ind], &state, NULL);
|
||||
if (opt.argv[opt.ind]) {
|
||||
rz_core_asm_cpu_plugin_print(core, &state, opt.argv[opt.ind]);
|
||||
} else {
|
||||
rz_core_asm_plugins_print(core, &state, NULL);
|
||||
}
|
||||
rz_cmd_state_output_print(&state);
|
||||
rz_cmd_state_output_fini(&state);
|
||||
rz_cons_flush();
|
||||
|
|
|
|||
|
|
@ -31,14 +31,14 @@ Ldj~{[8].name}
|
|||
Ldj~{[8].license}
|
||||
EOF
|
||||
EXPECT=<<EOF
|
||||
{"arch":"bf","name":"bf","license":"LGPL3"}
|
||||
{"arch":"x86","name":"bochs","license":"LGPL3"}
|
||||
{"arch":"x86,arm","name":"dmp","license":"LGPL3"}
|
||||
{"arch":"x86,arm,sh,mips,avr,lm32,v850,ba2,tricore","name":"gdb","license":"LGPL3"}
|
||||
{"arch":"any","name":"io","license":"MIT"}
|
||||
{"arch":"x86","name":"native","license":"LGPL3"}
|
||||
{"arch":"any","name":"null","license":"MIT"}
|
||||
{"arch":"x86,arm","name":"qnx","license":"LGPL3"}
|
||||
{"arch":"bf","name":"bf","bits":"32 64","license":"LGPL3","version":""}
|
||||
{"arch":"x86","name":"bochs","bits":"16 32 64","license":"LGPL3","version":""}
|
||||
{"arch":"x86,arm","name":"dmp","bits":"32 64","license":"LGPL3","version":""}
|
||||
{"arch":"x86,arm,sh,mips,avr,lm32,v850,ba2,tricore","name":"gdb","bits":"16 32 64","license":"LGPL3","version":""}
|
||||
{"arch":"any","name":"io","bits":"32 64","license":"MIT","version":""}
|
||||
{"arch":"x86","name":"native","bits":"32 64","license":"LGPL3","version":"","selected":true}
|
||||
{"arch":"any","name":"null","bits":"32 64","license":"MIT","version":""}
|
||||
{"arch":"x86,arm","name":"qnx","bits":"32 ","license":"LGPL3","version":""}
|
||||
winkd
|
||||
LGPL3
|
||||
EOF
|
||||
|
|
|
|||
|
|
@ -174,10 +174,11 @@ CMDS=<<EOF
|
|||
La??
|
||||
EOF
|
||||
EXPECT=<<EOF
|
||||
Usage: La[jq] [<features>] # List the asm/analysis plugins
|
||||
| La [<features>] # List the asm/analysis plugins
|
||||
| Laj [<features>] # List the asm/analysis plugins (JSON mode)
|
||||
| Laq [<features>] # List the asm/analysis plugins (quiet mode)
|
||||
Usage: La[jqt] [<features>] # List the arch plugins
|
||||
| La [<features>] # List the arch plugins
|
||||
| Laj [<features>] # List the arch plugins (JSON mode)
|
||||
| Laq [<features>] # List the arch plugins (quiet mode)
|
||||
| Lat [<features>] # List the arch plugins (table mode)
|
||||
|
||||
Legend:
|
||||
| a # Analysis plugin
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -289,7 +289,7 @@ ED____ serpent-ecb LGPL-3 NicsTr
|
|||
ED____ sm4-ecb LGPL-3 0xSh4dy
|
||||
ED____ aes-cbc LGPL-3 rakholiyajenish.07
|
||||
E_____ rol LGPL-3 pancake
|
||||
ED____ aes-ecb LGPL3 Nettle project (algorithm implementation), pancake (plugin)
|
||||
ED____ aes-ecb LGPL3 Nettle project,pancake
|
||||
ED____ des-ecb LGPL-3 deroad
|
||||
ED____ blowfish LGPL3 kishorbhat
|
||||
__ed__ base91 LGPL-3 rakholiyajenish.07
|
||||
|
|
|
|||
Loading…
Reference in a new issue