From ef46a87c19139d9670a20706442c64c9aa8b737d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D9=85=D8=B5=D8=B7=D9=81=D9=8A=20=D9=85=D8=AD=D9=85=D9=88?= =?UTF-8?q?=D8=AF=20=D9=83=D9=85=D8=A7=D9=84=20=D8=A7=D9=84=D8=AF=D9=8A?= =?UTF-8?q?=D9=86?= <48567303+moste00@users.noreply.github.com> Date: Sun, 5 Jul 2026 02:02:32 +0300 Subject: [PATCH 1/2] implemented a command catalog exporting as a json --- librz/core/cmd/cmd.c | 5 +- librz/core/cmd/cmd_api.c | 161 ++++++++++++++++--- librz/core/cmd/cmd_help.c | 12 ++ librz/core/cmd_descs/cmd_descs.c | 11 ++ librz/core/cmd_descs/cmd_descs.h | 2 + librz/core/cmd_descs/cmd_descs.yaml | 4 + librz/include/rz_cmd.h | 4 + librz/main/rizin.c | 55 +++++++ subprojects/rizin-shell-parser/src/scanner.c | 7 +- 9 files changed, 240 insertions(+), 21 deletions(-) diff --git a/librz/core/cmd/cmd.c b/librz/core/cmd/cmd.c index 81784eb7b90..1ca302f7b4b 100644 --- a/librz/core/cmd/cmd.c +++ b/librz/core/cmd/cmd.c @@ -1447,7 +1447,10 @@ DEFINE_HANDLE_TS_FCN_AND_SYMBOL(redirect_stmt) { DEFINE_HANDLE_TS_FCN_AND_SYMBOL(help_stmt) { size_t node_str_len = strlen(node_string); - if (node_str_len >= 2 && !strcmp(node_string + node_str_len - 2, "?*")) { + if (RZ_STR_EQ(node_string, "?+j")) { + const char *argv[1] = { node_string }; + return rz_cmd_catalog_json_handler(state->core, 1, argv); + } else if (node_str_len >= 2 && !strcmp(node_string + node_str_len - 2, "?*")) { node_string[node_str_len - 2] = 0; const char *argv[2] = { NULL, node_string }; int argc = node_str_len > 2 ? 2 : 1; diff --git a/librz/core/cmd/cmd_api.c b/librz/core/cmd/cmd_api.c index f45648566ac..e0a37b817be 100644 --- a/librz/core/cmd/cmd_api.c +++ b/librz/core/cmd/cmd_api.c @@ -73,17 +73,18 @@ static const RzCmdDescHelp root_help = { static const struct argv_modes_t { const char *suffix; const char *summary_suffix; + const char *name; RzOutputMode mode; } argv_modes[] = { - { "", "", RZ_OUTPUT_MODE_STANDARD }, - { "j", " (JSON mode)", RZ_OUTPUT_MODE_JSON }, - { "q", " (quiet mode)", RZ_OUTPUT_MODE_QUIET }, - { "Q", " (quietest mode)", RZ_OUTPUT_MODE_QUIETEST }, - { "k", " (sdb mode)", RZ_OUTPUT_MODE_SDB }, - { "l", " (verbose mode)", RZ_OUTPUT_MODE_LONG }, - { "J", " (verbose JSON mode)", RZ_OUTPUT_MODE_LONG_JSON }, - { "t", " (table mode)", RZ_OUTPUT_MODE_TABLE }, - { "g", " (graph mode)", RZ_OUTPUT_MODE_GRAPH }, + { "", "", "standard", RZ_OUTPUT_MODE_STANDARD }, + { "j", " (JSON mode)", "json", RZ_OUTPUT_MODE_JSON }, + { "q", " (quiet mode)", "quiet", RZ_OUTPUT_MODE_QUIET }, + { "Q", " (quietest mode)", "quietest", RZ_OUTPUT_MODE_QUIETEST }, + { "k", " (sdb mode)", "sdb", RZ_OUTPUT_MODE_SDB }, + { "l", " (verbose mode)", "long", RZ_OUTPUT_MODE_LONG }, + { "J", " (verbose JSON mode)", "long_json", RZ_OUTPUT_MODE_LONG_JSON }, + { "t", " (table mode)", "table", RZ_OUTPUT_MODE_TABLE }, + { "g", " (graph mode)", "graph", RZ_OUTPUT_MODE_GRAPH }, }; RZ_IPI int rz_output_mode_to_char(RzOutputMode mode) { @@ -1501,16 +1502,11 @@ static void fill_details_json(const RzCmdDescDetail *details, PJ *j) { * * \return returns false if an invalid argument was given, otherwise true. */ -RZ_API bool rz_cmd_get_help_json(RzCmd *cmd, const RzCmdDesc *cd, PJ *j) { - rz_return_val_if_fail(cmd && cd && j, false); - pj_ko(j, cd->name); - pj_ks(j, "cmd", cd->name); - const char *type = "unknown"; - switch (cd->type) { +static const char *cmd_desc_type_name(RzCmdDescType type) { + switch (type) { #define CASE_CDTYPE(x, y) \ case (x): \ - type = (y); \ - break + return (y) CASE_CDTYPE(RZ_CMD_DESC_TYPE_ARGV, "argv"); CASE_CDTYPE(RZ_CMD_DESC_TYPE_GROUP, "group"); CASE_CDTYPE(RZ_CMD_DESC_TYPE_INNER, "inner"); @@ -1519,9 +1515,15 @@ RZ_API bool rz_cmd_get_help_json(RzCmd *cmd, const RzCmdDesc *cd, PJ *j) { CASE_CDTYPE(RZ_CMD_DESC_TYPE_ARGV_STATE, "argv_state"); #undef CASE_CDTYPE default: - break; + return "unknown"; } - pj_ks(j, "type", type); +} + +RZ_API bool rz_cmd_get_help_json(RzCmd *cmd, const RzCmdDesc *cd, PJ *j) { + rz_return_val_if_fail(cmd && cd && j, false); + pj_ko(j, cd->name); + pj_ks(j, "cmd", cd->name); + pj_ks(j, "type", cmd_desc_type_name(cd->type)); if (cd->help->args_str) { pj_ks(j, "args_str", cd->help->args_str); } else { @@ -1539,6 +1541,127 @@ RZ_API bool rz_cmd_get_help_json(RzCmd *cmd, const RzCmdDesc *cd, PJ *j) { return true; } +static void cmd_desc_foreach_tree(RzCmd *cmd, RzCmdDesc *cd, RzCmdDescVisitCb pre, RzCmdDescVisitCb post, void *user) { + if (!cd) { + return; + } + if (pre) { + pre(cmd, cd, user); + } + + void **it_cd; + rz_cmd_desc_children_foreach(cd, it_cd) { + RzCmdDesc *child = *it_cd; + cmd_desc_foreach_tree(cmd, child, pre, post, user); + } + + if (post) { + post(cmd, cd, user); + } +} + +/** + * \brief Visit every real command descriptor in a subtree. + * + * The pre callback is called before visiting children. The post callback is + * called after all children have been visited. Traversal starts at the root descriptor. + */ +RZ_API void rz_cmd_desc_foreach_tree(RzCmd *cmd, RzCmdDescVisitCb pre, RzCmdDescVisitCb post, void *user) { + rz_return_if_fail(cmd); + cmd_desc_foreach_tree(cmd, rz_cmd_get_root(cmd), pre, post, user); +} + +/** + * \brief Visit every real command descriptor in a subtree. + * + * The pre callback is called before visiting children. The post callback is + * called after all children have been visited. Traversal starts at \p begin. + */ +RZ_API void rz_cmd_desc_foreach_tree_from(RzCmd *cmd, RzCmdDesc *begin, RzCmdDescVisitCb pre, RzCmdDescVisitCb post, void *user) { + rz_return_if_fail(cmd && begin); + cmd_desc_foreach_tree(cmd, begin, pre, post, user); +} + +static void cmd_tree_json_modes(PJ *j, const RzCmdDesc *cd) { + RzCmdDesc *exec_cd = rz_cmd_desc_get_exec((RzCmdDesc *)cd); + pj_ka(j, "modes"); + if (exec_cd) { + int modes = 0; + switch (exec_cd->type) { + case RZ_CMD_DESC_TYPE_ARGV_MODES: + modes = exec_cd->d.argv_modes_data.modes; + break; + case RZ_CMD_DESC_TYPE_ARGV_STATE: + modes = exec_cd->d.argv_state_data.modes; + break; + default: + break; + } + for (size_t i = 0; i < RZ_ARRAY_SIZE(argv_modes); i++) { + if (modes & argv_modes[i].mode) { + pj_s(j, argv_modes[i].name); + } + } + } + pj_end(j); +} + +typedef struct cmd_tree_json_t { + PJ *j; + RzStrBuf *args; +} CmdTreeJson; + +static void cmd_tree_json_pre(RzCmd *cmd, const RzCmdDesc *cd, void *user) { + CmdTreeJson *ctx = user; + PJ *j = ctx->j; + pj_o(j); + pj_ks(j, "cmd", cd->name); + pj_ks(j, "type", cmd_desc_type_name(cd->type)); + pj_ks(j, "summary", rz_str_get(cd->help->summary)); + pj_ks(j, "description", rz_str_get(cd->help->description)); + if (cd->help->args_str) { + pj_ks(j, "args_str", cd->help->args_str); + } else { + rz_strbuf_set(ctx->args, ""); + fill_args(ctx->args, cd); + pj_ks(j, "args_str", rz_strbuf_get(ctx->args)); + } + fill_args_json(cmd, cd, j); + fill_details_json(cd->help->details, j); + pj_kb(j, "executable", rz_cmd_desc_has_handler(cd)); + pj_ki(j, "n_children", cd->n_children); + cmd_tree_json_modes(j, cd); + pj_ka(j, "children"); +} + +static void cmd_tree_json_post(RZ_UNUSED RzCmd *cmd, RZ_UNUSED const RzCmdDesc *cd, void *user) { + CmdTreeJson *ctx = user; + PJ *j = ctx->j; + pj_end(j); + pj_end(j); +} + +/** + * \brief Generates a recursive JSON representation of the real command descriptor tree. + */ +RZ_API bool rz_cmd_get_tree_json(RzCmd *cmd, PJ *j) { + rz_return_val_if_fail(cmd && j, false); + RzStrBuf args; + rz_strbuf_init(&args); + CmdTreeJson ctx = { + .j = j, + .args = &args, + }; + pj_o(j); + pj_ki(j, "version", 1); + pj_ks(j, "generated_from", "runtime"); + pj_k(j, "root"); + rz_cmd_desc_foreach_tree(cmd, cmd_tree_json_pre, cmd_tree_json_post, &ctx); + pj_end(j); + rz_strbuf_fini(&args); + return true; +} + /** * \brief Generates a text output of the given help message description (summary format) * diff --git a/librz/core/cmd/cmd_help.c b/librz/core/cmd/cmd_help.c index 2480e18b6ab..fa1ce5d3a4c 100644 --- a/librz/core/cmd/cmd_help.c +++ b/librz/core/cmd/cmd_help.c @@ -117,6 +117,18 @@ static bool help_search_cmd_desc_details(RzCmd *cmd, const RzCmdDesc *cd, void * goto beach; } +// "?+j" +RZ_IPI RzCmdStatus rz_cmd_catalog_json_handler(RzCore *core, int argc, const char **argv) { + PJ *pj = pj_new(); + if (!pj || !rz_cmd_get_tree_json(core->rcmd, pj)) { + pj_free(pj); + return RZ_CMD_STATUS_ERROR; + } + rz_cons_println(pj_string(pj)); + pj_free(pj); + return RZ_CMD_STATUS_OK; +} + // "?*" RZ_IPI RzCmdStatus rz_cmd_help_search_handler(RzCore *core, int argc, const char **argv, RzOutputMode mode) { RzCmdStatus status = RZ_CMD_STATUS_OK; diff --git a/librz/core/cmd_descs/cmd_descs.c b/librz/core/cmd_descs/cmd_descs.c index 01391ad1207..ae39f57152f 100644 --- a/librz/core/cmd_descs/cmd_descs.c +++ b/librz/core/cmd_descs/cmd_descs.c @@ -3214,6 +3214,14 @@ static const RzCmdDescHelp cmd_help_search_interactive_everything_help = { .args = cmd_help_search_interactive_everything_args, }; +static const RzCmdDescArg cmd_catalog_json_args[] = { + { 0 }, +}; +static const RzCmdDescHelp cmd_catalog_json_help = { + .summary = "Export full command catalog as JSON", + .args = cmd_catalog_json_args, +}; + static const RzCmdDescHelp cmd_math_help = { .summary = "Math commands", }; @@ -22854,6 +22862,9 @@ RZ_IPI void rzshell_cmddescs_init(RzCore *core) { RzCmdDesc *cmd_help_search_interactive_everything_cd = rz_cmd_desc_argv_new(core->rcmd, question__star__cd, "?***", rz_cmd_help_search_interactive_everything_handler, &cmd_help_search_interactive_everything_help); rz_warn_if_fail(cmd_help_search_interactive_everything_cd); + RzCmdDesc *cmd_catalog_json_cd = rz_cmd_desc_argv_new(core->rcmd, root_cd, "?+j", rz_cmd_catalog_json_handler, &cmd_catalog_json_help); + rz_warn_if_fail(cmd_catalog_json_cd); + RzCmdDesc *cmd_math_cd = rz_cmd_desc_group_state_new(core->rcmd, root_cd, "%", RZ_OUTPUT_MODE_STANDARD | RZ_OUTPUT_MODE_JSON, rz_calculate_expr_handler, &calculate_expr_help, &cmd_math_help); rz_warn_if_fail(cmd_math_cd); RzCmdDesc *list_rizin_vars_cd = rz_cmd_desc_argv_new(core->rcmd, cmd_math_cd, "%$", rz_list_rizin_vars_handler, &list_rizin_vars_help); diff --git a/librz/core/cmd_descs/cmd_descs.h b/librz/core/cmd_descs/cmd_descs.h index 2521aa4b607..3c499a1c765 100644 --- a/librz/core/cmd_descs/cmd_descs.h +++ b/librz/core/cmd_descs/cmd_descs.h @@ -243,6 +243,8 @@ RZ_IPI RzCmdStatus rz_cmd_help_search_interactive_handler(RzCore *core, int argc RZ_IPI RzCmdStatus rz_cmd_help_search_interactive_settings_handler(RzCore *core, int argc, const char **argv); // "?***" RZ_IPI RzCmdStatus rz_cmd_help_search_interactive_everything_handler(RzCore *core, int argc, const char **argv); +// "?+j" +RZ_IPI RzCmdStatus rz_cmd_catalog_json_handler(RzCore *core, int argc, const char **argv); // "%" RZ_IPI RzCmdStatus rz_calculate_expr_handler(RzCore *core, int argc, const char **argv, RzCmdStateOutput *state); // "%$" diff --git a/librz/core/cmd_descs/cmd_descs.yaml b/librz/core/cmd_descs/cmd_descs.yaml index 8f693852f87..ffb3ae159e1 100644 --- a/librz/core/cmd_descs/cmd_descs.yaml +++ b/librz/core/cmd_descs/cmd_descs.yaml @@ -160,6 +160,10 @@ commands: summary: Search help commands type: RZ_CMD_DESC_TYPE_GROUP subcommands: cmd_help + - name: "?+j" + cname: cmd_catalog_json + summary: Export full command catalog as JSON + args: [] - name: "%" cname: cmd_math summary: Math commands diff --git a/librz/include/rz_cmd.h b/librz/include/rz_cmd.h index 5e5c892a1d1..70cf0f1f27f 100644 --- a/librz/include/rz_cmd.h +++ b/librz/include/rz_cmd.h @@ -515,6 +515,7 @@ typedef struct rz_cmd_descriptor_t { } RzCmdDescriptor; typedef bool (*RzCmdForeachNameCb)(RzCmd *cmd, const RzCmdDesc *desc, void *user); +typedef void (*RzCmdDescVisitCb)(RzCmd *cmd, const RzCmdDesc *desc, void *user); typedef bool (*RzCmdForeachMacroCb)(RzCmd *cmd, const RzCmdMacro *macro, void *user); #ifdef RZ_API @@ -530,6 +531,7 @@ RZ_API RzCmdDesc *rz_cmd_get_desc(RzCmd *cmd, const char *cmd_identifier); RZ_API RzCmdDesc *rz_cmd_get_desc_best(RzCmd *cmd, const char *cmd_identifier); RZ_API RZ_OWN char *rz_cmd_get_help(RZ_BORROW RzCmd *cmd, RZ_BORROW RzCmdParsedArgs *args, bool use_color, int gutter_size); RZ_API bool rz_cmd_get_help_json(RzCmd *cmd, const RzCmdDesc *cd, PJ *j); +RZ_API bool rz_cmd_get_tree_json(RzCmd *cmd, PJ *j); RZ_API bool rz_cmd_get_help_strbuf(RzCmd *cmd, const RzCmdDesc *cd, bool use_color, RzStrBuf *sb, int gutter_size); static inline RzCmdStatus rz_cmd_int2status(int v) { @@ -571,6 +573,8 @@ RZ_API RzCmdDesc *rz_cmd_desc_get_exec(RzCmdDesc *cd); RZ_API bool rz_cmd_desc_set_default_mode(RzCmdDesc *cd, RzOutputMode mode); RZ_API bool rz_cmd_desc_has_handler(const RzCmdDesc *cd); RZ_API bool rz_cmd_desc_remove(RzCmd *cmd, RzCmdDesc *cd); +RZ_API void rz_cmd_desc_foreach_tree(RzCmd *cmd, RzCmdDescVisitCb pre, RzCmdDescVisitCb post, void *user); +RZ_API void rz_cmd_desc_foreach_tree_from(RzCmd *cmd, RzCmdDesc *begin, RzCmdDescVisitCb pre, RzCmdDescVisitCb post, void *user); RZ_API void rz_cmd_foreach_cmdname(RzCmd *cmd, RzCmdDesc *begin, RzCmdForeachNameCb cb, void *user); RZ_API const RzCmdDescArg *rz_cmd_desc_get_arg(const RzCmdDesc *cd, size_t i); diff --git a/librz/main/rizin.c b/librz/main/rizin.c index 380ea640e10..35bf2cfc3fb 100644 --- a/librz/main/rizin.c +++ b/librz/main/rizin.c @@ -108,6 +108,7 @@ static int main_help(RZ_BORROW RZ_NONNULL RzCore *core, int line) { "-B", "baddr", "Set base address for PIE binaries", "-c", "'cmd..'", "Execute rizin command", "-C", "", "File is host:port (alias for -cR+http://%%s/cmd/)", + "--cmd-catalog", "[json]", "Print command tree catalog and exit", "-d", "", "Debug the executable 'file' or running process 'pid'", "-D", "backend", "Enable debug mode (e cfg.debug=true)", "-e", "k=v", "Evaluate config var", @@ -426,6 +427,7 @@ RZ_API int rz_main_rizin(int argc, const char **argv) { ut64 baddr = UT64_MAX; ut64 seek = UT64_MAX; bool do_list_io_plugins = false; + bool do_print_cmd_tree_json = false; char *file = NULL; char *pfile = NULL; const char *asmarch = NULL; @@ -513,6 +515,38 @@ RZ_API int rz_main_rizin(int argc, const char **argv) { char *debugbackend = rz_str_dup("native"); RzGetopt opt; + for (int i = 1; i < argc; i++) { + bool remove_arg = false; + bool remove_next_arg = false; + if (!strcmp(argv[i], "--cmd-catalog")) { + do_print_cmd_tree_json = true; + remove_arg = true; + if (i + 1 < argc && argv[i + 1][0] != '-') { + if (strcmp(argv[i + 1], "json")) { + RZ_LOG_ERROR("Unsupported command catalog format '%s'\n", argv[i + 1]); + ret = 1; + goto beach; + } + remove_next_arg = true; + } + } else if (!strcmp(argv[i], "--cmd-catalog=json")) { + do_print_cmd_tree_json = true; + remove_arg = true; + } else if (rz_str_startswith(argv[i], "--cmd-catalog=")) { + RZ_LOG_ERROR("Unsupported command catalog format '%s'\n", argv[i] + strlen("--cmd-catalog=")); + ret = 1; + goto beach; + } + if (remove_arg) { + int n_remove = remove_next_arg ? 2 : 1; + for (int j = i; j + n_remove < argc; j++) { + argv[j] = argv[j + n_remove]; + } + argc -= n_remove; + i--; + } + } + rz_getopt_init(&opt, argc, argv, "=012AMCwxfF:H:hm:E:e:nk:NdqQs:p:b:B:a:Lui:I:l:R:r:c:D:vVSTzuXt"); while (argc >= 2 && (c = rz_getopt_next(&opt)) != -1) { switch (c) { @@ -940,6 +974,27 @@ RZ_API int rz_main_rizin(int argc, const char **argv) { rz_config_set(r->config, "scr.utf8", "false"); } + if (do_print_cmd_tree_json) { + PJ *pj = pj_new(); + if (!pj || !rz_cmd_get_tree_json(r->rcmd, pj)) { + pj_free(pj); + RZ_LOG_ERROR("Cannot build command tree JSON\n"); + LISTS_FREE(); + RZ_FREE(pfile); + RZ_FREE(debugbackend); + ret = 1; + goto beach; + } + rz_cons_printf("%s\n", pj_string(pj)); + pj_free(pj); + rz_cons_flush(); + LISTS_FREE(); + RZ_FREE(pfile); + RZ_FREE(debugbackend); + ret = 0; + goto beach; + } + if (pfile && rz_file_is_directory(pfile)) { if (debug) { RZ_LOG_ERROR("Error: Cannot debug directories, yet.\n"); diff --git a/subprojects/rizin-shell-parser/src/scanner.c b/subprojects/rizin-shell-parser/src/scanner.c index b1e160033bf..b80a60ece4c 100644 --- a/subprojects/rizin-shell-parser/src/scanner.c +++ b/subprojects/rizin-shell-parser/src/scanner.c @@ -102,6 +102,10 @@ static bool is_recursive_help_json(const int32_t trd_last_ch, const int32_t snd_ return trd_last_ch == '?' && snd_last_ch == '*' && last_ch == 'j'; } +static bool is_cmd_catalog_json(const int32_t trd_last_ch, const int32_t snd_last_ch, const int32_t last_ch) { + return trd_last_ch == '?' && snd_last_ch == '+' && last_ch == 'j'; +} + static bool scan_number(TSLexer *lexer, const bool *valid_symbols) { if (!valid_symbols[FILE_DESCRIPTOR]) { return false; @@ -171,7 +175,8 @@ bool tree_sitter_rzcmd_external_scanner_scan(void *payload, TSLexer *lexer, cons } if ((res[i_res - 1] == '?') || (i_res >= 2 && is_recursive_help(res[i_res - 2], res[i_res - 1])) || - (i_res >= 3 && is_recursive_help_json(res[i_res - 3], res[i_res - 2], res[i_res - 1]))) { + (i_res >= 3 && is_recursive_help_json(res[i_res - 3], res[i_res - 2], res[i_res - 1])) || + (i_res >= 3 && is_cmd_catalog_json(res[i_res - 3], res[i_res - 2], res[i_res - 1]))) { if (i_res == 1) { return false; } From 68ef0721f9dea139524b591d191eef6d75a888f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D9=85=D8=B5=D8=B7=D9=81=D9=8A=20=D9=85=D8=AD=D9=85=D9=88?= =?UTF-8?q?=D8=AF=20=D9=83=D9=85=D8=A7=D9=84=20=D8=A7=D9=84=D8=AF=D9=8A?= =?UTF-8?q?=D9=86?= <48567303+moste00@users.noreply.github.com> Date: Sun, 12 Jul 2026 01:19:06 +0300 Subject: [PATCH 2/2] add tests --- test/db/cmd/cmd_help | 8 ++++++++ test/db/tools/rz | 20 ++++++++++++++++++++ test/unit/test_cmd.c | 43 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 71 insertions(+) diff --git a/test/db/cmd/cmd_help b/test/db/cmd/cmd_help index 0c15c9b3f69..11ee2c50359 100644 --- a/test/db/cmd/cmd_help +++ b/test/db/cmd/cmd_help @@ -68,6 +68,14 @@ EXPECT=< [ ...]","args":[{"type":"string","name":"command","nospace":true,"required":true},{"type":"string","name":"args","is_array":true}],"details":[{"name":"Examples","entries":[{"text":"!","comment":"Execute the 'ls' command via system(3)","arg_str":"ls"},{"text":"!","comment":"Execute the 'echo' command via system(3) and bash. It prints the content of the environment variable '$RZ_SIZE'.","arg_str":"bash -c \"echo $RZ_SIZE\""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"!!","type":"argv","summary":"Run command via system(3) and pipe its stdout to rizin","description":"","args_str":" [ ...]","args":[{"type":"string","name":"command","nospace":true,"required":true},{"type":"string","name":"args","is_array":true}],"details":[{"name":"Examples","entries":[{"text":"!!","comment":"Execute the 'ls' command via system(3) and grep for 'txt'. Note that 'ls' has different output if its stdout is piped.","arg_str":"ls~txt"}]}],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"#!","type":"argv","summary":"Run interpreter","description":"","args_str":" [ ...]","args":[{"type":"string","name":"interpreter-name","nospace":true,"required":true},{"type":"string","name":"arg","is_array":true}],"details":[{"name":"Examples","entries":[{"text":"#!","comment":"Run python commandline","arg_str":"python"},{"text":"#!","comment":"Run foo.py python script","arg_str":"python foo.py"},{"text":"#!","comment":"Run foo.py python script and pass it arg1 as argument","arg_str":"python foo.py arg1"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"$","type":"group","summary":"Alias commands and strings","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"$","type":"argv","summary":"List all defined aliases / Define alias (see %$? for help on $variables)","description":"","args_str":"[alias[=cmd] [args...]]","args":[{"type":"string","name":"args","nospace":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"$","comment":"List all defined aliases","arg_str":""},{"text":"$","comment":"Alias for 'f foo @ 123'","arg_str":"foo:=123"},{"text":"$","comment":"Alias for 'fm $$-4 @ foo'","arg_str":"foo-=4"},{"text":"$","comment":"Alias for 'fm $$+4 @ foo'","arg_str":"foo+=4"},{"text":"$","comment":"Alias for 's foo' (note that command aliases can override flag resolution)","arg_str":"foo"},{"text":"$","comment":"Alias this base64 encoded text to be executed when $dis is called","arg_str":"dis=base64:cGRm"},{"text":"$","comment":"Alias this text to be printed when $dis is called","arg_str":"dis=$hello world"},{"text":"$","comment":"Open cfg.editor to set the new value for dis alias","arg_str":"dis=-"},{"text":"$","comment":"Create command - analyze to show function","arg_str":"dis=\"af;pdf\""},{"text":"$","comment":"Create command - rlangpipe script","arg_str":"test=\\#!pipe node /tmp/test.js"},{"text":"$","comment":"Undefine alias","arg_str":"dis="},{"text":"$","comment":"Execute the previously defined alias","arg_str":"dis"},{"text":"$","comment":"Show commands aliased by $dis","arg_str":"dis?"},{"text":"$","comment":"Show commands aliased by $dis, without a new line","arg_str":"dis?n"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"$*","type":"argv","summary":"List all the aliases as rizin commands in base64","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"$**","type":"argv","summary":"Same as above, but using plain text","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"%","type":"group","summary":"Math commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":30,"modes":["standard","json"],"children":[{"cmd":"%","type":"argv_state","summary":"Evaluate numerical expression ","description":"","args_str":" ","args":[{"type":"string","name":"expr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"%$","type":"argv","summary":"Print Rizin variables and their values","description":"","args_str":" []","args":[{"type":"string","name":"var","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%0","type":"argv","summary":"Set first tab as the current active tab","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%1","type":"argv","summary":"Set next tab as the current active tab","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%r","type":"argv","summary":"Generate a random number between and ","description":"","args_str":" ","args":[{"type":"expression","name":"lowlimit","required":true},{"type":"expression","name":"uplimit","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%b","type":"argv","summary":"Print in binary format","description":"","args_str":" ","args":[{"type":"expression","name":"expr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%b64","type":"argv","summary":"Encode in Base64","description":"","args_str":" ","args":[{"type":"string","name":"str","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"%b64","comment":"(SUxvdmVSaXppbgo=) Encodes given string into base64","arg_str":" ILoveRizin"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%b64-","type":"argv","summary":"Decode from Base64","description":"","args_str":" ","args":[{"type":"string","name":"str","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"%b64- ","comment":"(ILoveRizin) Decodes given base64 string","arg_str":"SUxvdmVSaXppbgo="}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%btw","type":"argv","summary":"Check if number is between and ","description":"","args_str":" ","args":[{"type":"expression","name":"first","required":true},{"type":"expression","name":"middle","required":true},{"type":"expression","name":"last","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%B","type":"argv_state","summary":"Prints the search boundaries based on the search.in mode.","description":"There are multiple search modes in Rizin that can be listed using the command `e search.in=?`. This command can be used to get boundaries of those search modes.","args_str":"","args":[],"details":[{"name":"Examples","entries":[{"text":"%B ","comment":"Prints boundary of this file","arg_str":"@e:search.in=file"},{"text":"%Bt ","comment":"Prints boundaries of all io maps","arg_str":"@e:search.in=io.maps"}]}],"executable":true,"n_children":0,"modes":["standard","json","table"],"children":[]},{"cmd":"%h","type":"argv","summary":"Print hash value of string ","description":"","args_str":" <>","args":[{"type":"string","name":"","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"%h ","comment":"0x56b7215a -> hashed value","arg_str":"ILoveRizin"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%f","type":"argv","summary":"bitstring manipulation.","description":"Treat given string as bitstring and get selected characters from bitstring using given value. Bits that are flagged in value are used to get characters from given string. Bitstring is treated in big-endian format","args_str":" ","args":[{"type":"number","name":"value","required":true},{"type":"string","name":"bitstring","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"%f","comment":"LLO (00111b selected : big-endian bitstring)","arg_str":" 28 Hello"},{"text":"%f","comment":"LL (00110b selected : big-endian bitstring)","arg_str":" 12 Hello"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%o","type":"argv","summary":"Print in octal format","description":"","args_str":" ","args":[{"type":"expression","name":"expr","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"%o","comment":"0173 in octal","arg_str":" 123"},{"text":"%o","comment":"0501 in octal","arg_str":" 321"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%u","type":"argv","summary":"Convert to K, M, G, T etc... units","description":"","args_str":" ","args":[{"type":"expression","name":"expr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%v","type":"group","summary":"Show value commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":7,"modes":[],"children":[{"cmd":"%v","type":"argv","summary":"Show last expression ($?) or currently evaluated ","description":"","args_str":" []","args":[{"type":"expression","name":"expr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%vx","type":"argv","summary":"Show last expression ($?) or currently evaluated in hex","description":"","args_str":" []","args":[{"type":"expression","name":"expr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%vi1","type":"argv","summary":"Show last expression ($?) or currently evaluated as 1 byte integer","description":"","args_str":" []","args":[{"type":"expression","name":"expr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%vi2","type":"argv","summary":"Show last expression ($?) or currently evaluated as 2 bytes integer","description":"","args_str":" []","args":[{"type":"expression","name":"expr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%vi4","type":"argv","summary":"Show last expression ($?) or currently evaluated as 4 bytes integer","description":"","args_str":" []","args":[{"type":"expression","name":"expr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%vi8","type":"argv","summary":"Show last expression ($?) or currently evaluated as 8 bytes integer","description":"","args_str":" []","args":[{"type":"expression","name":"expr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%vi","type":"argv","summary":"Show last expression ($?) or currently evaluated as integer","description":"","args_str":" []","args":[{"type":"expression","name":"expr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"%=","type":"argv","summary":"Update $? (last evaluated expression) with , without printing anything","description":"","args_str":" ","args":[{"type":"expression","name":"expr","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"%q","comment":"This will set $?. Then commands like %+, %-, etc. can be used to do some task by checking whether $? holds positive value or not.","arg_str":" 123"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%==","type":"argv","summary":"Compare strings and and set $? register to cmp result","description":"","args_str":" ","args":[{"type":"string","name":"str1","required":true},{"type":"string","name":"str2","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"%==","comment":"$? will be set to 0 if these two strings are equal, otherwise some other positive value.","arg_str":" str1 str2"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%+","type":"argv","summary":"Execute command if $? register is greater than 0","description":"","args_str":" ","args":[{"type":"command","name":"cmd","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"%=1; %+","comment":"Will display hexdump at current seek address","arg_str":" %%x"},{"text":"%=-2; %+","comment":"Won\"t do anything","arg_str":" %%x"},{"text":"%=0; %+","comment":"Won\"t do anything","arg_str":" %%x"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%-","type":"argv","summary":"Execute command if $? register is less than 0","description":"","args_str":" ","args":[{"type":"command","name":"cmd","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"%=1; %-","comment":"Won\"t do anything","arg_str":" %%x"},{"text":"%=-2; %-","comment":"Will display hexdump at current seek address","arg_str":" %%x"},{"text":"%=0; %+","comment":"Won\"t do anything","arg_str":" %%x"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%!","type":"argv","summary":"Execute command if $? is 0","description":"","args_str":" ","args":[{"type":"command","name":"cmd","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%%","type":"argv","summary":"Execute command if $? is not 0","description":"","args_str":" ","args":[{"type":"command","name":"cmd","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%l","type":"argv_state","summary":"Calculate length of string . Quiet mode stores value in `$?` register.","description":"","args_str":" ","args":[{"type":"string","name":"str","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","quiet"],"children":[]},{"cmd":"%X","type":"argv","summary":"Show evaluated expression in hex","description":"","args_str":" ","args":[{"type":"expression","name":"expr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%x","type":"group","summary":"String/Numeric to hex manipulation commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"%x","type":"argv","summary":"ASCII string to hex string","description":"","args_str":" ","args":[{"type":"string","name":"astr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%x+","type":"argv","summary":"Numerical expression to hex","description":"","args_str":" ","args":[{"type":"expression","name":"expr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%x-","type":"argv","summary":"Hex string to ASCII string","description":"","args_str":" ","args":[{"type":"expression","name":"hexnum","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"%s","type":"argv","summary":"Generate sequence of numbers from to with increments","description":"","args_str":" ","args":[{"type":"expression","name":"start","required":true},{"type":"expression","name":"stop","required":true},{"type":"expression","name":"step","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%P","type":"argv","summary":"Convert physical to virtual address","description":"","args_str":" []","args":[{"type":"expression","name":"paddr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%p","type":"argv","summary":"Virtual to physical address conversion","description":"","args_str":" []","args":[{"type":"expression","name":"vaddr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%_","type":"argv","summary":"HUD input","description":"","args_str":" ","args":[{"type":"string","name":"input","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%i","type":"group","summary":"Input commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":8,"modes":[],"children":[{"cmd":"%i","type":"argv","summary":"Input the and save response in yank clipboard (`y` commands)","description":"","args_str":" ","args":[{"type":"string","name":"prompt","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%ie","type":"argv","summary":"Input the , save response in yank clipboard (`y` commands), and print it","description":"","args_str":" ","args":[{"type":"string","name":"prompt","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%in","type":"argv","summary":"Input Yes/No and store result in $? register (default No)","description":"","args_str":" []","args":[{"type":"string","name":"question","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%iy","type":"argv","summary":"Input Yes/No and store result in $? register (default Yes)","description":"","args_str":" []","args":[{"type":"string","name":"question","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%ik","type":"argv","summary":"Input any key. Does nothing else.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%ip","type":"argv","summary":"Interactive HUD mode to find files in ","description":"","args_str":" []","args":[{"type":"string","name":"path","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%im","type":"argv","summary":"Display in console and wait for key","description":"","args_str":" ","args":[{"type":"string","name":"msg","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%if","type":"argv","summary":"Evaluate , store result in $? register and print true if != 0, false otherwise","description":"","args_str":" ","args":[{"type":"expression","name":"expr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"%w","type":"argv","summary":"Get references of given address","description":"","args_str":" ","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"&","type":"group","summary":"Manage tasks","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":7,"modes":["standard","json"],"children":[{"cmd":"&","type":"argv_modes","summary":"List all tasks / Run in a new background task","description":"","args_str":" []","args":[{"type":"command","name":"cmd","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"&t","type":"argv","summary":"Run in a new transient background task (auto-delete when it is finished)","description":"","args_str":" ","args":[{"type":"command","name":"cmd","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"&=","type":"argv","summary":"Show output of task ","description":"","args_str":" ","args":[{"type":"number","name":"n","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"&b","type":"argv","summary":"Break task ","description":"","args_str":" ","args":[{"type":"number","name":"n","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"&-","type":"argv","summary":"Delete task or schedule for deletion when it is finished","description":"","args_str":" ","args":[{"type":"number","name":"n","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"&-*","type":"argv","summary":"Delete all done tasks","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"&&","type":"argv","summary":"Wait until task is finished / all tasks are finished","description":"","args_str":" []","args":[{"type":"number","name":"name"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"(","type":"group","summary":"Manage scripting macros","description":"","args_str":"","args":[],"details":[{"name":"Examples","entries":[{"text":"(","comment":"List defined macros","arg_str":""},{"text":"(","comment":"Define a new macro 'foo', which executes `?` followed by `pd` when called.","arg_str":"foo; echo Disassemble 10 bytes at 0x10000; pd 10 @ 0x10000)"},{"text":"(","comment":"Define a new macro 'foo' with two arguments. ${a}/${b} are replaced before execution.","arg_str":"foo a b; echo Disassemble ${a} bytes at ${b}; pd ${a} @ ${b})"},{"text":"(-","comment":"Remove previously defined macro named 'foo'","arg_str":"foo"}]}],"executable":true,"n_children":6,"modes":["standard"],"children":[{"cmd":"(","type":"argv_state","summary":"List all defined macros","description":"Without any arguments, ( lists defined macros. Macros can be used to execute multiple commands under one name, by replacing some arguments. The argument replacement is done before executing the command, by simply replacing ${} in the body of the macro with the value passed when calling the macro.","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"(-","type":"argv","summary":"Remove a defined macro named ","description":"","args_str":"","args":[{"type":"string","name":"macro-name","nospace":true,"required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"(","type":"inner","summary":"Add a new macro ","description":"","args_str":" [ ...][; ])[([ ...])]","args":[],"details":[],"executable":false,"n_children":0,"modes":[],"children":[]},{"cmd":"(","type":"inner","summary":"Define a macro and call it with the arguments ","description":"","args_str":" [ ...][; ])[([ ...])]","args":[],"details":[],"executable":false,"n_children":0,"modes":[],"children":[]},{"cmd":".(","type":"inner","summary":"Call macro with the arguments ","description":"","args_str":" [ ...])","args":[],"details":[],"executable":false,"n_children":0,"modes":[],"children":[]},{"cmd":"..(","type":"inner","summary":"Call macro multiple times with the arguments ","description":"Call the same macro multiple time, based on the number of arguments provided. If a macro accepts N arguments, the first N arguments are passed to the first invocation of the macro, the second N arguments to the second invocation, and so on. An error is returned when the wrong number of arguments is passed.","args_str":" [ ...])","args":[],"details":[],"executable":false,"n_children":0,"modes":[],"children":[]}]},{"cmd":"*","type":"argv","summary":"Pointer read/write data/values","description":"Read or write values at a given address. When the value is a hexstring, it is decoded and written as raw bytes. Otherwise, it is evaluated as an expression and written using the current endianness and bitness settings.","args_str":"[=|]","args":[{"type":"expression","name":"addr","required":true},{"type":"expression","name":"value","is_last":true}],"details":[{"name":"Examples","entries":[{"text":"*","comment":"write trap in entrypoint","arg_str":"entry0=cc"},{"text":"*","comment":"write 0x804800 with the current bitness, 10 bytes from the entrypoint","arg_str":"entry0+10=0x804800"},{"text":"*","comment":"write the 32-bits value read at the entrypoint to the current offset","arg_str":"$$=[entry0] @e:asm.bits=32"},{"text":"*","comment":"read the value contained at the entrypoint","arg_str":"entry0"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":".","type":"group","summary":"Interpret commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":8,"modes":[],"children":[{"cmd":".","type":"argv","summary":"Repeat last executed command backward / Interpret the output of the command as rizin commands","description":"","args_str":"[]","args":[{"type":"command","name":"cmd","nospace":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":". ","type":"argv","summary":"Interpret script","description":"","args_str":"","args":[{"type":"filename","name":"file.rz","nospace":true,"required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"...","type":"argv","summary":"Repeat last executed command forward (same as \\\\n)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"..","type":"argv","summary":"Run the output of the execution of a script as rizin commands","description":"","args_str":" ","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":".-","type":"argv","summary":"Open cfg.editor and interpret tmp file","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":".*","type":"argv","summary":"Same as #!pipe open cfg.editor and interpret tmp file","description":"","args_str":" ","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":".(","type":"argv","summary":"Call macro","description":"","args_str":" [ ...])","args":[{"type":"macro","name":"macro-name","nospace":true,"required":true},{"type":"raw","name":"macro-arg","is_array":true},{"type":"fake","name":")"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"..(","type":"argv","summary":"Call macro multiple times","description":"Call a macro multiple times with arguments taken n at a time, where n is the number of macro arguments","args_str":" [ ...] [ ...] ...)","args":[{"type":"macro","name":"macro-name","nospace":true,"required":true},{"type":"raw","name":"macro-arg-set","is_array":true},{"type":"fake","name":")"}],"details":[{"name":"Example","entries":[{"text":"(","comment":"Define wv2 macro with word($0) and addr($1) args","arg_str":"wv2 word addr; wv2 $0 @ $1)"},{"text":"..(","comment":"Write 2 words at 2 different addresses","arg_str":"wv2 128 0x804800 256 0x804900)"}]}],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"/","type":"group","summary":"Search for bytes, regexps, patterns, ..","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":18,"modes":[],"children":[{"cmd":"/+","type":"argv_modes","summary":"Construct the string with chunks.","description":"","args_str":" ","args":[{"type":"string","name":"/bin/sh","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/a","type":"group","summary":"Assemble the instruction and search its bytes.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":16,"modes":["standard","json","quiet","table"],"children":[{"cmd":"/a","type":"argv_state","summary":"Assemble the instruction and search its bytes.","description":"","args_str":" ","args":[{"type":"string","name":"asm-text","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/a1","type":"argv_modes","summary":"Find valid assembly generated by changing only the nth byte","description":"","args_str":" ","args":[{"type":"string","name":"number","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/aI","type":"argv_modes","summary":"Search for infinite loop instructions (jmp $$)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/aa","type":"argv_modes","summary":"Linearly find aproximated assembly (case insensitive strstr)","description":"","args_str":" ","args":[{"type":"string","name":"asm-text","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/ac","type":"argv_modes","summary":"Same as /aa, but case-sensitive","description":"","args_str":" ","args":[{"type":"string","name":"asm-text","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/ad","type":"argv_modes","summary":"Match ins1 followed by ins2 in linear disasm","description":"","args_str":" ","args":[{"type":"string","name":"mnem;mov","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/ad/","type":"argv","summary":"Search for regex instruction 'ins1' followed by regex 'ins2'","description":"","args_str":" ","args":[{"type":"string","name":"ins1;ins2","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"/ad/a","type":"argv","summary":"Search for every byte instruction that matches regexp 'instr'","description":"","args_str":" ","args":[{"type":"string","name":"instr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"/ae","type":"argv_modes","summary":"Search for esil expressions matching substring","description":"","args_str":" ","args":[{"type":"string","name":"esil","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/af","type":"group","summary":"Search for instruction of specific family (afl=list","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json"],"children":[{"cmd":"/af","type":"argv_modes","summary":"Search for instruction of specific family (afl=list","description":"","args_str":" ","args":[{"type":"string","name":"family","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/afl","type":"argv","summary":"Search for instruction of specific family. List mode.","description":"","args_str":" ","args":[{"type":"string","name":"family","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"/ai","type":"argv_modes","summary":"Find all the instructions using that immediate (in range)","description":"","args_str":" <0x300> [<0x500>]","args":[{"type":"string","name":"0x300","required":true},{"type":"string","name":"0x500","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/al","type":"argv_modes","summary":"Same as aoml, list all opcodes","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/am","type":"argv_modes","summary":"Search for specific instructions of specific mnemonic","description":"","args_str":" ","args":[{"type":"string","name":"opcode","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/ao","type":"argv_modes","summary":"Search for instruction 'instr' (in all offsets)","description":"","args_str":" ","args":[{"type":"string","name":"instr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/as","type":"group","summary":"Search for syscalls (See /at swi and /af priv)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json"],"children":[{"cmd":"/as","type":"argv_modes","summary":"Search for syscalls (See /at swi and /af priv)","description":"","args_str":" []","args":[{"type":"string","name":"type","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/asl","type":"argv","summary":"Search for syscalls (See /at swi and /af priv). List mode.","description":"","args_str":" []","args":[{"type":"string","name":"type","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"/at","type":"group","summary":"Search for instructions of given type","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json"],"children":[{"cmd":"/at","type":"argv_modes","summary":"Search for instructions of given type","description":"","args_str":" []","args":[{"type":"string","name":"type","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/atl","type":"argv","summary":"Search for instructions of given type. List mode.","description":"","args_str":" []","args":[{"type":"string","name":"type","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]}]},{"cmd":"/c","type":"group","summary":"Cryptographic material search.","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":4,"modes":[],"children":[{"cmd":"/ch","type":"argv_state","summary":"Search for blocks that have the same hash.","description":"","args_str":" =256","args":[{"type":"string","name":"algo","required":true},{"type":"string","name":"hash","required":true},{"type":"number","name":"block_size","required":true,"default":"256"}],"details":[{"name":"Usage example","entries":[{"text":"/ch","comment":"MD5 hash search within blocks of 512 bytes.","arg_str":" md5 0bc8f8c426b74ffaedac8330a7464014 512"}]},{"name":"Tip","entries":[{"text":"","comment":"The command 'Lh' gives you a list of supported hash plugins.","arg_str":""},{"text":"","comment":"Use /ce and /cef for entropy search.","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/ce","type":"argv_state","summary":"Search for blocks above an entropy level.","description":"","args_str":" =8.0 =256","args":[{"type":"number","name":"min_entropy","required":true},{"type":"number","name":"max_entropy","required":true,"default":"8.0"},{"type":"number","name":"block_size","required":true,"default":"256"}],"details":[{"name":"Usage example","entries":[{"text":"/ce","comment":"Find 512 byte long blocks with an entropy between 2.5 and 7.4 (inclusive min & max).","arg_str":" 2.5 7.4 512"}]}],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/cef","type":"argv_state","summary":"Search for blocks above an fractional entropy level.","description":"","args_str":" =1.0 =256","args":[{"type":"number","name":"min_entropy","required":true},{"type":"number","name":"max_entropy","required":true,"default":"1.0"},{"type":"number","name":"block_size","required":true,"default":"256"}],"details":[{"name":"Usage example","entries":[{"text":"/cef","comment":"Find 512 byte long blocks with a fractional entropy between 0.3 and 0.8 (inclusive min & max).","arg_str":" 0.3 0.8 512"}]}],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/cm","type":"argv_state","summary":"Search cryptographic material.","description":"","args_str":" =all","args":[{"type":"choice","name":"type","required":true,"default":"all","choices":["all","aes128","aes192","aes256","sm4be","sm4le","rsa","ecc","safecurves","x509"]}],"details":[{"name":"Types","entries":[{"text":"aes128","comment":"Searches for expanded AES 128 keys.","arg_str":""},{"text":"aes192","comment":"Searches for expanded AES 192 keys.","arg_str":""},{"text":"aes256","comment":"Searches for expanded AES 256 keys.","arg_str":""},{"text":"sm4be","comment":"Searches for expanded SM4 keys (big-endian).","arg_str":""},{"text":"sm4le","comment":"Searches for expanded SM4 keys (little-endian).","arg_str":""},{"text":"rsa","comment":"Searches for DER/BER encoded RSA keys (see RFC 3447).","arg_str":""},{"text":"ecc","comment":"Searches for DER/BER encoded ECC keys (see RFC 5915).","arg_str":""},{"text":"safecurves","comment":"Searches for DER/BER encoded SafeCurves keys (see RFC 8410).","arg_str":""},{"text":"x509","comment":"Searches for DER/BER encoded X.509 certificates.","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]}]},{"cmd":"/C","type":"group","summary":"Search, List, Query for COP Gadgets","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":7,"modes":["standard","json","quiet","table"],"children":[{"cmd":"/C","type":"argv_state","summary":"List COP Gadgets","description":"","args_str":" []","args":[{"type":"string","name":"filter-by-string","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/C-","type":"argv","summary":"Clear COP gadget cache","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"/C/","type":"argv_state","summary":"List COP Gadgets [regular expression]","description":"","args_str":" []","args":[{"type":"string","name":"filter-by-regex","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/Ck","type":"argv_state","summary":"Query COP Gadgets by providing constraints","description":"","args_str":" [=] [[=] ...]]","args":[{"type":"string","name":"key=value","required":true,"is_last":true}],"details":[{"name":"Constraint types","entries":[{"text":"reg=const","comment":"Find gadgets that set a register to a constant value","arg_str":""},{"text":"reg=reg","comment":"Find gadgets that copy one register to another","arg_str":""},{"text":"reg=reg OP const","comment":"Find gadgets with register and constant arithmetic","arg_str":""},{"text":"reg=reg OP reg","comment":"Find gadgets with register-register operations","arg_str":""}]},{"name":"Supported operations","entries":[{"text":"+ - * / %","comment":"Arithmetic operations (add, sub, mul, div, mod)","arg_str":""},{"text":"& | ^","comment":"Bitwise operations (AND, OR, XOR)","arg_str":""},{"text":"<< >>","comment":"Shift operations (left, right)","arg_str":""}]},{"name":"Compound operators","entries":[{"text":"reg++ or reg--","comment":"Increment or decrement register","arg_str":""},{"text":"reg+=val, reg-=val","comment":"Compound assignment operators","arg_str":""}]},{"name":"Usage example","entries":[{"text":"Find gadgets setting rax to 0","comment":"/Ck rax=0","arg_str":""},{"text":"Find gadgets copying rbx to rax","comment":"/Ck rax=rbx","arg_str":""},{"text":"Find gadgets with rax = rbx + 8","comment":"/Ck rax=rbx+8","arg_str":""},{"text":"Find gadgets with multiple constraints","comment":"/Ck rax=0,rbx=rcx","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/Cg","type":"argv_state","summary":"Gadget detail info","description":"","args_str":" []","args":[{"type":"string","name":"Gadget address","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long"],"children":[]},{"cmd":"/Cs","type":"argv_state","summary":"Search cop gadgets given stack changes","description":"","args_str":" ","args":[{"type":"string","name":"Stack changes","required":true,"is_last":true}],"details":[{"name":"Usage example","entries":[{"text":"Search COP gadgets with less than 0x200 stack changes","comment":"/Cs \"<0x200\"","arg_str":""},{"text":"Search COP gadgets with 0x100 stack changes","comment":"/Cs =0x100","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/Cl","type":"argv_state","summary":"Search cop gadgets given gadget size","description":"","args_str":" ","args":[{"type":"string","name":"Gadget size","required":true,"is_last":true}],"details":[{"name":"Usage example","entries":[{"text":"Search COP gadgets with the size less than 0x20","comment":"/Cl \"<0x20\"","arg_str":""},{"text":"Search COP gadgets with the size 0x10","comment":"/Cl =0x10","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"/d","type":"argv_modes","summary":"Search for a deltified sequence of bytes.","description":"","args_str":" <101112>","args":[{"type":"string","name":"101112","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/F","type":"argv_state","summary":"Search the content of a file.","description":"","args_str":" [ []]","args":[{"type":"string","name":"file","required":true},{"type":"string","name":"offset"},{"type":"string","name":"size","is_last":true}],"details":[{"name":"Arguments","entries":[{"text":"","comment":"The file containing the data to search.","arg_str":""},{"text":"","comment":"Offset into to read the search data from.","arg_str":""},{"text":"","comment":"Number of bytes to read from the .","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/J","type":"group","summary":"Search, List, Query for JOP Gadgets","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":7,"modes":["standard","json","quiet","table"],"children":[{"cmd":"/J","type":"argv_state","summary":"List JOP Gadgets","description":"","args_str":" []","args":[{"type":"string","name":"filter-by-string","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/J-","type":"argv","summary":"Clear JOP gadget cache","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"/J/","type":"argv_state","summary":"List JOP Gadgets [regular expression]","description":"","args_str":" []","args":[{"type":"string","name":"filter-by-regex","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/Jk","type":"argv_state","summary":"Query JOP Gadgets by providing constraints","description":"","args_str":" [=] [[=] ...]]","args":[{"type":"string","name":"key=value","required":true,"is_last":true}],"details":[{"name":"Constraint types","entries":[{"text":"reg=const","comment":"Find gadgets that set a register to a constant value","arg_str":""},{"text":"reg=reg","comment":"Find gadgets that copy one register to another","arg_str":""},{"text":"reg=reg OP const","comment":"Find gadgets with register and constant arithmetic","arg_str":""},{"text":"reg=reg OP reg","comment":"Find gadgets with register-register operations","arg_str":""}]},{"name":"Supported operations","entries":[{"text":"+ - * / %","comment":"Arithmetic operations (add, sub, mul, div, mod)","arg_str":""},{"text":"& | ^","comment":"Bitwise operations (AND, OR, XOR)","arg_str":""},{"text":"<< >>","comment":"Shift operations (left, right)","arg_str":""}]},{"name":"Compound operators","entries":[{"text":"reg++ or reg--","comment":"Increment or decrement register","arg_str":""},{"text":"reg+=val, reg-=val","comment":"Compound assignment operators","arg_str":""}]},{"name":"Usage example","entries":[{"text":"Find gadgets setting rax to 0","comment":"/Jk rax=0","arg_str":""},{"text":"Find gadgets copying rbx to rax","comment":"/Jk rax=rbx","arg_str":""},{"text":"Find gadgets with rax = rbx + 8","comment":"/Jk rax=rbx+8","arg_str":""},{"text":"Find gadgets with multiple constraints","comment":"/Jk rax=0,rbx=rcx","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/Jg","type":"argv_state","summary":"Gadget detail info","description":"","args_str":" []","args":[{"type":"string","name":"Gadget address","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long"],"children":[]},{"cmd":"/Js","type":"argv_state","summary":"Search jop gadgets given stack changes","description":"","args_str":" ","args":[{"type":"string","name":"Stack changes","required":true,"is_last":true}],"details":[{"name":"Usage example","entries":[{"text":"Search JOP gadgets with less than 0x200 stack changes","comment":"/Js \"<0x200\"","arg_str":""},{"text":"Search JOP gadgets with 0x100 stack changes","comment":"/Js =0x100","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/Jl","type":"argv_state","summary":"Search JOP gadgets given gadget size","description":"","args_str":" ","args":[{"type":"string","name":"Gadget size","required":true,"is_last":true}],"details":[{"name":"Usage example","entries":[{"text":"Search JOP gadgets with the size less than 0x20","comment":"/Jl \"<0x20\"","arg_str":""},{"text":"Search JOP gadgets with the size 0x10","comment":"/Jl =0x10","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"/o","type":"argv_modes","summary":"Show offset of n instructions backward.","description":"","args_str":" []","args":[{"type":"string","name":"n","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/O","type":"argv_modes","summary":"Same as /o, but with a different fallback if analysis cannot be used.","description":"","args_str":" []","args":[{"type":"string","name":"n","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/p","type":"argv_state","summary":"Search for pattern of given size.","description":"","args_str":" ","args":[{"type":"string","name":"patternsize","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/P","type":"argv_state","summary":"Search similar blocks.","description":"","args_str":" ","args":[{"type":"number","name":"patternsize","required":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/g","type":"group","summary":"Search for all graph paths A to B.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json"],"children":[{"cmd":"/g","type":"argv_state","summary":"Search for all graph paths A to B (does not follow calls).","description":"","args_str":" ","args":[{"type":"expression","name":"from","required":true},{"type":"expression","name":"to","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/gg","type":"argv_state","summary":"Search for all graph paths A to B (follows calls, see `search.count` and `analysis.depth`).","description":"","args_str":" ","args":[{"type":"expression","name":"from","required":true},{"type":"expression","name":"to","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"/m","type":"group","summary":"Magic constants search.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json","quiet","table"],"children":[{"cmd":"/m","type":"argv_state","summary":"Magic constants search.","description":"","args_str":" []","args":[{"type":"string","name":"magic-file","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/mb","type":"argv","summary":"Search recognized RzBin headers.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"/r","type":"group","summary":"Reference search.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":6,"modes":[],"children":[{"cmd":"/r","type":"argv","summary":"Reference search.","description":"","args_str":"
","args":[{"type":"string","name":"address","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"/ra","type":"argv","summary":"Search all references.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"/rc","type":"argv","summary":"Search call references.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"/rr","type":"argv","summary":"Search read references.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"/rw","type":"argv","summary":"Search write references.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"/rx","type":"argv","summary":"Search execute references.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"/R","type":"group","summary":"Search, List, Query for ROP Gadgets","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":7,"modes":["standard","json","quiet","table"],"children":[{"cmd":"/R","type":"argv_state","summary":"List ROP Gadgets","description":"","args_str":" []","args":[{"type":"string","name":"filter-by-string","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/R-","type":"argv","summary":"Clear ROP gadget cache","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"/R/","type":"argv_state","summary":"List ROP Gadgets [regular expression]","description":"","args_str":" []","args":[{"type":"string","name":"filter-by-regex","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/Rk","type":"argv_state","summary":"Query ROP Gadgets by providing constraints","description":"","args_str":" [=] [[=] ...]]","args":[{"type":"string","name":"key=value","required":true,"is_last":true}],"details":[{"name":"Constraint types","entries":[{"text":"reg=const","comment":"Find gadgets that set a register to a constant value","arg_str":""},{"text":"reg=reg","comment":"Find gadgets that copy one register to another","arg_str":""},{"text":"reg=reg OP const","comment":"Find gadgets with register and constant arithmetic","arg_str":""},{"text":"reg=reg OP reg","comment":"Find gadgets with register-register operations","arg_str":""}]},{"name":"Supported operations","entries":[{"text":"+ - * / %","comment":"Arithmetic operations (add, sub, mul, div, mod)","arg_str":""},{"text":"& | ^","comment":"Bitwise operations (AND, OR, XOR)","arg_str":""},{"text":"<< >>","comment":"Shift operations (left, right)","arg_str":""}]},{"name":"Compound operators","entries":[{"text":"reg++ or reg--","comment":"Increment or decrement register","arg_str":""},{"text":"reg+=val, reg-=val","comment":"Compound assignment operators","arg_str":""}]},{"name":"Usage example","entries":[{"text":"Find gadgets setting rax to 0","comment":"/Rk rax=0","arg_str":""},{"text":"Find gadgets copying rbx to rax","comment":"/Rk rax=rbx","arg_str":""},{"text":"Find gadgets with rax = rbx + 8","comment":"/Rk rax=rbx+8","arg_str":""},{"text":"Find gadgets with multiple constraints","comment":"/Rk rax=0,rbx=rcx","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/Rg","type":"argv_state","summary":"Gadget detail info","description":"","args_str":" []","args":[{"type":"string","name":"Gadget address","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long"],"children":[]},{"cmd":"/Rs","type":"argv_state","summary":"Search rop gadgets given stack changes","description":"","args_str":" ","args":[{"type":"string","name":"Stack changes","required":true,"is_last":true}],"details":[{"name":"Usage example","entries":[{"text":"Search ROP gadgets with less than 0x200 stack changes","comment":"/Rs \"<0x200\"","arg_str":""},{"text":"Search ROP gadgets with 0x100 stack changes","comment":"/Rs =0x100","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/Rl","type":"argv_state","summary":"Search rop gadgets given gadget size","description":"","args_str":" ","args":[{"type":"string","name":"Gadget size","required":true,"is_last":true}],"details":[{"name":"Usage example","entries":[{"text":"Search ROP gadgets with the size less than 0x20","comment":"/Rl \"<0x20\"","arg_str":""},{"text":"Search ROP gadgets with the size 0x10","comment":"/Rl =0x10","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"/v","type":"group","summary":"Value search.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":9,"modes":["standard","json","quiet","table"],"children":[{"cmd":"/v","type":"argv_state","summary":"Value search.","description":"","args_str":" ...","args":[{"type":"choice","name":"bytes","required":true,"choices":["1","2le","4le","8le","2be","4be","8be","2a","4a","8a"]},{"type":"string","name":"range","required":true,"is_array":true}],"details":[{"name":"Arguments","entries":[{"text":"bytes","comment":"Value byte width and endianess.","arg_str":""},{"text":"range","comment":"One or multiple ranges of values. Can be single values or range descriptions. Must be wrapped in '\"'.","arg_str":""}]},{"name":"Usage example","entries":[{"text":"/v","comment":"Search 512 represented in 4 bytes big endian order.","arg_str":" 4be 512"},{"text":"/v","comment":"Search values in the closed range '[0x80000000,0x80001000]' represented in 8 bytes little endian order.","arg_str":" 8le \"[0x80000000,0x80001000]\""},{"text":"/v","comment":"Search values in the open range '(0x1000,0xff0)' represented in 2 bytes order of cfg.bigendian.","arg_str":" 2a \"(0x1000,0xff0)\""},{"text":"/v","comment":"Search values in the right open range '[0x20,0x10)', value '0x55' and closed range values '[0xf0,0xff]' represented in 1 byte.","arg_str":" 1 \"[0x20,0x10)\", 0x55, \"[0xf0,0xff]\""}]}],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/v1","type":"argv_state","summary":"Value search - Alias for /v 1 .","description":"","args_str":" ","args":[{"type":"number","name":"value","required":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/v2","type":"argv_state","summary":"Value search - Alias for /v 2a .","description":"","args_str":" ","args":[{"type":"number","name":"value","required":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/v4","type":"argv_state","summary":"Value search - Alias for /v 4a .","description":"","args_str":" ","args":[{"type":"number","name":"value","required":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/v8","type":"argv_state","summary":"Value search - Alias for /v 8a .","description":"","args_str":" ","args":[{"type":"number","name":"value","required":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/V1","type":"argv_state","summary":"Value search - Alias for /v 1 [,].","description":"","args_str":" ","args":[{"type":"number","name":"min_value","required":true},{"type":"number","name":"max_value","required":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/V2","type":"argv_state","summary":"Value search - Alias for /v 2a [,].","description":"","args_str":" ","args":[{"type":"number","name":"min_value","required":true},{"type":"number","name":"max_value","required":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/V4","type":"argv_state","summary":"Value search - Alias for /v 4a [,].","description":"","args_str":" ","args":[{"type":"number","name":"min_value","required":true},{"type":"number","name":"max_value","required":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/V8","type":"argv_state","summary":"Value search - Alias for /v 8a [,].","description":"","args_str":" ","args":[{"type":"number","name":"min_value","required":true},{"type":"number","name":"max_value","required":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]}]},{"cmd":"/x","type":"group","summary":"Raw hexadecimal search.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json","quiet","table"],"children":[{"cmd":"/x","type":"argv_state","summary":"Raw hexadecimal search.","description":"","args_str":" ","args":[{"type":"string","name":"pattern","required":true,"is_last":true}],"details":[{"name":"Usage example","entries":[{"text":"Hexadecimal search for the exact bytes 'ffcc33'.","comment":"/x ffcc33","arg_str":""},{"text":"Hexadecimal search for the byte pattern 'ff..33.0.'. The '.' is a wildcard for 4bits.","comment":"/x ff..33.0","arg_str":""},{"text":"Hexadecimal search of the bytes with mask. Pattern: ':'","comment":"/x ffd0:ff43","arg_str":""},{"text":"Hexadecimal search with an odd number of nibbles.","comment":"'aabbc' is equivalent to '.aabbc'","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/xr","type":"argv_state","summary":"Regex bytes search.","description":"","args_str":" ","args":[{"type":"string","name":"regex_pattern","required":true,"is_last":true}],"details":[{"name":"Usage examples","entries":[{"text":" Bytes are prefixed with a 'x'. Search exact match '\\x99\\x0a'.","comment":"/xr x99x0a","arg_str":""},{"text":"Search 2-8 NUL bytes, then '\\x99' and '\\x0a'","comment":"/xr x00{2,8}x99x0a","arg_str":""},{"text":"A '.' matches one byte. Search matches: '\\x72\\xNN\\x00'. '\\xNN' can appear 0-1 times.","comment":"/xr x72.?x00","arg_str":""},{"text":"Using simple ASCII is allowed. Search matches: '\\x61\\x41'","comment":"/xr aA","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]}]},{"cmd":"/z","type":"group","summary":"String search.","description":"","args_str":"","args":[],"details":[{"name":"Encodings","entries":[{"text":"ascii","comment":"ASCII encoding","arg_str":""},{"text":"8bit","comment":"8bit encoding. Alias: ASCII","arg_str":""},{"text":"mutf8","comment":"mutf8 encoding","arg_str":""},{"text":"utf8","comment":"UTF-8 encoding","arg_str":""},{"text":"utf16le","comment":"UTF-16 little endian encoding","arg_str":""},{"text":"utf32le","comment":"UTF-32 little endian encoding","arg_str":""},{"text":"utf16be","comment":"UTF-16 big endian encoding","arg_str":""},{"text":"utf32be","comment":"UTF-32 big endian encoding","arg_str":""},{"text":"ibm037","comment":"ibm037 encoding. Alias: cp037, ebcdic-cp-us, ebcdic-cp-ca, ebcdic-cp-wt, ebcdic-cp-nl, csIBM037","arg_str":""},{"text":"ibm290","comment":"ibm290 encoding. Alias: cp290, EBCDIC-JP-kana, csIBM290","arg_str":""},{"text":"ebcdices","comment":"EBCDIC-ES encoding. Alias: csEBCDICES","arg_str":""},{"text":"ebcdicuk","comment":"EBCDIC-UK encoding. Alias: csEBCDICUK","arg_str":""},{"text":"ebcdicus","comment":"EBCDIC-US encoding. Alias: csEBCDICUS","arg_str":""}]},{"name":"Regex Flags","entries":[{"text":"l","comment":"Default. Literal string comparison. Ignores all meta-characters.","arg_str":""},{"text":"i","comment":"Caseless (equivalent: PCRE2_CASELESS)","arg_str":""},{"text":"r","comment":"Regular expression.","arg_str":""},{"text":"e","comment":"Extended regular expression.","arg_str":""},{"text":"m","comment":"Multiline regular expression (equivalent flag: PCRE2_MULTILINE)","arg_str":""},{"text":"d","comment":"Dot matches any one character, without exception (equivalent flag: PCRE2_DOTALL)","arg_str":""}]},{"name":"Examples","entries":[{"text":"/z","comment":"Search the exact string \"(ABC*)\".","arg_str":" (ABC*)"},{"text":"/z","comment":"Search the exact string \"(ABC*)D\" but case insensitive.","arg_str":" (ABC*)D li"},{"text":"/z","comment":"Search the regular expression \"\\d\\sC*\\w\" but case insensitive.","arg_str":" \\\\d\\\\sC*\\\\w ri"},{"text":"/z","comment":"Search the extended regular expression \"и.{3}м\" but case insensitive.","arg_str":" \"и.{3}м\" ei"}]}],"executable":true,"n_children":1,"modes":["standard","json","quiet","table"],"children":[{"cmd":"/z","type":"argv_state","summary":"String search.","description":"","args_str":" =l =settings","args":[{"type":"string","name":"pattern","required":true},{"type":"string","name":"regex_flags","required":true,"default":"l"},{"type":"choice","name":"encoding","required":true,"default":"settings","choices":["ascii","8bit","mutf8","utf8","utf16le","utf32le","utf16be","utf32be","ibm037","ibm290","ebcdices","ebcdicuk","ebcdicus","guess"]}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]}]}]},{"cmd":":","type":"fake","summary":"Command specifiers (table-output only for now)","description":"","args_str":"","args":[],"details":[{"name":"Table format specifiers ()","entries":[{"text":"/sort/rev","comment":"Sort table by column in reverse order.","arg_str":""},{"text":"/sortlen/rev","comment":"Sort table by column length in reverse order.","arg_str":""},{"text":"/cols[/[/...]]","comment":"Show only specified columns in the table.","arg_str":""},{"text":"","comment":"Show only column (it must not have the same name as an output format specifier).","arg_str":""},{"text":"/gt/","comment":"Grep rows where column is greater than .","arg_str":""},{"text":"/ge/","comment":"Grep rows where column is greater than or equal to .","arg_str":""},{"text":"/lt/","comment":"Grep rows where column is less than .","arg_str":""},{"text":"/le/","comment":"Grep rows where column is less than or equal to .","arg_str":""},{"text":"/eq/","comment":"Grep rows where column is equal to .","arg_str":""},{"text":"/ne/","comment":"Grep rows where column is not equal to .","arg_str":""},{"text":"/uniq","comment":"Only get the first row where column or all columns are unique.","arg_str":""},{"text":"*/page//","comment":"Show rows starting from the page number .","arg_str":""},{"text":"*/head/","comment":"Show the first rows.","arg_str":""},{"text":"*/tail/","comment":"Show the last rows.","arg_str":""},{"text":"/str/","comment":"Grep rows where string is a substring of column .","arg_str":""},{"text":"/strlen/","comment":"Grep rows where the length of column is .","arg_str":""},{"text":"/minlen/","comment":"Grep rows where the length of column is greater than .","arg_str":""},{"text":"/maxlen/","comment":"Grep rows where the length of column is less than .","arg_str":""},{"text":"/sum/","comment":"Sum all the values of column .","arg_str":""}]},{"name":"Output format specifiers ()","entries":[{"text":"csv","comment":"Print the table in CSV format.","arg_str":""},{"text":"json","comment":"Print the table in JSON format.","arg_str":""},{"text":"fancy","comment":"Print the table in a nice form with borders and headers.","arg_str":""},{"text":"simple","comment":"Print the table in a simple form, only with headers.","arg_str":""},{"text":"quiet","comment":"Print the table in a simple form, without headers.","arg_str":""}]},{"name":"Examples","entries":[{"text":"aflt","comment":"Show only the address, name and number of basic blocks of the identified functions with more than 1 block but less than 10, sorted decrementally by number of blocks.","arg_str":":addr/cols/name/nbbs:nbbs/sort/dec:nbbs/gt/1:nbbs/lt/10:fancy"}]}],"executable":false,"n_children":0,"modes":[],"children":[]},{"cmd":"<","type":"argv","summary":"Push escaped string into the RzCons.readChar (pressed keys) buffer","description":"","args_str":" ","args":[{"type":"string","name":"characters","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"< ppq; ","comment":"Equivalent to running and pressing the keys: p, p, q.","arg_str":""},{"text":"< \\n; ","comment":"As above, but '\\n' is equivalent to pressing .","arg_str":""}]},{"name":"Escape sequences","entries":[{"text":"\\n","comment":"newline (0x0a).","arg_str":""},{"text":"\\b","comment":"backspace (0x08).","arg_str":""},{"text":"\\t","comment":"horizontal tab (0x09).","arg_str":""},{"text":"\\v","comment":"vertical tab (0x0b).","arg_str":""},{"text":"\\f","comment":"new page (0x0c).","arg_str":""},{"text":"\\r","comment":"carriage return (0x0d).","arg_str":""},{"text":"\\xHH","comment":"Raw byte 0xHH (in hexadecimal).","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":">","type":"fake","summary":"Redirection help ('>')","description":"","args_str":"","args":[],"details":[{"name":"","entries":[{"text":" >","comment":"Redirect STDOUT of to or save it to an alias (see $?)","arg_str":" |<$alias>"},{"text":" 2>","comment":"Redirect STDERR of to or save it to an alias (see $?)","arg_str":" |<$alias>"},{"text":" H>","comment":"Redirect HTML output of to or save it to an alias (see $?)","arg_str":" |<$alias>"}]}],"executable":false,"n_children":0,"modes":[],"children":[]},{"cmd":"?*","type":"group","summary":"Search help commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":["standard","json"],"children":[{"cmd":"?*","type":"argv_modes","summary":"Search help","description":"","args_str":" []","args":[{"type":"string","name":"search_cmd"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"?**","type":"group","summary":"Search command and setting summaries.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"?**","type":"argv","summary":"Search command summaries interactively (alias for ?*~...).","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"?**e","type":"argv","summary":"Search settings interactively (alias for el~...).","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"?***","type":"argv","summary":"Search command summaries and their extended help interactively.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"?+j","type":"argv","summary":"Export full command catalog as JSON","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"@","type":"fake","summary":"'@' help, temporary modifiers, applied left-to-right","description":"","args_str":"","args":[],"details":[{"name":"","entries":[{"text":" @ ","comment":"Temporary seek to ","arg_str":""},{"text":" @ ","comment":"Temporary partial address seek (see s..)","arg_str":".."},{"text":" @!","comment":"Temporary change the block size","arg_str":""},{"text":" @(","comment":"Temporary set from and to for commands supporting ranges","arg_str":" )"},{"text":" @a:","comment":"Temporary set arch and bits, if specified","arg_str":"[:]"},{"text":" @b:","comment":"Temporary set asm.bits","arg_str":""},{"text":" @B:","comment":"Temporary seek to nth instruction in current basic block (negative numbers too)","arg_str":""},{"text":" @e:","comment":"Temporary change eval vars (multiple vars separated by comma)","arg_str":"=[,=]"},{"text":" @f:","comment":"Temporary replace block with file contents","arg_str":""},{"text":" @F:","comment":"Temporary change flag space","arg_str":""},{"text":" @i:","comment":"Temporary seek to the Nth relative instruction","arg_str":""},{"text":" @k:","comment":"Temporary seek at value of sdb key `key`","arg_str":""},{"text":" @o:","comment":"Temporary switch to another fd","arg_str":""},{"text":" @r:","comment":"Temporary seek to register value","arg_str":""},{"text":" @s:","comment":"Temporary replace block with string","arg_str":""},{"text":" @v:","comment":"Temporary replace block with value, written according to asm.bits and cfg.bigendian","arg_str":""},{"text":" @x:","comment":"Temporary replace block with hexstring","arg_str":""}]}],"executable":false,"n_children":0,"modes":[],"children":[]},{"cmd":"@@","type":"fake","summary":"'@@' help, iterators","description":"","args_str":"","args":[],"details":[{"name":"","entries":[{"text":" @@.","comment":"Run over the offsets specified in , one per line","arg_str":" "},{"text":" @@=","comment":"Run over the listed addresses","arg_str":" [ ...]"},{"text":" @@@=","comment":"Run over the listed addresses and set the proper block size","arg_str":" [ ...]"},{"text":" @@/","comment":"Run over the search results of /","arg_str":""},{"text":" @@c:","comment":"Run on all addresses in the output of ","arg_str":""},{"text":" @@@c:","comment":"Run on all addresses/blocksizes in the output of , similar to @@@=","arg_str":""},{"text":" @@C","comment":"Run over all comments matching . may contain `*` to indicate multiple chars. If not specified all comments are considered.","arg_str":"[:]"},{"text":" @@dbt[abs]","comment":"Run on every backtrace address, bp or sp","arg_str":""},{"text":" @@t","comment":"Run over all threads","arg_str":""},{"text":" @@b","comment":"Run over all basic blocks of the current function","arg_str":""},{"text":" @@i","comment":"Run over all instructions of the current basic block","arg_str":""},{"text":" @@ii","comment":"Run over all imports","arg_str":""},{"text":" @@iS","comment":"Run over all sections","arg_str":""},{"text":" @@iSS","comment":"Run over all segments","arg_str":""},{"text":" @@is","comment":"Run over all symbols","arg_str":""},{"text":" @@iz","comment":"Run over all strings","arg_str":""},{"text":" @@f","comment":"Run over all flags matching . may contain `*` to indicate multiple chars. If not specified all flags are considered.","arg_str":"[:]"},{"text":" @@F","comment":"Run over all functions matching . may contain `*` to indicate multiple chars. If not specified all functions are considered.","arg_str":"[:]"},{"text":" @@om","comment":"Run over all iomap (see `om`)","arg_str":""},{"text":" @@dm","comment":"Run over all debug maps (see `dm`)","arg_str":""},{"text":" @@r","comment":"Run over all registers","arg_str":""},{"text":" @@s:","comment":"Run on all addresses starting from and going up to (excluded), with a step .","arg_str":" "}]}],"executable":false,"n_children":0,"modes":[],"children":[]},{"cmd":"_","type":"argv","summary":"Print last output","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"a","type":"group","summary":"Analysis commands","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":25,"modes":[],"children":[{"cmd":"aa","type":"group","summary":"Analysis commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":20,"modes":[],"children":[{"cmd":"aa","type":"argv","summary":"Analyze all flags starting with sym. and entry","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aaa","type":"argv","summary":"Analyze all calls, references, emulation and applies signatures","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aaaa","type":"argv","summary":"Experimental analysis","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aac","type":"group","summary":"Analysis function calls commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"aac","type":"argv","summary":"Analyze function calls","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aaci","type":"argv","summary":"Analyze all function calls to imports","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"aaC","type":"argv","summary":"Analysis classes from RzBin","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aad","type":"argv","summary":"Analyze data references to code","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aae","type":"group","summary":"Analysis commands using ESIL","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"aae","type":"argv","summary":"Analyze references with ESIL","description":"","args_str":" []","args":[{"type":"expression","name":"len","is_last":true}],"details":[{"name":"Examples","entries":[{"text":"aae","comment":"analyze ranges given by analysis.in","arg_str":""},{"text":"aae","comment":"analyze the whole section","arg_str":" $SS @ $S"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aaef","type":"argv","summary":"Analyze references with ESIL in all functions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"aaf","type":"group","summary":"Analysis function commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":[],"children":[{"cmd":"aaf","type":"argv","summary":"Analyze all functions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aafe","type":"argv","summary":"Analyze all functions using ESIL","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aafr","type":"argv","summary":"Analyze all consecutive functions in section","description":"","args_str":" ","args":[{"type":"number","name":"length","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aaft","type":"argv","summary":"Performs recursive type matching in all functions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"aai","type":"argv_state","summary":"Print preformed analysis details","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"aaj","type":"argv","summary":"Analyze all unresolved jumps","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aal","type":"group","summary":"Language specific analysis commands","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":3,"modes":[],"children":[{"cmd":"aalg","type":"argv","summary":"Recover and analyze all Golang functions and strings","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aalor","type":"argv","summary":"Analyze all Objective-C references from selector usages to their implementations","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aalos","type":"argv","summary":"Recover all Objective-C selector stub names (__objc_stubs section contents)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"aan","type":"group","summary":"Automatic rename functions commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"aan","type":"argv","summary":"Renames all functions based on their strings or calls","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aanr","type":"argv","summary":"Renames all functions which does not return","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"aap","type":"argv","summary":"Analyze all preludes","description":"","args_str":"","args":[],"details":[{"name":"Search a custom prelude","entries":[{"text":"e analysis.prelude='90AEF630'","comment":"Set new prelude","arg_str":""},{"text":"aap","comment":"Search for 90AEF630 and create a new function","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aar","type":"argv","summary":"Analyze xrefs in current section or by n_bytes","description":"","args_str":" []","args":[{"type":"number","name":"n_bytes"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aas","type":"argv","summary":"Analyze only the symbols","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aaS","type":"argv","summary":"Analyze only the flags starting as sym.* and entry*","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aat","type":"argv","summary":"Analyze all/given function to convert immediate to linked structure offsets","description":"","args_str":" []","args":[{"type":"function","name":"func_name"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aaT","type":"argv","summary":"Prints commands to create functions after a trap call","description":"","args_str":" []","args":[{"type":"number","name":"n_bytes"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aau","type":"argv","summary":"Print memory areas not covered by functions","description":"","args_str":" []","args":[{"type":"number","name":"min_len"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aav","type":"argv_state","summary":"Analyze values referencing a specific section or map","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]}]},{"cmd":"ad","type":"group","summary":"Analyze data","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":[],"children":[{"cmd":"ad","type":"argv","summary":"Analyze data words with ","description":"","args_str":" [ [ []]]","args":[{"type":"expression","name":"count"},{"type":"expression","name":"depth"},{"type":"expression","name":"wordsize","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"adf","type":"argv","summary":"Analyze data in function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"adfg","type":"argv","summary":"Analyze data in function gaps","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"adk","type":"argv","summary":"Analyze data kind (code, text, data, invalid, etc)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"adt","type":"argv","summary":"Analyze data trampolines","description":"","args_str":" =0 =0","args":[{"type":"expression","name":"minimum","required":true,"default":"0"},{"type":"expression","name":"maximum","required":true,"is_last":true,"default":"0"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"af","type":"group","summary":"Analyze Functions commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":24,"modes":[],"children":[{"cmd":"af","type":"argv","summary":"Analyze functions recursively (honors `analysis.calls`)","description":"","args_str":" []","args":[{"type":"string","name":"name","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afr","type":"argv","summary":"Analyze functions recursively","description":"","args_str":" []","args":[{"type":"string","name":"name","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"af+","type":"argv","summary":"Hand craft a function (requires `afb+`)","description":"","args_str":" []","args":[{"type":"string","name":"name","required":true},{"type":"choice","name":"type","choices":["l","i","s"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"af-","type":"argv","summary":"Delete function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"af-*","type":"argv","summary":"Delete all function analysis data","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afj","type":"argv","summary":"Analyze function jumptable","description":"","args_str":" ","args":[{"type":"expression","name":"tbl_addr","required":true},{"type":"expression","name":"elements","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afa","type":"argv","summary":"Analyze function arguments in a call","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afal","type":"argv","summary":"Analyze function arguments in a call (honors `dbg.funcarg`)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afb","type":"group","summary":"Basic blocks commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":10,"modes":["standard","json","quiet","table"],"children":[{"cmd":"afb","type":"argv_state","summary":"List basic blocks of function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"afb+","type":"argv","summary":"Add basic block by hand","description":"","args_str":" [ []]","args":[{"type":"expression","name":"fcn_addr","required":true},{"type":"expression","name":"addr","required":true},{"type":"expression","name":"size","required":true},{"type":"expression","name":"jump"},{"type":"expression","name":"fail","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afb-","type":"argv","summary":"Remove basic block from function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afb-*","type":"argv","summary":"Remove all basic blocks from function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afbe","type":"argv","summary":"Add basic-block edge for switch-cases","description":"","args_str":" ","args":[{"type":"expression","name":"switch_addr","required":true},{"type":"expression","name":"case_addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afbet","type":"argv","summary":"Set basic-block switch-case enum type","description":"","args_str":" ","args":[{"type":"expression","name":"switch_addr","required":true},{"type":"unknown","name":"enum_name","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afbr","type":"argv","summary":"Show addresses of instructions which leave the function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afb=","type":"argv","summary":"Display ascii-art bars for basic block regions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afbi","type":"argv_state","summary":"Print single basic block information","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","long","table"],"children":[]},{"cmd":"afbc","type":"argv","summary":"Set a color for the basic block at a given address","description":"","args_str":" ","args":[{"type":"expression","name":"addr","required":true},{"type":"expression","name":"color","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"afB","type":"argv","summary":"Set asm.bits for the current function","description":"","args_str":" ","args":[{"type":"number","name":"bits","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afs","type":"group","summary":"Function signatures commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":["standard","json"],"children":[{"cmd":"afs","type":"argv_modes","summary":"Get/Set function signature at current address","description":"","args_str":" []","args":[{"type":"string","name":"signature","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"afsb","type":"argv_state","summary":"Outputs the function signature bytes, mask and search mask at current address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"afs!","type":"argv","summary":"Set function signature at current address by using the editor","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afsr","type":"argv","summary":"Change type for current function","description":"","args_str":" ","args":[{"type":"string","name":"type","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"afo","type":"argv_modes","summary":"Show address of current function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"afu","type":"argv","summary":"Resize and analyze function from current address until addr","description":"","args_str":" ","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afx","type":"argv_state","summary":"List function references","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"afS","type":"argv","summary":"Set stack frame size for function at current address","description":"","args_str":" ","args":[{"type":"expression","name":"size","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afv","type":"group","summary":"Manipulate arguments/variables in a function","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":14,"modes":[],"children":[{"cmd":"afvl","type":"argv_state","summary":"List all variables and arguments of the current function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long","table"],"children":[]},{"cmd":"afv=","type":"argv","summary":"List function variables and arguments with disasm refs","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afv-","type":"argv","summary":"Remove all variables/arguments or just the specified one","description":"","args_str":" ","args":[{"type":"unknown","name":"varname|*","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afva","type":"argv","summary":"Analyze function arguments/locals","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afvd","type":"argv","summary":"Display the value of arguments/variables","description":"","args_str":" []","args":[{"type":"unknown","name":"varname"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afvf","type":"argv","summary":"Show BP relative stackframe variables","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afvn","type":"argv","summary":"Rename argument/variable in current function","description":"","args_str":" []","args":[{"type":"string","name":"new_name","required":true},{"type":"unknown","name":"old_name"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afvR","type":"argv","summary":"List addresses where vars are accessed (READ)","description":"","args_str":" []","args":[{"type":"unknown","name":"varname"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afvW","type":"argv","summary":"List addresses where vars are accessed (WRITE)","description":"","args_str":" []","args":[{"type":"unknown","name":"varname"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afvt","type":"argv","summary":"Change type for given argument/local","description":"","args_str":" ","args":[{"type":"unknown","name":"varname","required":true},{"type":"string","name":"type","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afvc","type":"group","summary":"Read/change value constraints of arguments/locals","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":["standard","json"],"children":[{"cmd":"afvc","type":"argv_state","summary":"List value constraints of all variables / of the given one","description":"","args_str":" []","args":[{"type":"unknown","name":"varname"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"afvcs","type":"argv","summary":"Set value constraints of a variable (e.g. afvcs var0 \">0,<=9\")","description":"","args_str":" ","args":[{"type":"unknown","name":"varname","required":true},{"type":"string","name":"constraints","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afvc-","type":"argv","summary":"Remove all value constraints of a variable","description":"","args_str":" ","args":[{"type":"unknown","name":"varname","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"afvx","type":"group","summary":"Show argument/variable xrefs in a function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":["standard","json"],"children":[{"cmd":"afvx","type":"argv_modes","summary":"Show function variable xrefs (same as afvR+afvW)","description":"","args_str":" []","args":[{"type":"unknown","name":"varname"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"afvxa","type":"argv_modes","summary":"Show function argument xrefs","description":"","args_str":" []","args":[{"type":"unknown","name":"varname"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"afvxv","type":"argv_modes","summary":"Show function local variable xrefs","description":"","args_str":" []","args":[{"type":"unknown","name":"varname"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"afvs","type":"group","summary":"Manipulate stack-based arguments/locals","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":["standard","json"],"children":[{"cmd":"afvs","type":"argv_state","summary":"List stack-based arguments and locals / Define a new one","description":"","args_str":" [ []]","args":[{"type":"expression","name":"delta"},{"type":"string","name":"name","required":true},{"type":"string","name":"type","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"afvs-","type":"argv","summary":"Delete argument/local with the given name","description":"","args_str":" ","args":[{"type":"unknown","name":"varname","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afvs-*","type":"argv","summary":"Delete all arguments/locals","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afvsg","type":"argv","summary":"Define var get reference","description":"","args_str":" ","args":[{"type":"expression","name":"delta","required":true},{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afvss","type":"argv","summary":"Define var set reference","description":"","args_str":" ","args":[{"type":"expression","name":"delta","required":true},{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"afvr","type":"group","summary":"Manipulate register-based arguments/locals","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":["standard","json"],"children":[{"cmd":"afvr","type":"argv_state","summary":"List register-based arguments and locals / Define a new one","description":"","args_str":" [ []]","args":[{"type":"string","name":"reg"},{"type":"string","name":"name","required":true},{"type":"string","name":"type","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"afvr-","type":"argv","summary":"Delete register-based argument/local with the given name","description":"","args_str":" ","args":[{"type":"unknown","name":"varname","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afvr-*","type":"argv","summary":"Delete all register-based arguments/locals","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afvrg","type":"argv","summary":"Define register-based arguments and locals get references","description":"","args_str":" ","args":[{"type":"string","name":"reg","required":true},{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afvrs","type":"argv","summary":"Define register-based arguments and locals set references","description":"","args_str":" ","args":[{"type":"string","name":"reg","required":true},{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]}]},{"cmd":"afl","type":"group","summary":"List functions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":6,"modes":["standard","json","quiet","long","table"],"children":[{"cmd":"afl","type":"argv_state","summary":"List all functions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","long","table"],"children":[]},{"cmd":"afl.","type":"argv","summary":"List functions in current seek","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aflc","type":"argv","summary":"Display count of all functions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afl+","type":"argv","summary":"Display sum of all functions sizes","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aflm","type":"argv_state","summary":"List calls of all functions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"afl=","type":"argv","summary":"Display ascii-art bars with function ranges","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"afi","type":"group","summary":"Show/edit function information","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":["standard","json","table"],"children":[{"cmd":"afi","type":"argv_state","summary":"Show information of functions in current seek","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","table"],"children":[]},{"cmd":"afii","type":"group","summary":"Show/add/delete imports used in function in current seek","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"afii","type":"argv","summary":"Show/add imports used in function in current seek","description":"","args_str":" []","args":[{"type":"string","name":"import","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afii-","type":"argv","summary":"Delete imports used in function in current seek","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"afis","type":"group","summary":"Show opcode statistic in function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","table"],"children":[{"cmd":"afis","type":"argv_state","summary":"Enumerate unique opcodes/opcode families/opcode types in function","description":"","args_str":" []","args":[{"type":"choice","name":"mode","choices":["family","type"]}],"details":[],"executable":true,"n_children":0,"modes":["standard","table"],"children":[]},{"cmd":"afisa","type":"argv_state","summary":"Enumerate unique opcodes/opcode families/opcode types in all functions","description":"","args_str":" []","args":[{"type":"choice","name":"mode","choices":["family","type"]}],"details":[],"executable":true,"n_children":0,"modes":["table"],"children":[]}]}]},{"cmd":"afn","type":"group","summary":"Analyze function names","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"afn","type":"argv","summary":"Rename function at current seek","description":"","args_str":" ","args":[{"type":"string","name":"new name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afna","type":"argv","summary":"Suggest a name for the function in current seek","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afns","type":"argv_state","summary":"Print all strings referenced by the function in current seek","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"aft","type":"argv","summary":"Type matching analysis for the function in current seek","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afM","type":"argv","summary":"Print functions map","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afm","type":"argv","summary":"Merge two functions","description":"","args_str":" ","args":[{"type":"function","name":"addr","required":true}],"details":[{"name":"","entries":[{"text":"afm 0xbeef @ 0x42","comment":"Merge function at address 0xbeef to function at address 0x42","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afc","type":"group","summary":"Calling convention","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":[],"children":[{"cmd":"afc","type":"argv","summary":"Set/Get calling convention for current function","description":"","args_str":" []","args":[{"type":"string","name":"convention","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afcl","type":"argv_modes","summary":"List all available calling conventions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","sdb","long"],"children":[]},{"cmd":"afco","type":"argv","summary":"Open Calling Convention sdb profile from given path","description":"","args_str":" ","args":[{"type":"filename","name":"db_path","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afcr","type":"argv_state","summary":"Show register usage for the current function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"afd","type":"argv","summary":"Show function + delta for given offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"aF","type":"argv","summary":"Analyze function non-recursively","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aeC","type":"argv","summary":"appcall in esil","description":"","args_str":" ...","args":[{"type":"number","name":"args","required":true,"is_array":true}],"details":[{"name":"Examples","entries":[{"text":"aeC","comment":"Call sym._add(1,2)","arg_str":" 1 2 @ sym._add"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aec","type":"group","summary":"continue until ^C","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":6,"modes":[],"children":[{"cmd":"aec","type":"argv","summary":"Continue until exception","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aecb","type":"argv","summary":"Continue back until breakpoint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aecs","type":"argv","summary":"Continue until syscall","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aecc","type":"argv","summary":"Continue until call","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aecu","type":"argv","summary":"Continue until address","description":"","args_str":" ","args":[{"type":"number","name":"addr","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aecue","type":"argv","summary":"Continue until esil expression","description":"","args_str":" ","args":[{"type":"string","name":"expr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"aei","type":"group","summary":"ESIL VM state","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":[],"children":[{"cmd":"aei","type":"argv","summary":"initialize ESIL VM state","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aei-","type":"argv","summary":"deinitialize ESIL VM state","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aeip","type":"argv","summary":"initialize ESIL program counter to curseek","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aeim","type":"group","summary":"ESIL VM stack","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"aeim","type":"argv","summary":"initialize ESIL VM stack","description":"","args_str":" [ [ []]]","args":[{"type":"number","name":"addr"},{"type":"number","name":"size"},{"type":"string","name":"name","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aeim-","type":"argv","summary":"remove ESIL VM stack","description":"","args_str":" [ [ []]]","args":[{"type":"number","name":"addr"},{"type":"number","name":"size"},{"type":"string","name":"name","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aeimp","type":"argv","summary":"initialize ESIL VM stack to \"aeim.stack\" or ?","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]}]},{"cmd":"aes","type":"group","summary":"ESIL emulated debugger step","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":7,"modes":[],"children":[{"cmd":"aes","type":"argv","summary":"perform emulated debugger step","description":"","args_str":" []","args":[{"type":"expression","name":"N","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aesp","type":"argv","summary":"evaluate N instr from core->offset","description":"","args_str":" ","args":[{"type":"expression","name":"N","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aesb","type":"argv","summary":"step back","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aeso","type":"argv","summary":"step over","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aesou","type":"argv","summary":"step over until given address","description":"","args_str":" ","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aess","type":"group","summary":"step skip","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"aess","type":"argv","summary":"step skip (in case of CALL, just skip, instead of step into)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aessu","type":"argv","summary":"step skip (in case of CALL, just skip, instead of step into)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aessue","type":"argv","summary":"step skip (in case of CALL, just skip, instead of step into)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"aesu","type":"group","summary":"step until","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"aesu","type":"argv","summary":"step until given address","description":"","args_str":" ","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aesue","type":"argv","summary":"step until esil expression match","description":"","args_str":" ","args":[{"type":"string","name":"esil","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aesuo","type":"argv","summary":"step until given opcode type","description":"","args_str":" ...","args":[{"type":"string","name":"optype","required":true,"is_array":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]}]},{"cmd":"aets","type":"group","summary":"ESIL Trace session","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":2,"modes":[],"children":[{"cmd":"aets+","type":"argv","summary":"Start ESIL trace session","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aets-","type":"argv","summary":"Stop ESIL trace session","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"aez","type":"group","summary":"RzIL Emulation","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":6,"modes":[],"children":[{"cmd":"aezi","type":"argv","summary":"Initialize the RzIL Virtual Machine at the current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aezs","type":"argv","summary":"Step N instructions within the RzIL Virtual Machine","description":"","args_str":" []","args":[{"type":"number","name":"n_times"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aezse","type":"argv_modes","summary":"Step N instructions within the RzIL VM and output VM changes (read & write)","description":"","args_str":" []","args":[{"type":"number","name":"n_times"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"aezsu","type":"argv","summary":"Step until PC equals given address","description":"","args_str":"
","args":[{"type":"expression","name":"address","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aezsue","type":"argv","summary":"Step until PC equals given address and output VM changes (read & write)","description":"","args_str":"
","args":[{"type":"expression","name":"address","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aezv","type":"argv_modes","summary":"Print or modify the current status of the RzIL Virtual Machine","description":"","args_str":" [ []]","args":[{"type":"string","name":"var_name"},{"type":"expression","name":"number","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]}]},{"cmd":"ag","type":"group","summary":"Analysis graph commands","description":"","args_str":"","args":[],"details":[{"name":"Formats","entries":[{"text":"ascii","comment":"Ascii art","arg_str":""},{"text":"cmd","comment":"rizin commands","arg_str":""},{"text":"dot","comment":"Graphviz dot","arg_str":""},{"text":"gml","comment":"Graph Modelling Language","arg_str":""},{"text":"json","comment":"json","arg_str":""},{"text":"json_disasm","comment":"json formatted disassembly","arg_str":""},{"text":"sdb","comment":"SDB key-value","arg_str":""},{"text":"interactive","comment":"Interactive ascii art","arg_str":""}]}],"executable":false,"n_children":19,"modes":[],"children":[{"cmd":"aga","type":"argv","summary":"Data reference graph","description":"","args_str":" =ascii","args":[{"type":"choice","name":"format","required":true,"default":"ascii","choices":["ascii","cmd","dot","gml","json","json_disasm","sdb","interactive"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"agA","type":"argv","summary":"Global data references graph","description":"","args_str":" =ascii","args":[{"type":"choice","name":"format","required":true,"default":"ascii","choices":["ascii","cmd","dot","gml","json","json_disasm","sdb","interactive"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"agc","type":"argv","summary":"Function callgraph","description":"","args_str":" =ascii","args":[{"type":"choice","name":"format","required":true,"default":"ascii","choices":["ascii","cmd","dot","gml","json","json_disasm","sdb","interactive"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"agC","type":"argv","summary":"Global callgraph","description":"","args_str":" =ascii","args":[{"type":"choice","name":"format","required":true,"default":"ascii","choices":["ascii","cmd","dot","gml","json","json_disasm","sdb","interactive"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"agCi","type":"argv","summary":"Inter-procedual control flow graph","description":"","args_str":" =ascii","args":[{"type":"choice","name":"format","required":true,"default":"ascii","choices":["ascii","cmd","dot","gml","json","json_disasm","sdb","interactive"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"agF","type":"argv","summary":"Control flow graph (without calls)","description":"","args_str":" =ascii","args":[{"type":"choice","name":"format","required":true,"default":"ascii","choices":["ascii","cmd","dot","gml","json","json_disasm","sdb","interactive"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"agf","type":"argv","summary":"Basic blocks function graph","description":"","args_str":" =ascii","args":[{"type":"choice","name":"format","required":true,"default":"ascii","choices":["ascii","cmd","dot","gml","json","json_disasm","sdb","interactive"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"agi","type":"argv","summary":"Imports graph","description":"","args_str":" =ascii","args":[{"type":"choice","name":"format","required":true,"default":"ascii","choices":["ascii","cmd","dot","gml","json","json_disasm","sdb","interactive"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"agr","type":"argv","summary":"References graph","description":"","args_str":" =ascii","args":[{"type":"choice","name":"format","required":true,"default":"ascii","choices":["ascii","cmd","dot","gml","json","json_disasm","sdb","interactive"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"agR","type":"argv","summary":"Global references graph","description":"","args_str":" =ascii","args":[{"type":"choice","name":"format","required":true,"default":"ascii","choices":["ascii","cmd","dot","gml","json","json_disasm","sdb","interactive"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ags","type":"argv","summary":"Normal graph","description":"","args_str":" =ascii","args":[{"type":"choice","name":"format","required":true,"default":"ascii","choices":["ascii","cmd","dot","gml","json","json_disasm","sdb","interactive"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"agl","type":"argv","summary":"Line graph","description":"","args_str":" =ascii","args":[{"type":"choice","name":"format","required":true,"default":"ascii","choices":["ascii","cmd","dot","gml","json","json_disasm","sdb","interactive"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"agx","type":"argv","summary":"Cross-references graph","description":"","args_str":" =ascii","args":[{"type":"choice","name":"format","required":true,"default":"ascii","choices":["ascii","cmd","dot","gml","json","json_disasm","sdb","interactive"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"agI","type":"argv","summary":"RzIL graph of the instruction at the current offset.","description":"","args_str":" =ascii","args":[{"type":"choice","name":"format","required":true,"default":"ascii","choices":["ascii","cmd","dot","gml","json","json_disasm","sdb","interactive"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"agg","type":"argv","summary":"Custom graph","description":"","args_str":" =ascii","args":[{"type":"choice","name":"format","required":true,"default":"ascii","choices":["ascii","cmd","dot","gml","json","json_disasm","sdb","interactive"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ag-","type":"argv","summary":"Clear the custom graph","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"agn","type":"group","summary":"Managing custom graph nodes","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"agn","type":"argv","summary":"Add a node to the custom graph","description":"","args_str":" [<body>]","args":[{"type":"string","name":"title","required":true},{"type":"string","name":"body","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"agn-","type":"argv","summary":"Remove a node from the custom graph","description":"","args_str":" <title>","args":[{"type":"string","name":"title","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"age","type":"group","summary":"Managing custom graph edges","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"age","type":"argv","summary":"Add an edge to the custom graph","description":"","args_str":" <title1> <title2>","args":[{"type":"string","name":"title1","required":true},{"type":"string","name":"title2","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"age-","type":"argv","summary":"Remove an edge from the custom graph","description":"","args_str":" <title1> <title2>","args":[{"type":"string","name":"title1","required":true},{"type":"string","name":"title2","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"agw","type":"argv","summary":"Write to path or display graph image (see graph.gv.format)","description":"","args_str":" <graphtype>=dataref <path> [-global]","args":[{"type":"choice","name":"graphtype","required":true,"default":"dataref","choices":["dataref","funcall","diff","funblock","import","ref","line","xref","custom"]},{"type":"string","name":"path","required":true},{"type":"option","name":"global","is_option":true}],"details":[{"name":"Graph Type","entries":[{"text":"dataref","comment":"Data reference graph","arg_str":""},{"text":"funcall","comment":"Function call graph","arg_str":""},{"text":"diff","comment":"Diff graph","arg_str":""},{"text":"funblock","comment":"Function basic block graph","arg_str":""},{"text":"import","comment":"Imports graph","arg_str":""},{"text":"ref","comment":"References graph","arg_str":""},{"text":"line","comment":"Line graph","arg_str":""},{"text":"xref","comment":"Cross references graph","arg_str":""},{"text":"custom","comment":"Custom made graph","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"ar","type":"group","summary":"Emulation Registers","description":"","args_str":"","args":[],"details":[{"name":"Register Filter","entries":[{"text":"ar","comment":"Show a sensible default selection of registers","arg_str":""},{"text":"ar","comment":"Show a single register","arg_str":" rax"},{"text":"ar","comment":"Show 16 bits wide gpr registers","arg_str":" 16"},{"text":"ar","comment":"Show registers of type xmm (see `arT` for possible types)","arg_str":" xmm"},{"text":"ar","comment":"Show the register with the given role (see `arR` for possible roles)","arg_str":" PC"},{"text":"ar","comment":"Show all registers available","arg_str":" all"}]}],"executable":true,"n_children":15,"modes":["standard","json","quiet","table"],"children":[{"cmd":"ar","type":"argv_state","summary":"Show registers with their values, or assign one (`ar reg=value`)","description":"","args_str":" [<filter> [= <value>]]","args":[{"type":"unknown","name":"filter","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"ar=","type":"argv","summary":"Show registers in columns","description":"","args_str":" [<filter>]","args":[{"type":"unknown","name":"filter"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"arr","type":"argv_modes","summary":"Show register references (telescoping)","description":"","args_str":" [<filter>]","args":[{"type":"unknown","name":"filter"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"ari","type":"argv","summary":"Show register grouped by their values","description":"","args_str":" [<filter>]","args":[{"type":"unknown","name":"filter"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"arA","type":"argv_modes","summary":"Show values of default function argument registers (A0, A1, A2, ...) with telescoping","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"arcc","type":"argv","summary":"Show calling convention defined by registers","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ard","type":"argv","summary":"Show register differences from previous contents","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aro","type":"argv_state","summary":"Show previous register contents","description":"","args_str":" [<filter>]","args":[{"type":"unknown","name":"filter","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"arF","type":"argv","summary":"Show fpu registers","description":"","args_str":" [<register> [= <value>]]","args":[{"type":"string","name":"reg","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"arf","type":"group","summary":"Show commands for setting registers as flags","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"arf","type":"argv","summary":"Show commands for setting registers as flags","description":"","args_str":" [<filter>]","args":[{"type":"unknown","name":"filter"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"arf-","type":"argv","summary":"Show commands for unsetting flags from `arf`","description":"","args_str":" [<filter>]","args":[{"type":"unknown","name":"filter"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"ara","type":"group","summary":"Register arena commands (underlying binary data)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":8,"modes":[],"children":[{"cmd":"ara","type":"argv","summary":"Show all currently allocated register arenas","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ara+","type":"argv","summary":"Push a new set of arenas to the stack","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ara-","type":"argv","summary":"Pop a set of arenas from the stack","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"araS","type":"argv","summary":"Show number of stack elements","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aras","type":"argv","summary":"Swap last two register arenas on the stack","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ara0","type":"argv","summary":"Reset the specified or all arena contents to 0","description":"","args_str":" [<type>]","args":[{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"arab","type":"argv","summary":"Display hexdump of given arena (or gpr if none given)","description":"","args_str":" [<type>]","args":[{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"araw","type":"argv","summary":"Write hexadecimal data <hex> into the given arena (or gpr if none given)","description":"","args_str":" <hex> [<type>]","args":[{"type":"string","name":"hex","required":true},{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"arp","type":"group","summary":"Register profile commands (defining available registers)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":["standard","json"],"children":[{"cmd":"arp","type":"argv_state","summary":"Show the current register profile","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"arpc","type":"argv","summary":"Show register profile comments","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"arpo","type":"argv","summary":"Load a new register profile from file","description":"","args_str":" <file>","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"arpg","type":"argv","summary":"Convert gdb profile from the given file to rizin register profile","description":"","args_str":" <file>","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"arc","type":"argv","summary":"Conditional flags (aliases to processor flags)","description":"","args_str":"","args":[],"details":[{"name":"Basic","entries":[{"text":"eq","comment":"equal","arg_str":""},{"text":"ne","comment":"not equal","arg_str":""},{"text":"cf","comment":"carry flag set","arg_str":""},{"text":"neg","comment":"negative value (has sign)","arg_str":""},{"text":"of","comment":"overflow","arg_str":""}]},{"name":"Unsigned","entries":[{"text":"hi","comment":"higher","arg_str":""},{"text":"he","comment":"higher or equal","arg_str":""},{"text":"lo","comment":"lower","arg_str":""},{"text":"loe","comment":"lower or equal","arg_str":""}]},{"name":"Signed","entries":[{"text":"gt","comment":"greater","arg_str":""},{"text":"ge","comment":"greater or equal","arg_str":""},{"text":"lt","comment":"less","arg_str":""},{"text":"le","comment":"less or equal","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"arT","type":"argv","summary":"List all register types","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"arR","type":"argv","summary":"List all register roles","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"ai","type":"group","summary":"analysis/address information/imports","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json"],"children":[{"cmd":"ai","type":"argv_state","summary":"show address information","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"aii","type":"group","summary":"global import (like afii, but global)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard"],"children":[{"cmd":"aii","type":"argv_state","summary":"list/add global import (like afii, but global)","description":"","args_str":" [<namespace>]","args":[{"type":"string","name":"namespace","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"aii-","type":"argv_state","summary":"delete all global imports","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]}]}]},{"cmd":"av","type":"group","summary":"C++ vtables and RTTI","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":8,"modes":["standard","json"],"children":[{"cmd":"av","type":"argv_modes","summary":"search for vtables in data sections and show results","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"avD","type":"argv","summary":"Mark objects and devirtualize calls to virtual functions for function at the current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"avg","type":"group","summary":"Global variables","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":9,"modes":[],"children":[{"cmd":"avgl","type":"argv_state","summary":"show/list global variables","description":"","args_str":" [<var_name>]","args":[{"type":"unknown","name":"var_name"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"avga","type":"argv","summary":"add global variable manually","description":"","args_str":" <var_name> <type>","args":[{"type":"string","name":"var_name","required":true},{"type":"unknown","name":"type","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"avgd","type":"argv","summary":"delete the global variable at the addr","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"avgm","type":"argv","summary":"delete global variable with name","description":"","args_str":" <name>","args":[{"type":"unknown","name":"name","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"avgn","type":"argv","summary":"rename the global variable","description":"","args_str":" <old_var_name> <new_var_name>","args":[{"type":"unknown","name":"old_var_name","required":true},{"type":"string","name":"new_var_name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"avgp","type":"argv","summary":"print the global variable value","description":"","args_str":" <name>","args":[{"type":"unknown","name":"name","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"avgt","type":"argv","summary":"change the global variable type","description":"","args_str":" <var_name> <type>","args":[{"type":"unknown","name":"var_name","required":true},{"type":"unknown","name":"type","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"avgx","type":"argv_state","summary":"print all xrefs to the global variable","description":"","args_str":" <name>","args":[{"type":"unknown","name":"name","required":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"avgc","type":"group","summary":"Read/change value constraints of global variables","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":["standard","json"],"children":[{"cmd":"avgc","type":"argv_state","summary":"List value constraints of all globals / of the given one","description":"","args_str":" [<var_name>]","args":[{"type":"unknown","name":"var_name"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"avgcs","type":"argv","summary":"Set value constraints of a global variable (e.g. avgcs g \">0,<=9\")","description":"","args_str":" <var_name> <constraints>","args":[{"type":"unknown","name":"var_name","required":true},{"type":"string","name":"constraints","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"avgc-","type":"argv","summary":"Remove all value constraints of a global variable","description":"","args_str":" <var_name>","args":[{"type":"unknown","name":"var_name","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]}]},{"cmd":"avr","type":"argv_modes","summary":"try to parse RTTI at vtable addr (see analysis.cpp.abi)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"avra","type":"argv_modes","summary":"search for vtables and try to parse RTTI at each of them","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"avrr","type":"argv","summary":"recover class info from all findable RTTI (see ac)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"avrD","type":"argv","summary":"demangle a class name from RTTI","description":"","args_str":" <classname>","args":[{"type":"string","name":"classname","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"avx","type":"argv_state","summary":"Show the addresses of calls to the virtual function.","description":"","args_str":" <virtual function name>","args":[{"type":"string","name":"virtual function name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","table"],"children":[]}]},{"cmd":"ax","type":"group","summary":"Cross references (xrefs)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":13,"modes":[],"children":[{"cmd":"ax","type":"argv","summary":"Add custom xref to addr from current seek","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"axc","type":"argv","summary":"Add generic code xref to addr from current seek","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"axC","type":"argv","summary":"Add call code xref to addr from current seek","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"axd","type":"argv","summary":"Add data xref to addr from current seek","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"axs","type":"argv","summary":"Add string xref to addr from current seek","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"axl","type":"argv_state","summary":"List all xrefs","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"axt","type":"argv_state","summary":"List xrefs to current seek","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","long"],"children":[]},{"cmd":"axf","type":"argv_state","summary":"List xrefs from current seek","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"axtg","type":"argv","summary":"Display commands to generate graphs according to xrefs","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ax-","type":"argv","summary":"Delete xrefs to addr","description":"","args_str":" <addr> [<from>]","args":[{"type":"expression","name":"addr","required":true},{"type":"expression","name":"from","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ax-*","type":"argv","summary":"Delete all xrefs","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"axm","type":"argv","summary":"Copy xrefs pointing to addr to also point to curseek","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"axg","type":"argv_state","summary":"Show xrefs graph to reach function at current seek","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"ah","type":"group","summary":"Analysis hints","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":36,"modes":[],"children":[{"cmd":"ahl","type":"argv_state","summary":"List all analysis hints","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"ahl.","type":"argv_state","summary":"List analysis hints at current seek","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"ah-","type":"argv","summary":"Delete analysis hints in region starting from current seek","description":"","args_str":" [<size>]","args":[{"type":"number","name":"size"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ah-*","type":"argv","summary":"Delete all analysis hints","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aha","type":"argv","summary":"Set arch hint","description":"","args_str":" <arch>","args":[{"type":"string","name":"arch","required":true,"is_last":true}],"details":[{"name":"","entries":[{"text":"aha ppc @ 0x42","comment":"Force arch ppc for all addresses >= 0x42 or until the next hint","arg_str":""},{"text":"aha 0 @ 0x84","comment":"Disable the effect of arch hints for all addresses >= 0x84 or until the next hint","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aha-","type":"argv","summary":"Delete arch hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahb","type":"argv","summary":"Set bits hint","description":"","args_str":" <bits>","args":[{"type":"number","name":"bits","required":true}],"details":[{"name":"","entries":[{"text":"ahb 16 @ 0x42","comment":"Force 16bit for all addresses >= 0x42 or until the next hint","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahb-","type":"argv","summary":"Delete bits hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahh","type":"argv","summary":"Set highlight hint","description":"","args_str":"","args":[],"details":[{"name":"","entries":[{"text":"ahh @ 0x804840","comment":"Highlight this address offset in disasm","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahh-","type":"argv","summary":"Delete highlight hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahc","type":"argv","summary":"Set jump/call address hint","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[{"name":"","entries":[{"text":"ahc ","comment":"Replace call/jump address with 0x804840","arg_str":"0x804840"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahc-","type":"argv","summary":"Delete jump/call address hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahe","type":"argv","summary":"Set ESIL string hint","description":"","args_str":" <string>","args":[{"type":"string","name":"string","required":true,"is_last":true}],"details":[{"name":"","entries":[{"text":"ahe ","comment":"Replace ESIL VM analysis string","arg_str":"\"3,eax,+=\""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahe-","type":"argv","summary":"Delete ESIL string hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahd","type":"argv","summary":"Set opcode hint","description":"","args_str":" <opcode>","args":[{"type":"string","name":"opcode","required":true,"is_last":true}],"details":[{"name":"","entries":[{"text":"ahd ","comment":"Replace opcode string","arg_str":"\"foo a0,33\""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahd-","type":"argv","summary":"Delete opcode hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahs","type":"argv","summary":"Set opcode size hint","description":"","args_str":" <size>","args":[{"type":"expression","name":"size","required":true,"is_last":true}],"details":[{"name":"","entries":[{"text":"ahs ","comment":"Set opcode size=4","arg_str":"4"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahs-","type":"argv","summary":"Delete opcode size hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahf","type":"argv","summary":"Set fallback address hint","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[{"name":"","entries":[{"text":"ahf ","comment":"Replace fallback address for call with 0x804840","arg_str":"0x804840"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahf-","type":"argv","summary":"Delete fallback address hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahF","type":"argv","summary":"Set stackframe size hint","description":"","args_str":" <size>","args":[{"type":"number","name":"size","required":true}],"details":[{"name":"","entries":[{"text":"ahF ","comment":"Set stackframe size to 0x10","arg_str":"0x10"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahF-","type":"argv","summary":"Delete stackframe size hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahS","type":"argv","summary":"Set asm syntax hint","description":"","args_str":" <string>","args":[{"type":"string","name":"string","required":true,"is_last":true}],"details":[{"name":"","entries":[{"text":"ahS ","comment":"Set asm.syntax=jz for opcode at current seek","arg_str":"jz"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahS-","type":"argv","summary":"Delete asm syntax hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahp","type":"argv","summary":"Set pointer hint","description":"","args_str":" <pointer>","args":[{"type":"expression","name":"pointer","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahp-","type":"argv","summary":"Delete pointer hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahr","type":"argv","summary":"Set function return value hint","description":"","args_str":" <return>","args":[{"type":"expression","name":"return","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahr-","type":"argv","summary":"Delete function return value hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahv","type":"argv","summary":"Set opcode value hint","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[{"name":"","entries":[{"text":"ahv ","comment":"Change opcode's value field (useful to set jmptbl sizes in jmp rax)","arg_str":"val"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahv-","type":"argv","summary":"Delete opcode value hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aho","type":"argv","summary":"Set opcode type hint","description":"","args_str":" <string>","args":[{"type":"string","name":"string","required":true,"is_last":true}],"details":[{"name":"","entries":[{"text":"aho ","comment":"Change opcode type to <call>","arg_str":"call"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aho-","type":"argv","summary":"Delete opcode type hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahi","type":"group","summary":"Manage immediate operand hints","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":["standard"],"children":[{"cmd":"ahi","type":"argv_modes","summary":"Set immediate base hint","description":"","args_str":" <type> [<nword>]","args":[{"type":"choice","name":"type","required":true,"choices":["2","8","10","10u","16","b","o","h","i","p","S","s"]},{"type":"number","name":"nword"}],"details":[{"name":"","entries":[{"text":"ahi ","comment":"Set numeric <base> (2, 8, 10, 16)","arg_str":"<base>"},{"text":"ahi 10|d","comment":"Set base to signed decimal (10), sign bit should depend on receiver size","arg_str":""},{"text":"ahi 10u|du","comment":"Set base to unsigned decimal (11)","arg_str":""},{"text":"ahi b","comment":"Set base to binary (2)","arg_str":""},{"text":"ahi o","comment":"Set base to octal (8)","arg_str":""},{"text":"ahi h","comment":"Set base to hexadecimal (16)","arg_str":""},{"text":"ahi i","comment":"Set base to IP address (32)","arg_str":""},{"text":"ahi p","comment":"Set base to htons(port) (3)","arg_str":""},{"text":"ahi S","comment":"Set base to syscall (80)","arg_str":""},{"text":"ahi s","comment":"Set base to string (1)","arg_str":""}]},{"name":"Set base of the N-th immediate (indexing starts from 0)","entries":[{"text":"ahi 16 1","comment":"Set base of the 1-st immediate to hexadecimal","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"ahi-","type":"argv","summary":"Delete immediate base hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahie","type":"argv","summary":"Set enum type hint for operand","description":"","args_str":" <enum> [<nword>]","args":[{"type":"unknown","name":"enum","required":true},{"type":"number","name":"nword"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahie-","type":"argv","summary":"Delete enum type hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"aht","type":"argv","summary":"Set structure offset hint","description":"","args_str":" <struct.member>","args":[{"type":"string","name":"struct.member","required":true,"is_last":true}],"details":[{"name":"","entries":[{"text":"aht ","comment":"Replace immediate with <struct.member>","arg_str":"struct.member"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aht-","type":"argv","summary":"Delete structure offset hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahts","type":"argv","summary":"List all matching structure offsets","description":"","args_str":" <offset>","args":[{"type":"expression","name":"offset","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"ac","type":"group","summary":"Classes","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":9,"modes":[],"children":[{"cmd":"ac","type":"argv","summary":"Add class","description":"","args_str":" <class_name>","args":[{"type":"string","name":"class_name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ac-","type":"argv","summary":"Delete class","description":"","args_str":" <class_name>","args":[{"type":"string","name":"class_name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"acn","type":"argv","summary":"Rename class","description":"","args_str":" <class_name> <new_name>","args":[{"type":"string","name":"class_name","required":true},{"type":"string","name":"new_name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"acl","type":"argv_state","summary":"List all classes","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long"],"children":[]},{"cmd":"aci","type":"argv_state","summary":"Show information of class","description":"","args_str":" <class_name>","args":[{"type":"string","name":"class_name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long"],"children":[]},{"cmd":"acg","type":"argv","summary":"Print inheritance ascii graph","description":"","args_str":" <class_name>","args":[{"type":"string","name":"class_name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"acm","type":"group","summary":"Class methods","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"acm","type":"argv","summary":"Add/edit method","description":"","args_str":" <class_name> <method_name> <offset> [<vtable_offset>]","args":[{"type":"string","name":"class_name","required":true},{"type":"string","name":"method_name","required":true},{"type":"number","name":"offset","required":true},{"type":"number","name":"vtable_offset"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"acm-","type":"argv","summary":"Delete method","description":"","args_str":" <class_name> <method_name>","args":[{"type":"string","name":"class_name","required":true},{"type":"string","name":"method_name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"acmn","type":"argv","summary":"Rename method","description":"","args_str":" <class_name> <method_name> <new_method_name>","args":[{"type":"string","name":"class_name","required":true},{"type":"string","name":"method_name","required":true},{"type":"string","name":"new_method_name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"acb","type":"group","summary":"Base classes","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"acb","type":"argv","summary":"Add base class","description":"","args_str":" <class_name> <base_class_name> [<offset>]","args":[{"type":"string","name":"class_name","required":true},{"type":"string","name":"base_class_name","required":true},{"type":"number","name":"offset"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"acb-","type":"argv","summary":"Delete base class","description":"","args_str":" <class_name> <base_class_name>","args":[{"type":"string","name":"class_name","required":true},{"type":"string","name":"base_class_name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"acbl","type":"argv","summary":"List base classes","description":"","args_str":" <class_name>","args":[{"type":"string","name":"class_name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"acv","type":"group","summary":"Class vtable","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":[],"children":[{"cmd":"acv","type":"argv","summary":"Add vtable address to class","description":"","args_str":" <class_name> <addr> [<offset> [<size>]]","args":[{"type":"string","name":"class_name","required":true},{"type":"expression","name":"addr","required":true},{"type":"expression","name":"offset"},{"type":"expression","name":"size","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"acv-","type":"argv","summary":"Delete vtable by id","description":"","args_str":" <class_name> <vtable_id>","args":[{"type":"string","name":"class_name","required":true},{"type":"string","name":"vtable_id","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"acvl","type":"argv","summary":"List class vtables","description":"","args_str":" <class_name>","args":[{"type":"string","name":"class_name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"acvf","type":"argv","summary":"Lookup function address on vtable offset","description":"","args_str":" <offset> [<class_name>]","args":[{"type":"expression","name":"offset","required":true},{"type":"string","name":"class_name","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]}]},{"cmd":"a8","type":"argv_state","summary":"Analyze bytes","description":"","args_str":" <hexpairs>","args":[{"type":"string","name":"hexpairs","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"aO","type":"group","summary":"Analyze next block as instructions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":["standard","json"],"children":[{"cmd":"aO","type":"argv_state","summary":"Analyze next block as instructions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"aOe","type":"argv","summary":"Analyze the esil of next block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aOd","type":"argv","summary":"Print the description of next block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aOs","type":"argv","summary":"Print the total instruction size of next block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"ao","type":"group","summary":"Analyze N instructions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":9,"modes":["standard","json"],"children":[{"cmd":"ao","type":"argv_state","summary":"Analyze next N instructions","description":"","args_str":" [<n_instructions>]","args":[{"type":"number","name":"n_instructions"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"aos","type":"argv","summary":"Print the total size of next N instructions","description":"","args_str":" [<n_instructions>]","args":[{"type":"number","name":"n_instructions"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aoe","type":"argv","summary":"Print the esil of next N instructions","description":"","args_str":" [<n_instructions>]","args":[{"type":"number","name":"n_instructions"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aoi","type":"group","summary":"Print the RzIL of next N instructions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"aoi","type":"argv","summary":"Print the RzIL of next N instructions","description":"","args_str":" [<n_instructions>]","args":[{"type":"number","name":"n_instructions"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aoip","type":"argv","summary":"Pretty print the RzIL of next N instructions","description":"","args_str":" [<n_instructions>]","args":[{"type":"number","name":"n_instructions"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"aod","type":"argv","summary":"Describe opcode for asm.arch","description":"","args_str":" [<opcode>]","args":[{"type":"string","name":"opcode","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aoda","type":"argv","summary":"Describe all opcode for asm.arch","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aoc","type":"argv","summary":"Analyze which op could be executed in [cycles]","description":"","args_str":" [<cycles>]","args":[{"type":"number","name":"cycles"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aom","type":"argv","summary":"convert between mnemonic/id for asm.arch","description":"","args_str":" <mne_or_id>","args":[{"type":"string","name":"mne_or_id","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aoma","type":"argv","summary":"List mnemonics for asm.arch","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"an","type":"argv_state","summary":"Show/rename/create whatever flag/function is used at addr","description":"","args_str":" [<name>]","args":[{"type":"string","name":"name","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"ab","type":"group","summary":"Basic blocks","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":3,"modes":[],"children":[{"cmd":"abi","type":"argv_state","summary":"Show basic block information in current seek","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long"],"children":[]},{"cmd":"abl","type":"argv_state","summary":"List all basic blocks","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","long","table"],"children":[]},{"cmd":"abt","type":"argv_state","summary":"Find paths from current seek to the given address","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"as","type":"group","summary":"Syscalls","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":6,"modes":[],"children":[{"cmd":"as","type":"argv","summary":"Show syscall and arguments","description":"","args_str":" [<syscall>]","args":[{"type":"number","name":"syscall"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"asl","type":"argv_state","summary":"List syscalls","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"asca","type":"argv","summary":"Dump syscall info into .asm file","description":"","args_str":" [<syscall>]","args":[{"type":"string","name":"syscall","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"asc","type":"argv","summary":"Dump syscall info into .h file","description":"","args_str":" [<syscall>]","args":[{"type":"string","name":"syscall","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"asn","type":"argv","summary":"Returns the syscall number by the name","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"asr","type":"argv","summary":"Returns the syscall name by the number","description":"","args_str":" <number>","args":[{"type":"number","name":"number","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"aL","type":"group","summary":"List all asm/analysis plugins (e asm.arch=?)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json"],"children":[{"cmd":"aL","type":"argv_state","summary":"List all asm/analysis plugins (e asm.arch=?) or CPU details for a plugin.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"aLc","type":"argv","summary":"Shows the CPU details for a specific plugin.","description":"","args_str":" <plugin_name>","args":[{"type":"string","name":"plugin_name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"ae","type":"group","summary":"ESIL analysis commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":9,"modes":[],"children":[{"cmd":"ae","type":"argv","summary":"Analyze all flags starting with sym. and entry","description":"","args_str":" <expr>","args":[{"type":"string","name":"expr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aeH","type":"argv","summary":"Show ESIL help.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aeb","type":"argv","summary":"Emulate current block with ESIL.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aepc","type":"argv","summary":"Set ESIL PC to given address.","description":"","args_str":" <addr>","args":[{"type":"number","name":"addr","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aek","type":"group","summary":"SDB queries on ESIL info (emulation statistics).","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"aek","type":"argv","summary":"Perform sdb query on ESIL info.","description":"","args_str":" <query>=123*","args":[{"type":"string","name":"query","required":true,"is_last":true,"default":"123*"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aek-","type":"argv","summary":"Resets the ESIL info sdb instance.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"aex","type":"argv","summary":"Emulate the instruction encoded in the given bytes with ESIL.","description":"","args_str":" <bytes>","args":[{"type":"string","name":"bytes","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aef","type":"group","summary":"Emulate functions with ESIL.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"aef","type":"argv","summary":"Emulate the function at given or current offset with ESIL.","description":"","args_str":" [<addr>]","args":[{"type":"number","name":"addr"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aefa","type":"argv","summary":"Emulate function at given or current offset to find arguments with ESIL.","description":"","args_str":" [<addr>]","args":[{"type":"number","name":"addr"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"ael","type":"group","summary":"ESIL interrupt commands.","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":2,"modes":[],"children":[{"cmd":"aeli","type":"argv","summary":"List ESIL interrupts or load them from the given shared object.","description":"","args_str":" [<file>]","args":[{"type":"string","name":"file","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aelir","type":"argv","summary":"Remove ESIL interrupt and free it if needed.","description":"","args_str":" <interrupt number>","args":[{"type":"number","name":"interrupt number","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"aea","type":"group","summary":"ESIL emulation to retrieve arguments.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":1,"modes":["standard","json"],"children":[{"cmd":"aea","type":"argv_modes","summary":"Show register and memory access of the next [len] instructions or bytes.","description":"","args_str":" <len>=0 <type>=d [<A>]","args":[{"type":"number","name":"len","required":true,"default":"0"},{"type":"choice","name":"type","required":true,"default":"d","choices":["d","*","r","w","n","b","f"]},{"type":"option","name":"A"}],"details":[{"name":"Flag","entries":[{"text":"A","comment":"Interpret the [len] parameter as number of bytes. Not as number of instructions.","arg_str":""}]},{"name":"Options","entries":[{"text":"*","comment":"Create mem.* flags for memory accesses.","arg_str":""},{"text":"r","comment":"Show regs read in N instructions.","arg_str":""},{"text":"w","comment":"Show regs written in N instructions.","arg_str":""},{"text":"n","comment":"Show regs not written in N instructions.","arg_str":""},{"text":"b","comment":"Show regs used in current basic block. The [len] parameter, if not 0, is interpreted as address.","arg_str":""},{"text":"f","comment":"Show regs used in current function.","arg_str":""},{"text":"d","comment":"Show memory and register access.","arg_str":""}]},{"name":"Legend","entries":[{"text":"I","comment":"input registers (read before being set)","arg_str":""},{"text":"A","comment":"all regs accessed","arg_str":""},{"text":"R","comment":"register values read","arg_str":""},{"text":"W","comment":"registers written","arg_str":""},{"text":"N","comment":"read but never written","arg_str":""},{"text":"V","comment":"values","arg_str":""},{"text":"@R","comment":"memreads","arg_str":""},{"text":"@W","comment":"memwrites","arg_str":""},{"text":"NOTE:","comment":"mem{reads,writes} with PIC only fetch the offset","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]}]}]},{"cmd":"B","type":"argv_state","summary":"Computes the possibles firmware locations in memory a.k.a basefind (CPU intensive)","description":"","args_str":" [<pointer_bits>]","args":[{"type":"choice","name":"pointer_bits","choices":["32","64"]}],"details":[{"name":"Settings of this command","entries":[{"text":"Check out the settings for this command with 'el basefind.'","comment":"","arg_str":""}]}],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]},{"cmd":"b","type":"group","summary":"Display or change the block size","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":["standard","json"],"children":[{"cmd":"b","type":"argv_state","summary":"Set/Get current block size","description":"","args_str":" [<num>]","args":[{"type":"expression","name":"num","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"b-","type":"argv","summary":"Decrease current block size","description":"","args_str":" <num>","args":[{"type":"expression","name":"num","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"b+","type":"argv","summary":"Increase current block size","description":"","args_str":" <num>","args":[{"type":"expression","name":"num","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"bf","type":"argv","summary":"Set block size to flag size","description":"","args_str":" <flag>","args":[{"type":"unknown","name":"flag","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"bm","type":"argv","summary":"Set/Get max block size","description":"","args_str":" [<num>]","args":[{"type":"expression","name":"num","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"C","type":"group","summary":"Code metadata (comments, format, hints, ..)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":13,"modes":["standard","json","long"],"children":[{"cmd":"C","type":"argv_state","summary":"List all meta information","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long"],"children":[]},{"cmd":"C.","type":"argv_state","summary":"Show all meta information at current address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long"],"children":[]},{"cmd":"C-","type":"argv","summary":"Remove meta information at current address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"C-*","type":"argv","summary":"Remove all meta information","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"CC","type":"group","summary":"Manipulate the comments","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":10,"modes":[],"children":[{"cmd":"CC","type":"argv","summary":"Append comment","description":"","args_str":" <text>","args":[{"type":"string","name":"text","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"CCl","type":"argv_state","summary":"List all comments","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long"],"children":[]},{"cmd":"CC.","type":"argv","summary":"Show comment at the current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"CC+","type":"argv","summary":"Append comment at current address","description":"","args_str":" <text>","args":[{"type":"string","name":"text","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"CC-","type":"argv","summary":"Remove comment at current address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"CC-*","type":"argv","summary":"Remove all comments","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"CCF","type":"argv","summary":"Show / Set comment file","description":"","args_str":" [<file>]","args":[{"type":"filename","name":"file"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"CCe","type":"argv","summary":"Edit comment using `cfg.editor`","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"CCf","type":"group","summary":"List comments in function at current address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":["standard","json","long"],"children":[{"cmd":"CCf","type":"argv_state","summary":"List all comments","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long"],"children":[]},{"cmd":"CCf-","type":"argv","summary":"Remove all comments from the current function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"CCf-*","type":"argv","summary":"Remove all comments from all functions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"CCu","type":"argv","summary":"Add unique comment","description":"","args_str":" <text>","args":[{"type":"string","name":"text","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"CS","type":"group","summary":"Manage metainformation spaces","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":[],"children":[{"cmd":"CS","type":"argv","summary":"Create new metaspace","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"CSl","type":"argv_state","summary":"List all metaspaces","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"CS-","type":"argv","summary":"Remove metaspace","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"CS-*","type":"argv","summary":"Remove all metaspaces","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"CSr","type":"argv","summary":"Rename the metaspace","description":"","args_str":" <oldname> <newname>","args":[{"type":"string","name":"oldname","required":true},{"type":"string","name":"newname","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"Cf","type":"group","summary":"Manage the format string metainformation","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":[],"children":[{"cmd":"Cf","type":"argv","summary":"Set the format string to the current address","description":"","args_str":" <size> <format>","args":[{"type":"expression","name":"size","required":true},{"type":"string","name":"format","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Cfl","type":"argv_state","summary":"List all format marks","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"Cf-","type":"argv","summary":"Remove format string from the current address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Cf-*","type":"argv","summary":"Remove all format string marks","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"Cd","type":"group","summary":"Manage the raw data metainformation","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":[],"children":[{"cmd":"Cd","type":"argv","summary":"Set the \"data\" mark to the current address","description":"","args_str":" <size> [<repeat>]","args":[{"type":"expression","name":"size","required":true},{"type":"expression","name":"repeat","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Cdl","type":"argv_state","summary":"List all \"data\" marks","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"Cd.","type":"argv","summary":"Show the data mark at the current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Cd-","type":"argv","summary":"Remove the data mark from the current address","description":"","args_str":" [<size> [<repeat>]]","args":[{"type":"expression","name":"size"},{"type":"expression","name":"repeat","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Cd-*","type":"argv","summary":"Remove all data marks","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"Ch","type":"group","summary":"Manage the \"hidden\" mark metainformation","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":[],"children":[{"cmd":"Ch","type":"argv","summary":"Set the \"hidden\" mark to the current address","description":"When \"hidden\" mark is set for some memory region, it's not shown in the disassembly output","args_str":" <size>","args":[{"type":"expression","name":"size","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Chl","type":"argv_state","summary":"List all \"hidden\" marks","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"Ch-","type":"argv","summary":"Remove the \"hidden\" mark from the current address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Ch-*","type":"argv","summary":"Remove all \"hidden\" marks","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"Cm","type":"group","summary":"Manage the \"magic\" mark metainformation","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":[],"children":[{"cmd":"Cm","type":"argv","summary":"Set the magic to the current address","description":"","args_str":" <size> <format>","args":[{"type":"expression","name":"size","required":true},{"type":"string","name":"format","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Cml","type":"argv_state","summary":"List all magic marks","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"Cm-","type":"argv","summary":"Remove the magic mark from the current address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Cm-*","type":"argv","summary":"Remove all magic marks","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"Cs","type":"group","summary":"Manipulate string metainformation","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":10,"modes":[],"children":[{"cmd":"Cs","type":"argv","summary":"Add string (autodetects the encoding)","description":"","args_str":" [<size>]","args":[{"type":"expression","name":"size","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Csl","type":"argv_state","summary":"List all strings","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"Cs.","type":"argv_state","summary":"Show string at the current address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","long"],"children":[]},{"cmd":"Cs-","type":"argv","summary":"Remove string","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Cs-*","type":"argv","summary":"Remove all strings","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Csp","type":"argv","summary":"Add Pascal-style string with the size","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Cs8","type":"argv","summary":"Add UTF-8 string","description":"","args_str":" [<size>]","args":[{"type":"expression","name":"size","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Csb","type":"argv","summary":"Add ASCII/8-bit string","description":"","args_str":" [<size>]","args":[{"type":"expression","name":"size","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Csw","type":"argv","summary":"Add wide 2-byte (UTF-16) string","description":"","args_str":" [<size>]","args":[{"type":"expression","name":"size","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"CsW","type":"argv","summary":"Add wide 4-byte (UTF-32) string","description":"","args_str":" [<size>]","args":[{"type":"expression","name":"size","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"Ct","type":"group","summary":"Manage the type metainformation","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":[],"children":[{"cmd":"Ct","type":"argv","summary":"Set the type comment to the current address","description":"","args_str":" [<text>]","args":[{"type":"string","name":"text","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Ctl","type":"argv_state","summary":"List all type comments","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"Ct-","type":"argv","summary":"Remove the type mark from the current address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Ct-*","type":"argv","summary":"Remove all type marks","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Ct.","type":"argv","summary":"Show the type mark at the current address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"Cv","type":"group","summary":"Add comments to the vars or arguments","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":6,"modes":[],"children":[{"cmd":"Cv","type":"argv","summary":"Add comment for the variable","description":"","args_str":" <name> <text>","args":[{"type":"string","name":"name","required":true},{"type":"string","name":"text","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Cv-","type":"argv","summary":"Remove comment from the variable","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Cve","type":"argv","summary":"Edit comment using `cfg.editor`","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Cvl","type":"argv_state","summary":"List all comments for all barguments and variables","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"Cvr","type":"argv_state","summary":"List all comments for all register-based arguments and variables","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"Cvs","type":"argv_state","summary":"List all comments for all stack-based arguments and variables","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]}]},{"cmd":"c","type":"group","summary":"Compare block with given data","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":12,"modes":["standard","json"],"children":[{"cmd":"c","type":"argv_state","summary":"Compare an escaped <string> with data at current offset","description":"","args_str":" <string>","args":[{"type":"string","name":"string","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"c1","type":"argv","summary":"Compare 8-bit data at current offset with the data at <addr>","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ca","type":"argv_state","summary":"Compare <n> bytes of data at <addr> with the data at current offset","description":"","args_str":" <addr> <n>","args":[{"type":"expression","name":"addr","required":true},{"type":"number","name":"n","required":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"cb","type":"argv_state","summary":"Compare <n> (up to 8) bytes at current offset with a number <num>","description":"","args_str":" <num> <n>","args":[{"type":"expression","name":"num","required":true},{"type":"number","name":"n","required":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"cc","type":"argv","summary":"Compare hexdump of data of block size at <addr> with the data at current offset","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ccc","type":"argv","summary":"Show different lines between hexdump of a block of data at <addr> wth the data at current offset","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ccd","type":"argv","summary":"Compare disassembly of block size at <addr> and at the current offset","description":"","args_str":" [<addr>]","args":[{"type":"expression","name":"addr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"cf","type":"argv_state","summary":"Compare the contents of <file> with the data at current offset","description":"","args_str":" <file>","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"cu","type":"group","summary":"Unified diff commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":6,"modes":[],"children":[{"cmd":"cu","type":"argv","summary":"Compare data at <offset> with the current offset","description":"","args_str":" <offset>","args":[{"type":"expression","name":"offset","required":true,"is_last":true}],"details":[{"name":"Applying patches","entries":[{"text":"Apply unified hex patch","comment":"cu <offset> > file; wu file","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"cu1","type":"argv","summary":"Compare bytes at <offset> with the current offset","description":"","args_str":" <offset>","args":[{"type":"expression","name":"offset","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"cu2","type":"argv","summary":"Compare words (16-bit) at <offset> with the current offset","description":"","args_str":" <offset>","args":[{"type":"expression","name":"offset","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"cu4","type":"argv","summary":"Compare dwords (32-bit) at <offset> with the current offset","description":"","args_str":" <offset>","args":[{"type":"expression","name":"offset","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"cu8","type":"argv","summary":"Compare qwords (64-bit) at <offset> with the current offset","description":"","args_str":" <offset>","args":[{"type":"expression","name":"offset","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"cud","type":"argv","summary":"Compare disassembly at <offset> with the current offset","description":"","args_str":" <offset>","args":[{"type":"expression","name":"offset","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"cw","type":"group","summary":"Compare watcher commands","description":"","args_str":"","args":[],"details":[{"name":"Compare memory locations and check if there is a difference","entries":[{"text":"cw 32 'pD 32' @ 0x1234","comment":"Adds a memory region watcher of 32 bytes at 0x1234, where it executes the command 'pD 32'.","arg_str":""},{"text":"cwl","comment":"Lists all the memory region watchers and notifies of any changes","arg_str":""},{"text":"cwx @ 0x1234","comment":"Removes the memory region watchers at 0x1234","arg_str":""}]}],"executable":true,"n_children":5,"modes":[],"children":[{"cmd":"cw","type":"argv","summary":"Add a memory watcher of size <sz> and command <cmd> at current offset","description":"","args_str":" <sz> <cmd>","args":[{"type":"number","name":"sz","required":true},{"type":"command","name":"cmd","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"cwl","type":"argv_modes","summary":"List all compare watchers","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"cwr","type":"argv","summary":"Reset/revert watcher at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"cwu","type":"argv","summary":"Update watcher at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"cwx","type":"argv","summary":"Remove watcher at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"cx","type":"argv_state","summary":"Compare data at current offset with a hexpair string <hexpair> (also return in $?)","description":"","args_str":" <hexpair>","args":[{"type":"string","name":"hexpair","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"cX","type":"argv_state","summary":"Compare hexdump of data of block size at <addr> with the data at current offset using hexdiff output","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"d","type":"group","summary":"Debugger commands","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":17,"modes":[],"children":[{"cmd":"db","type":"group","summary":"Breakpoints commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":20,"modes":[],"children":[{"cmd":"db","type":"argv","summary":"Add breakpoint at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbl","type":"argv_state","summary":"List all breakpoints","description":"","args_str":"","args":[],"details":[{"name":"Apply a command to all breakpoints","entries":[{"text":"Disable all the breakpoints","comment":"dbd @@c:dblq","arg_str":""},{"text":"Enable all the breakpoints","comment":"dbe @@c:dblq","arg_str":""},{"text":"Toggle all the breakpoints","comment":"dbs @@c:dblq","arg_str":""}]}],"executable":true,"n_children":0,"modes":["json","quiet"],"children":[]},{"cmd":"dbH","type":"argv","summary":"Add hardware breakpoint at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"db-","type":"argv","summary":"Remove breakpoint at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"db-*","type":"argv","summary":"Remove all breakpoints","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"db.","type":"argv","summary":"Show breakpoint info at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbc","type":"argv","summary":"Set a command <cmd> to be run when the breakpoint at the current offset is hit","description":"","args_str":" <cmd>","args":[{"type":"command","name":"cmd","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbC","type":"argv","summary":"Make the breakpoint at the current offset conditional, and hit only when <cmd> evaluates to 0","description":"","args_str":" <cmd>","args":[{"type":"command","name":"cmd","required":true,"is_last":true}],"details":[{"name":"Usage example","entries":[{"text":"Example of a condition","comment":"%v rax-0x0","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbd","type":"argv","summary":"Disable breakpoint at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbe","type":"argv","summary":"Enable breakpoint at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbs","type":"argv","summary":"Toggle breakpoint at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbf","type":"argv","summary":"Put a breakpoint into every no-return function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbm","type":"argv","summary":"Add a breakpoint at an offset from a module's base","description":"","args_str":" <module> <offset>","args":[{"type":"string","name":"module","required":true},{"type":"expression","name":"offset","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbn","type":"argv","summary":"Show name of current breakpoint / Set name for current breakpoint","description":"","args_str":" [<name>]","args":[{"type":"string","name":"name","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbi","type":"group","summary":"Breakpoint index commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":11,"modes":[],"children":[{"cmd":"dbi","type":"argv","summary":"Show breakpoint index at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbil","type":"argv","summary":"List breakpoints indexes","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbi-","type":"argv","summary":"Remove breakpoint by index","description":"","args_str":" <idx>","args":[{"type":"expression","name":"idx","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbix","type":"argv","summary":"Set expression for breakpoint at given index","description":"","args_str":" <idx> <expr>","args":[{"type":"expression","name":"idx","required":true},{"type":"string","name":"expr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbic","type":"argv","summary":"Run a command at breakpoint index","description":"","args_str":" <idx> <cmd>","args":[{"type":"expression","name":"idx","required":true},{"type":"command","name":"cmd","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbie","type":"argv","summary":"Enable breakpoint by index","description":"","args_str":" <idx>","args":[{"type":"expression","name":"idx","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbid","type":"argv","summary":"Disable breakpoint by index","description":"","args_str":" <idx>","args":[{"type":"expression","name":"idx","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbis","type":"argv","summary":"Toggle breakpoint by index","description":"","args_str":" <idx>","args":[{"type":"expression","name":"idx","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbite","type":"argv","summary":"Enable breakpoint trace by index","description":"","args_str":" <idx>","args":[{"type":"expression","name":"idx","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbitd","type":"argv","summary":"Disable breakpoint trace by index","description":"","args_str":" <idx>","args":[{"type":"expression","name":"idx","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbits","type":"argv","summary":"Toggle breakpoint trace by index","description":"","args_str":" <idx>","args":[{"type":"expression","name":"idx","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"dbh","type":"argv","summary":"List archs which supports software breakpoints","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbt","type":"group","summary":"Backtrace commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":7,"modes":["standard","json","quiet","table"],"children":[{"cmd":"dbt","type":"argv_state","summary":"Display backtrace based on dbg.btdepth and dbg.btalgo","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"dbt=","type":"argv","summary":"Display backtrace in one line (see dbt= s and dbt= b for sp or bp)","description":"","args_str":" [<s/b>]","args":[{"type":"string","name":"s/b","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbtv","type":"argv","summary":"Display backtrace with local vars if any","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbta","type":"argv","summary":"Display ascii-art representation of the stack backtrace","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbte","type":"argv","summary":"Enable breakpoint trace at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbtd","type":"argv","summary":"Disable breakpoint trace at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbts","type":"argv","summary":"Toggle breakpoint trace at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"dbx","type":"argv","summary":"View expression for all the breakpoints / Set expression for breakpoint at current offset","description":"","args_str":" [<expr>]","args":[{"type":"string","name":"expr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbw","type":"argv","summary":"Add watchpoint at current offset","description":"","args_str":" <perm> [<size>]","args":[{"type":"choice","name":"perm","required":true,"choices":["r","w","rw"]},{"type":"expression","name":"size","is_last":true}],"details":[{"name":"Valid permission arguments","entries":[{"text":"r","comment":"read only","arg_str":""},{"text":"w","comment":"write only","arg_str":""},{"text":"rw","comment":"read-write","arg_str":""}]},{"name":"Example sizes","entries":[{"text":"1","comment":"watch only a single byte","arg_str":""},{"text":"2","comment":"watch a 16-bit value","arg_str":""},{"text":"4","comment":"watch a 32-bit value","arg_str":""},{"text":"8","comment":"watch a 64-bit value","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbW","type":"argv","summary":"Set conditional breakpoint on a window message handler (only for Windows)","description":"","args_str":" <WM_DEFINE> [<handle/name>]","args":[{"type":"string","name":"WM_DEFINE","required":true},{"type":"string","name":"handle/name","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"dc","type":"group","summary":"Continue execution","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":13,"modes":[],"children":[{"cmd":"dc","type":"argv","summary":"Continue execution of all children","description":"","args_str":" [<pid>]","args":[{"type":"expression","name":"pid","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dcb","type":"argv","summary":"Continue back until breakpoint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dcc","type":"argv","summary":"Continue until call (use step into)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dcco","type":"argv","summary":"Continue until call (use step out)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dccu","type":"argv","summary":"Continue until unknown call (call reg)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dce","type":"argv","summary":"Continue execution (pass exception to program) (Windows only)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dcf","type":"argv","summary":"Continue until fork","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dck","type":"argv","summary":"Continue sending signal to process","description":"","args_str":" <signal> [<pid>]","args":[{"type":"expression","name":"signal","required":true},{"type":"expression","name":"pid","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dcp","type":"argv","summary":"Continue until program code (mapped io section)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dcr","type":"argv","summary":"Continue until ret (uses step over)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dcs","type":"argv","summary":"Continue until syscall","description":"","args_str":" [<syscall>]","args":[{"type":"string","name":"syscall","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dct","type":"argv","summary":"Traptrace from curseek to len, no argument to list","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dcu","type":"argv","summary":"Debug continue until","description":"","args_str":" <address>=$$","args":[{"type":"expression","name":"address","required":true,"is_last":true,"default":"$$"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"dd","type":"group","summary":"Debug file descriptors commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":7,"modes":[],"children":[{"cmd":"dd","type":"argv","summary":"Open and map <file> given the path","description":"","args_str":" <file>","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dd-","type":"argv","summary":"Close the <fd> file descriptor","description":"","args_str":" <fd>","args":[{"type":"number","name":"fd","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ddl","type":"argv_state","summary":"List all file descriptors","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","table"],"children":[]},{"cmd":"dds","type":"argv","summary":"Seek given <fd> to the <offset>","description":"","args_str":" <fd> <offset>","args":[{"type":"number","name":"fd","required":true},{"type":"number","name":"offset","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ddd","type":"argv","summary":"Duplicate <fd_src> to <fd_dst>","description":"","args_str":" <fd_src> <fd_dst>","args":[{"type":"number","name":"fd_src","required":true},{"type":"number","name":"fd_dst","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ddr","type":"argv","summary":"Read <len> bytes from <fd> file at <offset>","description":"","args_str":" <fd> <offset> <len>","args":[{"type":"number","name":"fd","required":true},{"type":"number","name":"offset","required":true},{"type":"number","name":"len","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ddw","type":"argv","summary":"Write <len> bytes to <fd> file at <offset>","description":"","args_str":" <fd> <offset> <len>","args":[{"type":"number","name":"fd","required":true},{"type":"number","name":"offset","required":true},{"type":"number","name":"len","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"de","type":"group","summary":"Manage ESIL watchpoints","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":6,"modes":[],"children":[{"cmd":"de","type":"argv","summary":"Add ESIL watchpoint","description":"","args_str":" <perm> <kind> <expression>","args":[{"type":"string","name":"perm","required":true},{"type":"choice","name":"kind","required":true,"choices":["reg","mem"]},{"type":"string","name":"expression","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"de","comment":"Stop when reads RIP register","arg_str":"r reg rip"},{"text":"de","comment":"Stop when read or write in ADDR","arg_str":"rw mem ADDR"},{"text":"de","comment":"Stop when rdx register is modified","arg_str":"w r rdx"},{"text":"de","comment":"Stop when rip in range","arg_str":"x m FROM..TO"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"de-*","type":"argv","summary":"Remove all ESIL watchpoints","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"del","type":"argv_state","summary":"List all ESIL watchpoints","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","table"],"children":[]},{"cmd":"dec","type":"argv","summary":"Continue execution until matching expression","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"des","type":"argv","summary":"Step-in <N> instructions with ESIL","description":"","args_str":" <N>","args":[{"type":"number","name":"N","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"desu","type":"argv","summary":"Step until specified <address>","description":"","args_str":" <<address>>","args":[{"type":"expression","name":"<address>","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"dg","type":"argv","summary":"Generate core dump file","description":"","args_str":" [<filename>]","args":[{"type":"filename","name":"filename"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"do","type":"group","summary":"Debug (re)open commands","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":3,"modes":[],"children":[{"cmd":"dor","type":"argv","summary":"Set rz-run profile options (e dbg.profile)","description":"","args_str":" [<key>=<val> [<key>=<val> ...]]","args":[{"type":"evaluable_full","name":"key=val","required":true,"is_array":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"doe","type":"argv","summary":"Edit rz-run startup profile with $EDITOR","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"doc","type":"argv","summary":"Close debug session","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"ds","type":"group","summary":"Debug step commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":9,"modes":[],"children":[{"cmd":"ds","type":"argv","summary":"Step <num> instruction","description":"","args_str":" <num>=1","args":[{"type":"expression","name":"num","required":true,"is_last":true,"default":"1"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dsb","type":"argv","summary":"Step back <num> instruction","description":"","args_str":" <num>=1","args":[{"type":"expression","name":"num","required":true,"is_last":true,"default":"1"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dsf","type":"argv","summary":"Step until end of frame","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dsi","type":"argv","summary":"Continue until condition matches","description":"","args_str":" <cond>","args":[{"type":"string","name":"cond","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dsl","type":"argv","summary":"Step <num> source line","description":"","args_str":" <num>=1","args":[{"type":"expression","name":"num","required":true,"is_last":true,"default":"1"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dso","type":"argv","summary":"Step over <num> instructions","description":"","args_str":" <num>=1","args":[{"type":"expression","name":"num","required":true,"is_last":true,"default":"1"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dsp","type":"argv","summary":"Step into program (skip libs)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dss","type":"argv","summary":"Skip <num> step instructions","description":"","args_str":" <num>=1","args":[{"type":"expression","name":"num","required":true,"is_last":true,"default":"1"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dsu","type":"group","summary":"Debug step until commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":6,"modes":[],"children":[{"cmd":"dsu","type":"argv","summary":"Step until <addr>","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dsui","type":"argv","summary":"Step until an instruction that matches <instr>","description":"","args_str":" <instr>","args":[{"type":"string","name":"instr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dsuir","type":"argv","summary":"Step until an instruction that matches <regex>","description":"","args_str":" <regex>","args":[{"type":"string","name":"regex","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dsuo","type":"argv","summary":"Step until an instruction matches one of the <optype>s","description":"","args_str":" <optype1> <optype2> ...","args":[{"type":"string","name":"optype","required":true,"is_array":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dsue","type":"argv","summary":"Step until <esil> expression matches","description":"","args_str":" <esil>","args":[{"type":"string","name":"esil","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dsuf","type":"argv","summary":"Step until pc == <flag> matching name","description":"","args_str":" <flag>","args":[{"type":"unknown","name":"flag","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]}]},{"cmd":"dt","type":"group","summary":"Trace commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":11,"modes":[],"children":[{"cmd":"dt","type":"argv","summary":"Get trace info at the current address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dtl","type":"argv_state","summary":"List all traces","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","quiet"],"children":[]},{"cmd":"dtl=","type":"argv","summary":"List all traces in ascii art","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dt+","type":"argv","summary":"Add trace for address N times","description":"","args_str":" [<times>]","args":[{"type":"expression","name":"times","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dt++","type":"argv","summary":"Add trace for some address","description":"","args_str":" <addrs1> <addrs2> ...","args":[{"type":"expression","name":"addrs","required":true,"is_array":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dt-","type":"argv","summary":"Reset traces (instruction/calls)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dtc","type":"argv","summary":"Trace call/ret","description":"","args_str":" [<from> [<to> [<addr>]]]","args":[{"type":"expression","name":"from"},{"type":"expression","name":"to"},{"type":"expression","name":"addr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dte","type":"group","summary":"Esil trace logs","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":[],"children":[{"cmd":"dte","type":"argv","summary":"Esil trace log for a single instruction for that index log","description":"","args_str":" <idx>","args":[{"type":"expression","name":"idx","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dtel","type":"argv","summary":"Esil trace log for a single instruction","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dte-*","type":"argv","summary":"Delete all esil traces","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dtei","type":"argv","summary":"Esil trace log for a single instruction","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"dtg","type":"group","summary":"Graph call/ret trace","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard"],"children":[{"cmd":"dtg","type":"argv_modes","summary":"Graph call/ret trace","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"dtgi","type":"argv","summary":"Interactive debug trace","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"dts","type":"group","summary":"Debug trace session commands","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":5,"modes":[],"children":[{"cmd":"dts+","type":"argv","summary":"Start trace session","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dts-","type":"argv","summary":"Stop trace session","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dtst","type":"argv","summary":"Save trace sessions to disk","description":"","args_str":" <dir>","args":[{"type":"directory","name":"dir","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dtsf","type":"argv","summary":"Load trace sessions to disk","description":"","args_str":" <dir>","args":[{"type":"directory","name":"dir","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dtsm","type":"argv","summary":"List current memory map and hash","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"dtt","type":"argv","summary":"Select trace tag (no arg unsets)","description":"","args_str":" <tag>","args":[{"type":"string","name":"tag","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"di","type":"argv_state","summary":"Debug information","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"dk","type":"group","summary":"Debug signals management","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":[],"children":[{"cmd":"dk","type":"argv","summary":"Send signal to the child","description":"","args_str":" <signal>","args":[{"type":"number","name":"signal","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dkl","type":"argv_state","summary":"List all signal handlers of the child process","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"dkn","type":"argv","summary":"Resolve the name of signal given the number","description":"","args_str":" <signal>","args":[{"type":"number","name":"signal","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dkN","type":"argv","summary":"Resolve the signal number given the name","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dko","type":"argv","summary":"Set skip or continue options for a given signal","description":"","args_str":" <signal> <option>=reset","args":[{"type":"number","name":"signal","required":true},{"type":"choice","name":"option","required":true,"default":"reset","choices":["skip","continue","reset"]}],"details":[{"name":"Signal options","entries":[{"text":"skip","comment":"Do not enter into the signal handler","arg_str":""},{"text":"continue","comment":"Enter into the signal handler","arg_str":""},{"text":"reset","comment":"Remove all previously set signal options","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"dl","type":"group","summary":"Debug handler","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"dl","type":"argv","summary":"Set debugger handler","description":"","args_str":" <handler>","args":[{"type":"number","name":"handler","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dll","type":"argv_state","summary":"List debugger handler","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]}]},{"cmd":"dm","type":"group","summary":"Memory map commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":13,"modes":["standard","json","quiet","table"],"children":[{"cmd":"dm","type":"argv_state","summary":"List memory maps","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"dm+","type":"argv","summary":"Allocate <size> bytes at current offset","description":"","args_str":" <size>","args":[{"type":"expression","name":"size","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dm=","type":"argv","summary":"List memory maps of current process with ASCII art bars","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dm.","type":"argv_state","summary":"Show map name of current address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"dmm","type":"group","summary":"Module memory map commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json"],"children":[{"cmd":"dmm","type":"argv_state","summary":"List modules (libraries, binaries loaded in memory)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"dmm.","type":"argv_state","summary":"List memory map of current module","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"dm-","type":"argv","summary":"Deallocate memory map at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dmd","type":"group","summary":"Dump debug map regions to a file (from-to.dmp)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"dmd","type":"argv","summary":"Dump debug maps to <filename>","description":"","args_str":" [<filename>]","args":[{"type":"filename","name":"filename"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dmda","type":"argv","summary":"Dump all debug maps","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dmdw","type":"argv","summary":"Dump writable debug maps","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"dmh","type":"group","summary":"Heap commands","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":3,"modes":[],"children":[{"cmd":"dmhg","type":"group","summary":"Glibc heap commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":10,"modes":["standard","json","long"],"children":[{"cmd":"dmhg","type":"argv_state","summary":"List heap chunks of an arena","description":"","args_str":" [<malloc_state>]","args":[{"type":"expression","name":"malloc_state","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long"],"children":[]},{"cmd":"dmhga","type":"argv","summary":"List all the arenas","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dmhgb","type":"argv_modes","summary":"Display double linked list for bins in an arena.","description":"","args_str":" [<bin_num|bin_num:malloc_state>]","args":[{"type":"string","name":"bin_num|bin_num:malloc_state","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","graph"],"children":[]},{"cmd":"dmhgc","type":"argv","summary":"Get info about heap chunk at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dmhgd","type":"argv_modes","summary":"Display state of bins in an arena. <bin_type> can be tcache/fast/unsorted/small/large","description":"","args_str":" [<bin_type>]","args":[{"type":"choice","name":"bin_type","choices":["small","large","fast","unsorted","tcache"]}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"dmhgf","type":"argv","summary":"Display all parsed fastbins of main_arena's or a particular arena fastbinY instance","description":"","args_str":" [<fastbin_num|fastbin_num:malloc_state>]","args":[{"type":"string","name":"fastbin_num|fastbin_num:malloc_state","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dmhgg","type":"argv","summary":"Display heap graph of a particular arena","description":"","args_str":" [<malloc_state>]","args":[{"type":"expression","name":"malloc_state","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dmhgi","type":"argv","summary":"Display heap_info structure/structures for a given arena","description":"","args_str":" [<malloc_state>]","args":[{"type":"expression","name":"malloc_state","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dmhgm","type":"argv_modes","summary":"List all elements of struct malloc_state","description":"","args_str":" [<malloc_state>]","args":[{"type":"expression","name":"malloc_state","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"dmhgt","type":"argv","summary":"Display all parsed thread cache bins of all arena's tcache instance","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"dmhw","type":"group","summary":"Windows heap commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":["json","table"],"children":[{"cmd":"dmhw","type":"argv_state","summary":"List process heaps","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","table"],"children":[]},{"cmd":"dmhwb","type":"argv_state","summary":"List allocated heap blocks","description":"","args_str":" [<addr>]","args":[{"type":"expression","name":"addr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["json","table"],"children":[]},{"cmd":"dmhwbf","type":"argv","summary":"Create flags for each allocated heap block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"dmhj","type":"group","summary":"Jemalloc heap commands","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":5,"modes":[],"children":[{"cmd":"dmhja","type":"argv","summary":"Show all arenas created, or print arena_type structure for given arena.","description":"","args_str":" [<arena_addr>]","args":[{"type":"expression","name":"arena_addr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dmhjb","type":"argv","summary":"Show bin info for allocations.","description":"","args_str":" [<arena_addr> [<bin_info_addr>]]","args":[{"type":"expression","name":"arena_addr"},{"type":"expression","name":"bin_info_addr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dmhjc","type":"argv","summary":"Show all chunks created in all arenas, or show all chunks created for a given arena_t instance (jemalloc 4.5.0 only).","description":"","args_str":" [<arena_addr>]","args":[{"type":"expression","name":"arena_addr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dmhje","type":"argv","summary":"List all extents, or find extent for a specific malloc'd address (jemalloc 5.3.0 only)","description":"","args_str":" [<malloc_addr>]","args":[{"type":"expression","name":"malloc_addr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dmhjei","type":"argv","summary":"Display extent (edata_t) structure info for a given extent address (jemalloc 5.3.0 only)","description":"","args_str":" <extent_addr>","args":[{"type":"expression","name":"extent_addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]}]},{"cmd":"dmi","type":"group","summary":"List/Load symbols","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":["standard","json","quiet","quietest"],"children":[{"cmd":"dmi","type":"argv_state","summary":"List libraries and library symbols.","description":"","args_str":" [<lib_name> [<symbol_name>]]","args":[{"type":"string","name":"lib_name"},{"type":"string","name":"symbol_name","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","quietest"],"children":[]},{"cmd":"dmia","type":"argv_state","summary":"List all info of target library.","description":"","args_str":" [<lib_name>]","args":[{"type":"string","name":"lib_name","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","quietest"],"children":[]},{"cmd":"dmi.","type":"argv_state","summary":"List closest symbol to the current address.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","quietest"],"children":[]}]},{"cmd":"dml","type":"argv","summary":"Load contents of file into current map region","description":"","args_str":" <file>","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dmp","type":"argv","summary":"Change page at current offset with <size>, protection <perms> / Change dbg.map permissions to <perms>","description":"","args_str":" <perms> [<size>]","args":[{"type":"string","name":"perms","required":true},{"type":"expression","name":"size","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dmL","type":"argv","summary":"Allocate <size> bytes at current offset and promote to huge page","description":"","args_str":" <size>","args":[{"type":"expression","name":"size","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dmS","type":"argv_modes","summary":"List sections of target lib","description":"","args_str":" [<addr|libname> [<sectname>]]","args":[{"type":"string","name":"addr|libname"},{"type":"string","name":"sectname","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"dp","type":"group","summary":"List or attach to process or thread","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":12,"modes":["standard","json","table"],"children":[{"cmd":"dp","type":"argv_state","summary":"List current pid and children","description":"","args_str":" [<pid>]","args":[{"type":"expression","name":"pid","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","table"],"children":[]},{"cmd":"dpl","type":"argv_state","summary":"List all attachable pids","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","table"],"children":[]},{"cmd":"dpa","type":"argv","summary":"Attach to selected <pid>","description":"","args_str":" [<pid>]","args":[{"type":"expression","name":"pid","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dp-","type":"argv","summary":"Detach from selected <pid>","description":"","args_str":" [<pid>]","args":[{"type":"expression","name":"pid","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dp=","type":"argv","summary":"Select <pid>","description":"","args_str":" <pid>","args":[{"type":"expression","name":"pid","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dpc","type":"argv","summary":"Select forked pid (see dbg.forks)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dpc*","type":"argv","summary":"Display forked pid (see dbg.forks)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dpe","type":"argv","summary":"Show path to executable","description":"","args_str":" [<pid>]","args":[{"type":"expression","name":"pid","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dpf","type":"argv","summary":"Attach to pid like file fd","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dpk","type":"argv","summary":"Send <signal> to process <pid>","description":"","args_str":" <pid> [<signal>]","args":[{"type":"expression","name":"pid","required":true},{"type":"expression","name":"signal","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dpT","type":"argv_state","summary":"List threads of specified or current <pid>","description":"","args_str":" [<pid>]","args":[{"type":"expression","name":"pid","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","table"],"children":[]},{"cmd":"dpt=","type":"argv","summary":"Select <thread-id>","description":"","args_str":" <thread-id>","args":[{"type":"expression","name":"thread-id","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"dr","type":"group","summary":"CPU Registers","description":"","args_str":"","args":[],"details":[{"name":"Register Filter","entries":[{"text":"dr","comment":"Show a sensible default selection of registers","arg_str":""},{"text":"dr","comment":"Show a single register","arg_str":" rax"},{"text":"dr","comment":"Show 16 bits wide gpr registers","arg_str":" 16"},{"text":"dr","comment":"Show registers of type xmm (see `drT` for possible types)","arg_str":" xmm"},{"text":"dr","comment":"Show the register with the given role (see `drR` for possible roles)","arg_str":" PC"},{"text":"dr","comment":"Show all registers available","arg_str":" all"}]}],"executable":true,"n_children":16,"modes":["standard","json","quiet","table"],"children":[{"cmd":"dr","type":"argv_state","summary":"Show registers with their values, or assign registers (`dr reg1=value reg2=value`)","description":"","args_str":" [<filter1> [= <value>] <filter2> [= <value>] ...]","args":[{"type":"unknown","name":"filters","is_array":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"dr=","type":"argv","summary":"Show registers in columns","description":"","args_str":" [<filter>]","args":[{"type":"unknown","name":"filter"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"drr","type":"argv_modes","summary":"Show register references (telescoping)","description":"","args_str":" [<filter>]","args":[{"type":"unknown","name":"filter"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"dri","type":"argv","summary":"Show register grouped by their values","description":"","args_str":" [<filter>]","args":[{"type":"unknown","name":"filter"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"drA","type":"argv_modes","summary":"Show values of default function argument registers (A0, A1, A2, ...) with telescoping","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"drcc","type":"argv","summary":"Show calling convention defined by registers","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"drd","type":"argv","summary":"Show register differences from previous contents","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dro","type":"argv_state","summary":"Show previous register contents","description":"","args_str":" [<filter>]","args":[{"type":"unknown","name":"filter","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"drF","type":"argv","summary":"Show fpu registers","description":"","args_str":" [<register> [= <value>]]","args":[{"type":"string","name":"reg","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"drf","type":"group","summary":"Show commands for setting registers as flags","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"drf","type":"argv","summary":"Show commands for setting registers as flags","description":"","args_str":" [<filter>]","args":[{"type":"unknown","name":"filter"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"drf-","type":"argv","summary":"Show commands for unsetting flags from `drf`","description":"","args_str":" [<filter>]","args":[{"type":"unknown","name":"filter"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"dra","type":"group","summary":"Register arena commands (underlying binary data)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":8,"modes":[],"children":[{"cmd":"dra","type":"argv","summary":"Show all currently allocated register arenas","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dra+","type":"argv","summary":"Push a new set of arenas to the stack","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dra-","type":"argv","summary":"Pop a set of arenas from the stack","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"draS","type":"argv","summary":"Show number of stack elements","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dras","type":"argv","summary":"Swap last two register arenas on the stack","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dra0","type":"argv","summary":"Reset the specified or all arena contents to 0","description":"","args_str":" [<type>]","args":[{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"drab","type":"argv","summary":"Display hexdump of given arena (or gpr if none given)","description":"","args_str":" [<type>]","args":[{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"draw","type":"argv","summary":"Write hexadecimal data <hex> into the given arena (or gpr if none given)","description":"","args_str":" <hex> [<type>]","args":[{"type":"string","name":"hex","required":true},{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"drp","type":"group","summary":"Register profile commands (defining available registers)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":["standard","json"],"children":[{"cmd":"drp","type":"argv_state","summary":"Show the current register profile","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"drpc","type":"argv","summary":"Show register profile comments","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"drpo","type":"argv","summary":"Load a new register profile from file","description":"","args_str":" <file>","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"drpg","type":"argv","summary":"Convert gdb profile from the given file to rizin register profile","description":"","args_str":" <file>","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"drc","type":"argv","summary":"Conditional flags (aliases to processor flags)","description":"","args_str":"","args":[],"details":[{"name":"Basic","entries":[{"text":"eq","comment":"equal","arg_str":""},{"text":"ne","comment":"not equal","arg_str":""},{"text":"cf","comment":"carry flag set","arg_str":""},{"text":"neg","comment":"negative value (has sign)","arg_str":""},{"text":"of","comment":"overflow","arg_str":""}]},{"name":"Unsigned","entries":[{"text":"hi","comment":"higher","arg_str":""},{"text":"he","comment":"higher or equal","arg_str":""},{"text":"lo","comment":"lower","arg_str":""},{"text":"loe","comment":"lower or equal","arg_str":""}]},{"name":"Signed","entries":[{"text":"gt","comment":"greater","arg_str":""},{"text":"ge","comment":"greater or equal","arg_str":""},{"text":"lt","comment":"less","arg_str":""},{"text":"le","comment":"less or equal","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"drT","type":"argv","summary":"List all register types","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"drR","type":"argv","summary":"List all register roles","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"drx","type":"group","summary":"Show hardware breakpoint registers","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"drx","type":"argv","summary":"Show or modify hardware breakpoint registers","description":"","args_str":" [<number> <address> <length> <perms>]","args":[{"type":"number","name":"number"},{"type":"expression","name":"address","required":true},{"type":"number","name":"length","required":true},{"type":"string","name":"perms","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"drx-","type":"argv","summary":"Clear hardware breakpoint","description":"","args_str":" <number>","args":[{"type":"number","name":"number","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]}]},{"cmd":"dw","type":"argv","summary":"Block prompt until <pid> dies","description":"","args_str":" [<pid>]","args":[{"type":"number","name":"pid"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dW","type":"group","summary":"Windows process commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"dW","type":"argv","summary":"List process windows","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dWi","type":"argv","summary":"Identify window under cursor","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"dx","type":"group","summary":"Code injection commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":[],"children":[{"cmd":"dx","type":"argv","summary":"Inject opcodes","description":"","args_str":" <opcode>","args":[{"type":"string","name":"opcode","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"dx","comment":"Insert two 0x90 bytes (nop instruction on x86 platforms)","arg_str":" 9090"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dxa","type":"argv","summary":"Assemble code and inject","description":"","args_str":" <asm>","args":[{"type":"string","name":"asm","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"dxa","comment":"Assemble and insert 3 instructions","arg_str":" mov eax,6; mov ebx,0; int 0x80"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dxe","type":"argv","summary":"Compile RzEgg expression and inject","description":"","args_str":" <expression>","args":[{"type":"string","name":"expression","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dxr","type":"argv","summary":"Inject opcodes and restore state","description":"","args_str":" <opcode>","args":[{"type":"string","name":"opcode","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dxs","type":"argv","summary":"Syscall injection","description":"","args_str":" <syscall>","args":[{"type":"string","name":"syscall","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"dxs","comment":"Inject the write() syscall with given arguments","arg_str":" write 1, 0x8048, 12"}]}],"executable":true,"n_children":0,"modes":[],"children":[]}]}]},{"cmd":"dex","type":"group","summary":"Core plugin to visualize dex class information","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":2,"modes":[],"children":[{"cmd":"dexs","type":"argv_state","summary":"prints the dex structure","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"dexe","type":"argv_state","summary":"prints the dex exported methods","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]}]},{"cmd":"e","type":"group","summary":"List/get/set config evaluable vars","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":9,"modes":[],"children":[{"cmd":"e","type":"argv","summary":"Get/Set value of config variable <key>","description":"","args_str":" <key>[=<val|?>] [<key>[=<val|?>] ...]]","args":[{"type":"evaluable_full","name":"key=value","required":true,"is_array":true}],"details":[{"name":"Examples","entries":[{"text":"e","comment":"Show current value of config variable `asm.bytes`","arg_str":" asm.bytes"},{"text":"e","comment":"Set config variable `asm.bytes` to `true`","arg_str":" asm.bytes=true"},{"text":"e","comment":"Show all possible values for config variable `search.in`","arg_str":" search.in=?"},{"text":"e","comment":"Show all possible values for config variable `search.in` together with description","arg_str":" search.in=??"},{"text":"e","comment":"Set asm.bytes to true and asm.offset to false","arg_str":" asm.bytes=true asm.offset=false"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"el","type":"argv_state","summary":"List config variables with their descriptions","description":"","args_str":" [<key>]","args":[{"type":"evaluable","name":"key"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","long","long_json"],"children":[]},{"cmd":"e-","type":"argv","summary":"Reset config variables","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"e!","type":"argv","summary":"Invert the boolean value of config variable <key>","description":"","args_str":" <key>","args":[{"type":"evaluable","name":"key","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ec","type":"group","summary":"Set color for given key (prompt, offset, ...)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":10,"modes":["standard","json"],"children":[{"cmd":"ec","type":"argv_state","summary":"List eval colors and keys","description":"","args_str":" [<key> [<color>]]","args":[{"type":"string","name":"key"},{"type":"string","name":"color","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"ecl","type":"argv","summary":"List colors with descriptions","description":"","args_str":"","args":[],"details":[{"name":"Color Palette Keys","entries":[{"text":"comment","comment":"Color for code comments","arg_str":""},{"text":"usrcmt","comment":"Color for user comments","arg_str":""},{"text":"args","comment":"Color for function arguments","arg_str":""},{"text":"fname","comment":"Color for function names","arg_str":""},{"text":"floc","comment":"Color for function locations","arg_str":""},{"text":"fline","comment":"Color for function lines","arg_str":""},{"text":"flag","comment":"Color for flags","arg_str":""},{"text":"label","comment":"Color for labels","arg_str":""},{"text":"help","comment":"Color for help messages","arg_str":""},{"text":"flow","comment":"Color for control flow","arg_str":""},{"text":"flow2","comment":"Color for control flow (alternative)","arg_str":""},{"text":"prompt","comment":"Color for prompt","arg_str":""},{"text":"offset","comment":"Color for offsets","arg_str":""},{"text":"input","comment":"Color for user input","arg_str":""},{"text":"invalid","comment":"Color for invalid instructions","arg_str":""},{"text":"other","comment":"Color for other elements","arg_str":""},{"text":"b0x00","comment":"Color for null bytes (0x00)","arg_str":""},{"text":"b0x7f","comment":"Color for 0x7f bytes","arg_str":""},{"text":"b0xff","comment":"Color for 0xff bytes","arg_str":""},{"text":"math","comment":"Color for math operations","arg_str":""},{"text":"bin","comment":"Color for binary information","arg_str":""},{"text":"btext","comment":"Color for text in binary","arg_str":""},{"text":"push","comment":"Color for push instructions","arg_str":""},{"text":"pop","comment":"Color for pop instructions","arg_str":""},{"text":"crypto","comment":"Color for crypto instructions","arg_str":""},{"text":"jmp","comment":"Color for jump instructions","arg_str":""},{"text":"cjmp","comment":"Color for conditional jumps","arg_str":""},{"text":"call","comment":"Color for call instructions","arg_str":""},{"text":"nop","comment":"Color for nop instructions","arg_str":""},{"text":"ret","comment":"Color for return instructions","arg_str":""},{"text":"trap","comment":"Color for trap/interrupt instructions","arg_str":""},{"text":"ucall","comment":"Color for unknown calls","arg_str":""},{"text":"ujmp","comment":"Color for unknown jumps","arg_str":""},{"text":"swi","comment":"Color for software interrupts","arg_str":""},{"text":"cmp","comment":"Color for compare instructions","arg_str":""},{"text":"reg","comment":"Color for registers","arg_str":""},{"text":"creg","comment":"Color for changed registers","arg_str":""},{"text":"num","comment":"Color for numbers","arg_str":""},{"text":"mov","comment":"Color for move instructions","arg_str":""},{"text":"func_var","comment":"Color for function variables","arg_str":""},{"text":"func_var_type","comment":"Color for function variable types","arg_str":""},{"text":"func_var_addr","comment":"Color for function variable addresses","arg_str":""},{"text":"widget_bg","comment":"Color for widget background","arg_str":""},{"text":"widget_sel","comment":"Color for selected widget","arg_str":""},{"text":"meta","comment":"Color for metadata","arg_str":""},{"text":"ai.read","comment":"Color for memory read access","arg_str":""},{"text":"ai.write","comment":"Color for memory write access","arg_str":""},{"text":"ai.exec","comment":"Color for executable memory","arg_str":""},{"text":"ai.seq","comment":"Color for sequential memory","arg_str":""},{"text":"ai.ascii","comment":"Color for ASCII in memory","arg_str":""},{"text":"graph.box","comment":"Color for graph box","arg_str":""},{"text":"graph.box2","comment":"Color for graph box (alternative 2)","arg_str":""},{"text":"graph.box3","comment":"Color for graph box (alternative 3)","arg_str":""},{"text":"graph.box4","comment":"Color for graph box (alternative 4)","arg_str":""},{"text":"graph.true","comment":"Color for true branch in graph","arg_str":""},{"text":"graph.false","comment":"Color for false branch in graph","arg_str":""},{"text":"graph.ujump","comment":"Color for unknown jump in graph","arg_str":""},{"text":"graph.current","comment":"Color for current node in graph","arg_str":""},{"text":"graph.traced","comment":"Color for traced node in graph","arg_str":""},{"text":"diff.unknown","comment":"Color for unknown diff","arg_str":""},{"text":"diff.new","comment":"Color for new diff","arg_str":""},{"text":"diff.match","comment":"Color for matched diff","arg_str":""},{"text":"diff.unmatch","comment":"Color for unmatched diff","arg_str":""},{"text":"gui.cflow","comment":"Color for GUI control flow","arg_str":""},{"text":"gui.dataoffset","comment":"Color for GUI data offset","arg_str":""},{"text":"gui.background","comment":"Color for GUI background","arg_str":""},{"text":"gui.alt_background","comment":"Color for GUI alternate background","arg_str":""},{"text":"gui.border","comment":"Color for GUI border","arg_str":""},{"text":"wordhl","comment":"Color for highlighted word","arg_str":""},{"text":"linehl","comment":"Color for highlighted line","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ecc","type":"argv","summary":"Show palette in CSS","description":"","args_str":" [<prefix>]","args":[{"type":"string","name":"prefix","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ecd","type":"argv","summary":"Set default palette","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ecH","type":"group","summary":"Highlight word or an instruction","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":6,"modes":["json"],"children":[{"cmd":"ecH","type":"argv_modes","summary":"List all the highlight rules","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json"],"children":[]},{"cmd":"ecHi","type":"argv","summary":"Highlight current instruction with the given color as background","description":"","args_str":" <color>","args":[{"type":"string","name":"color","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ecHw","type":"argv","summary":"Highlight the word with the given color as background","description":"","args_str":" <word> [<color>]","args":[{"type":"string","name":"word","required":true},{"type":"string","name":"color","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ecH.","type":"argv","summary":"Show highlight rule in current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ecH-*","type":"argv","summary":"Remove all highlights and hints","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ecH-","type":"argv","summary":"Remove all highlights on current instruction","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"ecr","type":"argv","summary":"Set random palette","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ecs","type":"argv","summary":"Set a colorful palette","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"eco","type":"group","summary":"Load the provided theme or list the available themes","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":["json","quiet"],"children":[{"cmd":"eco","type":"argv_state","summary":"List the available themes","description":"","args_str":" [<theme>]","args":[{"type":"choice","name":"theme","choices":["ayu","basic","behelit","bold","bright","cga","consonance","cutter","dark","darkda","default","defragger","durian","focus","gb","gentoo","lima","mars","matrix","monokai","nord","ogray","onedark","pink","rasta","sepia","smyck","solarized","tango","twilight","underwater","white","white2","xvilka","zenburn"]}],"details":[],"executable":true,"n_children":0,"modes":["json","quiet"],"children":[]},{"cmd":"eco.","type":"argv","summary":"Display current theme name","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ecoo","type":"argv","summary":"Reload current theme","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"ecp","type":"argv","summary":"Load previuos color theme","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ecn","type":"argv","summary":"Load next color theme","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"ee","type":"argv","summary":"Open editor to change the value of config variable <key>","description":"","args_str":" <key>","args":[{"type":"evaluable","name":"key","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"er","type":"argv","summary":"Set config variable <key> as read-only","description":"","args_str":" <key>","args":[{"type":"evaluable","name":"key","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"es","type":"argv","summary":"List all config variable spaces or sub-keys/sub-spaces if a <key> is provided","description":"","args_str":" [<key>]","args":[{"type":"evaluable","name":"key"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"et","type":"argv","summary":"Show type of given config variable <key>","description":"","args_str":" <key>","args":[{"type":"evaluable","name":"key","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"F","type":"group","summary":"FLIRT signature management","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":6,"modes":[],"children":[{"cmd":"Fc","type":"argv","summary":"Create a FLIRT file (.pat or .sig)","description":"","args_str":" <filename>","args":[{"type":"filename","name":"filename","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Fd","type":"argv","summary":"Open a FLIRT file (.pat or .sig) and dumps its contents","description":"","args_str":" <filename>","args":[{"type":"filename","name":"filename","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Fs","type":"argv","summary":"Open a FLIRT file (.pat or .sig) and tries to apply the signatures to the loaded binary","description":"","args_str":" <filename>","args":[{"type":"filename","name":"filename","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Ff","type":"argv","summary":"Outputs the flirt function signature info","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Fa","type":"argv","summary":"Apply signatures from sigdb","description":"","args_str":" [<filter>]","args":[{"type":"string","name":"filter","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Fl","type":"argv_state","summary":"Lists all available signatures in sigdb","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["table"],"children":[]}]},{"cmd":"f","type":"group","summary":"Manage flags","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":26,"modes":[],"children":[{"cmd":"f","type":"argv","summary":"Add the flag if there are no existing flags","description":"Adds the flag to the current offset only if no flag exists at this offset already.","args_str":" <name> [<size> [<comment>]]","args":[{"type":"string","name":"name","required":true},{"type":"number","name":"size"},{"type":"string","name":"comment","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"f+","type":"argv","summary":"Add the flag","description":"Add the flag like the 'f' command but in any case, even if one or multiple flags already exist.","args_str":" <name> [<size> [<comment>]]","args":[{"type":"string","name":"name","required":true},{"type":"number","name":"size"},{"type":"string","name":"comment","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"f.","type":"group","summary":"Local flags (per function)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":[],"children":[{"cmd":"f.","type":"argv","summary":"Add the local flag","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"f.-","type":"argv","summary":"Remove the local flag","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"f.l","type":"argv_state","summary":"List the local flags for the function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"f.l*","type":"argv_state","summary":"List the local flags for all functions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]}]},{"cmd":"f-","type":"argv","summary":"Remove the flag","description":"If the glob is supplied it removes just flag items matching the pattern. Otherwise, it removes all flags at the current offset.","args_str":" [<glob>]","args":[{"type":"string","name":"glob","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"f-*","type":"argv","summary":"Remove all flags","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fa","type":"argv","summary":"Alias a flag to evaluate an expression","description":"","args_str":" <name> <alias>","args":[{"type":"unknown","name":"name","required":true},{"type":"string","name":"alias","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fe","type":"argv","summary":"Check if flag exists","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ff","type":"argv","summary":"Distance in bytes to reach the next flag","description":"","args_str":" [<glob>]","args":[{"type":"string","name":"glob","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fg","type":"argv_state","summary":"Show the flag graph","description":"","args_str":" [<name>]","args":[{"type":"unknown","name":"name"}],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"fi","type":"argv_state","summary":"Show the flags in the block or custom range","description":"","args_str":" [<size>]","args":[{"type":"expression","name":"size","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"fl","type":"argv_state","summary":"List all flags","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"fl.","type":"argv_state","summary":"List all flags at the current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"fL","type":"argv","summary":"Show the flag length / Set the flag length","description":"","args_str":" [<size>]","args":[{"type":"number","name":"size"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fN","type":"argv","summary":"Show the realname of the flag / Set the realname of the flag","description":"","args_str":" [<name> [<realname>]]","args":[{"type":"unknown","name":"name"},{"type":"string","name":"realname","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fl=","type":"argv","summary":"List range bars with flag offsets and sizes","description":"","args_str":" [<glob>]","args":[{"type":"string","name":"glob","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fc","type":"argv","summary":"Set a color for the given flag / Show the color for the given flag","description":"","args_str":" <flag> [<color>]","args":[{"type":"unknown","name":"flag","required":true},{"type":"string","name":"color","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fC","type":"argv","summary":"Set a comment for the given flag / Show the comment for the given flag","description":"","args_str":" <name> [<comment>]","args":[{"type":"unknown","name":"name","required":true},{"type":"string","name":"comment","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fd","type":"group","summary":"Describe flag","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":["standard","json","table"],"children":[{"cmd":"fd","type":"argv_state","summary":"Describe flag + delta for the current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","table"],"children":[]},{"cmd":"fd.","type":"argv_state","summary":"Describe flags for the current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","table"],"children":[]},{"cmd":"fdw","type":"argv","summary":"Describe closest flag by string for the current offset","description":"","args_str":" <string>","args":[{"type":"string","name":"string","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"fm","type":"argv","summary":"Move a flag to the new address","description":"","args_str":" <newaddress>","args":[{"type":"expression","name":"newaddress","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fO","type":"argv","summary":"Flag as ordinals (sym.* func.* method.*)","description":"","args_str":" <glob>","args":[{"type":"string","name":"glob","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fr","type":"argv","summary":"Rename flag","description":"","args_str":" <old> <new>","args":[{"type":"unknown","name":"old","required":true},{"type":"string","name":"new","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fR","type":"argv","summary":"Relocate flags","description":"","args_str":" <from> <to> [<mask>]","args":[{"type":"expression","name":"from","required":true},{"type":"expression","name":"to","required":true},{"type":"number","name":"mask"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fs","type":"group","summary":"Manage flagspaces","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":7,"modes":[],"children":[{"cmd":"fs","type":"argv","summary":"Add the flagspace","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fsl","type":"argv_state","summary":"Display flagspaces","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"fs-","type":"argv","summary":"Remove the flagspace","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fs-*","type":"argv","summary":"Remove all flagspaces","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fsm","type":"argv","summary":"Move the flags at the current address to the current flagspace","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fsr","type":"argv","summary":"Rename the flag space","description":"","args_str":" <newname>","args":[{"type":"string","name":"newname","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fss","type":"group","summary":"Manage the flagspace stack","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":3,"modes":[],"children":[{"cmd":"fss+","type":"argv","summary":"Push the flagspace to the stack","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fss-","type":"argv","summary":"Pop the flagspace from the stack","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fssl","type":"argv_state","summary":"Display flagspace stack","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]}]},{"cmd":"ft","type":"group","summary":"Flag tags","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"ft","type":"argv","summary":"Set a list of words for the given tag","description":"","args_str":" <tag> <words>","args":[{"type":"string","name":"tag","required":true},{"type":"string","name":"words","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ftl","type":"argv_state","summary":"List all flag tags","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long"],"children":[]},{"cmd":"ftn","type":"argv","summary":"Find all matching flag names for the given tag","description":"","args_str":" <tag>","args":[{"type":"string","name":"tag","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"fz","type":"group","summary":"Flag zones","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":[],"children":[{"cmd":"fz","type":"argv","summary":"Add new flagzone with [name]","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fz-","type":"argv","summary":"Remove the flag zone with [name]","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fz-*","type":"argv","summary":"Remove all flagzones","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fz.","type":"argv","summary":"Show around flag zone context","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fzl","type":"argv_state","summary":"List all flag zones","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"fx","type":"argv","summary":"Show hexdump of flag:flagsize","description":"","args_str":" <name>","args":[{"type":"unknown","name":"name","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"g","type":"group","summary":"Generate shellcodes with rz_egg","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":9,"modes":[],"children":[{"cmd":"g","type":"argv","summary":"Compile the shellcode","description":"","args_str":" [<file>]","args":[{"type":"filename","name":"file"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"gc","type":"argv","summary":"Get/Set config option for shellcode / List all config options","description":"","args_str":" <key>[=<val>] [<key>[=<val>] ...]]","args":[{"type":"string","name":"key=value","is_array":true}],"details":[{"name":"Examples","entries":[{"text":"gc","comment":"Show current value of config variable `egg.encoder`","arg_str":" egg.encoder"},{"text":"gc","comment":"Set config variable `egg.encoder` to `xor`","arg_str":" egg.encoder=xor"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"gl","type":"argv","summary":"List shellcode and encoder plugins","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"gs","type":"argv","summary":"Compile syscall \"name(args)\"","description":"","args_str":" <name> [<args>]","args":[{"type":"string","name":"name","required":true},{"type":"string","name":"args","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"gi","type":"argv","summary":"Define the shellcode type","description":"","args_str":" <type>","args":[{"type":"string","name":"type","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"gp","type":"argv","summary":"Define padding for command","description":"","args_str":" <padding>","args":[{"type":"expression","name":"padding","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ge","type":"argv","summary":"Specify an encoder and a key","description":"","args_str":" <encoder> <key>","args":[{"type":"string","name":"encoder","required":true},{"type":"string","name":"key","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"gr","type":"argv","summary":"Reset the shellcode configuration","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"gS","type":"argv","summary":"Show the current configuration","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"H","type":"group","summary":"Rizin history commands.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"H","type":"argv","summary":"Shows the history in current session or executes an history command via its index.","description":"","args_str":" [<index>]","args":[{"type":"number","name":"index"}],"details":[{"name":"Examples","entries":[{"text":"H","comment":"Shows the current session history","arg_str":""},{"text":"H","comment":"Executes a history command with index value of 12","arg_str":" 12"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"H-","type":"argv","summary":"Clears the history in current session","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"H+","type":"argv","summary":"Saves the history of the current session","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"help","type":"argv","summary":"Generic help","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"i","type":"group","summary":"Get info about opened binary file","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":36,"modes":["json","quiet","table"],"children":[{"cmd":"i","type":"argv_state","summary":"Show info of current file","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]},{"cmd":"ia","type":"argv_state","summary":"Show a summary of all info (imports, exports, sections, etc.)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"iA","type":"argv_state","summary":"List archs","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]},{"cmd":"ic","type":"group","summary":"List classes, fields and methods","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":6,"modes":["json","quiet","quietest","table"],"children":[{"cmd":"ic","type":"argv_state","summary":"List classes","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","quietest","table"],"children":[]},{"cmd":"ica","type":"argv","summary":"Apply class flags at given address","description":"","args_str":" <class name>","args":[{"type":"string","name":"class name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"icc","type":"argv","summary":"Prints class, fields and methods as source code","description":"","args_str":" [<class name>]","args":[{"type":"string","name":"class name","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"icf","type":"argv_state","summary":"List class fields","description":"","args_str":" [<class name>]","args":[{"type":"string","name":"class name","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","quietest","table"],"children":[]},{"cmd":"icm","type":"argv_state","summary":"List class methods","description":"","args_str":" [<class name>]","args":[{"type":"string","name":"class name","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","quietest","table"],"children":[]},{"cmd":"ics","type":"argv","summary":"Generate type definitions from classes","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"iC","type":"argv_state","summary":"Show signature info (entitlements, ...)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"id","type":"group","summary":"Debug commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json","quiet"],"children":[{"cmd":"id","type":"argv_state","summary":"Show DWARF source lines information","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"idp","type":"group","summary":"PDB commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":["standard","json"],"children":[{"cmd":"idp","type":"argv_state","summary":"Load PDB file information","description":"","args_str":" [<file.pdb>]","args":[{"type":"filename","name":"file.pdb"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"idpi","type":"argv_state","summary":"Show PDB file information","description":"","args_str":" [<file.pdb>]","args":[{"type":"filename","name":"file.pdb"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"idpd","type":"argv_state","summary":"Download PDB file on remote server","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"idpx","type":"argv","summary":"Extracts a compressed PDB file to a folder","description":"","args_str":" <file.pdb> <output_dir>","args":[{"type":"filename","name":"file.pdb","required":true},{"type":"filename","name":"output_dir","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]}]},{"cmd":"iD","type":"group","summary":"Demangle symbol for given language","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"iD","type":"argv","summary":"Demangle symbol for given language","description":"","args_str":" <lang> <symbol>","args":[{"type":"choice","name":"lang","required":true,"choices":["java","msvc","objc","pascal","c++","rust","dlang"]},{"type":"string","name":"symbol","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"iDl","type":"argv_state","summary":"Lists the available demanglers","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]}]},{"cmd":"ie","type":"argv_state","summary":"List entrypoints","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]},{"cmd":"iee","type":"argv_state","summary":"List entries/exits functions (e.g. preinit, init, fini)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]},{"cmd":"iE","type":"group","summary":"List exports","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["json","quiet","table"],"children":[{"cmd":"iE","type":"argv_state","summary":"List exports (global symbols)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]},{"cmd":"iE.","type":"argv_state","summary":"List export at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]}]},{"cmd":"ih","type":"argv_state","summary":"Show binary fields","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]},{"cmd":"iH","type":"argv_modes","summary":"Show binary structured data","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"ii","type":"argv_state","summary":"List imports","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]},{"cmd":"iI","type":"argv_state","summary":"Show binary info","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]},{"cmd":"ik","type":"argv","summary":"Query key-value database from RzBinObject","description":"","args_str":" [<sdb-query>]","args":[{"type":"string","name":"sdb-query","is_last":true}],"details":[{"name":"Examples","entries":[{"text":"ik","comment":"Show all key value pairs in the root namespace (same as 'ik *').","arg_str":""},{"text":"ik","comment":"Show all namespaces under root","arg_str":" **"},{"text":"ik","comment":"Show all key value pairs in the 'versioninfo/versym/' namespace.","arg_str":" versioninfo/versym/*"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"il","type":"argv_state","summary":"List libraries","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]},{"cmd":"iL","type":"argv_state","summary":"List all binary plugins loaded / Show plugin details","description":"","args_str":" [<plugin>]","args":[{"type":"string","name":"plugin","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"im","type":"argv_state","summary":"Show info about predefined memory allocation","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]},{"cmd":"iM","type":"argv_state","summary":"Show main address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]},{"cmd":"ir","type":"argv_state","summary":"List relocations","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]},{"cmd":"iR","type":"argv_state","summary":"List Resources","description":"","args_str":" [<digests1> <digests2> ...]","args":[{"type":"string","name":"digests","is_array":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","table"],"children":[]},{"cmd":"is","type":"argv_state","summary":"List symbols","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","quietest","table"],"children":[]},{"cmd":"is.","type":"argv_state","summary":"Current symbol","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]},{"cmd":"iS","type":"argv_state","summary":"List sections","description":"","args_str":" [<digests1> <digests2> ...]","args":[{"type":"string","name":"digests","is_array":true}],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]},{"cmd":"iS.","type":"argv_state","summary":"Current section","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","table"],"children":[]},{"cmd":"iS=","type":"argv","summary":"Show ascii-art color bars with the section ranges","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"iSS","type":"argv_state","summary":"List segments","description":"","args_str":" [<digests1> <digests2> ...]","args":[{"type":"string","name":"digests","is_array":true}],"details":[],"executable":true,"n_children":0,"modes":["json","table"],"children":[]},{"cmd":"iSS.","type":"argv_state","summary":"Current segment","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","table"],"children":[]},{"cmd":"iT","type":"argv_state","summary":"Show file hashes","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"iV","type":"argv_state","summary":"Display file version info","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"iw","type":"argv_state","summary":"Show try/catch blocks","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","table"],"children":[]},{"cmd":"ix","type":"argv_state","summary":"Display source file line info","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"ix.","type":"argv_state","summary":"Display source file line info at current address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"ixf","type":"argv_state","summary":"Display source file info","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"iz","type":"group","summary":"String commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":["json","quiet","quietest","table"],"children":[{"cmd":"iz","type":"argv_state","summary":"List strings","description":"Lists the strings; the behavior can be modified via str.search.*","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","quietest","table"],"children":[]},{"cmd":"izz","type":"argv_state","summary":"List strings in the whole binary","description":"Lists the strings of the whole binary; the behavior can be modified via str.search.*","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","quietest","table"],"children":[]},{"cmd":"iz-","type":"argv","summary":"Purge string at current address via bin.str.purge","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"izx","type":"argv_state","summary":"List all strings which have xrefs to them.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","quietest","table"],"children":[]}]},{"cmd":"iZ","type":"argv_state","summary":"Guess size of binary program","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"java","type":"group","summary":"Core plugin to visualize java class information","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":7,"modes":[],"children":[{"cmd":"javac","type":"argv_modes","summary":"prints the class structure","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"javaf","type":"argv_modes","summary":"prints the class fields","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"javai","type":"argv_modes","summary":"prints the class interfaces","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"javam","type":"argv_modes","summary":"prints the class methods","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"javap","type":"argv_modes","summary":"prints the class constant pool","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"javas","type":"argv","summary":"prints the class like a java source code","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"javar","type":"argv","summary":"resolves the class constant pool value at a given index","description":"","args_str":" <index>","args":[{"type":"number","name":"index","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"k","type":"group","summary":"Run query (SDB)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":[],"children":[{"cmd":"k","type":"argv","summary":"Get or set a value from the SDB.","description":"","args_str":" [<key>[=<val>]]","args":[{"type":"string","name":"key=value","is_last":true}],"details":[{"name":"Examples","entries":[{"text":"k","comment":"List all keys in root namespace.","arg_str":""},{"text":"k","comment":"List namespaces under root.","arg_str":" **"},{"text":"k","comment":"List namespaces under 'analysis'.","arg_str":" analysis/**"},{"text":"k","comment":"List key-value pairs under the 'analysis.meta' namespace.","arg_str":" analysis/meta/*"},{"text":"k","comment":"Show value of key 'meta.0x80404'.","arg_str":" analysis/meta/meta.0x80404"},{"text":"k","comment":"Show value of key 'foo'.","arg_str":" foo"},{"text":"k","comment":"Set key 'foo' to value 'bar'","arg_str":" foo=bar"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"kj","type":"argv","summary":"List all namespaces under 'analysis/' and sdb databases in JSON format (SDB).","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ks","type":"argv","summary":"Enter query shell (SDB).","description":"","args_str":" <namespace>","args":[{"type":"string","name":"namespace","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"kd","type":"argv","summary":"Dump namespace to file (SDB).","description":"","args_str":" <filename> <namespace>","args":[{"type":"filename","name":"filename","required":true},{"type":"string","name":"namespace","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ko","type":"argv","summary":"Load namespace from file (SDB).","description":"","args_str":" <filename> <namespace>","args":[{"type":"filename","name":"filename","required":true},{"type":"string","name":"namespace","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"L","type":"group","summary":"List, unload, load rizin plugins","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":12,"modes":[],"children":[{"cmd":"L","type":"argv","summary":"Load a plugin from file","description":"","args_str":" <plugin_file>","args":[{"type":"filename","name":"plugin_file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"L-","type":"argv","summary":"Unload a plugin from file","description":"","args_str":" <plugin_file>","args":[{"type":"filename","name":"plugin_file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Ll","type":"argv_state","summary":"List the lang plugins","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"La","type":"group","summary":"List the asm/analysis plugins","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json","quiet","table"],"children":[{"cmd":"La","type":"argv_state","summary":"List the arch plugins","description":"","args_str":" [<features>]","args":[{"type":"string","name":"features","is_last":true}],"details":[{"name":"Legend","entries":[{"text":"a","comment":"Analysis plugin","arg_str":""},{"text":"d","comment":"Disassembler plugin","arg_str":""},{"text":"A","comment":"Assembler plugin","arg_str":""},{"text":"e","comment":"ESIL Support","arg_str":""},{"text":"I","comment":"RzIL Support","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"Lac","type":"argv_state","summary":"List the cpus supported by the arch plugin","description":"","args_str":" <architecture>","args":[{"type":"string","name":"architecture","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"Lc","type":"argv_state","summary":"List the core plugins","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"LC","type":"argv_state","summary":"List the crypto plugins","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"Ld","type":"argv_state","summary":"List debug plugins / Set debug backend (e dbg.backend)","description":"","args_str":" [<handler>]","args":[{"type":"string","name":"handler","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"Lh","type":"argv_state","summary":"List the hash plugins","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"Li","type":"argv_state","summary":"List the bin plugins","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"Lo","type":"argv_state","summary":"List IO plugins / Register IO plugin from <path>","description":"","args_str":" [<path>]","args":[{"type":"filename","name":"path"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"Lp","type":"argv_state","summary":"List the parser plugins","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"LD","type":"argv_state","summary":"List the demanglers plugins (alias for iDl)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]}]},{"cmd":"m","type":"group","summary":"Manage marks","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":14,"modes":[],"children":[{"cmd":"m","type":"argv","summary":"Adds a mark if there are no existing marks.","description":"Adds the mark to the current offset only if no mark covers this offset already","args_str":" <name> <end> [<comment>]","args":[{"type":"string","name":"name","required":true},{"type":"number","name":"end","required":true},{"type":"string","name":"comment","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"m+","type":"argv","summary":"Add mark.","description":"Adds a mark at the current offset, replacing any existing mark with the same name.","args_str":" <name> <end> [<comment>]","args":[{"type":"string","name":"name","required":true},{"type":"number","name":"end","required":true},{"type":"string","name":"comment","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"m-","type":"argv","summary":"Remove mark.","description":"Removes marks by name. If <regex_pattern> is given, only marks whose name matches the regex are removed. Otherwise, all marks covering the current offset are removed.","args_str":" [<regex_pattern>]","args":[{"type":"string","name":"regex_pattern","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"m-*","type":"argv","summary":"Remove all marks.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ml","type":"argv_state","summary":"List all marks.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"ml.","type":"argv_state","summary":"List all marks containing the current offset.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"mc","type":"argv","summary":"Set a color for the given mark / Show the color for the given mark.","description":"","args_str":" <name> [<color>]","args":[{"type":"unknown","name":"name","required":true},{"type":"string","name":"color","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"mC","type":"argv","summary":"Set a comment for the given mark. If no comment is given, it shows the current one for the mark.","description":"","args_str":" <name> [<comment>]","args":[{"type":"unknown","name":"name","required":true},{"type":"string","name":"comment","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"mr","type":"argv","summary":"Rename mark.","description":"","args_str":" <old> <new>","args":[{"type":"unknown","name":"old","required":true},{"type":"string","name":"new","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"mN","type":"argv","summary":"Show the realname of the mark / Set the realname of the mark.","description":"Each mark has two identifiers. <name> is the unique, escaped identifier used internally by Rizin. <realname> is the original, unescaped name, kept as given by the user.","args_str":" <name> [<realname>]","args":[{"type":"unknown","name":"name","required":true},{"type":"string","name":"realname","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"mm","type":"argv","summary":"Move a mark to new a location.","description":"","args_str":" <name> <new_start> <new_end>","args":[{"type":"unknown","name":"name","required":true},{"type":"expression","name":"new_start","required":true},{"type":"expression","name":"new_end","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"mf","type":"argv","summary":"Distance in bytes to reach the starting of mark from the current offset.","description":"","args_str":" <regex_pattern>","args":[{"type":"string","name":"regex_pattern","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"md","type":"group","summary":"Describe mark.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":1,"modes":["standard","json","table"],"children":[{"cmd":"md","type":"argv_state","summary":"Describe marks at the current offset or a named mark with distance from the offset.","description":"Displays information about marks. Without arguments, it describes all marks that contain the current offset. With a <name> argument, it shows details of that mark and the distance in bytes from the current offset to reach the mark. If the mark begins after the current offset, it shows <name> - <bytes> (distance from current offset to start of the mark). If the mark ends before the current offset, it shows <name> + <bytes> (distance from current offset to the end of the mark).","args_str":" [<name>]","args":[{"type":"unknown","name":"name"}],"details":[{"name":"Usage example","entries":[{"text":"md","comment":"Describe all marks containing the current offset","arg_str":""},{"text":"md foo","comment":"Describe the mark named 'foo' and show distance from current offset to reach 'foo' in bytes","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json","table"],"children":[]}]},{"cmd":"mi","type":"argv_state","summary":"Show marks in the current block or in the next <size> bytes.","description":"","args_str":" [<size>]","args":[{"type":"expression","name":"size","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]}]},{"cmd":"o","type":"group","summary":"Open files and handle opened files","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":18,"modes":[],"children":[{"cmd":"o","type":"argv","summary":"Open <file>","description":"","args_str":" <file> [<addr> [<perm>]]","args":[{"type":"filename","name":"file","required":true},{"type":"expression","name":"addr"},{"type":"string","name":"perm","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"o+","type":"argv","summary":"Open <file> in write mode","description":"","args_str":" <file> [<addr> [<perm>]]","args":[{"type":"filename","name":"file","required":true},{"type":"expression","name":"addr"},{"type":"string","name":"perm","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ol","type":"argv_state","summary":"List opened files","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"ol.","type":"argv_state","summary":"Show currently opened file","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"o-","type":"argv","summary":"Close file descriptor","description":"","args_str":" <fd>","args":[{"type":"number","name":"fd","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"o--","type":"argv","summary":"Close all files","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"oc","type":"argv","summary":"Close all opened files and open <file>, like relaunching rizin","description":"","args_str":" <file>","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"oC","type":"argv","summary":"Open a 'malloc://<len>' file, copying the bytes from current offset","description":"","args_str":" <len>","args":[{"type":"expression","name":"len","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"on","type":"group","summary":"Open files without parsing binary info","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"on","type":"argv","summary":"Open <file> without parsing binary info","description":"","args_str":" <file> [<addr> [<perm>]]","args":[{"type":"filename","name":"file","required":true},{"type":"expression","name":"addr"},{"type":"string","name":"perm","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"on+","type":"argv","summary":"Open <file> in write mode, without parsing binary info","description":"","args_str":" <file> [<addr> [<perm>]]","args":[{"type":"filename","name":"file","required":true},{"type":"expression","name":"addr"},{"type":"string","name":"perm","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"oo","type":"group","summary":"Reopen current file","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":10,"modes":[],"children":[{"cmd":"oo","type":"argv","summary":"Reopen current file or file <fd>","description":"","args_str":" [<fd>]","args":[{"type":"number","name":"fd"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"oo+","type":"argv","summary":"Reopen current file or file <fd> in write mode","description":"","args_str":" [<fd>]","args":[{"type":"number","name":"fd"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"oob","type":"argv","summary":"Reopen current file and reload binary information","description":"","args_str":" [<baddr>]","args":[{"type":"expression","name":"baddr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ooc","type":"argv","summary":"Reopen current file as if restarting rizin","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ood","type":"group","summary":"Reopen current file in debug mode","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"ood","type":"argv","summary":"Reopen current file in debug mode","description":"","args_str":" [<args1> <args2> ...]","args":[{"type":"string","name":"args","is_array":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"oodf","type":"argv","summary":"Open <uri> in debug mode","description":"","args_str":" <uri> [<addr>]","args":[{"type":"string","name":"uri","required":true},{"type":"expression","name":"addr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"oodr","type":"argv","summary":"Reopen current file in debug mode with given rz-run directives","description":"","args_str":" <rz-run-directives>","args":[{"type":"string","name":"rz-run-directives","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"oom","type":"argv","summary":"Reopen curent file in malloc://","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"oon","type":"argv","summary":"Reopen curent file without loading binary information","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"oon+","type":"argv","summary":"Reopen curent file in write-mode without loading binary information","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"oonn","type":"argv","summary":"Reopen curent file without loading binary information but with header flags","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"oonn+","type":"argv","summary":"Reopen curent file in write-mode without loading binary information but with header flags","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"oL","type":"argv_state","summary":"List all IO plugins / Register IO plugin from <path>","description":"","args_str":" [<path>]","args":[{"type":"filename","name":"path"}],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]},{"cmd":"o=","type":"argv","summary":"List opened files in ASCII-art bars","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"oa","type":"argv","summary":"Specify <arch> and <bits> for the file <filename> or the current one if none is specified","description":"","args_str":" <arch> <bits> [<filename>]","args":[{"type":"string","name":"arch","required":true},{"type":"expression","name":"bits","required":true},{"type":"filename","name":"filename"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ob","type":"group","summary":"Handle binary files","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":11,"modes":[],"children":[{"cmd":"ob","type":"argv","summary":"Switch to binary file with the given <id>","description":"","args_str":" <id>","args":[{"type":"number","name":"id","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"obo","type":"argv","summary":"Switch to binary file with the given <fd>","description":"","args_str":" <fd>","args":[{"type":"number","name":"fd","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ob-","type":"argv","summary":"Delete binary file with the given <id>","description":"","args_str":" <id>","args":[{"type":"number","name":"id","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ob-*","type":"argv","summary":"Delete all binary files","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"obl","type":"argv_state","summary":"List opened binary files","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"obl=","type":"argv","summary":"List opened binary files in ASCII art","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ob.","type":"argv","summary":"Show id of binary file current address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"oba","type":"argv","summary":"Open binary file for current file and load binary info with baseaddr at current offset","description":"","args_str":" <loadaddr>=0","args":[{"type":"expression","name":"loadaddr","required":true,"is_last":true,"default":"0"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"obf","type":"argv","summary":"Load binary info for the given file or current one with baseaddr at current offset","description":"","args_str":" [<file>]","args":[{"type":"filename","name":"file"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"obs","type":"argv","summary":"Select the binary version for the specified architecture from the fat binary.","description":"","args_str":" [<arch>]","args":[{"type":"string","name":"arch","is_last":true}],"details":[{"name":"Examples","entries":[{"text":"obs","comment":"List all architectures the fat binary supports contains.","arg_str":""},{"text":"obs sparc","comment":"Select and load the binary for Sparc","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"obR","type":"argv","summary":"Reload the current buffer for setting of the bin (use once only)","description":"","args_str":" <baddr>=0","args":[{"type":"expression","name":"baddr","required":true,"is_last":true,"default":"0"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"ou","type":"argv","summary":"Use specified <fd>","description":"","args_str":" <fd>","args":[{"type":"number","name":"fd","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"op","type":"group","summary":"Select prioritized file","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":[],"children":[{"cmd":"op","type":"argv","summary":"Prioritize file with file descriptor <fd>","description":"","args_str":" <fd>","args":[{"type":"number","name":"fd","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"opn","type":"argv","summary":"Prioritize next file in the list","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"opp","type":"argv","summary":"Prioritize previous file in the list","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"opr","type":"argv","summary":"Prioritize next file in the list (go back to first if on the last)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"om","type":"group","summary":"Handle IO maps","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":15,"modes":[],"children":[{"cmd":"om","type":"argv","summary":"Create a new map","description":"","args_str":" <fd> <vaddr> [<size> [<paddr> [<flags> [<name>]]]]","args":[{"type":"number","name":"fd","required":true},{"type":"expression","name":"vaddr","required":true},{"type":"expression","name":"size"},{"type":"expression","name":"paddr"},{"type":"string","name":"flags"},{"type":"string","name":"name","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"oml","type":"argv_state","summary":"List maps of all file descriptor or only the specified <fd>","description":"","args_str":" [<fd>]","args":[{"type":"number","name":"fd"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","quietest","table"],"children":[]},{"cmd":"oml.","type":"argv_state","summary":"Show map at the current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","quietest","table"],"children":[]},{"cmd":"oml=","type":"argv","summary":"List IO maps in ASCII art","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"om-","type":"argv","summary":"Remove the IO map with corresponding <id>","description":"","args_str":" <id>","args":[{"type":"number","name":"id","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"om-*","type":"argv","summary":"Remove all IO maps","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"oma","type":"argv","summary":"Create a IO map covering all VA for given <fd> or current one if not provided","description":"","args_str":" [<fd>]","args":[{"type":"number","name":"fd"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"omb","type":"argv","summary":"Relocate map with corresponding <id> to <addr>","description":"","args_str":" <id> <addr>","args":[{"type":"number","name":"id","required":true},{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"omb.","type":"argv","summary":"Relocate map at current offset to <addr>","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"omf","type":"argv","summary":"Change flags/perms for map with given <id> or current one","description":"","args_str":" <flags> [<id>]","args":[{"type":"string","name":"flags","required":true},{"type":"number","name":"id"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"omfg","type":"argv","summary":"Change flags/perms for all maps","description":"Update flags of all maps. If <flags> starts with a +, the specified flags are added to the maps. If <flags> starts with a -, the specified flags are removed from the maps. Otherwise, the exact <flags> are set for each map.","args_str":" <flags>","args":[{"type":"string","name":"flags","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"omm","type":"argv","summary":"Create default map for given <fd> or current one","description":"","args_str":" [<fd>]","args":[{"type":"number","name":"fd"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"omn","type":"group","summary":"Handle maps names","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":[],"children":[{"cmd":"omn","type":"argv","summary":"Set name of map which spans current seek","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"omn-","type":"argv","summary":"Delete name of map which spans current seek","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"omni","type":"argv","summary":"Set name of map with map <id>","description":"","args_str":" <id> <name>","args":[{"type":"number","name":"id","required":true},{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"omni-","type":"argv","summary":"Delete name of map with map <id>","description":"","args_str":" <id>","args":[{"type":"number","name":"id","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"omr","type":"argv","summary":"Resize map with corresponding <id>","description":"","args_str":" <id> <newsize>","args":[{"type":"number","name":"id","required":true},{"type":"expression","name":"newsize","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"omp","type":"group","summary":"Prioritize maps","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":[],"children":[{"cmd":"omp","type":"argv","summary":"Prioritize map with the corresponding id","description":"","args_str":" <id>","args":[{"type":"number","name":"id","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ompb","type":"argv","summary":"Prioritize maps of the bin associated with the binid","description":"","args_str":" <fd>","args":[{"type":"number","name":"fd","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ompd","type":"argv","summary":"Deprioritize map with the corresponding id","description":"","args_str":" <id>","args":[{"type":"number","name":"id","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ompf","type":"argv","summary":"Prioritize map by fd","description":"","args_str":" <fd>","args":[{"type":"number","name":"fd","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]}]},{"cmd":"ox","type":"argv","summary":"Exchange the descs of <fd> and <fdx> and keep the mapping","description":"","args_str":" <fd> <fdx>","args":[{"type":"number","name":"fd","required":true},{"type":"number","name":"fdx","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"P","type":"group","summary":"Project management","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":3,"modes":[],"children":[{"cmd":"Ps","type":"argv","summary":"Save a project","description":"","args_str":" [<project.rzdb>]","args":[{"type":"filename","name":"project.rzdb"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Po","type":"argv","summary":"Open a project","description":"","args_str":" <project.rzdb>","args":[{"type":"filename","name":"project.rzdb","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Poo","type":"argv","summary":"Open a project on top of currently loaded binaries","description":"","args_str":" <project.rzdb>","args":[{"type":"filename","name":"project.rzdb","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p","type":"group","summary":"Print commands","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":30,"modes":[],"children":[{"cmd":"p2","type":"argv","summary":"Print 8x8 2bpp tiles.","description":"","args_str":" [<n>]","args":[{"type":"expression","name":"n","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p8","type":"group","summary":"Print 8bit hexpair list of bytes.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json"],"children":[{"cmd":"p8","type":"argv_state","summary":"Print 8bit hexpair list of bytes.","description":"","args_str":" [<n>]","args":[{"type":"expression","name":"n","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"p8f","type":"argv","summary":"Print 8bit hexpair list of bytes in function (linear).","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"pb","type":"argv_modes","summary":"Print bitstream of <n> bits, skipping the first <skip> bits.","description":"","args_str":" <n> <skip>=0","args":[{"type":"expression","name":"n","required":true},{"type":"expression","name":"skip","required":true,"is_last":true,"default":"0"}],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"pB","type":"argv_modes","summary":"Print bitstream of <n> bytes","description":"","args_str":" <n>","args":[{"type":"expression","name":"n","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"pa","type":"group","summary":"Print (dis)assembly of given hexpairs/assembly","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":["standard"],"children":[{"cmd":"pa","type":"argv_modes","summary":"Print hexpairs of the given assembly expression","description":"","args_str":" <assembly>","args":[{"type":"string","name":"assembly","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"pae","type":"argv_modes","summary":"Print ESIL expression of the given assembly expression","description":"","args_str":" <assembly>","args":[{"type":"string","name":"assembly","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"pad","type":"argv_modes","summary":"Print assembly expression from hexpairs (alias for pix)","description":"","args_str":" <hexpair>","args":[{"type":"string","name":"hexpair","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"pade","type":"argv_modes","summary":"Print ESIL expression from hexpairs","description":"","args_str":" <hexpair>","args":[{"type":"string","name":"hexpair","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]}]},{"cmd":"pc","type":"group","summary":"Print bytes as code byte arrays.","description":"","args_str":"","args":[],"details":[{"name":"Useful modifiers","entries":[{"text":"pch @e:cfg.bigendian=<true|false>","comment":"Change endianness for pch, pcw and pcd commands","arg_str":""},{"text":"pc @! <n>","comment":"Change the N of bytes (i.e. block size).","arg_str":""}]},{"name":"Example of usages","entries":[{"text":"pch @! 64 @e:cfg.bigendian=true","comment":"Generate a C 32 bits array in big endian format, using 64 bytes","arg_str":""},{"text":"pcp 1024","comment":"Generate a Python byte array of size 1024","arg_str":""},{"text":"pcj 10","comment":"Generate a JSON bytes array of size 10","arg_str":""}]}],"executable":true,"n_children":18,"modes":[],"children":[{"cmd":"pc","type":"argv","summary":"Generate a C/C++ byte array.","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pch","type":"argv","summary":"Generate a C/C++ 16 bits array.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pcw","type":"argv","summary":"Generate a C/C++ 32 bits array.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pcd","type":"argv","summary":"Generate a C/C++ 64 bits array.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pca","type":"argv","summary":"Generate a byte array in GAS assembly.","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pcA","type":"argv","summary":"Generate a byte array in GAS assembly with instructions in comments.","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pcb","type":"argv","summary":"Generate a bash script with the byte array.","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pcg","type":"argv","summary":"Generate a Golang byte array.","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pcJ","type":"argv","summary":"Generate a Java byte array.","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pcj","type":"argv","summary":"Generate a JSON byte array.","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pck","type":"argv","summary":"Generate a Kotlin byte array.","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pcn","type":"argv","summary":"Generate a NodeJS buffer.","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pco","type":"argv","summary":"Generate a Objective-C/C++ byte array.","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pcp","type":"argv","summary":"Generate a Python byte array.","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pcr","type":"argv","summary":"Generate a Rust byte array.","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pcs","type":"argv","summary":"Generate a Swift byte array.","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pcy","type":"argv","summary":"Generate a Yara match pattern.","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pc*","type":"argv","summary":"Generate a rizin commands for writing the byte array.","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"pD","type":"argv_state","summary":"Disassemble N bytes (can be negative)","description":"","args_str":" [<n_bytes>]","args":[{"type":"expression","name":"n_bytes","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"pC","type":"group","summary":"Print disassembly in columns","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":6,"modes":[],"children":[{"cmd":"pCd","type":"argv","summary":"Print <len> lines of instructions disassembly in columns","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pCD","type":"argv","summary":"Print <len> lines of the debug registers and stack in columns","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pCa","type":"argv","summary":"Print <len> lines of annotated hexdump in columns","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pCA","type":"argv","summary":"Print <len> lines of op analysis color map in columns","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pCx","type":"argv","summary":"Print <len> lines of hexdump in columns","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pCw","type":"argv","summary":"Print <len> lines of 4-byte integer hexdump in columns","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"pd","type":"group","summary":"Print Disassembly","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":13,"modes":["standard","json","quiet","table"],"children":[{"cmd":"pd","type":"argv_state","summary":"Disassemble N instructions (can be negative)","description":"","args_str":" [<n_instrs>]","args":[{"type":"expression","name":"n_instrs","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"pda","type":"group","summary":"Disassemble all possible opcodes (byte per byte)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json","quiet"],"children":[{"cmd":"pda","type":"argv_state","summary":"Disassemble all possible opcodes (byte per byte)","description":"","args_str":" [<n_bytes>]","args":[{"type":"expression","name":"n_bytes","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"pda=","type":"argv","summary":"Disassemble all possible opcodes (treeview)","description":"","args_str":" [<n_bytes>]","args":[{"type":"expression","name":"n_bytes","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"pdb","type":"group","summary":"Disassemble basic block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json"],"children":[{"cmd":"pdb","type":"argv_state","summary":"Disassemble basic block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pdbJ","type":"argv_state","summary":"Disassemble basic block as json containing the printed text","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]}]},{"cmd":"pdC","type":"argv","summary":"Prints the comments found in N instructions","description":"","args_str":" [<n_instrs>]","args":[{"type":"expression","name":"n_instrs","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pde","type":"argv_state","summary":"Disassemble N instructions following execution flow from current PC","description":"","args_str":" [<n_instrs>]","args":[{"type":"expression","name":"n_instrs","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","quietest"],"children":[]},{"cmd":"pdf","type":"group","summary":"Disassemble a function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json"],"children":[{"cmd":"pdf","type":"argv_state","summary":"Disassemble a function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pdfs","type":"argv","summary":"Disassemble a function and outputs the summary of it.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"pdJ","type":"argv_state","summary":"Disassemble N instructions as json containing the printed text","description":"","args_str":" [<n_instrs>]","args":[{"type":"expression","name":"n_instrs","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"pdk","type":"argv","summary":"Disassemble all methods of a class","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pdl","type":"argv_state","summary":"Disassemble N instructions and prints its sizes","description":"","args_str":" [<n_instrs>]","args":[{"type":"expression","name":"n_instrs","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pdp","type":"argv_state","summary":"Disassemble instructions and follows pointers to read ropchains","description":"","args_str":" [<limit>]","args":[{"type":"number","name":"limit"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"pdr","type":"group","summary":"Disassemble recursively across the function graph","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json"],"children":[{"cmd":"pdr","type":"argv_state","summary":"Disassemble recursively across the function graph","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pdr.","type":"argv_state","summary":"Disassemble recursively across the function graph (from current basic block)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"pdR","type":"argv_state","summary":"Disassemble recursively the block size bytes without analyzing functions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"pds","type":"group","summary":"Summarize N bytes or current block or a function (strings, calls, jumps, refs)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"pds","type":"argv","summary":"Summarize N bytes","description":"","args_str":" [<n_bytes>]","args":[{"type":"expression","name":"n_bytes","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pdsf","type":"argv","summary":"Summarize the current function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pdsb","type":"argv","summary":"Summarize current block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]}]},{"cmd":"pf","type":"group","summary":"Print formatted data","description":"","args_str":"","args":[],"details":[{"name":"Sized integers (lowercase=LE UPPER=BE)","entries":[{"text":"x1 / x2 / x4 / x8","comment":"hex unsigned, N bytes","arg_str":""},{"text":"d1 / d2 / d4 / d8","comment":"decimal signed, N bytes","arg_str":""},{"text":"u1 / u2 / u4 / u8","comment":"decimal unsigned, N bytes","arg_str":""},{"text":"o1 / o2 / o4 / o8","comment":"octal, N bytes","arg_str":""},{"text":"b1 / b2 / b4 / b8","comment":"binary, N bytes","arg_str":""},{"text":"n1 / n2 / n4 / n8","comment":"hex unsigned, N bytes; endian comes from the active pf parsing context (set by pf -e, by a parent V/B's e=..., or by the embedding caller), not from the spec's case; useful when the byte order isn't fixed in the format itself (file headers with an endian marker, embedded protocols, serialised records)","arg_str":""},{"text":"f2 / f4 / f8","comment":"IEEE 754 float, 2/4/8 bytes (half/single/double)","arg_str":""}]},{"name":"Special scalars","entries":[{"text":"c","comment":"single byte rendered as character","arg_str":""},{"text":"p / p2 / p4 / p8","comment":"pointer: bare p uses ctx.bits (2/4/8 bytes); p2/p4/p8 force the width","arg_str":""},{"text":"Q","comment":"uint128_t (16 bytes, byte-sequential)","arg_str":""},{"text":"r","comment":"raw hex byte dump (count via [N])","arg_str":""},{"text":"U / L","comment":"ULEB128 / SLEB128 (variable length)","arg_str":""}]},{"name":"Strings (encoding-aware)","entries":[{"text":"z","comment":"inline NUL-terminated string","arg_str":""},{"text":"z(utf16le)","comment":"encoding override (utf8, utf16le, utf16be, utf32le, utf32be, ibm037, ebcdic_us, ...)","arg_str":""},{"text":"z[N]","comment":"length-prefixed string, N-byte prefix (1/2/4/8), length is in characters","arg_str":""},{"text":"z(utf16le)[2b]","comment":"length prefix in BYTES (MS BSTR style); suffix 'b' switches the unit","arg_str":""},{"text":"s","comment":"pointer to NUL-terminated string (dereferences via read_at)","arg_str":""}]},{"name":"Timestamps (parameterised)","entries":[{"text":"t(unix32) / T(unix32)","comment":"wire format inside the parens; case selects LE/BE","arg_str":""},{"text":"supported formats","comment":"unix32, unix64, unixms, unixus, unixns, filetime (alias ntfs), dos, hfs, oletime, webkit, cocoa","arg_str":""}]},{"name":"Typed composites","entries":[{"text":"E (enum_type)","comment":"4-byte enum, name resolved via typedb","arg_str":""},{"text":"B (bitfield_type)","comment":"4-byte bitfield, name resolved via typedb","arg_str":""},{"text":"B4(R=1,W=2,X=4)","comment":"inline bitfield with named flags (size = 1/2/4/8 byte BN)","arg_str":""},{"text":"? (struct_type)","comment":"nested struct, name resolved via typedb","arg_str":""},{"text":"0...","comment":"leading '0' marks the format as a union (all fields share offset 0)","arg_str":""}]},{"name":"DSL extensions","entries":[{"text":"@N","comment":"align cursor up to next N-byte boundary (no value, no name)","arg_str":""},{"text":":N","comment":"read N bits (1..64) from packed bitstream; MSB-first by default","arg_str":""},{"text":":N< / :N>","comment":"explicit bit order: < = LSB-first, > = MSB-first","arg_str":""},{"text":"G","comment":"16-byte GUID/UUID, mixed-endian (MS) layout by default","arg_str":""},{"text":"G(le) / G(be)","comment":"GUID layout: G(le) is LE on D1/D2/D3 (D4 stays raw, effectively the MS layout); G(be) is RFC 4122 BE","arg_str":""},{"text":"V(t=u1,l=u2,d=table)","comment":"TLV record; t=tag, l=length, e=le/be, h=v/l/a (len covers value / len+value / tag+len+value), d=dispatch table","arg_str":""},{"text":"v(N) / v(N,lsb) / v(N,msb)","comment":"bitvector: N individual bits (1..4096) exposed as separate 0/1 scalars; consumes ceil(N/8) bytes; bytes are always shown low-address to high; within each byte the default (msb) prints bit 7 first through bit 0, while lsb flips that to bit 0 first through bit 7","arg_str":""},{"text":"[@field_name]T","comment":"array whose length comes from an earlier scalar field","arg_str":""}]},{"name":"Skip / repeat / pointers","entries":[{"text":".","comment":"skip 1 byte; [N]. skips N bytes","arg_str":""},{"text":"3...","comment":"leading integer repeats the whole format N times","arg_str":""},{"text":"{N}...","comment":"alternate repeat syntax","arg_str":""},{"text":"*T","comment":"field is a pointer to T (dereferenced via read_at)","arg_str":""},{"text":"[N]T","comment":"fixed-size array of N elements of T","arg_str":""}]},{"name":"Examples","entries":[{"text":"pf 'x4 d2 u8 z magic ver size name'","comment":"header with hex u32, signed s16, unsigned u64, NUL-terminated string","arg_str":""},{"text":"pf 'B4(R=1,W=2,X=4,KERN=0x100) perms'","comment":"inline bitfield with named flags","arg_str":""},{"text":"pf 'u1 [@count] x4 count items'","comment":"u8 count, then that many u32 hex values","arg_str":""},{"text":"pf 'z(utf16le)[2b] bstr'","comment":"BSTR-style: 2-byte length prefix counting bytes, UTF-16 LE body","arg_str":""},{"text":"pf ':1 :7 x4 flag rest tail'","comment":"bit-level: 1 bit then 7 bits, then 4 bytes","arg_str":""},{"text":"pf 'G(be) uuid'","comment":"RFC 4122 big-endian UUID","arg_str":""},{"text":"pf 'V(t=u1,l=u2,d=usb_desc) record'","comment":"TLV dispatched via the 'usb_desc' tag-to-format table","arg_str":""},{"text":"pf 't(filetime) created'","comment":"8-byte Windows FILETIME timestamp","arg_str":""},{"text":"pf '3 0x4d4 a b'","comment":"repeat 3 times, union with fields x4 and d4","arg_str":""},{"text":"pf '? (mytype) field'","comment":"nested struct of typedb format 'mytype'","arg_str":""}]},{"name":"Notes","entries":[{"text":"bit order","comment":":N defaults to MSB-first (matches DWARF and most network protocols); use <N for LSB-first","arg_str":""},{"text":"endian via case","comment":"lowercase specifier = little-endian, UPPERCASE = big-endian","arg_str":""},{"text":"context endian","comment":"n1/n2/n4/n8 take the active pf parsing context's current endian setting, not the spec's case","arg_str":""},{"text":"skip vs alignment","comment":"'.' / '[N].' skip an exact number of bytes; '@N' pads to the next N-byte boundary","arg_str":""},{"text":"deprecation","comment":"bare-letter codes (b, C, d, f, F, i, o, q, t, T, w, x, X, Z) still parse with a one-time warning; use the sized or parenthesised forms in new code","arg_str":""},{"text":"pf 'X2D4u8 bigWord beef qword'","comment":"BE u16, BE s32, LE u64 -- one of every endianness/sign combination","arg_str":""},{"text":"pfn foo 'rr (eax)reg1 (eip)reg2'","comment":"Create object foo referencing two registers","arg_str":""},{"text":"pf 't(unix32)t(unix32) troll plop'","comment":"Print two unix-epoch (32-bit) timestamps with labels 'troll' and 'plop'","arg_str":""}]}],"executable":true,"n_children":12,"modes":["standard","json","quiet"],"children":[{"cmd":"pf","type":"argv_state","summary":"Show data using given format string","description":"","args_str":" <format>","args":[{"type":"string","name":"format","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"pf-","type":"argv","summary":"Remove named format","description":"","args_str":" <formatname>","args":[{"type":"unknown","name":"formatname","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pf-*","type":"argv","summary":"Remove all named formats","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pfa","type":"argv","summary":"Apply format string at given address and define flags for each field","description":"","args_str":" <format>","args":[{"type":"unknown","name":"format","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pfc","type":"argv","summary":"Show data using given format string with C syntax","description":"","args_str":" <format>","args":[{"type":"unknown","name":"format","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pfd","type":"argv","summary":"Show data using given format string as DOT","description":"","args_str":" <format>","args":[{"type":"unknown","name":"format","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pf.","type":"argv_state","summary":"Show data using given named format","description":"","args_str":" [<formatname>]","args":[{"type":"unknown","name":"formatname","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"pfn","type":"argv","summary":"List named formats/Print named format string/Define a new named format","description":"","args_str":" [<formatname> [<formatstring>]]","args":[{"type":"unknown","name":"formatname"},{"type":"string","name":"formatstring","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pfo","type":"argv","summary":"Load a Format Definition File (FDF)","description":"","args_str":" [<file>]","args":[{"type":"unknown","name":"file","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pfs","type":"argv","summary":"Print the size of format in bytes","description":"","args_str":" <format>","args":[{"type":"unknown","name":"format","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pfv","type":"argv","summary":"Print the value for named format","description":"","args_str":" <format>","args":[{"type":"unknown","name":"format","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pfw","type":"argv","summary":"Write data using given format string","description":"","args_str":" <format> [<value>]","args":[{"type":"unknown","name":"format","required":true},{"type":"string","name":"value","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"pF","type":"group","summary":"Deserializes ASN.1, PKCS, X509, ProtoBuf, AXML, etc.. formats","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":6,"modes":[],"children":[{"cmd":"pFa","type":"group","summary":"Deserializes the ASN.1 DER structure from the current block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard"],"children":[{"cmd":"pFa","type":"argv_modes","summary":"Deserializes the ASN.1 DER structure from the current block as a hexdump.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"pFas","type":"argv_state","summary":"Deserializes the ASN.1 DER structure from the current block as a structured data format.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]}]},{"cmd":"pFb","type":"group","summary":"Deserializes raw protobuf from current block as a hexdump.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"pFb","type":"argv","summary":"Deserializes raw protobuf from current block as a hexdump.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pFbv","type":"argv","summary":"Deserializes raw protobuf from current block as a hexdump(verbose).","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"pFp","type":"argv_state","summary":"Deserializes PKCS7 from current block as a structured data format.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pFx","type":"argv_state","summary":"Deserializes X.509 from current block as a structured data format.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pF8","type":"argv_state","summary":"Deserializes PKCS#8 private keys from current block as a structured data format.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pFA","type":"argv","summary":"Deserializes Android Binary XML from current block as XML format.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"ph","type":"group","summary":"Print hash/message digest or entropy","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"ph","type":"argv","summary":"Prints a hash/message digest or entropy (use @! to change the block size)","description":"","args_str":" <algo>","args":[{"type":"string","name":"algo","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"phl","type":"argv_state","summary":"Lists all the supported algorithms","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]}]},{"cmd":"pi","type":"group","summary":"Print instructions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":10,"modes":[],"children":[{"cmd":"pi","type":"argv","summary":"Disassemble and print <N> instructions","description":"","args_str":" [<N>]","args":[{"type":"expression","name":"N","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pia","type":"argv","summary":"Print all possible opcodes (byte by byte)","description":"","args_str":" [<N>]","args":[{"type":"expression","name":"N","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pib","type":"argv","summary":"Print all instructions in a basic block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pie","type":"argv","summary":"Print offset and ESIL expression","description":"","args_str":" [<N>]","args":[{"type":"expression","name":"N","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pif","type":"argv_state","summary":"Print all instructions at the current function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pifc","type":"argv_state","summary":"Print only call instructions at the current function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pir","type":"argv_state","summary":"Print instructions using recursive disassembly algorithm","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pir.","type":"argv_state","summary":"Print instructions using recursive disassembly algorithm from the current position","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"piu","type":"argv_state","summary":"Print all instructions until first ret/jmp","description":"","args_str":" [<limit>]","args":[{"type":"expression","name":"limit","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","quiet"],"children":[]},{"cmd":"pix","type":"argv_modes","summary":"Print assembly expression from hexpairs (alias for pad)","description":"","args_str":" <hexpair>","args":[{"type":"string","name":"hexpair","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]}]},{"cmd":"pI","type":"group","summary":"Print instructions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"pI","type":"argv","summary":"Disassemble and print <N> bytes","description":"","args_str":" [<N>]","args":[{"type":"expression","name":"N","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pIf","type":"argv","summary":"Print all instructions at the current function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"pj","type":"argv","summary":"Parse, format and print JSON at current offset.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pl","type":"group","summary":"Print RzIL","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":2,"modes":[],"children":[{"cmd":"plf","type":"argv","summary":"Print RzIL of the function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"plF","type":"argv","summary":"Print unicode RzIL of the function at current seek.","description":"Prints the RzIL of the function at current seek using unicode special characters. This command requires 'scr.utf8=true', use 'plf' for plain ASCII output.","args_str":"","args":[],"details":[{"name":"General","entries":[{"text":"Set","comment":"Set (assign) y to x.","arg_str":" x ← y"},{"text":"Let","comment":"Let binding (expression-scoped).","arg_str":" (x = exp body)"},{"text":"ITE","comment":"If-Then-Else (ITE).","arg_str":" (cond ↠ x y)"},{"text":"Jump","comment":"Jump to dst.","arg_str":" ↷ dst"},{"text":"Goto","comment":"Goto label l.","arg_str":" @ l"},{"text":"Branch","comment":"Branch (Conditional).","arg_str":" (cond ⅄ true_eff false_eff)"},{"text":"Repeat","comment":"Repeat eff until cond is true.","arg_str":" (cond ⟳ eff)"},{"text":"Empty","comment":"Empty RzIL op.","arg_str":" {}"},{"text":"NOP","comment":"No operation.","arg_str":" ɴᴏᴘ"},{"text":"Blk","comment":"A sequence of deff (data effect) and ceff (control effect) with label l.","arg_str":" (l: deff ceff)"},{"text":"Unk","comment":"Unknown operation, usually represents an error.","arg_str":" ?"}]},{"name":"Bitvector","entries":[{"text":"Bitv","comment":"Bitvector literal x with length n.","arg_str":" xₙ"},{"text":"Cast","comment":"Cast x to length n with fill bit b.","arg_str":" (x ≈ₙ b)"},{"text":"Msb","comment":"Most significant bit of x.","arg_str":" ↑x"},{"text":"Lsb","comment":"Least significant bit of x.","arg_str":" ↓x"},{"text":"Append","comment":"Concatenate (append) hi with lo.","arg_str":" (hi ⊚ lo)"},{"text":"Is_zero","comment":"Check if x is zero.","arg_str":" x ≡ 0"},{"text":"Lognot","comment":"Logical NOT of x.","arg_str":" ~x"},{"text":"Neg","comment":"Arithmetic negation of x.","arg_str":" −x"},{"text":"Add","comment":"Arithmetic addition of x and y.","arg_str":" (x + y)"},{"text":"Sub","comment":"Arithmetic subtraction of x and y.","arg_str":" (x - y)"},{"text":"Mul","comment":"Arithmetic multiplication of x and y.","arg_str":" (x * y)"},{"text":"Div","comment":"Arithmetic division of x and y.","arg_str":" (x / y)"},{"text":"Sdiv","comment":"Signed division of x and y.","arg_str":" (x /⁺ y)"},{"text":"Mod","comment":"Unsigned modulo of x and y.","arg_str":" (x % y)"},{"text":"Smod","comment":"Signed modulo of x and y.","arg_str":" (x %⁺ y)"},{"text":"Logand","comment":"Bitwise AND between x and y.","arg_str":" (x & y)"},{"text":"Logor","comment":"Bitwise OR between x and y.","arg_str":" (x | y)"},{"text":"Logxor","comment":"Bitwise XOR between x and y.","arg_str":" (x ⊕ y)"},{"text":"Lshift","comment":"Left shift x by y bits with fill bit b.","arg_str":" (x ≪ y b)"},{"text":"Rshift","comment":"Right shift x by y bits with fill bit b.","arg_str":" (x ≫ y b)"},{"text":"Eq","comment":"x equals y.","arg_str":" (x ≡ y)"},{"text":"Sle","comment":"x is less than or equal to y (Unsigned).","arg_str":" (x ≦ y)"},{"text":"Ule","comment":"x is less than or equal to y (Signed).","arg_str":" (x ≦⁺ y)"}]},{"name":"Boolean","entries":[{"text":"False","comment":"Boolean literal false.","arg_str":" ⊥"},{"text":"True","comment":"Boolean literal true.","arg_str":" ⊤"},{"text":"Boolnot","comment":"Boolean NOT of x.","arg_str":" ¬x"},{"text":"Boolor","comment":"Boolean OR between x and y.","arg_str":" (x ∨ y)"},{"text":"Booland","comment":"Boolean AND between x and y.","arg_str":" (x ∧ y)"},{"text":"Boolxor","comment":"Boolean XOR between x and y.","arg_str":" (x ⊻ y)"}]},{"name":"Floating Point","entries":[{"text":"Float","comment":"Bitvector literal n interpreted as a float of size n with optional superscript d showing a decimal representation.","arg_str":" n.fᵈₙ"},{"text":"Fbits","comment":"Bitvector representation of float x.","arg_str":" ꜰʙ x"},{"text":"Fneg","comment":"Floating-point negation of x.","arg_str":" −x"},{"text":"Fadd","comment":"Floating-point addition of x and y with rounding mode r.","arg_str":" (r x + y)"},{"text":"Fsub","comment":"Floating-point subtraction of x and y with rounding mode r.","arg_str":" (r x - y)"},{"text":"Fmul","comment":"Floating-point multiplication of x and y with rounding mode r.","arg_str":" (r x * y)"},{"text":"Fdiv","comment":"Floating-point division x and y with rounding mode r.","arg_str":" (r x / y)"},{"text":"Fmod","comment":"Floating-point modulo of x and y with rounding mode r.","arg_str":" (r x % y)"},{"text":"Fmad","comment":"Floating-point multiply-add of x, y and z with rounding mode r.","arg_str":" (r x * y + z)"},{"text":"Fabs","comment":"Absolute value of x.","arg_str":" |x|"},{"text":"Fsucc","comment":"Floating-point successor of x.","arg_str":" ⌊x"},{"text":"Fpred","comment":"Floating-point predecessor of x.","arg_str":" ⌋x"},{"text":"Fexcept","comment":"Floating-point exception e on x.","arg_str":" e ᴇ x"},{"text":"Fcast int","comment":"Cast x to unsigned integer of size n with rounding mode r and optional subscript d.","arg_str":" (x ꜰ≈ɪᵈₙ r)"},{"text":"Fcast sint","comment":"Cast x to signed integer of size n with rounding mode r and optional subscript d.","arg_str":" (x ꜰ≈ɪ⁺ᵈₙ r)"},{"text":"Fcast float","comment":"Cast x to unsigned float of size n with rounding mode r and optional subscript d.","arg_str":" (x ꜰ≈ꜰᵈₙ r)"},{"text":"Fcast sfloat","comment":"Cast x to signed float of size n with rounding mode r and optional subscript d.","arg_str":" (x ꜰ≈ꜰ⁺ᵈₙ r)"},{"text":"Fconvert","comment":"Convert rounding mode of x to r and its size to n.","arg_str":" (x ≅ᵈₙ r)"},{"text":"Fround","comment":"Round x to integral value using rounding mode r and optional subscript d.","arg_str":" (r ⭂ x)"},{"text":"Fsqrt","comment":"Square root of x using rounding mode r.","arg_str":" (r ²√ x)"},{"text":"Frsqrt","comment":"Inverse square root of x using rounding mode r.","arg_str":" (r ¹/√ x)"},{"text":"Frootn","comment":"x to the power 1/n using rounding mode r, where n is integer.","arg_str":" (r n ⁿ√ x)"},{"text":"Fpow","comment":"x to the power y using rounding mode r.","arg_str":" (r x ˰ y)"},{"text":"Fpown","comment":"x to the power n using rounding mode r, where n is integer.","arg_str":" (r x ˰ⁿ n)"},{"text":"Forder","comment":"Float ordering comparison between x and y.","arg_str":" (x ≷ y)"},{"text":"Frequal","comment":"Float rounding mode equality check between r1 and r2.","arg_str":" (r1 ≡ r2)"},{"text":"Is_fzero","comment":"Check if x is zero.","arg_str":" x ≡ 0"},{"text":"Is_nan","comment":"Check if x is Not-a-Number.","arg_str":" x ≡ ɴаɴ"},{"text":"Is_inf","comment":"Check if x is infine.","arg_str":" x ≡ ∞"},{"text":"Is_finite","comment":"Check if x is finite.","arg_str":" x ≢ ∞"},{"text":"Is_fpos","comment":"Check if x is positive.","arg_str":" x > 0"},{"text":"Is_fneg","comment":"Check if x is negative.","arg_str":" x < 0"},{"text":"Fcompound","comment":"Float compound operator between x and n using rounding mode r, where n is integer.","arg_str":" (r x ∪ n)"},{"text":"Fhypot","comment":"Float hypotenuse.","arg_str":" (r x ∠ y)"}]},{"name":"Memory","entries":[{"text":"Load","comment":"Load n bits from address a of memory index m.","arg_str":" (ʟᴅₘ n a)"},{"text":"Store","comment":"Store v to address a of memory index m.","arg_str":" (ꜱᴛₘ v a)"}]}],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"pp","type":"group","summary":"Print patterns","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":10,"modes":[],"children":[{"cmd":"pp0","type":"argv","summary":"Print buffer filled with zeroes","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pp1","type":"argv","summary":"Print incremental byte pattern (honor lower bits of current address and block size)","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pp2","type":"argv","summary":"Print incremental word pattern","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pp4","type":"argv","summary":"Print incremental dword pattern","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pp8","type":"argv","summary":"Print incremental qword pattern","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ppa","type":"argv","summary":"Print Latin alphabet pattern","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ppd","type":"argv","summary":"Print De Brujin pattern","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ppd/","type":"argv","summary":"Return the offset where <value> appears in the default De Bruijn pattern","description":"Honors cfg.bigendian to interpret <value> before searching through the ppd pattern","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ppf","type":"argv","summary":"Print buffer filled with 0xFF","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ppn","type":"argv","summary":"Print numeric pin pattern","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"pt","type":"group","summary":"Print timestamps","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":[],"children":[{"cmd":"pt","type":"argv","summary":"Print UNIX epoch time (32 bit `cfg.bigendian`, since January 1, 1970)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pt.","type":"argv","summary":"Print the current time","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ptd","type":"argv","summary":"Print MS-DOS time (32 bit `cfg.bigendian`, since January 1, 1980)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pth","type":"argv","summary":"Print Mac HFS time (32 bit `cfg.bigendian`, since January 1, 1904)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ptn","type":"argv","summary":"Print NTFS time (64 bit `cfg.bigendian`, since January 1, 1601)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"pk","type":"argv","summary":"Print cryptographic key in randomart","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pK","type":"argv","summary":"Print cryptographic key in randomart mosaic","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pm","type":"argv_modes","summary":"Search magics and print the long description of them.","description":"","args_str":" [<file/directory>]","args":[{"type":"string","name":"file/directory","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"po","type":"group","summary":"Print operation applied on the data","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":12,"modes":[],"children":[{"cmd":"po2","type":"argv","summary":"2-byte endian swap","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"po4","type":"argv","summary":"4-byte endian swap","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"po8","type":"argv","summary":"8-byte endian swap","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"poa","type":"argv","summary":"Apply addition","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"poA","type":"argv","summary":"Apply AND operation","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pod","type":"argv","summary":"Apply division operation","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pol","type":"argv","summary":"Apply shift left operation","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pom","type":"argv","summary":"Apply multiplication operation","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"poo","type":"argv","summary":"Apply OR operation","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"por","type":"argv","summary":"Apply shift right operation","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pos","type":"argv","summary":"Apply subtraction operation","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pox","type":"argv","summary":"Apply XOR operation","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"pr","type":"group","summary":"Print raw bytes in different representations","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":[],"children":[{"cmd":"pr","type":"argv","summary":"Print raw bytes","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"prc","type":"argv","summary":"Print bytes as colors in palette","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"prg","type":"group","summary":"Print uncompressed data","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"prg","type":"argv","summary":"gunzip block and print","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"prgv","type":"argv","summary":"Show consumed bytes and output size","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"prx","type":"argv","summary":"Printable chars with real offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"prz","type":"argv","summary":"Print raw zero-terminated string","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"ps","type":"group","summary":"Print string at the current offset.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":13,"modes":["standard","json"],"children":[{"cmd":"ps","type":"argv_modes","summary":"Print the string at the current offset in the block.","description":"","args_str":" <encoding>=settings <delimiter>=null","args":[{"type":"choice","name":"encoding","required":true,"default":"settings","choices":["settings","guess","ascii","utf8","utf16le","utf32le","utf16be","utf32be","ibm037","ibm290","ebcdices","ebcdicuk","ebcdicus"]},{"type":"choice","name":"delimiter","required":true,"default":"null","choices":["null","block","unprintable"]}],"details":[{"name":"Value details","entries":[{"text":"String length","comment":"The string length depends on the block size. You need to change it via 'b <size-in-bytes>' if your string is too short.","arg_str":""},{"text":"encoding=settings","comment":"Use encoding from 'str.encoding' option.","arg_str":""},{"text":"delimeter=null","comment":"Prints until first NUL code point. Non-printable characters are escaped.","arg_str":""},{"text":"delimeter=unprintable","comment":"Prints until the first non-printable code point. This includes '\\n', '\\t' etc.","arg_str":""},{"text":"delimeter=block","comment":"Print whole block as string (don't stop at non-printable or NUL character).","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"ps+","type":"argv_modes","summary":"Print libc++ std::string (same-endian, ascii, zero-terminated)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"psb","type":"argv_modes","summary":"Print all the strings in current block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","quiet"],"children":[]},{"cmd":"psc","type":"argv_modes","summary":"Generate a C/C++ string","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"psi","type":"argv_modes","summary":"Print the first string in the current block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"psp","type":"argv_modes","summary":"Print the pascal string at the current offset","description":"","args_str":" <bits>=8","args":[{"type":"choice","name":"bits","required":true,"default":"8","choices":["8","16","32","64"]}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pss","type":"argv_modes","summary":"Print string at the current offset in screen (wrap width)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"psu","type":"argv_modes","summary":"Print buffer as a utf8 string (alias for 'ps utf8 null').","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"psm","type":"argv_modes","summary":"Print buffer as a utf16be string (alias for 'ps utf16be null').","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"psM","type":"argv_modes","summary":"Print buffer as a utf32be string (alias for 'ps utf32be null').","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"psn","type":"argv_modes","summary":"Print string with escaped new lines","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"psw","type":"argv_modes","summary":"Print buffer as a utf16le string (alias for 'ps utf16le null').","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"psW","type":"argv_modes","summary":"Print buffer as a utf32le string (alias for 'ps utf32le null').","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"pv","type":"group","summary":"Print bytes based on current bitness and endianness","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":["standard","json"],"children":[{"cmd":"pv","type":"argv_state","summary":"print bytes","description":"","args_str":" [<repeat>]","args":[{"type":"number","name":"repeat"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pv1","type":"argv_state","summary":"print 1 byte","description":"","args_str":" [<repeat>]","args":[{"type":"number","name":"repeat"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pv2","type":"argv_state","summary":"print 2 bytes","description":"","args_str":" [<repeat>]","args":[{"type":"number","name":"repeat"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pv4","type":"argv_state","summary":"print 4 bytes","description":"","args_str":" [<repeat>]","args":[{"type":"number","name":"repeat"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pv8","type":"argv_state","summary":"print 8 bytes","description":"","args_str":" [<repeat>]","args":[{"type":"number","name":"repeat"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"px","type":"group","summary":"Show hexdump","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":24,"modes":["standard","json"],"children":[{"cmd":"px","type":"argv_state","summary":"show hexdump","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pxF","type":"argv_state","summary":"Print formatted bytes.","description":"","args_str":" <number>=1 <format>=x <width>=a","args":[{"type":"expression","name":"number","required":true,"default":"1"},{"type":"choice","name":"format","required":true,"default":"x","choices":["o","d","x","f","i","s"]},{"type":"choice","name":"width","required":true,"default":"a","choices":["b","h","w","d","a"]}],"details":[{"name":"number","entries":[{"text":"","comment":"Number of elements to print.","arg_str":""}]},{"name":"format","entries":[{"text":"o","comment":"Octal","arg_str":""},{"text":"d","comment":"Decimal","arg_str":""},{"text":"x","comment":"Hex","arg_str":""},{"text":"f","comment":"Float - Alias for: 'pf ffff...' (<number> times 'f'. <width> is ignored).","arg_str":""},{"text":"i","comment":"Instruction - Alias for: 'pdq <number> !@ <number * width>'.","arg_str":""},{"text":"s","comment":"String - Alias for: 'psb !@ <number * width>'.","arg_str":""}]},{"name":"width","entries":[{"text":"b","comment":"Byte = 1 bytes","arg_str":""},{"text":"h","comment":"Half word = 2 bytes","arg_str":""},{"text":"w","comment":"Word = 4 bytes","arg_str":""},{"text":"d","comment":"Double word = 8 bytes","arg_str":""},{"text":"a","comment":"Architecture width as bytes.","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pxa","type":"argv","summary":"show annotated hexdump","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pxA","type":"argv_state","summary":"show op analysis color map","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","long"],"children":[]},{"cmd":"pxb","type":"argv","summary":"dump bits in hexdump form","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pxc","type":"argv","summary":"show hexdump with comments","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pxd","type":"group","summary":"show signed integer dump","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":["standard","json"],"children":[{"cmd":"pxd","type":"argv_state","summary":"show 1-byte integer dump","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pxdh","type":"argv_state","summary":"show 2-bytes integer dump","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pxdw","type":"argv_state","summary":"show 4-bytes integer dump","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pxdq","type":"argv_state","summary":"show 8-bytes integer dump","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"pxe","type":"argv","summary":"emoji hexdump! :)","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pxf","type":"argv","summary":"show hexdump of current function","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pxi","type":"argv","summary":"HexII compact binary representation","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pxr","type":"group","summary":"show hexword references","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":["standard","json","quiet","table"],"children":[{"cmd":"pxr","type":"argv_state","summary":"show hexword references","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"pxr1","type":"argv_state","summary":"show hexword references","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"pxr2","type":"argv_state","summary":"show hexword references with hexdump","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"pxr4","type":"argv_state","summary":"show hexword references with hexdump","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"pxr8","type":"argv_state","summary":"show hexword references with hexdump","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]}]},{"cmd":"pxs","type":"argv","summary":"show hexadecimal in sparse mode","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pxt","type":"argv_state","summary":"show delta pointer table in rizin commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pxx","type":"argv","summary":"show <N> bytes of hex-less hexdump","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pxX","type":"argv","summary":"show <N> words of hex-less hexdump","description":"","args_str":" [<N>]","args":[{"type":"expression","name":"N","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"px0","type":"argv","summary":"8bit hexpair list of bytes until zero byte","description":"","args_str":" [<N>]","args":[{"type":"expression","name":"N","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pxh","type":"argv_state","summary":"show 2-bytes hexadecimal integers dump","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pxH","type":"argv_state","summary":"show 2-bytes hexadecimal integers dump, one per line","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pxw","type":"argv_state","summary":"show 4-bytes hexadecimal integers dump","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pxW","type":"argv_state","summary":"show 4-bytes hexadecimal integers dump, one per line","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pxq","type":"argv_state","summary":"show 8-bytes hexadecimal integers dump","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pxQ","type":"argv_state","summary":"show 8-bytes hexadecimal integers dump, one per line","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pxo","type":"argv","summary":"show 1-byte octal integers dump","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pxl","type":"argv_state","summary":"display <N> lines of hexdump","description":"","args_str":" [<N>]","args":[{"type":"expression","name":"N","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"p6","type":"group","summary":"Base64 decoding/encoding","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":2,"modes":[],"children":[{"cmd":"p6e","type":"argv_modes","summary":"Base64 encoding","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"p6d","type":"argv_modes","summary":"Base64 decoding","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]}]},{"cmd":"pu","type":"group","summary":"URL-encoded strings","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"pu","type":"argv","summary":"Print <N> bytes as URL-encoded UTF-8 string","description":"","args_str":" [<N>]","args":[{"type":"expression","name":"N","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"puw","type":"argv","summary":"Print <N> bytes as URL-encoded UTF-16 string","description":"","args_str":" [<N>]","args":[{"type":"expression","name":"N","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pu0","type":"argv","summary":"Print <N> bytes as URL-encoded string and stop at zero","description":"","args_str":" [<N>]","args":[{"type":"expression","name":"N","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p-","type":"group","summary":"Blocks information representation as a horisontal bar and summary","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":["standard","json"],"children":[{"cmd":"p-","type":"argv_state","summary":"Show horisontal bar of metadata in file boundaries","description":"","args_str":" [<width>]","args":[{"type":"expression","name":"width","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"p-e","type":"argv","summary":"Show horisontal bar of entropy per block in file boundaries","description":"","args_str":" [<width>]","args":[{"type":"expression","name":"width","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p-h","type":"argv_state","summary":"Show statistics table about blocks in the file","description":"","args_str":" [<depth>]","args":[{"type":"expression","name":"depth","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["table"],"children":[]}]},{"cmd":"p=","type":"group","summary":"Blocks information representation as a histogram","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":21,"modes":[],"children":[{"cmd":"p=","type":"argv","summary":"Show a vertical histogram of bytes in current block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=d","type":"argv","summary":"Show a summary of min/max/number of unique bytes in the current block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=2","type":"argv","summary":"Show progress bars of int16 values","description":"","args_str":" [<step>]","args":[{"type":"expression","name":"step","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=0","type":"argv","summary":"Show a vertical histogram of 0x00 bytes per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=F","type":"argv","summary":"Show a vertical histogram of 0xFF bytes per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=a","type":"argv","summary":"Show a vertical histogram of basic blocks per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=A","type":"argv","summary":"Show a vertical histogram of statistical maps per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=c","type":"argv","summary":"Show a vertical histogram of calls per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=e","type":"argv","summary":"Show a vertical histogram of entropy per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=C","type":"argv","summary":"Show a vertical histogram of chi-square (vs uniform) per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=I","type":"argv","summary":"Show a vertical histogram of index of coincidence per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=M","type":"argv","summary":"Show a vertical histogram of min-entropy per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=S","type":"argv","summary":"Show a vertical histogram of serial correlation per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=r","type":"argv_state","summary":"Print rising and falling entropy.","description":"","args_str":" [<rising_threshold> [<falling_threshold>]]","args":[{"type":"expression","name":"rising_threshold"},{"type":"expression","name":"falling_threshold","is_last":true}],"details":[{"name":"Default values","entries":[{"text":"","comment":"Default rising threshold is 0.95 and falling threshold is 0.85","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json","quiet","long","table"],"children":[]},{"cmd":"p=i","type":"argv","summary":"Show a vertical histogram of invalid instructions per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=j","type":"argv","summary":"Show a vertical histogram of jumps and conditional jumps per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=m","type":"argv","summary":"Show a vertical histogram of number of flags and marks per each block","description":"","args_str":" [<blocks>]","args":[{"type":"expression","name":"blocks","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=p","type":"argv","summary":"Show a vertical histogram of printable bytes per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=s","type":"argv","summary":"Show a vertical histogram of syscalls and privileged instructions per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=z","type":"argv","summary":"Show a vertical histogram of number of chars in strings per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==","type":"group","summary":"Blocks information representation as a horizontal histogram","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":18,"modes":[],"children":[{"cmd":"p==","type":"argv","summary":"Show a horizontal histogram of bytes in current block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==v","type":"argv","summary":"Show a visual horizontal histogram of bytes in current block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==0","type":"group","summary":"Show a horizontal histogram of 0x00 bytes per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"p==0","type":"argv","summary":"Show a horizontal histogram of 0x00 bytes per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==0v","type":"argv","summary":"Show a interactive horizontal histogram of 0x00 bytes per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p==F","type":"group","summary":"Show a horizontal histogram of 0xFF bytes per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"p==F","type":"argv","summary":"Show a horizontal histogram of 0xFF bytes per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==Fv","type":"argv","summary":"Show a interactive horizontal histogram of 0xFF bytes per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p==a","type":"group","summary":"Show a horizontal histogram of basic blocks per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"p==a","type":"argv","summary":"Show a horizontal histogram of basic blocks per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==av","type":"argv","summary":"Show a interactive horizontal histogram of basic blocks per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p==A","type":"group","summary":"Show a horizontal histogram of statistical maps per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"p==A","type":"argv","summary":"Show a horizontal histogram of statistical maps per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==Av","type":"argv","summary":"Show a interactive horizontal histogram of statistical maps per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p==c","type":"group","summary":"Show a horizontal histogram of calls per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"p==c","type":"argv","summary":"Show a horizontal histogram of calls per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==cv","type":"argv","summary":"Show a interactive horizontal histogram of calls per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p==e","type":"group","summary":"Show a horizontal histogram of entropy per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"p==e","type":"argv","summary":"Show a horizontal histogram of entropy per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==ev","type":"argv","summary":"Show a interactive horizontal histogram of entropy per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p==C","type":"group","summary":"Show a horizontal histogram of chi-square (vs uniform) per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"p==C","type":"argv","summary":"Show a horizontal histogram of chi-square (vs uniform) per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==Cv","type":"argv","summary":"Show a interactive horizontal histogram of chi-square (vs uniform) per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p==I","type":"group","summary":"Show a horizontal histogram of index of coincidence per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"p==I","type":"argv","summary":"Show a horizontal histogram of index of coincidence per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==Iv","type":"argv","summary":"Show a interactive horizontal histogram of index of coincidence per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p==M","type":"group","summary":"Show a horizontal histogram of min-entropy per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"p==M","type":"argv","summary":"Show a horizontal histogram of min-entropy per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==Mv","type":"argv","summary":"Show a interactive horizontal histogram of min-entropy per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p==S","type":"group","summary":"Show a horizontal histogram of serial correlation per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"p==S","type":"argv","summary":"Show a horizontal histogram of serial correlation per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==Sv","type":"argv","summary":"Show a interactive horizontal histogram of serial correlation per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p==i","type":"group","summary":"Show a horizontal histogram of invalid instructions per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"p==i","type":"argv","summary":"Show a horizontal histogram of invalid instructions per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==iv","type":"argv","summary":"Show a interactive horizontal histogram of invalid instructions per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p==j","type":"group","summary":"Show a horizontal histogram of jumps and conditional jumps per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"p==j","type":"argv","summary":"Show a horizontal histogram of jumps and conditional jumps per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==jv","type":"argv","summary":"Show a interactive horizontal histogram of jumps and conditional jumps per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p==m","type":"group","summary":"Show a horizontal histogram of number of flags and marks per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"p==m","type":"argv","summary":"Show a horizontal histogram of number of flags and marks per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==mv","type":"argv","summary":"Show a interactive horizontal histogram of number of flags and marks per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p==p","type":"group","summary":"Show a horizontal histogram of printable bytes per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"p==p","type":"argv","summary":"Show a horizontal histogram of printable bytes per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==pv","type":"argv","summary":"Show a interactive horizontal histogram of printable bytes per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p==s","type":"group","summary":"Show a horizontal histogram of syscalls and privileged instructions per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"p==s","type":"argv","summary":"Show a horizontal histogram of syscalls and privileged instructions per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==sv","type":"argv","summary":"Show a interactive horizontal histogram of syscalls and privileged instructions per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p==z","type":"group","summary":"Show a horizontal histogram of number of chars in strings per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"p==z","type":"argv","summary":"Show a horizontal histogram of number of chars in strings per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==zv","type":"argv","summary":"Show a interactive horizontal histogram of number of chars in strings per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]}]}]}]},{"cmd":"q","type":"group","summary":"Quit rizin","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":[],"children":[{"cmd":"q","type":"argv","summary":"Quit rizin","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"q!","type":"argv","summary":"Force quit rizin","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"q!!","type":"argv","summary":"Force quit rizin without saving history","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"q","type":"inner","summary":"Quit rizin and choose to kill the process and save projects","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":2,"modes":[],"children":[{"cmd":"qy","type":"group","summary":"Quit rizin by killing the process and and choose to save the projects or not","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":2,"modes":[],"children":[{"cmd":"qyy","type":"argv","summary":"Quit rizin by killing the process and saving the project","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"qyn","type":"argv","summary":"Quit rizin by killing the process and not saving the project","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"qn","type":"group","summary":"Quit rizin by not killing the process and choose to save the projects or not","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":2,"modes":[],"children":[{"cmd":"qnn","type":"argv","summary":"Quit rizin by not killing the process and not saving the project","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"qny","type":"argv","summary":"Quit rizin by not killing the process and saving the project","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]}]}]},{"cmd":"R","type":"group","summary":"Connect with other instances of rizin","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":11,"modes":[],"children":[{"cmd":"R","type":"argv","summary":"List all open connections / Exec <cmd> at remote <fd>","description":"","args_str":" [[<fd>] <cmd>]","args":[{"type":"number","name":"fd"},{"type":"command","name":"cmd","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"R<","type":"argv","summary":"Send output of local <cmd> to remote <fd>","description":"","args_str":" [<fd> <cmd>]","args":[{"type":"number","name":"fd"},{"type":"command","name":"cmd","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"R!","type":"argv","summary":"Run command via rz_io_system","description":"","args_str":" <cmd>","args":[{"type":"command","name":"cmd","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"R+","type":"argv","summary":"Connect to remote host:port","description":"","args_str":" <[proto://]host:port>","args":[{"type":"string","name":"[proto://]host:port","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"R-","type":"argv","summary":"remove all hosts or host 'fd'","description":"","args_str":" [<fd>]","args":[{"type":"number","name":"fd"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"R=","type":"argv","summary":"Open remote session with host 'fd', 'q' to quit","description":"","args_str":" <fd>","args":[{"type":"number","name":"fd","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"R!=","type":"argv","summary":"Enable remote cmd mode, sending commands to remote <fd> server","description":"","args_str":" <fd>=0","args":[{"type":"number","name":"fd","required":true,"default":"0"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"R=!","type":"argv","summary":"Disable remote cmd mode","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Rg","type":"group","summary":"Start the gdbserver","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"Rg","type":"argv","summary":"Start the gdbserver.","description":"","args_str":" <port> <file> [<args>]","args":[{"type":"number","name":"port","required":true},{"type":"string","name":"file","required":true},{"type":"string","name":"args","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Rg!","type":"argv","summary":"Start the gdbserver with debug protocol messages (like gdbserver --remote-debug).","description":"","args_str":" <port> <file> [<args>]","args":[{"type":"number","name":"port","required":true},{"type":"string","name":"file","required":true},{"type":"string","name":"args","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"Rh","type":"group","summary":"HTTP webserver commands.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"Rh","type":"argv","summary":"Start the HTTP webserver in foreground.","description":"","args_str":" <launch_browser>=no","args":[{"type":"choice","name":"launch_browser","required":true,"default":"no","choices":["yes","no"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Rh*","type":"argv","summary":"Restart the HTTP webserver in foreground.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Rh--","type":"argv","summary":"Stop the HTTP webserver in foreground.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"Rt","type":"argv","summary":"Start the tcp server","description":"","args_str":" <[host:]port> [<cmd>]","args":[{"type":"string","name":"[host:]port","required":true},{"type":"command","name":"cmd","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"r","type":"group","summary":"Resize file","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":["standard","json"],"children":[{"cmd":"r","type":"argv_state","summary":"Resize file / Display file size","description":"","args_str":" [<size>]","args":[{"type":"expression","name":"size","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"r-","type":"argv","summary":"Remove num bytes, move following data down","description":"","args_str":" <num>","args":[{"type":"expression","name":"num","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"r+","type":"argv","summary":"Insert num bytes, move following data up","description":"","args_str":" <num>","args":[{"type":"expression","name":"num","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"rb","type":"argv","summary":"Rebase all flags, binary information, breakpoints, and analysis","description":"","args_str":" <oldbase>","args":[{"type":"expression","name":"oldbase","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"rh","type":"argv","summary":"Display size in human-friendly format","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"s","type":"group","summary":"Seek commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":17,"modes":[],"children":[{"cmd":"s","type":"argv","summary":"Print current address / Seek to address","description":"","args_str":" [<addr>]","args":[{"type":"expression","name":"addr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"spad","type":"argv","summary":"Print current address with <n> padded zeros (defaults to 8)","description":"","args_str":" [<n>]","args":[{"type":"number","name":"n"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"s.","type":"argv","summary":"Seek honoring a base from core->offset","description":"","args_str":" <hex_offset>","args":[{"type":"number","name":"hex_offset","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"sd","type":"argv","summary":"Seek to a delta relative to current offset","description":"","args_str":" <delta>","args":[{"type":"number","name":"delta","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"s--","type":"argv","summary":"Seek blocksize bytes backward (/=n)","description":"","args_str":" [<n>]","args":[{"type":"number","name":"n"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"s++","type":"argv","summary":"Seek blocksize bytes forward (/=n)","description":"","args_str":" [<n>]","args":[{"type":"number","name":"n"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"sh","type":"group","summary":"Seek history commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":["standard","json"],"children":[{"cmd":"sh","type":"argv_state","summary":"List undo seek history","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"shr","type":"argv","summary":"Go to position before the last undo (forward in history)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"shu","type":"argv","summary":"Go to last seek in seek history (back in history)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"sh-","type":"argv","summary":"Clear seek history","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"sa","type":"argv","summary":"Seek to current offset (or <addr>) aligned to <align>","description":"","args_str":" <align> [<addr>]","args":[{"type":"number","name":"align","required":true},{"type":"expression","name":"addr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"sb","type":"argv","summary":"Seek aligned to bb start","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"sf","type":"argv","summary":"Seek to next function / Seek to specific function","description":"","args_str":" [<fcn>]","args":[{"type":"function","name":"fcn"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"sf.","type":"argv","summary":"Seek to the beginning of current function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"sg","type":"argv","summary":"Seek to begin of section/file","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"sG","type":"argv","summary":"Seek to end of section/file","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"sn","type":"argv","summary":"Seek to next location of the given <type> or scr.nkey otherwise","description":"<type> and scr.nkey can be one of \"opcodes\", \"function\", \"hit\", \"flags\".","args_str":" [<type>]","args":[{"type":"choice","name":"type","choices":["opcodes","function","hit","flags"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"sp","type":"argv","summary":"Seek to prev location","description":"<type> and scr.nkey can be one of \"opcodes\", \"function\", \"hit\", \"flags\".","args_str":" [<type>]","args":[{"type":"choice","name":"type","choices":["opcodes","function","hit","flags"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"so","type":"argv","summary":"Seek to <n> next opcodes","description":"","args_str":" [<n>]","args":[{"type":"number","name":"n"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"sr","type":"argv","summary":"Seek to register","description":"","args_str":" <reg>","args":[{"type":"string","name":"reg","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"shell","type":"group","summary":"Common shell commands","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":28,"modes":[],"children":[{"cmd":"ascii","type":"argv","summary":"Print ASCII table","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"cat","type":"argv","summary":"Print contents of <file>","description":"","args_str":" <file>","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"cd","type":"argv","summary":"Change directory to <dir>","description":"","args_str":" [<dir>]","args":[{"type":"directory","name":"dir"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"clear","type":"argv","summary":"Clear screen/console","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"clippy","type":"argv","summary":"echo but with a comic","description":"","args_str":" [<strs1> <strs2> ...]","args":[{"type":"string","name":"strs","is_array":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"cls","type":"argv","summary":"clear","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"cp","type":"argv","summary":"Copy <src> file to <dst>","description":"","args_str":" <src> <dst>","args":[{"type":"filename","name":"src","required":true},{"type":"string","name":"dst","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"date","type":"argv","summary":"Get current date","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"diff","type":"argv","summary":"Compare <A> file with <B>","description":"","args_str":" <A> <B>","args":[{"type":"filename","name":"A","required":true},{"type":"filename","name":"B","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"echo","type":"argv","summary":"Display a line of text","description":"","args_str":" [<strs1> <strs2> ...]","args":[{"type":"string","name":"strs","is_array":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"env","type":"argv","summary":"Get/set environment variables","description":"","args_str":" [<varname>[=<varvalue>]]","args":[{"type":"environment_variable","name":"varname"},{"type":"string","name":"varvalue","is_last":true}],"details":[{"name":"Examples","entries":[{"text":"env","comment":"List all environment variables","arg_str":""},{"text":"env","comment":"Print value of SHELL variable","arg_str":" SHELL"},{"text":"env","comment":"Set TMPDIR to \"/tmp\"","arg_str":" TMPDIR=/tmp"}]},{"name":"Environment","entries":[{"text":"RZ_FILE","comment":"currently opened file name","arg_str":""},{"text":"RZ_OFFSET","comment":"current offset (64bit value)","arg_str":""},{"text":"RZ_BSIZE","comment":"block size","arg_str":""},{"text":"RZ_ENDIAN","comment":"'big' or 'little'","arg_str":""},{"text":"RZ_IOVA","comment":"is io.va true? virtual addressing (1,0)","arg_str":""},{"text":"RZ_DEBUG","comment":"debug mode enabled? (1,0)","arg_str":""},{"text":"RZ_SIZE","comment":"file size","arg_str":""},{"text":"RZ_ARCH","comment":"value of asm.arch","arg_str":""},{"text":"RZ_BITS","comment":"arch reg size (8, 16, 32, 64)","arg_str":""},{"text":"RZ_BIN_LANG","comment":"assume this lang to demangle","arg_str":""},{"text":"RZ_BIN_DEMANGLE","comment":"demangle or not","arg_str":""},{"text":"RZ_BIN_PDBSERVER","comment":"e pdb.server","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"exit","type":"argv","summary":"Exit Rizin","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"flush","type":"argv","summary":"Flush console","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fortune","type":"argv","summary":"Show the random fortune message","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"inittime","type":"argv","summary":"Print init time values","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ls","type":"argv","summary":"List files and directories","description":"","args_str":" [-e -q -l -j] <dir/file>","args":[{"type":"option","name":"e","is_option":true},{"type":"option","name":"q","is_option":true},{"type":"option","name":"l","is_option":true},{"type":"option","name":"j","is_option":true},{"type":"filename","name":"path"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"mkdir","type":"argv","summary":"Create a directory <dir>","description":"","args_str":" [-p] <dir>","args":[{"type":"option","name":"p","is_option":true},{"type":"string","name":"dir","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"mv","type":"argv","summary":"Move <src> file to <dst>","description":"","args_str":" <src> <dst>","args":[{"type":"filename","name":"src","required":true},{"type":"string","name":"dst","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pkill","type":"argv","summary":"Kill process by name","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pwd","type":"argv","summary":"Show the present working directory","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"rm","type":"argv","summary":"Remove <file>","description":"","args_str":" <file>","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"sleep","type":"argv","summary":"Sleep for <seconds> seconds","description":"","args_str":" <seconds>","args":[{"type":"number","name":"seconds","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"sort","type":"argv","summary":"Sort the contents of <file> or from piped input","description":"","args_str":" [<file>]","args":[{"type":"filename","name":"file"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"time","type":"argv","summary":"Calculate time taken to run a command","description":"","args_str":" <cmd>","args":[{"type":"command","name":"cmd","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"uname","type":"argv","summary":"Provide system info","description":"","args_str":" [-r]","args":[{"type":"option","name":"r","is_option":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"uniq","type":"argv","summary":"List unique strings in <filename> or from piped input","description":"","args_str":" [<filename>]","args":[{"type":"filename","name":"filename"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ver","type":"group","summary":"Show version information","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":["standard","json","quiet"],"children":[{"cmd":"ver","type":"argv_state","summary":"Show version info","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"vernum","type":"argv","summary":"Show numeric version","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"vermajor","type":"argv","summary":"Show major version","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"verminor","type":"argv","summary":"Show minor version","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"verpatch","type":"argv","summary":"Show patch version","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"which","type":"argv","summary":"Which shell command","description":"","args_str":" <command>","args":[{"type":"string","name":"command","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"t","type":"group","summary":"Types, noreturn, signatures, C parser and more","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":16,"modes":["standard","json","long"],"children":[{"cmd":"t","type":"argv_modes","summary":"List all types / Show type information","description":"When <type> is provided, the pf-format for the given type is provided, otherwise all types are listed.","args_str":" [<type>]","args":[{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long"],"children":[]},{"cmd":"t-","type":"argv","summary":"Remove the type","description":"","args_str":" <type>","args":[{"type":"unknown","name":"type","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"t-*","type":"argv","summary":"Remove all types","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"tc","type":"group","summary":"List loaded types in C format","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"tc","type":"argv","summary":"List loaded types in C format with newlines","description":"","args_str":" [<type>]","args":[{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"tcd","type":"argv","summary":"List loaded types in C format without newlines","description":"","args_str":" [<type>]","args":[{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"tcc","type":"group","summary":"Manage calling convention types","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":["standard","json","sdb","long"],"children":[{"cmd":"tcc","type":"argv_modes","summary":"List all calling conventions","description":"","args_str":" [<type>]","args":[{"type":"string","name":"type","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","sdb","long"],"children":[]},{"cmd":"tcc-","type":"argv","summary":"Remove the calling convention","description":"","args_str":" <type>","args":[{"type":"string","name":"type","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"tcc-*","type":"argv","summary":"Remove all calling conventions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]}]},{"cmd":"td","type":"group","summary":"Define types from a C definition or a pf format string","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"td","type":"argv","summary":"Define type from C definition","description":"","args_str":" <type>","args":[{"type":"string","name":"type","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"tdf","type":"argv","summary":"Define a type from a pf format string or a saved pf.<name>","description":"","args_str":" <name> <format>","args":[{"type":"string","name":"name","required":true},{"type":"string","name":"format","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"tdf","comment":"define struct rgba from an inline pf format","arg_str":" rgba \"x1x1x1x1 r g b a\""},{"text":"tdf","comment":"define a type from the saved pf.elf_header format","arg_str":" elf_header elf_header"}]}],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"te","type":"group","summary":"List loaded enums","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":["standard","json"],"children":[{"cmd":"te","type":"argv_modes","summary":"List loaded enums / Show enum member","description":"","args_str":" [<enum> [<value>]]","args":[{"type":"unknown","name":"enum"},{"type":"string","name":"value","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"teb","type":"argv","summary":"Show enum bitfield","description":"","args_str":" <enum> <field>","args":[{"type":"unknown","name":"enum","required":true},{"type":"string","name":"field","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"tec","type":"argv","summary":"Show enum in the C output format","description":"","args_str":" [<enum>]","args":[{"type":"unknown","name":"enum"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ted","type":"argv","summary":"Show enum in the C output format without newlines","description":"","args_str":" [<enum>]","args":[{"type":"unknown","name":"enum"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"tef","type":"argv","summary":"Find enum and member by the member value","description":"","args_str":" <value>","args":[{"type":"string","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"tf","type":"group","summary":"List loaded functions definitions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":["standard","json"],"children":[{"cmd":"tf","type":"argv_modes","summary":"List loaded function definitions / Show function signature","description":"","args_str":" [<type>]","args":[{"type":"string","name":"type","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"tf-","type":"argv","summary":"Remove the function type by name","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"tf-*","type":"argv","summary":"Remove all function types","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"tfc","type":"argv","summary":"Show or set function calling convention","description":"","args_str":" <name> [<cc>]","args":[{"type":"string","name":"name","required":true},{"type":"string","name":"cc","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"tn","type":"group","summary":"Manage noreturn function attributes and marks","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":["standard","json"],"children":[{"cmd":"tn","type":"argv_modes","summary":"List all noreturn references / Add a noreturn function","description":"","args_str":" [<name>]","args":[{"type":"string","name":"name","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"tn-","type":"argv","summary":"Remove the noreturn reference","description":"","args_str":" <name1> <name2> ...","args":[{"type":"string","name":"name","required":true,"is_array":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"tn-*","type":"argv","summary":"Remove all noreturn references","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"to","type":"group","summary":"Open C header file and load types from it","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"to","type":"argv","summary":"Open C header file and load types from it","description":"","args_str":" <file>","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"toe","type":"argv","summary":"Open cfg.editor to edit type","description":"","args_str":" <type>","args":[{"type":"unknown","name":"type","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"tos","type":"argv","summary":"Open SDB file and load types from it","description":"","args_str":" <file>","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"tp","type":"group","summary":"Print formatted type casted to the address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"tp","type":"argv","summary":"Print formatted type casted to the address or variable","description":"","args_str":" <type> [<address>]","args":[{"type":"unknown","name":"type","required":true},{"type":"string","name":"address","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"tpv","type":"argv","summary":"Print formatted type casted to the value","description":"","args_str":" <type> [<value>]","args":[{"type":"unknown","name":"type","required":true},{"type":"string","name":"value","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"tpx","type":"argv","summary":"Print formatted type casted to the hexadecimal sequence","description":"","args_str":" <type> <hexpairs>","args":[{"type":"unknown","name":"type","required":true},{"type":"string","name":"hexpairs","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"tr","type":"argv","summary":"Rename a type and update every type and function type that references it","description":"","args_str":" <old> <new>","args":[{"type":"unknown","name":"old","required":true},{"type":"string","name":"new","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"tr","comment":"rename the type struct_a to struct_b, updating all its users","arg_str":" struct_a struct_b"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ts","type":"group","summary":"List loaded structures","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":["standard","json","long"],"children":[{"cmd":"ts","type":"argv_modes","summary":"List loaded structures / Show pf format string for given structure","description":"","args_str":" [<type>]","args":[{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long"],"children":[]},{"cmd":"tsc","type":"argv","summary":"Show structure in the C output format with newlines","description":"","args_str":" [<type>]","args":[{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"tsd","type":"argv","summary":"Show structure in the C output format without newlines","description":"","args_str":" [<type>]","args":[{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"tt","type":"group","summary":"List loaded typedefs","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json"],"children":[{"cmd":"tt","type":"argv_modes","summary":"List loaded typedefs / Show name for given type alias","description":"","args_str":" [<type>]","args":[{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"ttc","type":"argv","summary":"Show typedef in the C output format","description":"","args_str":" [<type>]","args":[{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"tu","type":"group","summary":"List loaded unions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":["standard","json","long"],"children":[{"cmd":"tu","type":"argv_modes","summary":"List loaded unions / Show pf format string for given union","description":"","args_str":" [<type>]","args":[{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long"],"children":[]},{"cmd":"tuc","type":"argv","summary":"Show union in the C output format with newlines","description":"","args_str":" [<type>]","args":[{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"tud","type":"argv","summary":"Show union in the C output format without newlines","description":"","args_str":" [<type>]","args":[{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"tx","type":"group","summary":"Type xrefs","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":[],"children":[{"cmd":"tx","type":"argv","summary":"List functions using the type","description":"","args_str":" [<type>]","args":[{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"txf","type":"argv","summary":"List all types used in the function","description":"","args_str":" [<address>]","args":[{"type":"string","name":"address","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"txg","type":"argv","summary":"Render the type xrefs graph","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"txl","type":"argv","summary":"List all types used by any function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"tk","type":"group","summary":"Manage the typeclasses of types","description":"Typeclasses classify atomic types by the general kind of value they hold, independently of their concrete name or size, so the analysis can pick a suitable type generically (for example any signed integer). The available typeclasses are Num (any number), Integral (any integer), Floating (any floating point number), Address (integer types used to work with pointers), Signed Integral and Unsigned Integral (the signed and unsigned subclasses of Integral) and None (the most generic one, used when no specific typeclass applies).","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"tk","type":"argv","summary":"Show the typeclass of the given type","description":"","args_str":" <type>","args":[{"type":"unknown","name":"type","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"tkl","type":"argv_modes","summary":"List all typeclasses, or the types belonging to each of them","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long","table"],"children":[]},{"cmd":"tks","type":"argv","summary":"Set the typeclass of a type","description":"","args_str":" <type> <typeclass>","args":[{"type":"unknown","name":"type","required":true},{"type":"string","name":"typeclass","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"tks","comment":"treat the int type as the Floating typeclass","arg_str":" int Floating"},{"text":"tks","comment":"set a typeclass whose name contains a space (quote it)","arg_str":" int \"Signed Integral\""}]}],"executable":true,"n_children":0,"modes":[],"children":[]}]}]},{"cmd":"V","type":"group","summary":"Interactive mode","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":8,"modes":[],"children":[{"cmd":"V","type":"argv","summary":"Enter interactive visual mode","description":"Use Rizin (mostly) without shell. Scrolling disassembly, debugging, searching or graph views. All with a few keyboard shortcuts.","args_str":" [<key-sequence>]","args":[{"type":"string","name":"key-sequence","is_last":true}],"details":[{"name":"Parameters","entries":[{"text":"V","comment":"The <key-sequence> argument is a string of keys to press directly after entering the visual mode. See 'VH' or 'VHH' for a full list of valid keys.","arg_str":" <key_sequence>"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"VH","type":"argv","summary":"Show most common keys shortcuts of the visual mode.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"VHH","type":"argv","summary":"Show all keys shortcuts of the visual mode.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Vp","type":"argv","summary":"Enter interactive visual mode and select next mode (alias for 'V p').","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Vpp","type":"argv","summary":"Enter interactive visual mode and select the mode after next (alias for 'V pp').","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Vv","type":"argv","summary":"Enter interactive visual mode and select the view management (alias for 'V v').","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Ve","type":"argv","summary":"Enter interactive visual mode and select the configurations toggle (alias for 'V e').","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"VV","type":"argv","summary":"Enter interactive visual mode and select the function graph (alias for 'V V').","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"v","type":"group","summary":"Interactive panel mode","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"v","type":"argv","summary":"Enter interactive panel mode","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"vl","type":"argv","summary":"Load panel layout","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"vs","type":"argv","summary":"Store panel layout","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"w","type":"group","summary":"Write commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":21,"modes":[],"children":[{"cmd":"w","type":"argv","summary":"Write string","description":"","args_str":" <string>","args":[{"type":"string","name":"string","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"w","comment":"Write the chars '1', '2', '3' and a newline","arg_str":" 123\\n"},{"text":"w","comment":"Write the chars 'a', 'b', a NUL, 'c', 'd' and another NUL","arg_str":" ab\\0cd\\0"}]},{"name":"Escape sequences","entries":[{"text":"\\0","comment":"NUL (0x0)","arg_str":""},{"text":"\\a","comment":"Bell (0x7)","arg_str":""},{"text":"\\b","comment":"Backspace (0x8)","arg_str":""},{"text":"\\e","comment":"Escape (0x1b)","arg_str":""},{"text":"\\f","comment":"Form feed (0xc)","arg_str":""},{"text":"\\n","comment":"Newline (0xa)","arg_str":""},{"text":"\\r","comment":"Carriage return (0xd)","arg_str":""},{"text":"\\t","comment":"Tab (0x9)","arg_str":""},{"text":"\\v","comment":"Vertical tab (0xb)","arg_str":""},{"text":"\\\\","comment":"Backslash ('\\')","arg_str":""},{"text":"\\xhh","comment":"Byte in hexadecimal","arg_str":""},{"text":"\\nnn","comment":"Byte in octal (eg. \\033 for the escape char)","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wB","type":"group","summary":"Set or unset bits with given value","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"wB","type":"argv","summary":"Set bits with given value","description":"Set the bits that are set in the value passed as arguments. 0 bits in the value argument are ignored, while the others are set at the current offset.","args_str":" <value>","args":[{"type":"number","name":"value","required":true}],"details":[{"name":"Examples","entries":[{"text":"wB","comment":"Sets the 5th bit at current offset, leaving all other bits intact.","arg_str":" 0x20"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wB-","type":"argv","summary":"Unset bits with given value","description":"Unset the bits that are set in the value passed as arguments. 0 bits in the value argument are ignored, while the others are unset at the current offset","args_str":" <value>","args":[{"type":"number","name":"value","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"wv","type":"group","summary":"Write value of given size","description":"","args_str":"","args":[],"details":[{"name":"Examples","entries":[{"text":"wv","comment":"Write the value 0xdeadbeef at current offset","arg_str":" 0xdeadbeef"},{"text":"wv2","comment":"Write the word 0xdead at current offset","arg_str":" 0xdead"},{"text":"wv1","comment":"Write the byte 0xde at current offset","arg_str":" 0xde"}]}],"executable":true,"n_children":5,"modes":[],"children":[{"cmd":"wv","type":"argv","summary":"Write value as 4-bytes/8-bytes based on value","description":"Write the number passed as argument at the current offset as a 4 - bytes value or 8 - bytes value if the input is bigger than UT32_MAX, respecting the cfg.bigendian variable","args_str":" <value>","args":[{"type":"number","name":"value","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wv1","type":"argv","summary":"Write value of 1 byte","description":"Write the number passed as argument at the current offset as 1 - byte, respecting the cfg.bigendian variable","args_str":" <value>","args":[{"type":"number","name":"value","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wv2","type":"argv","summary":"Write value of 2 byte","description":"Write the number passed as argument at the current offset as 2 - bytes, respecting the cfg.bigendian variable","args_str":" <value>","args":[{"type":"number","name":"value","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wv4","type":"argv","summary":"Write value of 4 byte","description":"Write the number passed as argument at the current offset as 4 - bytes, respecting the cfg.bigendian variable","args_str":" <value>","args":[{"type":"number","name":"value","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wv8","type":"argv","summary":"Write value of 8 byte","description":"Write the number passed as argument at the current offset as 8 - bytes, respecting the cfg.bigendian variable","args_str":" <value>","args":[{"type":"number","name":"value","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"w0","type":"argv","summary":"Write <len> bytes with value 0x00","description":"Fill <len> bytes starting from the current offset with the value 0.","args_str":" <len>","args":[{"type":"number","name":"len","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"w","type":"inner","summary":"Increment/decrement byte, word, ...","description":"","args_str":" [<n>]","args":[],"details":[],"executable":false,"n_children":4,"modes":[],"children":[{"cmd":"w1","type":"group","summary":"Increment/decrement a byte","description":"","args_str":"","args":[],"details":[{"name":"Examples","entries":[{"text":"w1+","comment":"Add 1 to the byte at the current offset.","arg_str":""},{"text":"w1-","comment":"Subtract 1 to the byte at the current offset.","arg_str":""},{"text":"w1-","comment":"Subtract 9 to the byte at the current offset.","arg_str":" 9"}]}],"executable":false,"n_children":2,"modes":[],"children":[{"cmd":"w1+","type":"argv","summary":"Increment a byte","description":"Increment a byte at the current offset by 1 or <n>, if specified","args_str":" [<n>]","args":[{"type":"number","name":"n"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"w1-","type":"argv","summary":"Decrement a byte","description":"Decrement a byte at the current offset by 1 or <n>, if specified","args_str":" [<n>]","args":[{"type":"number","name":"n"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"w2","type":"group","summary":"Increment/decrement a word","description":"","args_str":"","args":[],"details":[{"name":"Examples","entries":[{"text":"w2+","comment":"Add 1 to the word at the current offset.","arg_str":""},{"text":"w2-","comment":"Subtract 1 to the word at the current offset.","arg_str":""},{"text":"w2-","comment":"Subtract 9 to the word at the current offset.","arg_str":" 9"}]}],"executable":false,"n_children":2,"modes":[],"children":[{"cmd":"w2+","type":"argv","summary":"Increment a word","description":"Increment a word at the current offset by 1 or <n>, if specified","args_str":" [<n>]","args":[{"type":"number","name":"n"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"w2-","type":"argv","summary":"Decrement a word","description":"Decrement a word at the current offset by 1 or <n>, if specified","args_str":" [<n>]","args":[{"type":"number","name":"n"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"w4","type":"group","summary":"Increment/decrement a dword","description":"","args_str":"","args":[],"details":[{"name":"Examples","entries":[{"text":"w4+","comment":"Add 1 to the dword at the current offset.","arg_str":""},{"text":"w4-","comment":"Subtract 1 to the dword at the current offset.","arg_str":""},{"text":"w4-","comment":"Subtract 9 to the dword at the current offset.","arg_str":" 9"}]}],"executable":false,"n_children":2,"modes":[],"children":[{"cmd":"w4+","type":"argv","summary":"Increment a dword","description":"Increment a dword at the current offset by 1 or <n>, if specified","args_str":" [<n>]","args":[{"type":"number","name":"n"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"w4-","type":"argv","summary":"Decrement a dword","description":"Decrement a dword at the current offset by 1 or <n>, if specified","args_str":" [<n>]","args":[{"type":"number","name":"n"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"w8","type":"group","summary":"Increment/decrement a qword","description":"","args_str":"","args":[],"details":[{"name":"Examples","entries":[{"text":"w8+","comment":"Add 1 to the qword at the current offset.","arg_str":""},{"text":"w8-","comment":"Subtract 1 to the qword at the current offset.","arg_str":""},{"text":"w8-","comment":"Subtract 9 to the qword at the current offset.","arg_str":" 9"}]}],"executable":false,"n_children":2,"modes":[],"children":[{"cmd":"w8+","type":"argv","summary":"Increment a qword","description":"Increment a qword at the current offset by 1 or <n>, if specified","args_str":" [<n>]","args":[{"type":"number","name":"n"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"w8-","type":"argv","summary":"Decrement a qword","description":"Decrement a qword at the current offset by 1 or <n>, if specified","args_str":" [<n>]","args":[{"type":"number","name":"n"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]}]},{"cmd":"w6","type":"group","summary":"Write base64 [d]ecoded or [e]ncoded string","description":"","args_str":"","args":[],"details":[{"name":"Examples","entries":[{"text":"w6d","comment":"Write the string \"HelloWorld\" (without quotes) at current offset.","arg_str":" SGVsbG9Xb3JsZAo="},{"text":"w6e","comment":"Write the string \"SGVsbG9Xb3JsZAo=\" (without quotes) at current offset.","arg_str":" 48656c6c6f576f726c64"}]}],"executable":false,"n_children":2,"modes":[],"children":[{"cmd":"w6d","type":"argv","summary":"Write the base64-decoded bytes","description":"Base64-Decode the string passed as argument and write it at the current offset.","args_str":" <base64>","args":[{"type":"string","name":"base64","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"w6e","type":"argv","summary":"Write the base64-encoded bytes","description":"Base64-Encode the hex string passed as argument and write it at the current offset","args_str":" <hexstring>","args":[{"type":"string","name":"hexstring","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"we","type":"group","summary":"Extend write operations (insert bytes instead of replacing)","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":3,"modes":[],"children":[{"cmd":"wen","type":"argv","summary":"Insert <len> null bytes at <addr> or current offset and extend the file at current offset","description":"","args_str":" <len> [<addr>]","args":[{"type":"expression","name":"len","required":true},{"type":"expression","name":"addr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wes","type":"argv","summary":"Shift <len> bytes at current offset left or right based on <dist>","description":"Shift the bytes at current offset left or right, based on the value of <dist>. Positive <dist> shifts the data right, negative <dist> shifts the data left. The amount of data to be shifted is either <len>, if specified, or the whole remaining file otherwise.","args_str":" <dist> [<len>]","args":[{"type":"expression","name":"dist","required":true},{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wex","type":"argv","summary":"Insert <hex_bytes> at <addr> or current offset and extend the file at current offset","description":"","args_str":" <bytes> [<addr>]","args":[{"type":"string","name":"bytes","required":true},{"type":"expression","name":"addr","is_last":true}],"details":[{"name":"Examples","entries":[{"text":"wex","comment":"Insert the characters \"ABC\" at the current offset and extend the file","arg_str":" 414243"}]}],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"wu","type":"argv","summary":"Apply unified hex patch (see output of cu)","description":"","args_str":" <file>","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wr","type":"argv","summary":"Write <len> random bytes","description":"","args_str":" <len>","args":[{"type":"expression","name":"len","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wc","type":"group","summary":"Write cache commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":7,"modes":["standard","json"],"children":[{"cmd":"wc","type":"argv_state","summary":"List all write changes in the cache","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"wc-","type":"argv","summary":"Remove write operation at current offset or in the given range","description":"","args_str":" [<from> [<to>]]","args":[{"type":"expression","name":"from"},{"type":"expression","name":"to","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wc-*","type":"argv","summary":"Reset the cache","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wc+","type":"argv","summary":"Commit cache from address <from> up to <to> or one blocksize","description":"","args_str":" <from> [<to>]","args":[{"type":"expression","name":"from","required":true},{"type":"expression","name":"to","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wci","type":"argv","summary":"Commit the cache","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wcp","type":"argv_state","summary":"List all write changes in the p-cache","description":"","args_str":" [<fd>]","args":[{"type":"number","name":"fd"}],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"wcpi","type":"argv","summary":"Commit p-cache for specified <fd> or current file","description":"","args_str":" [<fd>]","args":[{"type":"number","name":"fd"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"wz","type":"argv","summary":"Write zero-terminated string","description":"","args_str":" <string>","args":[{"type":"string","name":"string","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wf","type":"group","summary":"Write data from file, socket, offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":[],"children":[{"cmd":"wf","type":"argv","summary":"Write <size> bytes from <addr> into current offset","description":"","args_str":" <addr> <size>","args":[{"type":"expression","name":"addr","required":true},{"type":"expression","name":"size","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wfx","type":"argv","summary":"Exchange <size> bytes between <addr> and current offset","description":"","args_str":" <addr> <size>","args":[{"type":"expression","name":"addr","required":true},{"type":"expression","name":"size","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wff","type":"argv","summary":"Write data from <file> into current offset","description":"","args_str":" <file> [<size> [<offset>]]","args":[{"type":"filename","name":"file","required":true},{"type":"expression","name":"size"},{"type":"expression","name":"offset","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wfs","type":"argv","summary":"Write data from socket into current offset","description":"","args_str":" <host:port> [<size>]","args":[{"type":"string","name":"host:port","required":true},{"type":"expression","name":"size","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"ww","type":"argv","summary":"Write wide (16-bit) little-endian string","description":"","args_str":" <string>","args":[{"type":"string","name":"string","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wx","type":"group","summary":"Write hexadecimal data","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"wx","type":"argv","summary":"Write hexadecimal data <hex> into current offset","description":"","args_str":" <hex>","args":[{"type":"string","name":"hex","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wxf","type":"argv","summary":"Write hexadecimal data from file <file> into current offset","description":"","args_str":" <file|->","args":[{"type":"filename","name":"file|-","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"wa","type":"group","summary":"Write opcodes","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":[],"children":[{"cmd":"wa","type":"argv","summary":"Assemble instruction(s) and write bytes at current offset","description":"Assemble the <instructions> provided as argument considering the current architecture and bits in asm.arch/asm.bits and write the resulting bytes at the current offset.","args_str":" <instructions1> <instructions2> ...","args":[{"type":"string","name":"instructions","required":true,"is_array":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wai","type":"argv","summary":"Assemble instruction(s) and write bytes inside the current instruction","description":"Assemble the <instructions> provided as argument considering the current architecture and bits in asm.arch/asm.bits and write the resulting bytes \"inside\" the current instruction, by filling the remaining bytes of the old instruction with nop bytes.","args_str":" <instructions1> <instructions2> ...","args":[{"type":"string","name":"instructions","required":true,"is_array":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"waf","type":"argv","summary":"Assemble file and write bytes at current offset","description":"Assemble the assembly file <file> provided as argument considering the current architecture and bits in asm.arch/asm.bits and write the resulting bytes at the current offset.","args_str":" <file>","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wao","type":"argv","summary":"Write on the current opcode","description":"","args_str":" <op>","args":[{"type":"string","name":"op","required":true,"is_last":true}],"details":[{"name":"Operators","entries":[{"text":"wao","comment":"Make the current instruction a no operation","arg_str":" nop"},{"text":"wao","comment":"Assemble an infinite loop","arg_str":" jinf"},{"text":"wao","comment":"Make the current conditional instruction a jump-if-zero","arg_str":" jz"},{"text":"wao","comment":"Make the current conditional instruction a jump-if-not-zero","arg_str":" jnz"},{"text":"wao","comment":"Make the current instruction return 1","arg_str":" ret1"},{"text":"wao","comment":"Make the current instruction return 0","arg_str":" ret0"},{"text":"wao","comment":"Make the current instruction return -1","arg_str":" retn"},{"text":"wao","comment":"Make the current conditional instruction unconditional","arg_str":" nocj"},{"text":"wao","comment":"Make the current instruction a trap (e.g. int3 in x86)","arg_str":" trap"},{"text":"wao","comment":"Swap the condition of the current conditional instruction","arg_str":" recj"}]}],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"wb","type":"argv","summary":"Write in current block a hexstring cyclically","description":"","args_str":" <hex>","args":[{"type":"string","name":"hex","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wm","type":"group","summary":"Set binary mask hexpair to be used as cyclic write mask","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"wm","type":"argv","summary":"Set a write mask","description":"Set a write mask that is applied whenever a following write operation is performed. Data will be masked as if the first byte of data is in arithmetic AND (&) with the first byte of the mask, the second byte of data with the second byte of the mask, and so on.","args_str":" <hex_mask>","args":[{"type":"string","name":"hex_mask","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wm-","type":"argv","summary":"Remove the write mask","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"wo","type":"group","summary":"Write a block with a special operation","description":"","args_str":"","args":[],"details":[{"name":"Examples","entries":[{"text":"woa","comment":"Content before: 1122334455 ; Content after: 3142536475","arg_str":" 20"},{"text":"wos","comment":"Content before: 1122334455 ; Content after: f101132335","arg_str":" 2021"},{"text":"wo4","comment":"Content before: 1122334455667788; Content after: 4433221188776655","arg_str":""}]}],"executable":false,"n_children":15,"modes":[],"children":[{"cmd":"wo2","type":"argv","summary":"Swap the endianess of 2-bytes values in the current block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wo4","type":"argv","summary":"Swap the endianess of 4-bytes values in the current block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wo8","type":"argv","summary":"Swap the endianess of 8-bytes values in the current block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"woa","type":"argv","summary":"Add each existing byte in the block with the given <value>","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"woA","type":"argv","summary":"Bitwise-and each existing byte in the block with the given <value>","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wod","type":"argv","summary":"Divide each existing byte in the block with the given <value>","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wol","type":"argv","summary":"Bitwise-shift-left each existing byte in the block with the given <value>","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wom","type":"argv","summary":"Multiply each existing byte in the block with the given <value>","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"woo","type":"argv","summary":"Bitwise-or each existing byte in the block with the given <value>","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wor","type":"argv","summary":"Bitwise-shift-right each existing byte in the block with the given <value>","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wos","type":"argv","summary":"Subtract each existing byte in the block with the given <value>","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wox","type":"argv","summary":"Bitwise-xor each existing byte in the block with the given <value>","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"woe","type":"argv","summary":"Write a sequence repeatedly with values from <from> up to <to> in the block","description":"Write a sequence of data to fill the whole block at the current offset. The sequence is formed starting from <from> up to <to>, with an increment specified in <step>. Each value is written as a <value_size>-bytes value, according to the endianess specified in cfg.bigendian.","args_str":" <from> <to> <step>=1 <value_size>=1","args":[{"type":"number","name":"from","required":true},{"type":"number","name":"to","required":true},{"type":"number","name":"step","required":true,"default":"1"},{"type":"number","name":"value_size","required":true,"default":"1"}],"details":[{"name":"Examples","entries":[{"text":"woe","comment":"Write 010203010203010203","arg_str":" 1 3 1"},{"text":"woe","comment":"Write 010301030103010301","arg_str":" 1 4 2"},{"text":"woe","comment":"Write 010305020401030502","arg_str":" 1 5 2"},{"text":"woe","comment":"Write 01000200030001000200","arg_str":" 1 3 1 2"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"woD","type":"argv","summary":"Decrypt current block with given <algo>, <key> and optional <IV>","description":"","args_str":" <algo> <key> [<IV>]","args":[{"type":"string","name":"algo","required":true},{"type":"string","name":"key","required":true},{"type":"string","name":"IV","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"woE","type":"argv","summary":"Encrypt current block with given <algo>, <key> and optional <IV>","description":"","args_str":" <algo> <key> [<IV>]","args":[{"type":"string","name":"algo","required":true},{"type":"string","name":"key","required":true},{"type":"string","name":"IV","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"wD","type":"group","summary":"Write de Bruijn pattern","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"wD","type":"argv","summary":"Write a de Bruijn pattern of length <len> at the current offset","description":"","args_str":" <len>","args":[{"type":"expression","name":"len","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wD/","type":"argv","summary":"Returns the offset where <value> can be found in a de Bruijn pattern","description":"It search for a particular value in the pattern as returned by the `wD` command. <value> is assumed to be a number of as few bytes as necessary, in the endian specified by cfg.bigendian.","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"wd","type":"argv","summary":"Duplicate <len> bytes from <src> offset to current seek","description":"","args_str":" <src> <len>","args":[{"type":"expression","name":"src","required":true},{"type":"expression","name":"len","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ws","type":"argv","summary":"Write 1 byte for length and then the string","description":"","args_str":" <string>","args":[{"type":"string","name":"string","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"x","type":"argv_state","summary":"Alias for 'px' (print hexdump).","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"xc","type":"argv","summary":"Alias for 'pxc' (show hexdump with comments).","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"y","type":"group","summary":"Yank/paste bytes from/to memory","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":11,"modes":["standard","json","quiet"],"children":[{"cmd":"y","type":"argv_state","summary":"Yank bytes / Show yank contents","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"ye","type":"argv","summary":"Open cfg.editor to edit the clipboard","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"yf","type":"argv","summary":"Yank <len> bytes from file","description":"","args_str":" <len> <file>","args":[{"type":"expression","name":"len","required":true},{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"yfa","type":"argv","summary":"Yank whole file into clipboard","description":"","args_str":" <file>","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"yp","type":"argv","summary":"Print contents of clipboards as raw data","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ys","type":"argv","summary":"Print contents of clipboards as string","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"yt","type":"argv","summary":"Copy <len> bytes from current seek to <offset>","description":"","args_str":" <len> <offset>","args":[{"type":"expression","name":"len","required":true},{"type":"expression","name":"offset","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ywx","type":"argv","summary":"Yank from hexpairs string","description":"","args_str":" <string>","args":[{"type":"string","name":"string","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"yx","type":"argv","summary":"Print contents of clipboard in hexadecimal","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"yy","type":"argv","summary":"Paste <len> bytes from yank clipboard","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"yz","type":"argv","summary":"Copy NULL-terminated string into clipboard","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"|","type":"fake","summary":"Pipe help ('|')","description":"","args_str":"","args":[],"details":[{"name":"","entries":[{"text":"<cmd> |","comment":"Disable scr.html and scr.color","arg_str":""},{"text":"<cmd> |H","comment":"Enable scr.html, respect scr.color","arg_str":""},{"text":"<cmd> |","comment":"Pipe output of command to program","arg_str":" <program>"},{"text":"<cmd> |.","comment":"Alias for .<cmd>","arg_str":""}]}],"executable":false,"n_children":0,"modes":[],"children":[]},{"cmd":"~","type":"fake","summary":"Internal grep help ('~')","description":"","args_str":"","args":[],"details":[{"name":"Modifiers","entries":[{"text":"&","comment":"All words must match to grep the line","arg_str":""},{"text":"$[n]","comment":"Sort numerically / alphabetically the Nth column","arg_str":""},{"text":"$!","comment":"Sort in inverse order","arg_str":""},{"text":",","comment":"Token to define another keyword","arg_str":""},{"text":"+","comment":"Set the grep as the opposite of search.case_sensitive","arg_str":""},{"text":"^","comment":"Words must be placed at the beginning of line, after whitespace if any","arg_str":""},{"text":"<","comment":"Perform zoom operation on the buffer","arg_str":""},{"text":"!","comment":"Negate grep","arg_str":""},{"text":"?","comment":"Count number of matching lines","arg_str":""},{"text":"?.","comment":"Count number chars","arg_str":""},{"text":":s..e","comment":"Show lines s-e","arg_str":""},{"text":"..","comment":"Internal 'less'","arg_str":""},{"text":"...","comment":"Internal 'hud' (like V_)","arg_str":""},{"text":"{:","comment":"Human friendly indentation (yes, it's a smiley)","arg_str":""},{"text":"{:..","comment":"Less the output of {:","arg_str":""},{"text":"{:...","comment":"Hud the output of {:","arg_str":""},{"text":"{}","comment":"Json indentation","arg_str":""},{"text":"{}..","comment":"Less json indentation","arg_str":""},{"text":"{}...","comment":"Hud json indentation","arg_str":""},{"text":"{path}","comment":"Json path grep","arg_str":""}]},{"name":"EndModifiers","entries":[{"text":"$","comment":"Words must be placed at the end of line","arg_str":""}]},{"name":"Columns","entries":[{"text":"[n]","comment":"Show only columns n","arg_str":""},{"text":"[n-m]","comment":"Show column n to m","arg_str":""},{"text":"[n-]","comment":"Show all columns starting from column n","arg_str":""},{"text":"[i,j,k]","comment":"Show the columns i, j and k","arg_str":""}]},{"name":"Examples","entries":[{"text":"i","comment":"Show first line of 'i' output","arg_str":"~:0"},{"text":"i","comment":"Show from the second-last line to the last line of 'i' output","arg_str":"~:-2.."},{"text":"i","comment":"Show first three lines of 'i' output","arg_str":"~:..3"},{"text":"i","comment":"Show three lines of 'i' output starting from 2nd line","arg_str":"~:2..5"},{"text":"pd","comment":"Disasm and grep for mov","arg_str":"~mov"},{"text":"pi","comment":"Show only opcode","arg_str":"~[0]"},{"text":"i","comment":"Show lines ending with 0x400","arg_str":"~0x400$"}]}],"executable":false,"n_children":0,"modes":[],"children":[]}]}} +EOF +RUN + NAME=recursive help (old style) FILE== CMDS=<<EOF diff --git a/test/db/tools/rz b/test/db/tools/rz index c96471cfb21..f8798c0b939 100644 --- a/test/db/tools/rz +++ b/test/db/tools/rz @@ -71,6 +71,26 @@ EXPECT=<<EOF EOF RUN +NAME=rizin command catalog json forms +FILE== +CMDS=<<EOF +echo --cmd-catalog +!!rizin -Nq --cmd-catalog +echo --cmd-catalog=json +!!rizin -Nq --cmd-catalog=json +echo --cmd-catalog json +!!rizin -Nq --cmd-catalog json +EOF +EXPECT=<<EOF +--cmd-catalog +{"version":1,"generated_from":"runtime","root":{"cmd":"","type":"group","summary":"","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":52,"modes":[],"children":[{"cmd":"!","type":"group","summary":"Run command via system(3)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"!","type":"argv","summary":"Run command via system(3) with raw output. Grepping via '~' automatically forces use of '!!' instead.","description":"","args_str":"<command> [<args1> <args2> ...]","args":[{"type":"string","name":"command","nospace":true,"required":true},{"type":"string","name":"args","is_array":true}],"details":[{"name":"Examples","entries":[{"text":"!","comment":"Execute the 'ls' command via system(3)","arg_str":"ls"},{"text":"!","comment":"Execute the 'echo' command via system(3) and bash. It prints the content of the environment variable '$RZ_SIZE'.","arg_str":"bash -c \"echo $RZ_SIZE\""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"!!","type":"argv","summary":"Run command via system(3) and pipe its stdout to rizin","description":"","args_str":"<command> [<args1> <args2> ...]","args":[{"type":"string","name":"command","nospace":true,"required":true},{"type":"string","name":"args","is_array":true}],"details":[{"name":"Examples","entries":[{"text":"!!","comment":"Execute the 'ls' command via system(3) and grep for 'txt'. Note that 'ls' has different output if its stdout is piped.","arg_str":"ls~txt"}]}],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"#!","type":"argv","summary":"Run interpreter","description":"","args_str":"<interpreter-name> [<arg1> <arg2> ...]","args":[{"type":"string","name":"interpreter-name","nospace":true,"required":true},{"type":"string","name":"arg","is_array":true}],"details":[{"name":"Examples","entries":[{"text":"#!","comment":"Run python commandline","arg_str":"python"},{"text":"#!","comment":"Run foo.py python script","arg_str":"python foo.py"},{"text":"#!","comment":"Run foo.py python script and pass it arg1 as argument","arg_str":"python foo.py arg1"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"$","type":"group","summary":"Alias commands and strings","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"$","type":"argv","summary":"List all defined aliases / Define alias (see %$? for help on $variables)","description":"","args_str":"[alias[=cmd] [args...]]","args":[{"type":"string","name":"args","nospace":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"$","comment":"List all defined aliases","arg_str":""},{"text":"$","comment":"Alias for 'f foo @ 123'","arg_str":"foo:=123"},{"text":"$","comment":"Alias for 'fm $$-4 @ foo'","arg_str":"foo-=4"},{"text":"$","comment":"Alias for 'fm $$+4 @ foo'","arg_str":"foo+=4"},{"text":"$","comment":"Alias for 's foo' (note that command aliases can override flag resolution)","arg_str":"foo"},{"text":"$","comment":"Alias this base64 encoded text to be executed when $dis is called","arg_str":"dis=base64:cGRm"},{"text":"$","comment":"Alias this text to be printed when $dis is called","arg_str":"dis=$hello world"},{"text":"$","comment":"Open cfg.editor to set the new value for dis alias","arg_str":"dis=-"},{"text":"$","comment":"Create command - analyze to show function","arg_str":"dis=\"af;pdf\""},{"text":"$","comment":"Create command - rlangpipe script","arg_str":"test=\\#!pipe node /tmp/test.js"},{"text":"$","comment":"Undefine alias","arg_str":"dis="},{"text":"$","comment":"Execute the previously defined alias","arg_str":"dis"},{"text":"$","comment":"Show commands aliased by $dis","arg_str":"dis?"},{"text":"$","comment":"Show commands aliased by $dis, without a new line","arg_str":"dis?n"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"$*","type":"argv","summary":"List all the aliases as rizin commands in base64","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"$**","type":"argv","summary":"Same as above, but using plain text","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"%","type":"group","summary":"Math commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":30,"modes":["standard","json"],"children":[{"cmd":"%","type":"argv_state","summary":"Evaluate numerical expression <expr>","description":"","args_str":" <expr>","args":[{"type":"string","name":"expr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"%$","type":"argv","summary":"Print Rizin variables and their values","description":"","args_str":" [<var>]","args":[{"type":"string","name":"var","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%0","type":"argv","summary":"Set first tab as the current active tab","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%1","type":"argv","summary":"Set next tab as the current active tab","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%r","type":"argv","summary":"Generate a random number between <lowlimit> and <uplimit>","description":"","args_str":" <lowlimit> <uplimit>","args":[{"type":"expression","name":"lowlimit","required":true},{"type":"expression","name":"uplimit","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%b","type":"argv","summary":"Print <expr> in binary format","description":"","args_str":" <expr>","args":[{"type":"expression","name":"expr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%b64","type":"argv","summary":"Encode <str> in Base64","description":"","args_str":" <str>","args":[{"type":"string","name":"str","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"%b64","comment":"(SUxvdmVSaXppbgo=) Encodes given string into base64","arg_str":" ILoveRizin"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%b64-","type":"argv","summary":"Decode <str> from Base64","description":"","args_str":" <str>","args":[{"type":"string","name":"str","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"%b64- ","comment":"(ILoveRizin) Decodes given base64 string","arg_str":"SUxvdmVSaXppbgo="}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%btw","type":"argv","summary":"Check if <middle> number is between <first> and <last>","description":"","args_str":" <first> <middle> <last>","args":[{"type":"expression","name":"first","required":true},{"type":"expression","name":"middle","required":true},{"type":"expression","name":"last","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%B","type":"argv_state","summary":"Prints the search boundaries based on the search.in mode.","description":"There are multiple search modes in Rizin that can be listed using the command `e search.in=?`. This command can be used to get boundaries of those search modes.","args_str":"","args":[],"details":[{"name":"Examples","entries":[{"text":"%B ","comment":"Prints boundary of this file","arg_str":"@e:search.in=file"},{"text":"%Bt ","comment":"Prints boundaries of all io maps","arg_str":"@e:search.in=io.maps"}]}],"executable":true,"n_children":0,"modes":["standard","json","table"],"children":[]},{"cmd":"%h","type":"argv","summary":"Print hash value of string <str>","description":"","args_str":" <<str>>","args":[{"type":"string","name":"<str>","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"%h ","comment":"0x56b7215a -> hashed value","arg_str":"ILoveRizin"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%f","type":"argv","summary":"bitstring manipulation.","description":"Treat given string as bitstring and get selected characters from bitstring using given value. Bits that are flagged in value are used to get characters from given string. Bitstring is treated in big-endian format","args_str":" <value> <bitstring>","args":[{"type":"number","name":"value","required":true},{"type":"string","name":"bitstring","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"%f","comment":"LLO (00111b selected : big-endian bitstring)","arg_str":" 28 Hello"},{"text":"%f","comment":"LL (00110b selected : big-endian bitstring)","arg_str":" 12 Hello"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%o","type":"argv","summary":"Print <expr> in octal format","description":"","args_str":" <expr>","args":[{"type":"expression","name":"expr","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"%o","comment":"0173 in octal","arg_str":" 123"},{"text":"%o","comment":"0501 in octal","arg_str":" 321"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%u","type":"argv","summary":"Convert <expr> to K, M, G, T etc... units","description":"","args_str":" <expr>","args":[{"type":"expression","name":"expr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%v","type":"group","summary":"Show value commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":7,"modes":[],"children":[{"cmd":"%v","type":"argv","summary":"Show last expression ($?) or currently evaluated <expr>","description":"","args_str":" [<expr>]","args":[{"type":"expression","name":"expr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%vx","type":"argv","summary":"Show last expression ($?) or currently evaluated <expr> in hex","description":"","args_str":" [<expr>]","args":[{"type":"expression","name":"expr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%vi1","type":"argv","summary":"Show last expression ($?) or currently evaluated <expr> as 1 byte integer","description":"","args_str":" [<expr>]","args":[{"type":"expression","name":"expr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%vi2","type":"argv","summary":"Show last expression ($?) or currently evaluated <expr> as 2 bytes integer","description":"","args_str":" [<expr>]","args":[{"type":"expression","name":"expr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%vi4","type":"argv","summary":"Show last expression ($?) or currently evaluated <expr> as 4 bytes integer","description":"","args_str":" [<expr>]","args":[{"type":"expression","name":"expr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%vi8","type":"argv","summary":"Show last expression ($?) or currently evaluated <expr> as 8 bytes integer","description":"","args_str":" [<expr>]","args":[{"type":"expression","name":"expr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%vi","type":"argv","summary":"Show last expression ($?) or currently evaluated <expr> as integer","description":"","args_str":" [<expr>]","args":[{"type":"expression","name":"expr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"%=","type":"argv","summary":"Update $? (last evaluated expression) with <expr>, without printing anything","description":"","args_str":" <expr>","args":[{"type":"expression","name":"expr","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"%q","comment":"This will set $?. Then commands like %+, %-, etc. can be used to do some task by checking whether $? holds positive value or not.","arg_str":" 123"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%==","type":"argv","summary":"Compare strings <str1> and <str2> and set $? register to cmp result","description":"","args_str":" <str1> <str2>","args":[{"type":"string","name":"str1","required":true},{"type":"string","name":"str2","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"%==","comment":"$? will be set to 0 if these two strings are equal, otherwise some other positive value.","arg_str":" str1 str2"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%+","type":"argv","summary":"Execute command <cmd> if $? register is greater than 0","description":"","args_str":" <cmd>","args":[{"type":"command","name":"cmd","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"%=1; %+","comment":"Will display hexdump at current seek address","arg_str":" %%x"},{"text":"%=-2; %+","comment":"Won\"t do anything","arg_str":" %%x"},{"text":"%=0; %+","comment":"Won\"t do anything","arg_str":" %%x"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%-","type":"argv","summary":"Execute command <cmd> if $? register is less than 0","description":"","args_str":" <cmd>","args":[{"type":"command","name":"cmd","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"%=1; %-","comment":"Won\"t do anything","arg_str":" %%x"},{"text":"%=-2; %-","comment":"Will display hexdump at current seek address","arg_str":" %%x"},{"text":"%=0; %+","comment":"Won\"t do anything","arg_str":" %%x"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%!","type":"argv","summary":"Execute command <cmd> if $? is 0","description":"","args_str":" <cmd>","args":[{"type":"command","name":"cmd","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%%","type":"argv","summary":"Execute command <cmd> if $? is not 0","description":"","args_str":" <cmd>","args":[{"type":"command","name":"cmd","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%l","type":"argv_state","summary":"Calculate length of string <str>. Quiet mode stores value in `$?` register.","description":"","args_str":" <str>","args":[{"type":"string","name":"str","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","quiet"],"children":[]},{"cmd":"%X","type":"argv","summary":"Show evaluated expression <expr> in hex","description":"","args_str":" <expr>","args":[{"type":"expression","name":"expr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%x","type":"group","summary":"String/Numeric to hex manipulation commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"%x","type":"argv","summary":"ASCII string to hex string","description":"","args_str":" <astr>","args":[{"type":"string","name":"astr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%x+","type":"argv","summary":"Numerical expression to hex","description":"","args_str":" <expr>","args":[{"type":"expression","name":"expr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%x-","type":"argv","summary":"Hex string to ASCII string","description":"","args_str":" <hexnum>","args":[{"type":"expression","name":"hexnum","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"%s","type":"argv","summary":"Generate sequence of numbers from <start> to <stop> with <step> increments","description":"","args_str":" <start> <stop> <step>","args":[{"type":"expression","name":"start","required":true},{"type":"expression","name":"stop","required":true},{"type":"expression","name":"step","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%P","type":"argv","summary":"Convert physical to virtual address","description":"","args_str":" [<paddr>]","args":[{"type":"expression","name":"paddr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%p","type":"argv","summary":"Virtual to physical address conversion","description":"","args_str":" [<vaddr>]","args":[{"type":"expression","name":"vaddr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%_","type":"argv","summary":"HUD input","description":"","args_str":" <input>","args":[{"type":"string","name":"input","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%i","type":"group","summary":"Input commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":8,"modes":[],"children":[{"cmd":"%i","type":"argv","summary":"Input the <prompt> and save response in yank clipboard (`y` commands)","description":"","args_str":" <prompt>","args":[{"type":"string","name":"prompt","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%ie","type":"argv","summary":"Input the <prompt>, save response in yank clipboard (`y` commands), and print it","description":"","args_str":" <prompt>","args":[{"type":"string","name":"prompt","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%in","type":"argv","summary":"Input Yes/No <question> and store result in $? register (default No)","description":"","args_str":" [<question>]","args":[{"type":"string","name":"question","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%iy","type":"argv","summary":"Input Yes/No <question> and store result in $? register (default Yes)","description":"","args_str":" [<question>]","args":[{"type":"string","name":"question","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%ik","type":"argv","summary":"Input any key. Does nothing else.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%ip","type":"argv","summary":"Interactive HUD mode to find files in <path>","description":"","args_str":" [<path>]","args":[{"type":"string","name":"path","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%im","type":"argv","summary":"Display <msg> in console and wait for key","description":"","args_str":" <msg>","args":[{"type":"string","name":"msg","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%if","type":"argv","summary":"Evaluate <expr>, store result in $? register and print true if <expr> != 0, false otherwise","description":"","args_str":" <expr>","args":[{"type":"expression","name":"expr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"%w","type":"argv","summary":"Get references of given address","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"&","type":"group","summary":"Manage tasks","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":7,"modes":["standard","json"],"children":[{"cmd":"&","type":"argv_modes","summary":"List all tasks / Run <cmd> in a new background task","description":"","args_str":" [<cmd>]","args":[{"type":"command","name":"cmd","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"&t","type":"argv","summary":"Run <cmd> in a new transient background task (auto-delete when it is finished)","description":"","args_str":" <cmd>","args":[{"type":"command","name":"cmd","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"&=","type":"argv","summary":"Show output of task <n>","description":"","args_str":" <n>","args":[{"type":"number","name":"n","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"&b","type":"argv","summary":"Break task <n>","description":"","args_str":" <n>","args":[{"type":"number","name":"n","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"&-","type":"argv","summary":"Delete task <n> or schedule for deletion when it is finished","description":"","args_str":" <n>","args":[{"type":"number","name":"n","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"&-*","type":"argv","summary":"Delete all done tasks","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"&&","type":"argv","summary":"Wait until task <n> is finished / all tasks are finished","description":"","args_str":" [<name>]","args":[{"type":"number","name":"name"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"(","type":"group","summary":"Manage scripting macros","description":"","args_str":"","args":[],"details":[{"name":"Examples","entries":[{"text":"(","comment":"List defined macros","arg_str":""},{"text":"(","comment":"Define a new macro 'foo', which executes `?` followed by `pd` when called.","arg_str":"foo; echo Disassemble 10 bytes at 0x10000; pd 10 @ 0x10000)"},{"text":"(","comment":"Define a new macro 'foo' with two arguments. ${a}/${b} are replaced before execution.","arg_str":"foo a b; echo Disassemble ${a} bytes at ${b}; pd ${a} @ ${b})"},{"text":"(-","comment":"Remove previously defined macro named 'foo'","arg_str":"foo"}]}],"executable":true,"n_children":6,"modes":["standard"],"children":[{"cmd":"(","type":"argv_state","summary":"List all defined macros","description":"Without any arguments, ( lists defined macros. Macros can be used to execute multiple commands under one name, by replacing some arguments. The argument replacement is done before executing the command, by simply replacing ${<arg-name>} in the body of the macro with the value passed when calling the macro.","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"(-","type":"argv","summary":"Remove a defined macro named <macro-name>","description":"","args_str":"<macro-name>","args":[{"type":"string","name":"macro-name","nospace":true,"required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"(","type":"inner","summary":"Add a new macro <macro-name>","description":"","args_str":"<macro-name> [<macro-arg0> <macro-arg1> ...][; <cmds>])[([<macro-call-arg0> <macro-call-arg1> ...])]","args":[],"details":[],"executable":false,"n_children":0,"modes":[],"children":[]},{"cmd":"(","type":"inner","summary":"Define a macro <macro-name> and call it with the arguments <macro-call-args>","description":"","args_str":"<macro-name> [<macro-arg0> <macro-arg1> ...][; <cmds>])[([<macro-call-arg0> <macro-call-arg1> ...])]","args":[],"details":[],"executable":false,"n_children":0,"modes":[],"children":[]},{"cmd":".(","type":"inner","summary":"Call macro <macro-name> with the arguments <macro-call-args>","description":"","args_str":"<macro-name> [<macro-call-arg0> <macro-call-arg1> ...])","args":[],"details":[],"executable":false,"n_children":0,"modes":[],"children":[]},{"cmd":"..(","type":"inner","summary":"Call macro <macro-name> multiple times with the arguments <macro-call-args>","description":"Call the same macro multiple time, based on the number of arguments provided. If a macro accepts N arguments, the first N arguments are passed to the first invocation of the macro, the second N arguments to the second invocation, and so on. An error is returned when the wrong number of arguments is passed.","args_str":"<macro-name> [<macro-call-arg0> <macro-call-arg1> ...])","args":[],"details":[],"executable":false,"n_children":0,"modes":[],"children":[]}]},{"cmd":"*","type":"argv","summary":"Pointer read/write data/values","description":"Read or write values at a given address. When the value is a hexstring, it is decoded and written as raw bytes. Otherwise, it is evaluated as an expression and written using the current endianness and bitness settings.","args_str":"<addr>[=<expr>|<hexstring>]","args":[{"type":"expression","name":"addr","required":true},{"type":"expression","name":"value","is_last":true}],"details":[{"name":"Examples","entries":[{"text":"*","comment":"write trap in entrypoint","arg_str":"entry0=cc"},{"text":"*","comment":"write 0x804800 with the current bitness, 10 bytes from the entrypoint","arg_str":"entry0+10=0x804800"},{"text":"*","comment":"write the 32-bits value read at the entrypoint to the current offset","arg_str":"$$=[entry0] @e:asm.bits=32"},{"text":"*","comment":"read the value contained at the entrypoint","arg_str":"entry0"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":".","type":"group","summary":"Interpret commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":8,"modes":[],"children":[{"cmd":".","type":"argv","summary":"Repeat last executed command backward / Interpret the output of the command as rizin commands","description":"","args_str":"[<cmd>]","args":[{"type":"command","name":"cmd","nospace":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":". ","type":"argv","summary":"Interpret script","description":"","args_str":"<file.rz>","args":[{"type":"filename","name":"file.rz","nospace":true,"required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"...","type":"argv","summary":"Repeat last executed command forward (same as \\\\n)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"..","type":"argv","summary":"Run the output of the execution of a script as rizin commands","description":"","args_str":" <file>","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":".-","type":"argv","summary":"Open cfg.editor and interpret tmp file","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":".*","type":"argv","summary":"Same as #!pipe open cfg.editor and interpret tmp file","description":"","args_str":" <file>","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":".(","type":"argv","summary":"Call macro","description":"","args_str":"<macro-name> [<macro-arg1> <macro-arg2> ...])","args":[{"type":"macro","name":"macro-name","nospace":true,"required":true},{"type":"raw","name":"macro-arg","is_array":true},{"type":"fake","name":")"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"..(","type":"argv","summary":"Call macro multiple times","description":"Call a macro multiple times with arguments taken n at a time, where n is the number of macro arguments","args_str":"<macro-name> [<set1-arg1> <set1-arg2> ...] [<set2-arg1> <set2-arg2> ...] ...)","args":[{"type":"macro","name":"macro-name","nospace":true,"required":true},{"type":"raw","name":"macro-arg-set","is_array":true},{"type":"fake","name":")"}],"details":[{"name":"Example","entries":[{"text":"(","comment":"Define wv2 macro with word($0) and addr($1) args","arg_str":"wv2 word addr; wv2 $0 @ $1)"},{"text":"..(","comment":"Write 2 words at 2 different addresses","arg_str":"wv2 128 0x804800 256 0x804900)"}]}],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"/","type":"group","summary":"Search for bytes, regexps, patterns, ..","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":18,"modes":[],"children":[{"cmd":"/+","type":"argv_modes","summary":"Construct the string with chunks.","description":"","args_str":" </bin/sh>","args":[{"type":"string","name":"/bin/sh","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/a","type":"group","summary":"Assemble the instruction and search its bytes.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":16,"modes":["standard","json","quiet","table"],"children":[{"cmd":"/a","type":"argv_state","summary":"Assemble the instruction and search its bytes.","description":"","args_str":" <asm-text>","args":[{"type":"string","name":"asm-text","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/a1","type":"argv_modes","summary":"Find valid assembly generated by changing only the nth byte","description":"","args_str":" <number>","args":[{"type":"string","name":"number","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/aI","type":"argv_modes","summary":"Search for infinite loop instructions (jmp $$)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/aa","type":"argv_modes","summary":"Linearly find aproximated assembly (case insensitive strstr)","description":"","args_str":" <asm-text>","args":[{"type":"string","name":"asm-text","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/ac","type":"argv_modes","summary":"Same as /aa, but case-sensitive","description":"","args_str":" <asm-text>","args":[{"type":"string","name":"asm-text","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/ad","type":"argv_modes","summary":"Match ins1 followed by ins2 in linear disasm","description":"","args_str":" <mnem;mov>","args":[{"type":"string","name":"mnem;mov","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/ad/","type":"argv","summary":"Search for regex instruction 'ins1' followed by regex 'ins2'","description":"","args_str":" <ins1;ins2>","args":[{"type":"string","name":"ins1;ins2","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"/ad/a","type":"argv","summary":"Search for every byte instruction that matches regexp 'instr'","description":"","args_str":" <instr>","args":[{"type":"string","name":"instr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"/ae","type":"argv_modes","summary":"Search for esil expressions matching substring","description":"","args_str":" <esil>","args":[{"type":"string","name":"esil","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/af","type":"group","summary":"Search for instruction of specific family (afl=list","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json"],"children":[{"cmd":"/af","type":"argv_modes","summary":"Search for instruction of specific family (afl=list","description":"","args_str":" <family>","args":[{"type":"string","name":"family","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/afl","type":"argv","summary":"Search for instruction of specific family. List mode.","description":"","args_str":" <family>","args":[{"type":"string","name":"family","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"/ai","type":"argv_modes","summary":"Find all the instructions using that immediate (in range)","description":"","args_str":" <0x300> [<0x500>]","args":[{"type":"string","name":"0x300","required":true},{"type":"string","name":"0x500","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/al","type":"argv_modes","summary":"Same as aoml, list all opcodes","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/am","type":"argv_modes","summary":"Search for specific instructions of specific mnemonic","description":"","args_str":" <opcode>","args":[{"type":"string","name":"opcode","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/ao","type":"argv_modes","summary":"Search for instruction 'instr' (in all offsets)","description":"","args_str":" <instr>","args":[{"type":"string","name":"instr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/as","type":"group","summary":"Search for syscalls (See /at swi and /af priv)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json"],"children":[{"cmd":"/as","type":"argv_modes","summary":"Search for syscalls (See /at swi and /af priv)","description":"","args_str":" [<type>]","args":[{"type":"string","name":"type","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/asl","type":"argv","summary":"Search for syscalls (See /at swi and /af priv). List mode.","description":"","args_str":" [<type>]","args":[{"type":"string","name":"type","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"/at","type":"group","summary":"Search for instructions of given type","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json"],"children":[{"cmd":"/at","type":"argv_modes","summary":"Search for instructions of given type","description":"","args_str":" [<type>]","args":[{"type":"string","name":"type","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/atl","type":"argv","summary":"Search for instructions of given type. List mode.","description":"","args_str":" [<type>]","args":[{"type":"string","name":"type","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]}]},{"cmd":"/c","type":"group","summary":"Cryptographic material search.","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":4,"modes":[],"children":[{"cmd":"/ch","type":"argv_state","summary":"Search for blocks that have the same hash.","description":"","args_str":" <algo> <hash> <block_size>=256","args":[{"type":"string","name":"algo","required":true},{"type":"string","name":"hash","required":true},{"type":"number","name":"block_size","required":true,"default":"256"}],"details":[{"name":"Usage example","entries":[{"text":"/ch","comment":"MD5 hash search within blocks of 512 bytes.","arg_str":" md5 0bc8f8c426b74ffaedac8330a7464014 512"}]},{"name":"Tip","entries":[{"text":"","comment":"The command 'Lh' gives you a list of supported hash plugins.","arg_str":""},{"text":"","comment":"Use /ce and /cef for entropy search.","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/ce","type":"argv_state","summary":"Search for blocks above an entropy level.","description":"","args_str":" <min_entropy> <max_entropy>=8.0 <block_size>=256","args":[{"type":"number","name":"min_entropy","required":true},{"type":"number","name":"max_entropy","required":true,"default":"8.0"},{"type":"number","name":"block_size","required":true,"default":"256"}],"details":[{"name":"Usage example","entries":[{"text":"/ce","comment":"Find 512 byte long blocks with an entropy between 2.5 and 7.4 (inclusive min & max).","arg_str":" 2.5 7.4 512"}]}],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/cef","type":"argv_state","summary":"Search for blocks above an fractional entropy level.","description":"","args_str":" <min_entropy> <max_entropy>=1.0 <block_size>=256","args":[{"type":"number","name":"min_entropy","required":true},{"type":"number","name":"max_entropy","required":true,"default":"1.0"},{"type":"number","name":"block_size","required":true,"default":"256"}],"details":[{"name":"Usage example","entries":[{"text":"/cef","comment":"Find 512 byte long blocks with a fractional entropy between 0.3 and 0.8 (inclusive min & max).","arg_str":" 0.3 0.8 512"}]}],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/cm","type":"argv_state","summary":"Search cryptographic material.","description":"","args_str":" <type>=all","args":[{"type":"choice","name":"type","required":true,"default":"all","choices":["all","aes128","aes192","aes256","sm4be","sm4le","rsa","ecc","safecurves","x509"]}],"details":[{"name":"Types","entries":[{"text":"aes128","comment":"Searches for expanded AES 128 keys.","arg_str":""},{"text":"aes192","comment":"Searches for expanded AES 192 keys.","arg_str":""},{"text":"aes256","comment":"Searches for expanded AES 256 keys.","arg_str":""},{"text":"sm4be","comment":"Searches for expanded SM4 keys (big-endian).","arg_str":""},{"text":"sm4le","comment":"Searches for expanded SM4 keys (little-endian).","arg_str":""},{"text":"rsa","comment":"Searches for DER/BER encoded RSA keys (see RFC 3447).","arg_str":""},{"text":"ecc","comment":"Searches for DER/BER encoded ECC keys (see RFC 5915).","arg_str":""},{"text":"safecurves","comment":"Searches for DER/BER encoded SafeCurves keys (see RFC 8410).","arg_str":""},{"text":"x509","comment":"Searches for DER/BER encoded X.509 certificates.","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]}]},{"cmd":"/C","type":"group","summary":"Search, List, Query for COP Gadgets","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":7,"modes":["standard","json","quiet","table"],"children":[{"cmd":"/C","type":"argv_state","summary":"List COP Gadgets","description":"","args_str":" [<filter-by-string>]","args":[{"type":"string","name":"filter-by-string","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/C-","type":"argv","summary":"Clear COP gadget cache","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"/C/","type":"argv_state","summary":"List COP Gadgets [regular expression]","description":"","args_str":" [<filter-by-regex>]","args":[{"type":"string","name":"filter-by-regex","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/Ck","type":"argv_state","summary":"Query COP Gadgets by providing constraints","description":"","args_str":" <key>[=<val>] [<key>[=<val>] ...]]","args":[{"type":"string","name":"key=value","required":true,"is_last":true}],"details":[{"name":"Constraint types","entries":[{"text":"reg=const","comment":"Find gadgets that set a register to a constant value","arg_str":""},{"text":"reg=reg","comment":"Find gadgets that copy one register to another","arg_str":""},{"text":"reg=reg OP const","comment":"Find gadgets with register and constant arithmetic","arg_str":""},{"text":"reg=reg OP reg","comment":"Find gadgets with register-register operations","arg_str":""}]},{"name":"Supported operations","entries":[{"text":"+ - * / %","comment":"Arithmetic operations (add, sub, mul, div, mod)","arg_str":""},{"text":"& | ^","comment":"Bitwise operations (AND, OR, XOR)","arg_str":""},{"text":"<< >>","comment":"Shift operations (left, right)","arg_str":""}]},{"name":"Compound operators","entries":[{"text":"reg++ or reg--","comment":"Increment or decrement register","arg_str":""},{"text":"reg+=val, reg-=val","comment":"Compound assignment operators","arg_str":""}]},{"name":"Usage example","entries":[{"text":"Find gadgets setting rax to 0","comment":"/Ck rax=0","arg_str":""},{"text":"Find gadgets copying rbx to rax","comment":"/Ck rax=rbx","arg_str":""},{"text":"Find gadgets with rax = rbx + 8","comment":"/Ck rax=rbx+8","arg_str":""},{"text":"Find gadgets with multiple constraints","comment":"/Ck rax=0,rbx=rcx","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/Cg","type":"argv_state","summary":"Gadget detail info","description":"","args_str":" [<Gadget address>]","args":[{"type":"string","name":"Gadget address","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long"],"children":[]},{"cmd":"/Cs","type":"argv_state","summary":"Search cop gadgets given stack changes","description":"","args_str":" <Stack changes>","args":[{"type":"string","name":"Stack changes","required":true,"is_last":true}],"details":[{"name":"Usage example","entries":[{"text":"Search COP gadgets with less than 0x200 stack changes","comment":"/Cs \"<0x200\"","arg_str":""},{"text":"Search COP gadgets with 0x100 stack changes","comment":"/Cs =0x100","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/Cl","type":"argv_state","summary":"Search cop gadgets given gadget size","description":"","args_str":" <Gadget size>","args":[{"type":"string","name":"Gadget size","required":true,"is_last":true}],"details":[{"name":"Usage example","entries":[{"text":"Search COP gadgets with the size less than 0x20","comment":"/Cl \"<0x20\"","arg_str":""},{"text":"Search COP gadgets with the size 0x10","comment":"/Cl =0x10","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"/d","type":"argv_modes","summary":"Search for a deltified sequence of bytes.","description":"","args_str":" <101112>","args":[{"type":"string","name":"101112","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/F","type":"argv_state","summary":"Search the content of a file.","description":"","args_str":" <file> [<offset> [<size>]]","args":[{"type":"string","name":"file","required":true},{"type":"string","name":"offset"},{"type":"string","name":"size","is_last":true}],"details":[{"name":"Arguments","entries":[{"text":"<file>","comment":"The file containing the data to search.","arg_str":""},{"text":"<offset>","comment":"Offset into <file> to read the search data from.","arg_str":""},{"text":"<size>","comment":"Number of bytes to read from the <file>.","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/J","type":"group","summary":"Search, List, Query for JOP Gadgets","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":7,"modes":["standard","json","quiet","table"],"children":[{"cmd":"/J","type":"argv_state","summary":"List JOP Gadgets","description":"","args_str":" [<filter-by-string>]","args":[{"type":"string","name":"filter-by-string","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/J-","type":"argv","summary":"Clear JOP gadget cache","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"/J/","type":"argv_state","summary":"List JOP Gadgets [regular expression]","description":"","args_str":" [<filter-by-regex>]","args":[{"type":"string","name":"filter-by-regex","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/Jk","type":"argv_state","summary":"Query JOP Gadgets by providing constraints","description":"","args_str":" <key>[=<val>] [<key>[=<val>] ...]]","args":[{"type":"string","name":"key=value","required":true,"is_last":true}],"details":[{"name":"Constraint types","entries":[{"text":"reg=const","comment":"Find gadgets that set a register to a constant value","arg_str":""},{"text":"reg=reg","comment":"Find gadgets that copy one register to another","arg_str":""},{"text":"reg=reg OP const","comment":"Find gadgets with register and constant arithmetic","arg_str":""},{"text":"reg=reg OP reg","comment":"Find gadgets with register-register operations","arg_str":""}]},{"name":"Supported operations","entries":[{"text":"+ - * / %","comment":"Arithmetic operations (add, sub, mul, div, mod)","arg_str":""},{"text":"& | ^","comment":"Bitwise operations (AND, OR, XOR)","arg_str":""},{"text":"<< >>","comment":"Shift operations (left, right)","arg_str":""}]},{"name":"Compound operators","entries":[{"text":"reg++ or reg--","comment":"Increment or decrement register","arg_str":""},{"text":"reg+=val, reg-=val","comment":"Compound assignment operators","arg_str":""}]},{"name":"Usage example","entries":[{"text":"Find gadgets setting rax to 0","comment":"/Jk rax=0","arg_str":""},{"text":"Find gadgets copying rbx to rax","comment":"/Jk rax=rbx","arg_str":""},{"text":"Find gadgets with rax = rbx + 8","comment":"/Jk rax=rbx+8","arg_str":""},{"text":"Find gadgets with multiple constraints","comment":"/Jk rax=0,rbx=rcx","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/Jg","type":"argv_state","summary":"Gadget detail info","description":"","args_str":" [<Gadget address>]","args":[{"type":"string","name":"Gadget address","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long"],"children":[]},{"cmd":"/Js","type":"argv_state","summary":"Search jop gadgets given stack changes","description":"","args_str":" <Stack changes>","args":[{"type":"string","name":"Stack changes","required":true,"is_last":true}],"details":[{"name":"Usage example","entries":[{"text":"Search JOP gadgets with less than 0x200 stack changes","comment":"/Js \"<0x200\"","arg_str":""},{"text":"Search JOP gadgets with 0x100 stack changes","comment":"/Js =0x100","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/Jl","type":"argv_state","summary":"Search JOP gadgets given gadget size","description":"","args_str":" <Gadget size>","args":[{"type":"string","name":"Gadget size","required":true,"is_last":true}],"details":[{"name":"Usage example","entries":[{"text":"Search JOP gadgets with the size less than 0x20","comment":"/Jl \"<0x20\"","arg_str":""},{"text":"Search JOP gadgets with the size 0x10","comment":"/Jl =0x10","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"/o","type":"argv_modes","summary":"Show offset of n instructions backward.","description":"","args_str":" [<n>]","args":[{"type":"string","name":"n","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/O","type":"argv_modes","summary":"Same as /o, but with a different fallback if analysis cannot be used.","description":"","args_str":" [<n>]","args":[{"type":"string","name":"n","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/p","type":"argv_state","summary":"Search for pattern of given size.","description":"","args_str":" <patternsize>","args":[{"type":"string","name":"patternsize","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/P","type":"argv_state","summary":"Search similar blocks.","description":"","args_str":" <patternsize>","args":[{"type":"number","name":"patternsize","required":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/g","type":"group","summary":"Search for all graph paths A to B.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json"],"children":[{"cmd":"/g","type":"argv_state","summary":"Search for all graph paths A to B (does not follow calls).","description":"","args_str":" <from> <to>","args":[{"type":"expression","name":"from","required":true},{"type":"expression","name":"to","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/gg","type":"argv_state","summary":"Search for all graph paths A to B (follows calls, see `search.count` and `analysis.depth`).","description":"","args_str":" <from> <to>","args":[{"type":"expression","name":"from","required":true},{"type":"expression","name":"to","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"/m","type":"group","summary":"Magic constants search.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json","quiet","table"],"children":[{"cmd":"/m","type":"argv_state","summary":"Magic constants search.","description":"","args_str":" [<magic-file>]","args":[{"type":"string","name":"magic-file","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/mb","type":"argv","summary":"Search recognized RzBin headers.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"/r","type":"group","summary":"Reference search.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":6,"modes":[],"children":[{"cmd":"/r","type":"argv","summary":"Reference search.","description":"","args_str":" <address>","args":[{"type":"string","name":"address","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"/ra","type":"argv","summary":"Search all references.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"/rc","type":"argv","summary":"Search call references.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"/rr","type":"argv","summary":"Search read references.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"/rw","type":"argv","summary":"Search write references.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"/rx","type":"argv","summary":"Search execute references.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"/R","type":"group","summary":"Search, List, Query for ROP Gadgets","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":7,"modes":["standard","json","quiet","table"],"children":[{"cmd":"/R","type":"argv_state","summary":"List ROP Gadgets","description":"","args_str":" [<filter-by-string>]","args":[{"type":"string","name":"filter-by-string","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/R-","type":"argv","summary":"Clear ROP gadget cache","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"/R/","type":"argv_state","summary":"List ROP Gadgets [regular expression]","description":"","args_str":" [<filter-by-regex>]","args":[{"type":"string","name":"filter-by-regex","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/Rk","type":"argv_state","summary":"Query ROP Gadgets by providing constraints","description":"","args_str":" <key>[=<val>] [<key>[=<val>] ...]]","args":[{"type":"string","name":"key=value","required":true,"is_last":true}],"details":[{"name":"Constraint types","entries":[{"text":"reg=const","comment":"Find gadgets that set a register to a constant value","arg_str":""},{"text":"reg=reg","comment":"Find gadgets that copy one register to another","arg_str":""},{"text":"reg=reg OP const","comment":"Find gadgets with register and constant arithmetic","arg_str":""},{"text":"reg=reg OP reg","comment":"Find gadgets with register-register operations","arg_str":""}]},{"name":"Supported operations","entries":[{"text":"+ - * / %","comment":"Arithmetic operations (add, sub, mul, div, mod)","arg_str":""},{"text":"& | ^","comment":"Bitwise operations (AND, OR, XOR)","arg_str":""},{"text":"<< >>","comment":"Shift operations (left, right)","arg_str":""}]},{"name":"Compound operators","entries":[{"text":"reg++ or reg--","comment":"Increment or decrement register","arg_str":""},{"text":"reg+=val, reg-=val","comment":"Compound assignment operators","arg_str":""}]},{"name":"Usage example","entries":[{"text":"Find gadgets setting rax to 0","comment":"/Rk rax=0","arg_str":""},{"text":"Find gadgets copying rbx to rax","comment":"/Rk rax=rbx","arg_str":""},{"text":"Find gadgets with rax = rbx + 8","comment":"/Rk rax=rbx+8","arg_str":""},{"text":"Find gadgets with multiple constraints","comment":"/Rk rax=0,rbx=rcx","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/Rg","type":"argv_state","summary":"Gadget detail info","description":"","args_str":" [<Gadget address>]","args":[{"type":"string","name":"Gadget address","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long"],"children":[]},{"cmd":"/Rs","type":"argv_state","summary":"Search rop gadgets given stack changes","description":"","args_str":" <Stack changes>","args":[{"type":"string","name":"Stack changes","required":true,"is_last":true}],"details":[{"name":"Usage example","entries":[{"text":"Search ROP gadgets with less than 0x200 stack changes","comment":"/Rs \"<0x200\"","arg_str":""},{"text":"Search ROP gadgets with 0x100 stack changes","comment":"/Rs =0x100","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/Rl","type":"argv_state","summary":"Search rop gadgets given gadget size","description":"","args_str":" <Gadget size>","args":[{"type":"string","name":"Gadget size","required":true,"is_last":true}],"details":[{"name":"Usage example","entries":[{"text":"Search ROP gadgets with the size less than 0x20","comment":"/Rl \"<0x20\"","arg_str":""},{"text":"Search ROP gadgets with the size 0x10","comment":"/Rl =0x10","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"/v","type":"group","summary":"Value search.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":9,"modes":["standard","json","quiet","table"],"children":[{"cmd":"/v","type":"argv_state","summary":"Value search.","description":"","args_str":" <bytes> <range1> <range2> ...","args":[{"type":"choice","name":"bytes","required":true,"choices":["1","2le","4le","8le","2be","4be","8be","2a","4a","8a"]},{"type":"string","name":"range","required":true,"is_array":true}],"details":[{"name":"Arguments","entries":[{"text":"bytes","comment":"Value byte width and endianess.","arg_str":""},{"text":"range","comment":"One or multiple ranges of values. Can be single values or range descriptions. Must be wrapped in '\"'.","arg_str":""}]},{"name":"Usage example","entries":[{"text":"/v","comment":"Search 512 represented in 4 bytes big endian order.","arg_str":" 4be 512"},{"text":"/v","comment":"Search values in the closed range '[0x80000000,0x80001000]' represented in 8 bytes little endian order.","arg_str":" 8le \"[0x80000000,0x80001000]\""},{"text":"/v","comment":"Search values in the open range '(0x1000,0xff0)' represented in 2 bytes order of cfg.bigendian.","arg_str":" 2a \"(0x1000,0xff0)\""},{"text":"/v","comment":"Search values in the right open range '[0x20,0x10)', value '0x55' and closed range values '[0xf0,0xff]' represented in 1 byte.","arg_str":" 1 \"[0x20,0x10)\", 0x55, \"[0xf0,0xff]\""}]}],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/v1","type":"argv_state","summary":"Value search - Alias for /v 1 <value>.","description":"","args_str":" <value>","args":[{"type":"number","name":"value","required":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/v2","type":"argv_state","summary":"Value search - Alias for /v 2a <value>.","description":"","args_str":" <value>","args":[{"type":"number","name":"value","required":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/v4","type":"argv_state","summary":"Value search - Alias for /v 4a <value>.","description":"","args_str":" <value>","args":[{"type":"number","name":"value","required":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/v8","type":"argv_state","summary":"Value search - Alias for /v 8a <value>.","description":"","args_str":" <value>","args":[{"type":"number","name":"value","required":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/V1","type":"argv_state","summary":"Value search - Alias for /v 1 [<min_value>,<max_value>].","description":"","args_str":" <min_value> <max_value>","args":[{"type":"number","name":"min_value","required":true},{"type":"number","name":"max_value","required":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/V2","type":"argv_state","summary":"Value search - Alias for /v 2a [<min_value>,<max_value>].","description":"","args_str":" <min_value> <max_value>","args":[{"type":"number","name":"min_value","required":true},{"type":"number","name":"max_value","required":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/V4","type":"argv_state","summary":"Value search - Alias for /v 4a [<min_value>,<max_value>].","description":"","args_str":" <min_value> <max_value>","args":[{"type":"number","name":"min_value","required":true},{"type":"number","name":"max_value","required":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/V8","type":"argv_state","summary":"Value search - Alias for /v 8a [<min_value>,<max_value>].","description":"","args_str":" <min_value> <max_value>","args":[{"type":"number","name":"min_value","required":true},{"type":"number","name":"max_value","required":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]}]},{"cmd":"/x","type":"group","summary":"Raw hexadecimal search.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json","quiet","table"],"children":[{"cmd":"/x","type":"argv_state","summary":"Raw hexadecimal search.","description":"","args_str":" <pattern>","args":[{"type":"string","name":"pattern","required":true,"is_last":true}],"details":[{"name":"Usage example","entries":[{"text":"Hexadecimal search for the exact bytes 'ffcc33'.","comment":"/x ffcc33","arg_str":""},{"text":"Hexadecimal search for the byte pattern 'ff..33.0.'. The '.' is a wildcard for 4bits.","comment":"/x ff..33.0","arg_str":""},{"text":"Hexadecimal search of the bytes with mask. Pattern: '<resulting bytes>:<mask>'","comment":"/x ffd0:ff43","arg_str":""},{"text":"Hexadecimal search with an odd number of nibbles.","comment":"'aabbc' is equivalent to '.aabbc'","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/xr","type":"argv_state","summary":"Regex bytes search.","description":"","args_str":" <regex_pattern>","args":[{"type":"string","name":"regex_pattern","required":true,"is_last":true}],"details":[{"name":"Usage examples","entries":[{"text":" Bytes are prefixed with a 'x'. Search exact match '\\x99\\x0a'.","comment":"/xr x99x0a","arg_str":""},{"text":"Search 2-8 NUL bytes, then '\\x99' and '\\x0a'","comment":"/xr x00{2,8}x99x0a","arg_str":""},{"text":"A '.' matches one byte. Search matches: '\\x72\\xNN\\x00'. '\\xNN' can appear 0-1 times.","comment":"/xr x72.?x00","arg_str":""},{"text":"Using simple ASCII is allowed. Search matches: '\\x61\\x41'","comment":"/xr aA","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]}]},{"cmd":"/z","type":"group","summary":"String search.","description":"","args_str":"","args":[],"details":[{"name":"Encodings","entries":[{"text":"ascii","comment":"ASCII encoding","arg_str":""},{"text":"8bit","comment":"8bit encoding. Alias: ASCII","arg_str":""},{"text":"mutf8","comment":"mutf8 encoding","arg_str":""},{"text":"utf8","comment":"UTF-8 encoding","arg_str":""},{"text":"utf16le","comment":"UTF-16 little endian encoding","arg_str":""},{"text":"utf32le","comment":"UTF-32 little endian encoding","arg_str":""},{"text":"utf16be","comment":"UTF-16 big endian encoding","arg_str":""},{"text":"utf32be","comment":"UTF-32 big endian encoding","arg_str":""},{"text":"ibm037","comment":"ibm037 encoding. Alias: cp037, ebcdic-cp-us, ebcdic-cp-ca, ebcdic-cp-wt, ebcdic-cp-nl, csIBM037","arg_str":""},{"text":"ibm290","comment":"ibm290 encoding. Alias: cp290, EBCDIC-JP-kana, csIBM290","arg_str":""},{"text":"ebcdices","comment":"EBCDIC-ES encoding. Alias: csEBCDICES","arg_str":""},{"text":"ebcdicuk","comment":"EBCDIC-UK encoding. Alias: csEBCDICUK","arg_str":""},{"text":"ebcdicus","comment":"EBCDIC-US encoding. Alias: csEBCDICUS","arg_str":""}]},{"name":"Regex Flags","entries":[{"text":"l","comment":"Default. Literal string comparison. Ignores all meta-characters.","arg_str":""},{"text":"i","comment":"Caseless (equivalent: PCRE2_CASELESS)","arg_str":""},{"text":"r","comment":"Regular expression.","arg_str":""},{"text":"e","comment":"Extended regular expression.","arg_str":""},{"text":"m","comment":"Multiline regular expression (equivalent flag: PCRE2_MULTILINE)","arg_str":""},{"text":"d","comment":"Dot matches any one character, without exception (equivalent flag: PCRE2_DOTALL)","arg_str":""}]},{"name":"Examples","entries":[{"text":"/z","comment":"Search the exact string \"(ABC*)\".","arg_str":" (ABC*)"},{"text":"/z","comment":"Search the exact string \"(ABC*)D\" but case insensitive.","arg_str":" (ABC*)D li"},{"text":"/z","comment":"Search the regular expression \"\\d\\sC*\\w\" but case insensitive.","arg_str":" \\\\d\\\\sC*\\\\w ri"},{"text":"/z","comment":"Search the extended regular expression \"и.{3}м\" but case insensitive.","arg_str":" \"и.{3}м\" ei"}]}],"executable":true,"n_children":1,"modes":["standard","json","quiet","table"],"children":[{"cmd":"/z","type":"argv_state","summary":"String search.","description":"","args_str":" <pattern> <regex_flags>=l <encoding>=settings","args":[{"type":"string","name":"pattern","required":true},{"type":"string","name":"regex_flags","required":true,"default":"l"},{"type":"choice","name":"encoding","required":true,"default":"settings","choices":["ascii","8bit","mutf8","utf8","utf16le","utf32le","utf16be","utf32be","ibm037","ibm290","ebcdices","ebcdicuk","ebcdicus","guess"]}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]}]}]},{"cmd":":","type":"fake","summary":"Command specifiers (table-output only for now)","description":"","args_str":"","args":[],"details":[{"name":"Table format specifiers (<table_spec>)","entries":[{"text":"<col>/sort/rev","comment":"Sort table by column <col> in reverse order.","arg_str":""},{"text":"<col>/sortlen/rev","comment":"Sort table by column <col> length in reverse order.","arg_str":""},{"text":"<col>/cols[/<col2>[/<col3>...]]","comment":"Show only specified columns in the table.","arg_str":""},{"text":"<col>","comment":"Show only column <col> (it must not have the same name as an output format specifier).","arg_str":""},{"text":"<col>/gt/<val>","comment":"Grep rows where column <col> is greater than <val>.","arg_str":""},{"text":"<col>/ge/<val>","comment":"Grep rows where column <col> is greater than or equal to <val>.","arg_str":""},{"text":"<col>/lt/<val>","comment":"Grep rows where column <col> is less than <val>.","arg_str":""},{"text":"<col>/le/<val>","comment":"Grep rows where column <col> is less than or equal to <val>.","arg_str":""},{"text":"<col>/eq/<val>","comment":"Grep rows where column <col> is equal to <val>.","arg_str":""},{"text":"<col>/ne/<val>","comment":"Grep rows where column <col> is not equal to <val>.","arg_str":""},{"text":"<col|*>/uniq","comment":"Only get the first row where column <col> or all columns are unique.","arg_str":""},{"text":"*/page/<n_page>/<page_size>","comment":"Show <page_size> rows starting from the page number <n_page>.","arg_str":""},{"text":"*/head/<n_rows>","comment":"Show the first <n_rows> rows.","arg_str":""},{"text":"*/tail/<n_rows>","comment":"Show the last <n_rows> rows.","arg_str":""},{"text":"<col>/str/<value>","comment":"Grep rows where string <value> is a substring of column <col>.","arg_str":""},{"text":"<col>/strlen/<value>","comment":"Grep rows where the length of column <col> is <value>.","arg_str":""},{"text":"<col>/minlen/<value>","comment":"Grep rows where the length of column <col> is greater than <value>.","arg_str":""},{"text":"<col>/maxlen/<value>","comment":"Grep rows where the length of column <col> is less than <value>.","arg_str":""},{"text":"<col>/sum/<value>","comment":"Sum all the values of column <col>.","arg_str":""}]},{"name":"Output format specifiers (<output_spec>)","entries":[{"text":"csv","comment":"Print the table in CSV format.","arg_str":""},{"text":"json","comment":"Print the table in JSON format.","arg_str":""},{"text":"fancy","comment":"Print the table in a nice form with borders and headers.","arg_str":""},{"text":"simple","comment":"Print the table in a simple form, only with headers.","arg_str":""},{"text":"quiet","comment":"Print the table in a simple form, without headers.","arg_str":""}]},{"name":"Examples","entries":[{"text":"aflt","comment":"Show only the address, name and number of basic blocks of the identified functions with more than 1 block but less than 10, sorted decrementally by number of blocks.","arg_str":":addr/cols/name/nbbs:nbbs/sort/dec:nbbs/gt/1:nbbs/lt/10:fancy"}]}],"executable":false,"n_children":0,"modes":[],"children":[]},{"cmd":"<","type":"argv","summary":"Push escaped string into the RzCons.readChar (pressed keys) buffer","description":"","args_str":" <characters>","args":[{"type":"string","name":"characters","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"< ppq; <command>","comment":"Equivalent to running <command> and pressing the keys: p, p, q.","arg_str":""},{"text":"< \\n; <command>","comment":"As above, but '\\n' is equivalent to pressing <enter>.","arg_str":""}]},{"name":"Escape sequences","entries":[{"text":"\\n","comment":"newline (0x0a).","arg_str":""},{"text":"\\b","comment":"backspace (0x08).","arg_str":""},{"text":"\\t","comment":"horizontal tab (0x09).","arg_str":""},{"text":"\\v","comment":"vertical tab (0x0b).","arg_str":""},{"text":"\\f","comment":"new page (0x0c).","arg_str":""},{"text":"\\r","comment":"carriage return (0x0d).","arg_str":""},{"text":"\\xHH","comment":"Raw byte 0xHH (in hexadecimal).","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":">","type":"fake","summary":"Redirection help ('>')","description":"","args_str":"","args":[],"details":[{"name":"","entries":[{"text":"<cmd> >","comment":"Redirect STDOUT of <cmd> to <file> or save it to an alias (see $?)","arg_str":" <file>|<$alias>"},{"text":"<cmd> 2>","comment":"Redirect STDERR of <cmd> to <file> or save it to an alias (see $?)","arg_str":" <file>|<$alias>"},{"text":"<cmd> H>","comment":"Redirect HTML output of <cmd> to <file> or save it to an alias (see $?)","arg_str":" <file>|<$alias>"}]}],"executable":false,"n_children":0,"modes":[],"children":[]},{"cmd":"?*","type":"group","summary":"Search help commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":["standard","json"],"children":[{"cmd":"?*","type":"argv_modes","summary":"Search help","description":"","args_str":" [<search_cmd>]","args":[{"type":"string","name":"search_cmd"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"?**","type":"group","summary":"Search command and setting summaries.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"?**","type":"argv","summary":"Search command summaries interactively (alias for ?*~...).","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"?**e","type":"argv","summary":"Search settings interactively (alias for el~...).","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"?***","type":"argv","summary":"Search command summaries and their extended help interactively.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"?+j","type":"argv","summary":"Export full command catalog as JSON","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"@","type":"fake","summary":"'@' help, temporary modifiers, applied left-to-right","description":"","args_str":"","args":[],"details":[{"name":"","entries":[{"text":"<cmd> @ ","comment":"Temporary seek to <addr>","arg_str":"<addr>"},{"text":"<cmd> @ ","comment":"Temporary partial address seek (see s..)","arg_str":"..<addr>"},{"text":"<cmd> @!","comment":"Temporary change the block size","arg_str":"<blocksize>"},{"text":"<cmd> @(","comment":"Temporary set from and to for commands supporting ranges","arg_str":"<from> <to>)"},{"text":"<cmd> @a:","comment":"Temporary set arch and bits, if specified","arg_str":"<arch>[:<bits>]"},{"text":"<cmd> @b:","comment":"Temporary set asm.bits","arg_str":"<bits>"},{"text":"<cmd> @B:","comment":"Temporary seek to nth instruction in current basic block (negative numbers too)","arg_str":"<nth>"},{"text":"<cmd> @e:","comment":"Temporary change eval vars (multiple vars separated by comma)","arg_str":"<k>=<v>[,<k>=<v>]"},{"text":"<cmd> @f:","comment":"Temporary replace block with file contents","arg_str":"<file>"},{"text":"<cmd> @F:","comment":"Temporary change flag space","arg_str":"<flagspace>"},{"text":"<cmd> @i:","comment":"Temporary seek to the Nth relative instruction","arg_str":"<nth.op>"},{"text":"<cmd> @k:","comment":"Temporary seek at value of sdb key `key`","arg_str":"<key>"},{"text":"<cmd> @o:","comment":"Temporary switch to another fd","arg_str":"<fd>"},{"text":"<cmd> @r:","comment":"Temporary seek to register value","arg_str":"<reg>"},{"text":"<cmd> @s:","comment":"Temporary replace block with string","arg_str":"<string>"},{"text":"<cmd> @v:","comment":"Temporary replace block with value, written according to asm.bits and cfg.bigendian","arg_str":"<value>"},{"text":"<cmd> @x:","comment":"Temporary replace block with hexstring","arg_str":"<hexstring>"}]}],"executable":false,"n_children":0,"modes":[],"children":[]},{"cmd":"@@","type":"fake","summary":"'@@' help, iterators","description":"","args_str":"","args":[],"details":[{"name":"","entries":[{"text":"<cmd> @@.","comment":"Run <cmd> over the offsets specified in <file>, one per line","arg_str":" <file>"},{"text":"<cmd> @@=","comment":"Run <cmd> over the listed addresses","arg_str":"<addr1> [<addr2> ...]"},{"text":"<cmd> @@@=","comment":"Run <cmd> over the listed addresses and set the proper block size","arg_str":"<addr1> <blksz1> [<addr2> <blksz2> ...]"},{"text":"<cmd> @@/","comment":"Run <cmd> over the search results of /<search-cmd>","arg_str":"<search-cmd>"},{"text":"<cmd> @@c:","comment":"Run <cmd> on all addresses in the output of <cmd2>","arg_str":"<cmd2>"},{"text":"<cmd> @@@c:","comment":"Run <cmd> on all addresses/blocksizes in the output of <cmd2>, similar to @@@=","arg_str":"<cmd2>"},{"text":"<cmd> @@C","comment":"Run <cmd> over all comments matching <glob>. <glob> may contain `*` to indicate multiple chars. If not specified all comments are considered.","arg_str":"[:<glob>]"},{"text":"<cmd> @@dbt[abs]","comment":"Run <cmd> on every backtrace address, bp or sp","arg_str":""},{"text":"<cmd> @@t","comment":"Run <cmd> over all threads","arg_str":""},{"text":"<cmd> @@b","comment":"Run <cmd> over all basic blocks of the current function","arg_str":""},{"text":"<cmd> @@i","comment":"Run <cmd> over all instructions of the current basic block","arg_str":""},{"text":"<cmd> @@ii","comment":"Run <cmd> over all imports","arg_str":""},{"text":"<cmd> @@iS","comment":"Run <cmd> over all sections","arg_str":""},{"text":"<cmd> @@iSS","comment":"Run <cmd> over all segments","arg_str":""},{"text":"<cmd> @@is","comment":"Run <cmd> over all symbols","arg_str":""},{"text":"<cmd> @@iz","comment":"Run <cmd> over all strings","arg_str":""},{"text":"<cmd> @@f","comment":"Run <cmd> over all flags matching <glob>. <glob> may contain `*` to indicate multiple chars. If not specified all flags are considered.","arg_str":"[:<glob>]"},{"text":"<cmd> @@F","comment":"Run <cmd> over all functions matching <glob>. <glob> may contain `*` to indicate multiple chars. If not specified all functions are considered.","arg_str":"[:<glob>]"},{"text":"<cmd> @@om","comment":"Run <cmd> over all iomap (see `om`)","arg_str":""},{"text":"<cmd> @@dm","comment":"Run <cmd> over all debug maps (see `dm`)","arg_str":""},{"text":"<cmd> @@r","comment":"Run <cmd> over all registers","arg_str":""},{"text":"<cmd> @@s:","comment":"Run <cmd> on all addresses starting from <from> and going up to <to> (excluded), with a step <step>.","arg_str":"<from> <to> <step>"}]}],"executable":false,"n_children":0,"modes":[],"children":[]},{"cmd":"_","type":"argv","summary":"Print last output","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"a","type":"group","summary":"Analysis commands","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":25,"modes":[],"children":[{"cmd":"aa","type":"group","summary":"Analysis commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":20,"modes":[],"children":[{"cmd":"aa","type":"argv","summary":"Analyze all flags starting with sym. and entry","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aaa","type":"argv","summary":"Analyze all calls, references, emulation and applies signatures","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aaaa","type":"argv","summary":"Experimental analysis","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aac","type":"group","summary":"Analysis function calls commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"aac","type":"argv","summary":"Analyze function calls","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aaci","type":"argv","summary":"Analyze all function calls to imports","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"aaC","type":"argv","summary":"Analysis classes from RzBin","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aad","type":"argv","summary":"Analyze data references to code","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aae","type":"group","summary":"Analysis commands using ESIL","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"aae","type":"argv","summary":"Analyze references with ESIL","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[{"name":"Examples","entries":[{"text":"aae","comment":"analyze ranges given by analysis.in","arg_str":""},{"text":"aae","comment":"analyze the whole section","arg_str":" $SS @ $S"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aaef","type":"argv","summary":"Analyze references with ESIL in all functions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"aaf","type":"group","summary":"Analysis function commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":[],"children":[{"cmd":"aaf","type":"argv","summary":"Analyze all functions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aafe","type":"argv","summary":"Analyze all functions using ESIL","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aafr","type":"argv","summary":"Analyze all consecutive functions in section","description":"","args_str":" <length>","args":[{"type":"number","name":"length","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aaft","type":"argv","summary":"Performs recursive type matching in all functions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"aai","type":"argv_state","summary":"Print preformed analysis details","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"aaj","type":"argv","summary":"Analyze all unresolved jumps","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aal","type":"group","summary":"Language specific analysis commands","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":3,"modes":[],"children":[{"cmd":"aalg","type":"argv","summary":"Recover and analyze all Golang functions and strings","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aalor","type":"argv","summary":"Analyze all Objective-C references from selector usages to their implementations","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aalos","type":"argv","summary":"Recover all Objective-C selector stub names (__objc_stubs section contents)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"aan","type":"group","summary":"Automatic rename functions commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"aan","type":"argv","summary":"Renames all functions based on their strings or calls","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aanr","type":"argv","summary":"Renames all functions which does not return","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"aap","type":"argv","summary":"Analyze all preludes","description":"","args_str":"","args":[],"details":[{"name":"Search a custom prelude","entries":[{"text":"e analysis.prelude='90AEF630'","comment":"Set new prelude","arg_str":""},{"text":"aap","comment":"Search for 90AEF630 and create a new function","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aar","type":"argv","summary":"Analyze xrefs in current section or by n_bytes","description":"","args_str":" [<n_bytes>]","args":[{"type":"number","name":"n_bytes"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aas","type":"argv","summary":"Analyze only the symbols","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aaS","type":"argv","summary":"Analyze only the flags starting as sym.* and entry*","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aat","type":"argv","summary":"Analyze all/given function to convert immediate to linked structure offsets","description":"","args_str":" [<func_name>]","args":[{"type":"function","name":"func_name"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aaT","type":"argv","summary":"Prints commands to create functions after a trap call","description":"","args_str":" [<n_bytes>]","args":[{"type":"number","name":"n_bytes"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aau","type":"argv","summary":"Print memory areas not covered by functions","description":"","args_str":" [<min_len>]","args":[{"type":"number","name":"min_len"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aav","type":"argv_state","summary":"Analyze values referencing a specific section or map","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]}]},{"cmd":"ad","type":"group","summary":"Analyze data","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":[],"children":[{"cmd":"ad","type":"argv","summary":"Analyze <count> data words with <depth>","description":"","args_str":" [<count> [<depth> [<wordsize>]]]","args":[{"type":"expression","name":"count"},{"type":"expression","name":"depth"},{"type":"expression","name":"wordsize","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"adf","type":"argv","summary":"Analyze data in function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"adfg","type":"argv","summary":"Analyze data in function gaps","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"adk","type":"argv","summary":"Analyze data kind (code, text, data, invalid, etc)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"adt","type":"argv","summary":"Analyze data trampolines","description":"","args_str":" <minimum>=0 <maximum>=0","args":[{"type":"expression","name":"minimum","required":true,"default":"0"},{"type":"expression","name":"maximum","required":true,"is_last":true,"default":"0"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"af","type":"group","summary":"Analyze Functions commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":24,"modes":[],"children":[{"cmd":"af","type":"argv","summary":"Analyze functions recursively (honors `analysis.calls`)","description":"","args_str":" [<name>]","args":[{"type":"string","name":"name","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afr","type":"argv","summary":"Analyze functions recursively","description":"","args_str":" [<name>]","args":[{"type":"string","name":"name","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"af+","type":"argv","summary":"Hand craft a function (requires `afb+`)","description":"","args_str":" <name> [<type>]","args":[{"type":"string","name":"name","required":true},{"type":"choice","name":"type","choices":["l","i","s"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"af-","type":"argv","summary":"Delete function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"af-*","type":"argv","summary":"Delete all function analysis data","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afj","type":"argv","summary":"Analyze function jumptable","description":"","args_str":" <tbl_addr> <elements>","args":[{"type":"expression","name":"tbl_addr","required":true},{"type":"expression","name":"elements","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afa","type":"argv","summary":"Analyze function arguments in a call","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afal","type":"argv","summary":"Analyze function arguments in a call (honors `dbg.funcarg`)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afb","type":"group","summary":"Basic blocks commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":10,"modes":["standard","json","quiet","table"],"children":[{"cmd":"afb","type":"argv_state","summary":"List basic blocks of function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"afb+","type":"argv","summary":"Add basic block by hand","description":"","args_str":" <fcn_addr> <addr> <size> [<jump> [<fail>]]","args":[{"type":"expression","name":"fcn_addr","required":true},{"type":"expression","name":"addr","required":true},{"type":"expression","name":"size","required":true},{"type":"expression","name":"jump"},{"type":"expression","name":"fail","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afb-","type":"argv","summary":"Remove basic block from function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afb-*","type":"argv","summary":"Remove all basic blocks from function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afbe","type":"argv","summary":"Add basic-block edge for switch-cases","description":"","args_str":" <switch_addr> <case_addr>","args":[{"type":"expression","name":"switch_addr","required":true},{"type":"expression","name":"case_addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afbet","type":"argv","summary":"Set basic-block switch-case enum type","description":"","args_str":" <switch_addr> <enum_name>","args":[{"type":"expression","name":"switch_addr","required":true},{"type":"unknown","name":"enum_name","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afbr","type":"argv","summary":"Show addresses of instructions which leave the function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afb=","type":"argv","summary":"Display ascii-art bars for basic block regions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afbi","type":"argv_state","summary":"Print single basic block information","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","long","table"],"children":[]},{"cmd":"afbc","type":"argv","summary":"Set a color for the basic block at a given address","description":"","args_str":" <addr> <color>","args":[{"type":"expression","name":"addr","required":true},{"type":"expression","name":"color","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"afB","type":"argv","summary":"Set asm.bits for the current function","description":"","args_str":" <bits>","args":[{"type":"number","name":"bits","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afs","type":"group","summary":"Function signatures commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":["standard","json"],"children":[{"cmd":"afs","type":"argv_modes","summary":"Get/Set function signature at current address","description":"","args_str":" [<signature>]","args":[{"type":"string","name":"signature","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"afsb","type":"argv_state","summary":"Outputs the function signature bytes, mask and search mask at current address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"afs!","type":"argv","summary":"Set function signature at current address by using the editor","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afsr","type":"argv","summary":"Change type for current function","description":"","args_str":" <type>","args":[{"type":"string","name":"type","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"afo","type":"argv_modes","summary":"Show address of current function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"afu","type":"argv","summary":"Resize and analyze function from current address until addr","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afx","type":"argv_state","summary":"List function references","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"afS","type":"argv","summary":"Set stack frame size for function at current address","description":"","args_str":" <size>","args":[{"type":"expression","name":"size","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afv","type":"group","summary":"Manipulate arguments/variables in a function","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":14,"modes":[],"children":[{"cmd":"afvl","type":"argv_state","summary":"List all variables and arguments of the current function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long","table"],"children":[]},{"cmd":"afv=","type":"argv","summary":"List function variables and arguments with disasm refs","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afv-","type":"argv","summary":"Remove all variables/arguments or just the specified one","description":"","args_str":" <varname|*>","args":[{"type":"unknown","name":"varname|*","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afva","type":"argv","summary":"Analyze function arguments/locals","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afvd","type":"argv","summary":"Display the value of arguments/variables","description":"","args_str":" [<varname>]","args":[{"type":"unknown","name":"varname"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afvf","type":"argv","summary":"Show BP relative stackframe variables","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afvn","type":"argv","summary":"Rename argument/variable in current function","description":"","args_str":" <new_name> [<old_name>]","args":[{"type":"string","name":"new_name","required":true},{"type":"unknown","name":"old_name"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afvR","type":"argv","summary":"List addresses where vars are accessed (READ)","description":"","args_str":" [<varname>]","args":[{"type":"unknown","name":"varname"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afvW","type":"argv","summary":"List addresses where vars are accessed (WRITE)","description":"","args_str":" [<varname>]","args":[{"type":"unknown","name":"varname"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afvt","type":"argv","summary":"Change type for given argument/local","description":"","args_str":" <varname> <type>","args":[{"type":"unknown","name":"varname","required":true},{"type":"string","name":"type","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afvc","type":"group","summary":"Read/change value constraints of arguments/locals","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":["standard","json"],"children":[{"cmd":"afvc","type":"argv_state","summary":"List value constraints of all variables / of the given one","description":"","args_str":" [<varname>]","args":[{"type":"unknown","name":"varname"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"afvcs","type":"argv","summary":"Set value constraints of a variable (e.g. afvcs var0 \">0,<=9\")","description":"","args_str":" <varname> <constraints>","args":[{"type":"unknown","name":"varname","required":true},{"type":"string","name":"constraints","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afvc-","type":"argv","summary":"Remove all value constraints of a variable","description":"","args_str":" <varname>","args":[{"type":"unknown","name":"varname","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"afvx","type":"group","summary":"Show argument/variable xrefs in a function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":["standard","json"],"children":[{"cmd":"afvx","type":"argv_modes","summary":"Show function variable xrefs (same as afvR+afvW)","description":"","args_str":" [<varname>]","args":[{"type":"unknown","name":"varname"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"afvxa","type":"argv_modes","summary":"Show function argument xrefs","description":"","args_str":" [<varname>]","args":[{"type":"unknown","name":"varname"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"afvxv","type":"argv_modes","summary":"Show function local variable xrefs","description":"","args_str":" [<varname>]","args":[{"type":"unknown","name":"varname"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"afvs","type":"group","summary":"Manipulate stack-based arguments/locals","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":["standard","json"],"children":[{"cmd":"afvs","type":"argv_state","summary":"List stack-based arguments and locals / Define a new one","description":"","args_str":" [<delta> <name> [<type>]]","args":[{"type":"expression","name":"delta"},{"type":"string","name":"name","required":true},{"type":"string","name":"type","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"afvs-","type":"argv","summary":"Delete argument/local with the given name","description":"","args_str":" <varname>","args":[{"type":"unknown","name":"varname","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afvs-*","type":"argv","summary":"Delete all arguments/locals","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afvsg","type":"argv","summary":"Define var get reference","description":"","args_str":" <delta> <addr>","args":[{"type":"expression","name":"delta","required":true},{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afvss","type":"argv","summary":"Define var set reference","description":"","args_str":" <delta> <addr>","args":[{"type":"expression","name":"delta","required":true},{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"afvr","type":"group","summary":"Manipulate register-based arguments/locals","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":["standard","json"],"children":[{"cmd":"afvr","type":"argv_state","summary":"List register-based arguments and locals / Define a new one","description":"","args_str":" [<reg> <name> [<type>]]","args":[{"type":"string","name":"reg"},{"type":"string","name":"name","required":true},{"type":"string","name":"type","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"afvr-","type":"argv","summary":"Delete register-based argument/local with the given name","description":"","args_str":" <varname>","args":[{"type":"unknown","name":"varname","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afvr-*","type":"argv","summary":"Delete all register-based arguments/locals","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afvrg","type":"argv","summary":"Define register-based arguments and locals get references","description":"","args_str":" <reg> <addr>","args":[{"type":"string","name":"reg","required":true},{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afvrs","type":"argv","summary":"Define register-based arguments and locals set references","description":"","args_str":" <reg> <addr>","args":[{"type":"string","name":"reg","required":true},{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]}]},{"cmd":"afl","type":"group","summary":"List functions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":6,"modes":["standard","json","quiet","long","table"],"children":[{"cmd":"afl","type":"argv_state","summary":"List all functions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","long","table"],"children":[]},{"cmd":"afl.","type":"argv","summary":"List functions in current seek","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aflc","type":"argv","summary":"Display count of all functions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afl+","type":"argv","summary":"Display sum of all functions sizes","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aflm","type":"argv_state","summary":"List calls of all functions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"afl=","type":"argv","summary":"Display ascii-art bars with function ranges","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"afi","type":"group","summary":"Show/edit function information","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":["standard","json","table"],"children":[{"cmd":"afi","type":"argv_state","summary":"Show information of functions in current seek","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","table"],"children":[]},{"cmd":"afii","type":"group","summary":"Show/add/delete imports used in function in current seek","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"afii","type":"argv","summary":"Show/add imports used in function in current seek","description":"","args_str":" [<import>]","args":[{"type":"string","name":"import","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afii-","type":"argv","summary":"Delete imports used in function in current seek","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"afis","type":"group","summary":"Show opcode statistic in function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","table"],"children":[{"cmd":"afis","type":"argv_state","summary":"Enumerate unique opcodes/opcode families/opcode types in function","description":"","args_str":" [<mode>]","args":[{"type":"choice","name":"mode","choices":["family","type"]}],"details":[],"executable":true,"n_children":0,"modes":["standard","table"],"children":[]},{"cmd":"afisa","type":"argv_state","summary":"Enumerate unique opcodes/opcode families/opcode types in all functions","description":"","args_str":" [<mode>]","args":[{"type":"choice","name":"mode","choices":["family","type"]}],"details":[],"executable":true,"n_children":0,"modes":["table"],"children":[]}]}]},{"cmd":"afn","type":"group","summary":"Analyze function names","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"afn","type":"argv","summary":"Rename function at current seek","description":"","args_str":" <new name>","args":[{"type":"string","name":"new name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afna","type":"argv","summary":"Suggest a name for the function in current seek","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afns","type":"argv_state","summary":"Print all strings referenced by the function in current seek","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"aft","type":"argv","summary":"Type matching analysis for the function in current seek","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afM","type":"argv","summary":"Print functions map","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afm","type":"argv","summary":"Merge two functions","description":"","args_str":" <addr>","args":[{"type":"function","name":"addr","required":true}],"details":[{"name":"","entries":[{"text":"afm 0xbeef @ 0x42","comment":"Merge function at address 0xbeef to function at address 0x42","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afc","type":"group","summary":"Calling convention","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":[],"children":[{"cmd":"afc","type":"argv","summary":"Set/Get calling convention for current function","description":"","args_str":" [<convention>]","args":[{"type":"string","name":"convention","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afcl","type":"argv_modes","summary":"List all available calling conventions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","sdb","long"],"children":[]},{"cmd":"afco","type":"argv","summary":"Open Calling Convention sdb profile from given path","description":"","args_str":" <db_path>","args":[{"type":"filename","name":"db_path","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afcr","type":"argv_state","summary":"Show register usage for the current function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"afd","type":"argv","summary":"Show function + delta for given offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"aF","type":"argv","summary":"Analyze function non-recursively","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aeC","type":"argv","summary":"appcall in esil","description":"","args_str":" <args1> <args2> ...","args":[{"type":"number","name":"args","required":true,"is_array":true}],"details":[{"name":"Examples","entries":[{"text":"aeC","comment":"Call sym._add(1,2)","arg_str":" 1 2 @ sym._add"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aec","type":"group","summary":"continue until ^C","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":6,"modes":[],"children":[{"cmd":"aec","type":"argv","summary":"Continue until exception","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aecb","type":"argv","summary":"Continue back until breakpoint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aecs","type":"argv","summary":"Continue until syscall","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aecc","type":"argv","summary":"Continue until call","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aecu","type":"argv","summary":"Continue until address","description":"","args_str":" <addr>","args":[{"type":"number","name":"addr","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aecue","type":"argv","summary":"Continue until esil expression","description":"","args_str":" <expr>","args":[{"type":"string","name":"expr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"aei","type":"group","summary":"ESIL VM state","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":[],"children":[{"cmd":"aei","type":"argv","summary":"initialize ESIL VM state","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aei-","type":"argv","summary":"deinitialize ESIL VM state","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aeip","type":"argv","summary":"initialize ESIL program counter to curseek","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aeim","type":"group","summary":"ESIL VM stack","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"aeim","type":"argv","summary":"initialize ESIL VM stack","description":"","args_str":" [<addr> [<size> [<name>]]]","args":[{"type":"number","name":"addr"},{"type":"number","name":"size"},{"type":"string","name":"name","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aeim-","type":"argv","summary":"remove ESIL VM stack","description":"","args_str":" [<addr> [<size> [<name>]]]","args":[{"type":"number","name":"addr"},{"type":"number","name":"size"},{"type":"string","name":"name","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aeimp","type":"argv","summary":"initialize ESIL VM stack to \"aeim.stack\" or ?","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]}]},{"cmd":"aes","type":"group","summary":"ESIL emulated debugger step","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":7,"modes":[],"children":[{"cmd":"aes","type":"argv","summary":"perform emulated debugger step","description":"","args_str":" [<N>]","args":[{"type":"expression","name":"N","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aesp","type":"argv","summary":"evaluate N instr from core->offset","description":"","args_str":" <N>","args":[{"type":"expression","name":"N","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aesb","type":"argv","summary":"step back","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aeso","type":"argv","summary":"step over","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aesou","type":"argv","summary":"step over until given address","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aess","type":"group","summary":"step skip","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"aess","type":"argv","summary":"step skip (in case of CALL, just skip, instead of step into)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aessu","type":"argv","summary":"step skip (in case of CALL, just skip, instead of step into)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aessue","type":"argv","summary":"step skip (in case of CALL, just skip, instead of step into)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"aesu","type":"group","summary":"step until","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"aesu","type":"argv","summary":"step until given address","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aesue","type":"argv","summary":"step until esil expression match","description":"","args_str":" <esil>","args":[{"type":"string","name":"esil","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aesuo","type":"argv","summary":"step until given opcode type","description":"","args_str":" <optype1> <optype2> ...","args":[{"type":"string","name":"optype","required":true,"is_array":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]}]},{"cmd":"aets","type":"group","summary":"ESIL Trace session","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":2,"modes":[],"children":[{"cmd":"aets+","type":"argv","summary":"Start ESIL trace session","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aets-","type":"argv","summary":"Stop ESIL trace session","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"aez","type":"group","summary":"RzIL Emulation","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":6,"modes":[],"children":[{"cmd":"aezi","type":"argv","summary":"Initialize the RzIL Virtual Machine at the current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aezs","type":"argv","summary":"Step N instructions within the RzIL Virtual Machine","description":"","args_str":" [<n_times>]","args":[{"type":"number","name":"n_times"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aezse","type":"argv_modes","summary":"Step N instructions within the RzIL VM and output VM changes (read & write)","description":"","args_str":" [<n_times>]","args":[{"type":"number","name":"n_times"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"aezsu","type":"argv","summary":"Step until PC equals given address","description":"","args_str":" <address>","args":[{"type":"expression","name":"address","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aezsue","type":"argv","summary":"Step until PC equals given address and output VM changes (read & write)","description":"","args_str":" <address>","args":[{"type":"expression","name":"address","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aezv","type":"argv_modes","summary":"Print or modify the current status of the RzIL Virtual Machine","description":"","args_str":" [<var_name> [<number>]]","args":[{"type":"string","name":"var_name"},{"type":"expression","name":"number","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]}]},{"cmd":"ag","type":"group","summary":"Analysis graph commands","description":"","args_str":"","args":[],"details":[{"name":"Formats","entries":[{"text":"ascii","comment":"Ascii art","arg_str":""},{"text":"cmd","comment":"rizin commands","arg_str":""},{"text":"dot","comment":"Graphviz dot","arg_str":""},{"text":"gml","comment":"Graph Modelling Language","arg_str":""},{"text":"json","comment":"json","arg_str":""},{"text":"json_disasm","comment":"json formatted disassembly","arg_str":""},{"text":"sdb","comment":"SDB key-value","arg_str":""},{"text":"interactive","comment":"Interactive ascii art","arg_str":""}]}],"executable":false,"n_children":19,"modes":[],"children":[{"cmd":"aga","type":"argv","summary":"Data reference graph","description":"","args_str":" <format>=ascii","args":[{"type":"choice","name":"format","required":true,"default":"ascii","choices":["ascii","cmd","dot","gml","json","json_disasm","sdb","interactive"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"agA","type":"argv","summary":"Global data references graph","description":"","args_str":" <format>=ascii","args":[{"type":"choice","name":"format","required":true,"default":"ascii","choices":["ascii","cmd","dot","gml","json","json_disasm","sdb","interactive"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"agc","type":"argv","summary":"Function callgraph","description":"","args_str":" <format>=ascii","args":[{"type":"choice","name":"format","required":true,"default":"ascii","choices":["ascii","cmd","dot","gml","json","json_disasm","sdb","interactive"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"agC","type":"argv","summary":"Global callgraph","description":"","args_str":" <format>=ascii","args":[{"type":"choice","name":"format","required":true,"default":"ascii","choices":["ascii","cmd","dot","gml","json","json_disasm","sdb","interactive"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"agCi","type":"argv","summary":"Inter-procedual control flow graph","description":"","args_str":" <format>=ascii","args":[{"type":"choice","name":"format","required":true,"default":"ascii","choices":["ascii","cmd","dot","gml","json","json_disasm","sdb","interactive"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"agF","type":"argv","summary":"Control flow graph (without calls)","description":"","args_str":" <format>=ascii","args":[{"type":"choice","name":"format","required":true,"default":"ascii","choices":["ascii","cmd","dot","gml","json","json_disasm","sdb","interactive"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"agf","type":"argv","summary":"Basic blocks function graph","description":"","args_str":" <format>=ascii","args":[{"type":"choice","name":"format","required":true,"default":"ascii","choices":["ascii","cmd","dot","gml","json","json_disasm","sdb","interactive"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"agi","type":"argv","summary":"Imports graph","description":"","args_str":" <format>=ascii","args":[{"type":"choice","name":"format","required":true,"default":"ascii","choices":["ascii","cmd","dot","gml","json","json_disasm","sdb","interactive"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"agr","type":"argv","summary":"References graph","description":"","args_str":" <format>=ascii","args":[{"type":"choice","name":"format","required":true,"default":"ascii","choices":["ascii","cmd","dot","gml","json","json_disasm","sdb","interactive"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"agR","type":"argv","summary":"Global references graph","description":"","args_str":" <format>=ascii","args":[{"type":"choice","name":"format","required":true,"default":"ascii","choices":["ascii","cmd","dot","gml","json","json_disasm","sdb","interactive"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ags","type":"argv","summary":"Normal graph","description":"","args_str":" <format>=ascii","args":[{"type":"choice","name":"format","required":true,"default":"ascii","choices":["ascii","cmd","dot","gml","json","json_disasm","sdb","interactive"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"agl","type":"argv","summary":"Line graph","description":"","args_str":" <format>=ascii","args":[{"type":"choice","name":"format","required":true,"default":"ascii","choices":["ascii","cmd","dot","gml","json","json_disasm","sdb","interactive"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"agx","type":"argv","summary":"Cross-references graph","description":"","args_str":" <format>=ascii","args":[{"type":"choice","name":"format","required":true,"default":"ascii","choices":["ascii","cmd","dot","gml","json","json_disasm","sdb","interactive"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"agI","type":"argv","summary":"RzIL graph of the instruction at the current offset.","description":"","args_str":" <format>=ascii","args":[{"type":"choice","name":"format","required":true,"default":"ascii","choices":["ascii","cmd","dot","gml","json","json_disasm","sdb","interactive"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"agg","type":"argv","summary":"Custom graph","description":"","args_str":" <format>=ascii","args":[{"type":"choice","name":"format","required":true,"default":"ascii","choices":["ascii","cmd","dot","gml","json","json_disasm","sdb","interactive"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ag-","type":"argv","summary":"Clear the custom graph","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"agn","type":"group","summary":"Managing custom graph nodes","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"agn","type":"argv","summary":"Add a node to the custom graph","description":"","args_str":" <title> [<body>]","args":[{"type":"string","name":"title","required":true},{"type":"string","name":"body","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"agn-","type":"argv","summary":"Remove a node from the custom graph","description":"","args_str":" <title>","args":[{"type":"string","name":"title","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"age","type":"group","summary":"Managing custom graph edges","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"age","type":"argv","summary":"Add an edge to the custom graph","description":"","args_str":" <title1> <title2>","args":[{"type":"string","name":"title1","required":true},{"type":"string","name":"title2","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"age-","type":"argv","summary":"Remove an edge from the custom graph","description":"","args_str":" <title1> <title2>","args":[{"type":"string","name":"title1","required":true},{"type":"string","name":"title2","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"agw","type":"argv","summary":"Write to path or display graph image (see graph.gv.format)","description":"","args_str":" <graphtype>=dataref <path> [-global]","args":[{"type":"choice","name":"graphtype","required":true,"default":"dataref","choices":["dataref","funcall","diff","funblock","import","ref","line","xref","custom"]},{"type":"string","name":"path","required":true},{"type":"option","name":"global","is_option":true}],"details":[{"name":"Graph Type","entries":[{"text":"dataref","comment":"Data reference graph","arg_str":""},{"text":"funcall","comment":"Function call graph","arg_str":""},{"text":"diff","comment":"Diff graph","arg_str":""},{"text":"funblock","comment":"Function basic block graph","arg_str":""},{"text":"import","comment":"Imports graph","arg_str":""},{"text":"ref","comment":"References graph","arg_str":""},{"text":"line","comment":"Line graph","arg_str":""},{"text":"xref","comment":"Cross references graph","arg_str":""},{"text":"custom","comment":"Custom made graph","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"ar","type":"group","summary":"Emulation Registers","description":"","args_str":"","args":[],"details":[{"name":"Register Filter","entries":[{"text":"ar","comment":"Show a sensible default selection of registers","arg_str":""},{"text":"ar","comment":"Show a single register","arg_str":" rax"},{"text":"ar","comment":"Show 16 bits wide gpr registers","arg_str":" 16"},{"text":"ar","comment":"Show registers of type xmm (see `arT` for possible types)","arg_str":" xmm"},{"text":"ar","comment":"Show the register with the given role (see `arR` for possible roles)","arg_str":" PC"},{"text":"ar","comment":"Show all registers available","arg_str":" all"}]}],"executable":true,"n_children":15,"modes":["standard","json","quiet","table"],"children":[{"cmd":"ar","type":"argv_state","summary":"Show registers with their values, or assign one (`ar reg=value`)","description":"","args_str":" [<filter> [= <value>]]","args":[{"type":"unknown","name":"filter","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"ar=","type":"argv","summary":"Show registers in columns","description":"","args_str":" [<filter>]","args":[{"type":"unknown","name":"filter"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"arr","type":"argv_modes","summary":"Show register references (telescoping)","description":"","args_str":" [<filter>]","args":[{"type":"unknown","name":"filter"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"ari","type":"argv","summary":"Show register grouped by their values","description":"","args_str":" [<filter>]","args":[{"type":"unknown","name":"filter"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"arA","type":"argv_modes","summary":"Show values of default function argument registers (A0, A1, A2, ...) with telescoping","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"arcc","type":"argv","summary":"Show calling convention defined by registers","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ard","type":"argv","summary":"Show register differences from previous contents","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aro","type":"argv_state","summary":"Show previous register contents","description":"","args_str":" [<filter>]","args":[{"type":"unknown","name":"filter","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"arF","type":"argv","summary":"Show fpu registers","description":"","args_str":" [<register> [= <value>]]","args":[{"type":"string","name":"reg","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"arf","type":"group","summary":"Show commands for setting registers as flags","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"arf","type":"argv","summary":"Show commands for setting registers as flags","description":"","args_str":" [<filter>]","args":[{"type":"unknown","name":"filter"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"arf-","type":"argv","summary":"Show commands for unsetting flags from `arf`","description":"","args_str":" [<filter>]","args":[{"type":"unknown","name":"filter"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"ara","type":"group","summary":"Register arena commands (underlying binary data)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":8,"modes":[],"children":[{"cmd":"ara","type":"argv","summary":"Show all currently allocated register arenas","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ara+","type":"argv","summary":"Push a new set of arenas to the stack","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ara-","type":"argv","summary":"Pop a set of arenas from the stack","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"araS","type":"argv","summary":"Show number of stack elements","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aras","type":"argv","summary":"Swap last two register arenas on the stack","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ara0","type":"argv","summary":"Reset the specified or all arena contents to 0","description":"","args_str":" [<type>]","args":[{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"arab","type":"argv","summary":"Display hexdump of given arena (or gpr if none given)","description":"","args_str":" [<type>]","args":[{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"araw","type":"argv","summary":"Write hexadecimal data <hex> into the given arena (or gpr if none given)","description":"","args_str":" <hex> [<type>]","args":[{"type":"string","name":"hex","required":true},{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"arp","type":"group","summary":"Register profile commands (defining available registers)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":["standard","json"],"children":[{"cmd":"arp","type":"argv_state","summary":"Show the current register profile","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"arpc","type":"argv","summary":"Show register profile comments","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"arpo","type":"argv","summary":"Load a new register profile from file","description":"","args_str":" <file>","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"arpg","type":"argv","summary":"Convert gdb profile from the given file to rizin register profile","description":"","args_str":" <file>","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"arc","type":"argv","summary":"Conditional flags (aliases to processor flags)","description":"","args_str":"","args":[],"details":[{"name":"Basic","entries":[{"text":"eq","comment":"equal","arg_str":""},{"text":"ne","comment":"not equal","arg_str":""},{"text":"cf","comment":"carry flag set","arg_str":""},{"text":"neg","comment":"negative value (has sign)","arg_str":""},{"text":"of","comment":"overflow","arg_str":""}]},{"name":"Unsigned","entries":[{"text":"hi","comment":"higher","arg_str":""},{"text":"he","comment":"higher or equal","arg_str":""},{"text":"lo","comment":"lower","arg_str":""},{"text":"loe","comment":"lower or equal","arg_str":""}]},{"name":"Signed","entries":[{"text":"gt","comment":"greater","arg_str":""},{"text":"ge","comment":"greater or equal","arg_str":""},{"text":"lt","comment":"less","arg_str":""},{"text":"le","comment":"less or equal","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"arT","type":"argv","summary":"List all register types","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"arR","type":"argv","summary":"List all register roles","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"ai","type":"group","summary":"analysis/address information/imports","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json"],"children":[{"cmd":"ai","type":"argv_state","summary":"show address information","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"aii","type":"group","summary":"global import (like afii, but global)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard"],"children":[{"cmd":"aii","type":"argv_state","summary":"list/add global import (like afii, but global)","description":"","args_str":" [<namespace>]","args":[{"type":"string","name":"namespace","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"aii-","type":"argv_state","summary":"delete all global imports","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]}]}]},{"cmd":"av","type":"group","summary":"C++ vtables and RTTI","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":8,"modes":["standard","json"],"children":[{"cmd":"av","type":"argv_modes","summary":"search for vtables in data sections and show results","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"avD","type":"argv","summary":"Mark objects and devirtualize calls to virtual functions for function at the current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"avg","type":"group","summary":"Global variables","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":9,"modes":[],"children":[{"cmd":"avgl","type":"argv_state","summary":"show/list global variables","description":"","args_str":" [<var_name>]","args":[{"type":"unknown","name":"var_name"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"avga","type":"argv","summary":"add global variable manually","description":"","args_str":" <var_name> <type>","args":[{"type":"string","name":"var_name","required":true},{"type":"unknown","name":"type","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"avgd","type":"argv","summary":"delete the global variable at the addr","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"avgm","type":"argv","summary":"delete global variable with name","description":"","args_str":" <name>","args":[{"type":"unknown","name":"name","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"avgn","type":"argv","summary":"rename the global variable","description":"","args_str":" <old_var_name> <new_var_name>","args":[{"type":"unknown","name":"old_var_name","required":true},{"type":"string","name":"new_var_name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"avgp","type":"argv","summary":"print the global variable value","description":"","args_str":" <name>","args":[{"type":"unknown","name":"name","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"avgt","type":"argv","summary":"change the global variable type","description":"","args_str":" <var_name> <type>","args":[{"type":"unknown","name":"var_name","required":true},{"type":"unknown","name":"type","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"avgx","type":"argv_state","summary":"print all xrefs to the global variable","description":"","args_str":" <name>","args":[{"type":"unknown","name":"name","required":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"avgc","type":"group","summary":"Read/change value constraints of global variables","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":["standard","json"],"children":[{"cmd":"avgc","type":"argv_state","summary":"List value constraints of all globals / of the given one","description":"","args_str":" [<var_name>]","args":[{"type":"unknown","name":"var_name"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"avgcs","type":"argv","summary":"Set value constraints of a global variable (e.g. avgcs g \">0,<=9\")","description":"","args_str":" <var_name> <constraints>","args":[{"type":"unknown","name":"var_name","required":true},{"type":"string","name":"constraints","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"avgc-","type":"argv","summary":"Remove all value constraints of a global variable","description":"","args_str":" <var_name>","args":[{"type":"unknown","name":"var_name","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]}]},{"cmd":"avr","type":"argv_modes","summary":"try to parse RTTI at vtable addr (see analysis.cpp.abi)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"avra","type":"argv_modes","summary":"search for vtables and try to parse RTTI at each of them","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"avrr","type":"argv","summary":"recover class info from all findable RTTI (see ac)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"avrD","type":"argv","summary":"demangle a class name from RTTI","description":"","args_str":" <classname>","args":[{"type":"string","name":"classname","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"avx","type":"argv_state","summary":"Show the addresses of calls to the virtual function.","description":"","args_str":" <virtual function name>","args":[{"type":"string","name":"virtual function name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","table"],"children":[]}]},{"cmd":"ax","type":"group","summary":"Cross references (xrefs)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":13,"modes":[],"children":[{"cmd":"ax","type":"argv","summary":"Add custom xref to addr from current seek","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"axc","type":"argv","summary":"Add generic code xref to addr from current seek","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"axC","type":"argv","summary":"Add call code xref to addr from current seek","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"axd","type":"argv","summary":"Add data xref to addr from current seek","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"axs","type":"argv","summary":"Add string xref to addr from current seek","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"axl","type":"argv_state","summary":"List all xrefs","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"axt","type":"argv_state","summary":"List xrefs to current seek","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","long"],"children":[]},{"cmd":"axf","type":"argv_state","summary":"List xrefs from current seek","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"axtg","type":"argv","summary":"Display commands to generate graphs according to xrefs","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ax-","type":"argv","summary":"Delete xrefs to addr","description":"","args_str":" <addr> [<from>]","args":[{"type":"expression","name":"addr","required":true},{"type":"expression","name":"from","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ax-*","type":"argv","summary":"Delete all xrefs","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"axm","type":"argv","summary":"Copy xrefs pointing to addr to also point to curseek","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"axg","type":"argv_state","summary":"Show xrefs graph to reach function at current seek","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"ah","type":"group","summary":"Analysis hints","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":36,"modes":[],"children":[{"cmd":"ahl","type":"argv_state","summary":"List all analysis hints","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"ahl.","type":"argv_state","summary":"List analysis hints at current seek","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"ah-","type":"argv","summary":"Delete analysis hints in region starting from current seek","description":"","args_str":" [<size>]","args":[{"type":"number","name":"size"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ah-*","type":"argv","summary":"Delete all analysis hints","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aha","type":"argv","summary":"Set arch hint","description":"","args_str":" <arch>","args":[{"type":"string","name":"arch","required":true,"is_last":true}],"details":[{"name":"","entries":[{"text":"aha ppc @ 0x42","comment":"Force arch ppc for all addresses >= 0x42 or until the next hint","arg_str":""},{"text":"aha 0 @ 0x84","comment":"Disable the effect of arch hints for all addresses >= 0x84 or until the next hint","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aha-","type":"argv","summary":"Delete arch hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahb","type":"argv","summary":"Set bits hint","description":"","args_str":" <bits>","args":[{"type":"number","name":"bits","required":true}],"details":[{"name":"","entries":[{"text":"ahb 16 @ 0x42","comment":"Force 16bit for all addresses >= 0x42 or until the next hint","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahb-","type":"argv","summary":"Delete bits hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahh","type":"argv","summary":"Set highlight hint","description":"","args_str":"","args":[],"details":[{"name":"","entries":[{"text":"ahh @ 0x804840","comment":"Highlight this address offset in disasm","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahh-","type":"argv","summary":"Delete highlight hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahc","type":"argv","summary":"Set jump/call address hint","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[{"name":"","entries":[{"text":"ahc ","comment":"Replace call/jump address with 0x804840","arg_str":"0x804840"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahc-","type":"argv","summary":"Delete jump/call address hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahe","type":"argv","summary":"Set ESIL string hint","description":"","args_str":" <string>","args":[{"type":"string","name":"string","required":true,"is_last":true}],"details":[{"name":"","entries":[{"text":"ahe ","comment":"Replace ESIL VM analysis string","arg_str":"\"3,eax,+=\""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahe-","type":"argv","summary":"Delete ESIL string hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahd","type":"argv","summary":"Set opcode hint","description":"","args_str":" <opcode>","args":[{"type":"string","name":"opcode","required":true,"is_last":true}],"details":[{"name":"","entries":[{"text":"ahd ","comment":"Replace opcode string","arg_str":"\"foo a0,33\""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahd-","type":"argv","summary":"Delete opcode hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahs","type":"argv","summary":"Set opcode size hint","description":"","args_str":" <size>","args":[{"type":"expression","name":"size","required":true,"is_last":true}],"details":[{"name":"","entries":[{"text":"ahs ","comment":"Set opcode size=4","arg_str":"4"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahs-","type":"argv","summary":"Delete opcode size hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahf","type":"argv","summary":"Set fallback address hint","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[{"name":"","entries":[{"text":"ahf ","comment":"Replace fallback address for call with 0x804840","arg_str":"0x804840"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahf-","type":"argv","summary":"Delete fallback address hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahF","type":"argv","summary":"Set stackframe size hint","description":"","args_str":" <size>","args":[{"type":"number","name":"size","required":true}],"details":[{"name":"","entries":[{"text":"ahF ","comment":"Set stackframe size to 0x10","arg_str":"0x10"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahF-","type":"argv","summary":"Delete stackframe size hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahS","type":"argv","summary":"Set asm syntax hint","description":"","args_str":" <string>","args":[{"type":"string","name":"string","required":true,"is_last":true}],"details":[{"name":"","entries":[{"text":"ahS ","comment":"Set asm.syntax=jz for opcode at current seek","arg_str":"jz"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahS-","type":"argv","summary":"Delete asm syntax hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahp","type":"argv","summary":"Set pointer hint","description":"","args_str":" <pointer>","args":[{"type":"expression","name":"pointer","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahp-","type":"argv","summary":"Delete pointer hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahr","type":"argv","summary":"Set function return value hint","description":"","args_str":" <return>","args":[{"type":"expression","name":"return","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahr-","type":"argv","summary":"Delete function return value hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahv","type":"argv","summary":"Set opcode value hint","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[{"name":"","entries":[{"text":"ahv ","comment":"Change opcode's value field (useful to set jmptbl sizes in jmp rax)","arg_str":"val"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahv-","type":"argv","summary":"Delete opcode value hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aho","type":"argv","summary":"Set opcode type hint","description":"","args_str":" <string>","args":[{"type":"string","name":"string","required":true,"is_last":true}],"details":[{"name":"","entries":[{"text":"aho ","comment":"Change opcode type to <call>","arg_str":"call"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aho-","type":"argv","summary":"Delete opcode type hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahi","type":"group","summary":"Manage immediate operand hints","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":["standard"],"children":[{"cmd":"ahi","type":"argv_modes","summary":"Set immediate base hint","description":"","args_str":" <type> [<nword>]","args":[{"type":"choice","name":"type","required":true,"choices":["2","8","10","10u","16","b","o","h","i","p","S","s"]},{"type":"number","name":"nword"}],"details":[{"name":"","entries":[{"text":"ahi ","comment":"Set numeric <base> (2, 8, 10, 16)","arg_str":"<base>"},{"text":"ahi 10|d","comment":"Set base to signed decimal (10), sign bit should depend on receiver size","arg_str":""},{"text":"ahi 10u|du","comment":"Set base to unsigned decimal (11)","arg_str":""},{"text":"ahi b","comment":"Set base to binary (2)","arg_str":""},{"text":"ahi o","comment":"Set base to octal (8)","arg_str":""},{"text":"ahi h","comment":"Set base to hexadecimal (16)","arg_str":""},{"text":"ahi i","comment":"Set base to IP address (32)","arg_str":""},{"text":"ahi p","comment":"Set base to htons(port) (3)","arg_str":""},{"text":"ahi S","comment":"Set base to syscall (80)","arg_str":""},{"text":"ahi s","comment":"Set base to string (1)","arg_str":""}]},{"name":"Set base of the N-th immediate (indexing starts from 0)","entries":[{"text":"ahi 16 1","comment":"Set base of the 1-st immediate to hexadecimal","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"ahi-","type":"argv","summary":"Delete immediate base hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahie","type":"argv","summary":"Set enum type hint for operand","description":"","args_str":" <enum> [<nword>]","args":[{"type":"unknown","name":"enum","required":true},{"type":"number","name":"nword"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahie-","type":"argv","summary":"Delete enum type hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"aht","type":"argv","summary":"Set structure offset hint","description":"","args_str":" <struct.member>","args":[{"type":"string","name":"struct.member","required":true,"is_last":true}],"details":[{"name":"","entries":[{"text":"aht ","comment":"Replace immediate with <struct.member>","arg_str":"struct.member"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aht-","type":"argv","summary":"Delete structure offset hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahts","type":"argv","summary":"List all matching structure offsets","description":"","args_str":" <offset>","args":[{"type":"expression","name":"offset","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"ac","type":"group","summary":"Classes","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":9,"modes":[],"children":[{"cmd":"ac","type":"argv","summary":"Add class","description":"","args_str":" <class_name>","args":[{"type":"string","name":"class_name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ac-","type":"argv","summary":"Delete class","description":"","args_str":" <class_name>","args":[{"type":"string","name":"class_name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"acn","type":"argv","summary":"Rename class","description":"","args_str":" <class_name> <new_name>","args":[{"type":"string","name":"class_name","required":true},{"type":"string","name":"new_name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"acl","type":"argv_state","summary":"List all classes","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long"],"children":[]},{"cmd":"aci","type":"argv_state","summary":"Show information of class","description":"","args_str":" <class_name>","args":[{"type":"string","name":"class_name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long"],"children":[]},{"cmd":"acg","type":"argv","summary":"Print inheritance ascii graph","description":"","args_str":" <class_name>","args":[{"type":"string","name":"class_name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"acm","type":"group","summary":"Class methods","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"acm","type":"argv","summary":"Add/edit method","description":"","args_str":" <class_name> <method_name> <offset> [<vtable_offset>]","args":[{"type":"string","name":"class_name","required":true},{"type":"string","name":"method_name","required":true},{"type":"number","name":"offset","required":true},{"type":"number","name":"vtable_offset"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"acm-","type":"argv","summary":"Delete method","description":"","args_str":" <class_name> <method_name>","args":[{"type":"string","name":"class_name","required":true},{"type":"string","name":"method_name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"acmn","type":"argv","summary":"Rename method","description":"","args_str":" <class_name> <method_name> <new_method_name>","args":[{"type":"string","name":"class_name","required":true},{"type":"string","name":"method_name","required":true},{"type":"string","name":"new_method_name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"acb","type":"group","summary":"Base classes","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"acb","type":"argv","summary":"Add base class","description":"","args_str":" <class_name> <base_class_name> [<offset>]","args":[{"type":"string","name":"class_name","required":true},{"type":"string","name":"base_class_name","required":true},{"type":"number","name":"offset"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"acb-","type":"argv","summary":"Delete base class","description":"","args_str":" <class_name> <base_class_name>","args":[{"type":"string","name":"class_name","required":true},{"type":"string","name":"base_class_name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"acbl","type":"argv","summary":"List base classes","description":"","args_str":" <class_name>","args":[{"type":"string","name":"class_name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"acv","type":"group","summary":"Class vtable","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":[],"children":[{"cmd":"acv","type":"argv","summary":"Add vtable address to class","description":"","args_str":" <class_name> <addr> [<offset> [<size>]]","args":[{"type":"string","name":"class_name","required":true},{"type":"expression","name":"addr","required":true},{"type":"expression","name":"offset"},{"type":"expression","name":"size","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"acv-","type":"argv","summary":"Delete vtable by id","description":"","args_str":" <class_name> <vtable_id>","args":[{"type":"string","name":"class_name","required":true},{"type":"string","name":"vtable_id","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"acvl","type":"argv","summary":"List class vtables","description":"","args_str":" <class_name>","args":[{"type":"string","name":"class_name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"acvf","type":"argv","summary":"Lookup function address on vtable offset","description":"","args_str":" <offset> [<class_name>]","args":[{"type":"expression","name":"offset","required":true},{"type":"string","name":"class_name","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]}]},{"cmd":"a8","type":"argv_state","summary":"Analyze bytes","description":"","args_str":" <hexpairs>","args":[{"type":"string","name":"hexpairs","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"aO","type":"group","summary":"Analyze next block as instructions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":["standard","json"],"children":[{"cmd":"aO","type":"argv_state","summary":"Analyze next block as instructions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"aOe","type":"argv","summary":"Analyze the esil of next block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aOd","type":"argv","summary":"Print the description of next block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aOs","type":"argv","summary":"Print the total instruction size of next block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"ao","type":"group","summary":"Analyze N instructions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":9,"modes":["standard","json"],"children":[{"cmd":"ao","type":"argv_state","summary":"Analyze next N instructions","description":"","args_str":" [<n_instructions>]","args":[{"type":"number","name":"n_instructions"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"aos","type":"argv","summary":"Print the total size of next N instructions","description":"","args_str":" [<n_instructions>]","args":[{"type":"number","name":"n_instructions"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aoe","type":"argv","summary":"Print the esil of next N instructions","description":"","args_str":" [<n_instructions>]","args":[{"type":"number","name":"n_instructions"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aoi","type":"group","summary":"Print the RzIL of next N instructions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"aoi","type":"argv","summary":"Print the RzIL of next N instructions","description":"","args_str":" [<n_instructions>]","args":[{"type":"number","name":"n_instructions"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aoip","type":"argv","summary":"Pretty print the RzIL of next N instructions","description":"","args_str":" [<n_instructions>]","args":[{"type":"number","name":"n_instructions"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"aod","type":"argv","summary":"Describe opcode for asm.arch","description":"","args_str":" [<opcode>]","args":[{"type":"string","name":"opcode","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aoda","type":"argv","summary":"Describe all opcode for asm.arch","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aoc","type":"argv","summary":"Analyze which op could be executed in [cycles]","description":"","args_str":" [<cycles>]","args":[{"type":"number","name":"cycles"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aom","type":"argv","summary":"convert between mnemonic/id for asm.arch","description":"","args_str":" <mne_or_id>","args":[{"type":"string","name":"mne_or_id","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aoma","type":"argv","summary":"List mnemonics for asm.arch","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"an","type":"argv_state","summary":"Show/rename/create whatever flag/function is used at addr","description":"","args_str":" [<name>]","args":[{"type":"string","name":"name","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"ab","type":"group","summary":"Basic blocks","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":3,"modes":[],"children":[{"cmd":"abi","type":"argv_state","summary":"Show basic block information in current seek","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long"],"children":[]},{"cmd":"abl","type":"argv_state","summary":"List all basic blocks","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","long","table"],"children":[]},{"cmd":"abt","type":"argv_state","summary":"Find paths from current seek to the given address","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"as","type":"group","summary":"Syscalls","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":6,"modes":[],"children":[{"cmd":"as","type":"argv","summary":"Show syscall and arguments","description":"","args_str":" [<syscall>]","args":[{"type":"number","name":"syscall"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"asl","type":"argv_state","summary":"List syscalls","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"asca","type":"argv","summary":"Dump syscall info into .asm file","description":"","args_str":" [<syscall>]","args":[{"type":"string","name":"syscall","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"asc","type":"argv","summary":"Dump syscall info into .h file","description":"","args_str":" [<syscall>]","args":[{"type":"string","name":"syscall","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"asn","type":"argv","summary":"Returns the syscall number by the name","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"asr","type":"argv","summary":"Returns the syscall name by the number","description":"","args_str":" <number>","args":[{"type":"number","name":"number","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"aL","type":"group","summary":"List all asm/analysis plugins (e asm.arch=?)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json"],"children":[{"cmd":"aL","type":"argv_state","summary":"List all asm/analysis plugins (e asm.arch=?) or CPU details for a plugin.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"aLc","type":"argv","summary":"Shows the CPU details for a specific plugin.","description":"","args_str":" <plugin_name>","args":[{"type":"string","name":"plugin_name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"ae","type":"group","summary":"ESIL analysis commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":9,"modes":[],"children":[{"cmd":"ae","type":"argv","summary":"Analyze all flags starting with sym. and entry","description":"","args_str":" <expr>","args":[{"type":"string","name":"expr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aeH","type":"argv","summary":"Show ESIL help.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aeb","type":"argv","summary":"Emulate current block with ESIL.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aepc","type":"argv","summary":"Set ESIL PC to given address.","description":"","args_str":" <addr>","args":[{"type":"number","name":"addr","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aek","type":"group","summary":"SDB queries on ESIL info (emulation statistics).","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"aek","type":"argv","summary":"Perform sdb query on ESIL info.","description":"","args_str":" <query>=123*","args":[{"type":"string","name":"query","required":true,"is_last":true,"default":"123*"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aek-","type":"argv","summary":"Resets the ESIL info sdb instance.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"aex","type":"argv","summary":"Emulate the instruction encoded in the given bytes with ESIL.","description":"","args_str":" <bytes>","args":[{"type":"string","name":"bytes","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aef","type":"group","summary":"Emulate functions with ESIL.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"aef","type":"argv","summary":"Emulate the function at given or current offset with ESIL.","description":"","args_str":" [<addr>]","args":[{"type":"number","name":"addr"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aefa","type":"argv","summary":"Emulate function at given or current offset to find arguments with ESIL.","description":"","args_str":" [<addr>]","args":[{"type":"number","name":"addr"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"ael","type":"group","summary":"ESIL interrupt commands.","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":2,"modes":[],"children":[{"cmd":"aeli","type":"argv","summary":"List ESIL interrupts or load them from the given shared object.","description":"","args_str":" [<file>]","args":[{"type":"string","name":"file","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aelir","type":"argv","summary":"Remove ESIL interrupt and free it if needed.","description":"","args_str":" <interrupt number>","args":[{"type":"number","name":"interrupt number","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"aea","type":"group","summary":"ESIL emulation to retrieve arguments.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":1,"modes":["standard","json"],"children":[{"cmd":"aea","type":"argv_modes","summary":"Show register and memory access of the next [len] instructions or bytes.","description":"","args_str":" <len>=0 <type>=d [<A>]","args":[{"type":"number","name":"len","required":true,"default":"0"},{"type":"choice","name":"type","required":true,"default":"d","choices":["d","*","r","w","n","b","f"]},{"type":"option","name":"A"}],"details":[{"name":"Flag","entries":[{"text":"A","comment":"Interpret the [len] parameter as number of bytes. Not as number of instructions.","arg_str":""}]},{"name":"Options","entries":[{"text":"*","comment":"Create mem.* flags for memory accesses.","arg_str":""},{"text":"r","comment":"Show regs read in N instructions.","arg_str":""},{"text":"w","comment":"Show regs written in N instructions.","arg_str":""},{"text":"n","comment":"Show regs not written in N instructions.","arg_str":""},{"text":"b","comment":"Show regs used in current basic block. The [len] parameter, if not 0, is interpreted as address.","arg_str":""},{"text":"f","comment":"Show regs used in current function.","arg_str":""},{"text":"d","comment":"Show memory and register access.","arg_str":""}]},{"name":"Legend","entries":[{"text":"I","comment":"input registers (read before being set)","arg_str":""},{"text":"A","comment":"all regs accessed","arg_str":""},{"text":"R","comment":"register values read","arg_str":""},{"text":"W","comment":"registers written","arg_str":""},{"text":"N","comment":"read but never written","arg_str":""},{"text":"V","comment":"values","arg_str":""},{"text":"@R","comment":"memreads","arg_str":""},{"text":"@W","comment":"memwrites","arg_str":""},{"text":"NOTE:","comment":"mem{reads,writes} with PIC only fetch the offset","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]}]}]},{"cmd":"B","type":"argv_state","summary":"Computes the possibles firmware locations in memory a.k.a basefind (CPU intensive)","description":"","args_str":" [<pointer_bits>]","args":[{"type":"choice","name":"pointer_bits","choices":["32","64"]}],"details":[{"name":"Settings of this command","entries":[{"text":"Check out the settings for this command with 'el basefind.'","comment":"","arg_str":""}]}],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]},{"cmd":"b","type":"group","summary":"Display or change the block size","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":["standard","json"],"children":[{"cmd":"b","type":"argv_state","summary":"Set/Get current block size","description":"","args_str":" [<num>]","args":[{"type":"expression","name":"num","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"b-","type":"argv","summary":"Decrease current block size","description":"","args_str":" <num>","args":[{"type":"expression","name":"num","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"b+","type":"argv","summary":"Increase current block size","description":"","args_str":" <num>","args":[{"type":"expression","name":"num","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"bf","type":"argv","summary":"Set block size to flag size","description":"","args_str":" <flag>","args":[{"type":"unknown","name":"flag","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"bm","type":"argv","summary":"Set/Get max block size","description":"","args_str":" [<num>]","args":[{"type":"expression","name":"num","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"C","type":"group","summary":"Code metadata (comments, format, hints, ..)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":13,"modes":["standard","json","long"],"children":[{"cmd":"C","type":"argv_state","summary":"List all meta information","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long"],"children":[]},{"cmd":"C.","type":"argv_state","summary":"Show all meta information at current address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long"],"children":[]},{"cmd":"C-","type":"argv","summary":"Remove meta information at current address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"C-*","type":"argv","summary":"Remove all meta information","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"CC","type":"group","summary":"Manipulate the comments","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":10,"modes":[],"children":[{"cmd":"CC","type":"argv","summary":"Append comment","description":"","args_str":" <text>","args":[{"type":"string","name":"text","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"CCl","type":"argv_state","summary":"List all comments","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long"],"children":[]},{"cmd":"CC.","type":"argv","summary":"Show comment at the current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"CC+","type":"argv","summary":"Append comment at current address","description":"","args_str":" <text>","args":[{"type":"string","name":"text","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"CC-","type":"argv","summary":"Remove comment at current address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"CC-*","type":"argv","summary":"Remove all comments","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"CCF","type":"argv","summary":"Show / Set comment file","description":"","args_str":" [<file>]","args":[{"type":"filename","name":"file"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"CCe","type":"argv","summary":"Edit comment using `cfg.editor`","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"CCf","type":"group","summary":"List comments in function at current address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":["standard","json","long"],"children":[{"cmd":"CCf","type":"argv_state","summary":"List all comments","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long"],"children":[]},{"cmd":"CCf-","type":"argv","summary":"Remove all comments from the current function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"CCf-*","type":"argv","summary":"Remove all comments from all functions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"CCu","type":"argv","summary":"Add unique comment","description":"","args_str":" <text>","args":[{"type":"string","name":"text","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"CS","type":"group","summary":"Manage metainformation spaces","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":[],"children":[{"cmd":"CS","type":"argv","summary":"Create new metaspace","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"CSl","type":"argv_state","summary":"List all metaspaces","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"CS-","type":"argv","summary":"Remove metaspace","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"CS-*","type":"argv","summary":"Remove all metaspaces","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"CSr","type":"argv","summary":"Rename the metaspace","description":"","args_str":" <oldname> <newname>","args":[{"type":"string","name":"oldname","required":true},{"type":"string","name":"newname","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"Cf","type":"group","summary":"Manage the format string metainformation","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":[],"children":[{"cmd":"Cf","type":"argv","summary":"Set the format string to the current address","description":"","args_str":" <size> <format>","args":[{"type":"expression","name":"size","required":true},{"type":"string","name":"format","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Cfl","type":"argv_state","summary":"List all format marks","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"Cf-","type":"argv","summary":"Remove format string from the current address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Cf-*","type":"argv","summary":"Remove all format string marks","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"Cd","type":"group","summary":"Manage the raw data metainformation","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":[],"children":[{"cmd":"Cd","type":"argv","summary":"Set the \"data\" mark to the current address","description":"","args_str":" <size> [<repeat>]","args":[{"type":"expression","name":"size","required":true},{"type":"expression","name":"repeat","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Cdl","type":"argv_state","summary":"List all \"data\" marks","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"Cd.","type":"argv","summary":"Show the data mark at the current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Cd-","type":"argv","summary":"Remove the data mark from the current address","description":"","args_str":" [<size> [<repeat>]]","args":[{"type":"expression","name":"size"},{"type":"expression","name":"repeat","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Cd-*","type":"argv","summary":"Remove all data marks","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"Ch","type":"group","summary":"Manage the \"hidden\" mark metainformation","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":[],"children":[{"cmd":"Ch","type":"argv","summary":"Set the \"hidden\" mark to the current address","description":"When \"hidden\" mark is set for some memory region, it's not shown in the disassembly output","args_str":" <size>","args":[{"type":"expression","name":"size","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Chl","type":"argv_state","summary":"List all \"hidden\" marks","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"Ch-","type":"argv","summary":"Remove the \"hidden\" mark from the current address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Ch-*","type":"argv","summary":"Remove all \"hidden\" marks","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"Cm","type":"group","summary":"Manage the \"magic\" mark metainformation","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":[],"children":[{"cmd":"Cm","type":"argv","summary":"Set the magic to the current address","description":"","args_str":" <size> <format>","args":[{"type":"expression","name":"size","required":true},{"type":"string","name":"format","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Cml","type":"argv_state","summary":"List all magic marks","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"Cm-","type":"argv","summary":"Remove the magic mark from the current address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Cm-*","type":"argv","summary":"Remove all magic marks","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"Cs","type":"group","summary":"Manipulate string metainformation","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":10,"modes":[],"children":[{"cmd":"Cs","type":"argv","summary":"Add string (autodetects the encoding)","description":"","args_str":" [<size>]","args":[{"type":"expression","name":"size","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Csl","type":"argv_state","summary":"List all strings","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"Cs.","type":"argv_state","summary":"Show string at the current address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","long"],"children":[]},{"cmd":"Cs-","type":"argv","summary":"Remove string","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Cs-*","type":"argv","summary":"Remove all strings","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Csp","type":"argv","summary":"Add Pascal-style string with the size","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Cs8","type":"argv","summary":"Add UTF-8 string","description":"","args_str":" [<size>]","args":[{"type":"expression","name":"size","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Csb","type":"argv","summary":"Add ASCII/8-bit string","description":"","args_str":" [<size>]","args":[{"type":"expression","name":"size","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Csw","type":"argv","summary":"Add wide 2-byte (UTF-16) string","description":"","args_str":" [<size>]","args":[{"type":"expression","name":"size","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"CsW","type":"argv","summary":"Add wide 4-byte (UTF-32) string","description":"","args_str":" [<size>]","args":[{"type":"expression","name":"size","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"Ct","type":"group","summary":"Manage the type metainformation","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":[],"children":[{"cmd":"Ct","type":"argv","summary":"Set the type comment to the current address","description":"","args_str":" [<text>]","args":[{"type":"string","name":"text","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Ctl","type":"argv_state","summary":"List all type comments","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"Ct-","type":"argv","summary":"Remove the type mark from the current address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Ct-*","type":"argv","summary":"Remove all type marks","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Ct.","type":"argv","summary":"Show the type mark at the current address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"Cv","type":"group","summary":"Add comments to the vars or arguments","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":6,"modes":[],"children":[{"cmd":"Cv","type":"argv","summary":"Add comment for the variable","description":"","args_str":" <name> <text>","args":[{"type":"string","name":"name","required":true},{"type":"string","name":"text","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Cv-","type":"argv","summary":"Remove comment from the variable","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Cve","type":"argv","summary":"Edit comment using `cfg.editor`","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Cvl","type":"argv_state","summary":"List all comments for all barguments and variables","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"Cvr","type":"argv_state","summary":"List all comments for all register-based arguments and variables","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"Cvs","type":"argv_state","summary":"List all comments for all stack-based arguments and variables","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]}]},{"cmd":"c","type":"group","summary":"Compare block with given data","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":12,"modes":["standard","json"],"children":[{"cmd":"c","type":"argv_state","summary":"Compare an escaped <string> with data at current offset","description":"","args_str":" <string>","args":[{"type":"string","name":"string","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"c1","type":"argv","summary":"Compare 8-bit data at current offset with the data at <addr>","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ca","type":"argv_state","summary":"Compare <n> bytes of data at <addr> with the data at current offset","description":"","args_str":" <addr> <n>","args":[{"type":"expression","name":"addr","required":true},{"type":"number","name":"n","required":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"cb","type":"argv_state","summary":"Compare <n> (up to 8) bytes at current offset with a number <num>","description":"","args_str":" <num> <n>","args":[{"type":"expression","name":"num","required":true},{"type":"number","name":"n","required":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"cc","type":"argv","summary":"Compare hexdump of data of block size at <addr> with the data at current offset","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ccc","type":"argv","summary":"Show different lines between hexdump of a block of data at <addr> wth the data at current offset","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ccd","type":"argv","summary":"Compare disassembly of block size at <addr> and at the current offset","description":"","args_str":" [<addr>]","args":[{"type":"expression","name":"addr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"cf","type":"argv_state","summary":"Compare the contents of <file> with the data at current offset","description":"","args_str":" <file>","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"cu","type":"group","summary":"Unified diff commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":6,"modes":[],"children":[{"cmd":"cu","type":"argv","summary":"Compare data at <offset> with the current offset","description":"","args_str":" <offset>","args":[{"type":"expression","name":"offset","required":true,"is_last":true}],"details":[{"name":"Applying patches","entries":[{"text":"Apply unified hex patch","comment":"cu <offset> > file; wu file","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"cu1","type":"argv","summary":"Compare bytes at <offset> with the current offset","description":"","args_str":" <offset>","args":[{"type":"expression","name":"offset","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"cu2","type":"argv","summary":"Compare words (16-bit) at <offset> with the current offset","description":"","args_str":" <offset>","args":[{"type":"expression","name":"offset","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"cu4","type":"argv","summary":"Compare dwords (32-bit) at <offset> with the current offset","description":"","args_str":" <offset>","args":[{"type":"expression","name":"offset","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"cu8","type":"argv","summary":"Compare qwords (64-bit) at <offset> with the current offset","description":"","args_str":" <offset>","args":[{"type":"expression","name":"offset","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"cud","type":"argv","summary":"Compare disassembly at <offset> with the current offset","description":"","args_str":" <offset>","args":[{"type":"expression","name":"offset","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"cw","type":"group","summary":"Compare watcher commands","description":"","args_str":"","args":[],"details":[{"name":"Compare memory locations and check if there is a difference","entries":[{"text":"cw 32 'pD 32' @ 0x1234","comment":"Adds a memory region watcher of 32 bytes at 0x1234, where it executes the command 'pD 32'.","arg_str":""},{"text":"cwl","comment":"Lists all the memory region watchers and notifies of any changes","arg_str":""},{"text":"cwx @ 0x1234","comment":"Removes the memory region watchers at 0x1234","arg_str":""}]}],"executable":true,"n_children":5,"modes":[],"children":[{"cmd":"cw","type":"argv","summary":"Add a memory watcher of size <sz> and command <cmd> at current offset","description":"","args_str":" <sz> <cmd>","args":[{"type":"number","name":"sz","required":true},{"type":"command","name":"cmd","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"cwl","type":"argv_modes","summary":"List all compare watchers","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"cwr","type":"argv","summary":"Reset/revert watcher at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"cwu","type":"argv","summary":"Update watcher at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"cwx","type":"argv","summary":"Remove watcher at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"cx","type":"argv_state","summary":"Compare data at current offset with a hexpair string <hexpair> (also return in $?)","description":"","args_str":" <hexpair>","args":[{"type":"string","name":"hexpair","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"cX","type":"argv_state","summary":"Compare hexdump of data of block size at <addr> with the data at current offset using hexdiff output","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"d","type":"group","summary":"Debugger commands","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":17,"modes":[],"children":[{"cmd":"db","type":"group","summary":"Breakpoints commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":20,"modes":[],"children":[{"cmd":"db","type":"argv","summary":"Add breakpoint at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbl","type":"argv_state","summary":"List all breakpoints","description":"","args_str":"","args":[],"details":[{"name":"Apply a command to all breakpoints","entries":[{"text":"Disable all the breakpoints","comment":"dbd @@c:dblq","arg_str":""},{"text":"Enable all the breakpoints","comment":"dbe @@c:dblq","arg_str":""},{"text":"Toggle all the breakpoints","comment":"dbs @@c:dblq","arg_str":""}]}],"executable":true,"n_children":0,"modes":["json","quiet"],"children":[]},{"cmd":"dbH","type":"argv","summary":"Add hardware breakpoint at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"db-","type":"argv","summary":"Remove breakpoint at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"db-*","type":"argv","summary":"Remove all breakpoints","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"db.","type":"argv","summary":"Show breakpoint info at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbc","type":"argv","summary":"Set a command <cmd> to be run when the breakpoint at the current offset is hit","description":"","args_str":" <cmd>","args":[{"type":"command","name":"cmd","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbC","type":"argv","summary":"Make the breakpoint at the current offset conditional, and hit only when <cmd> evaluates to 0","description":"","args_str":" <cmd>","args":[{"type":"command","name":"cmd","required":true,"is_last":true}],"details":[{"name":"Usage example","entries":[{"text":"Example of a condition","comment":"%v rax-0x0","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbd","type":"argv","summary":"Disable breakpoint at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbe","type":"argv","summary":"Enable breakpoint at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbs","type":"argv","summary":"Toggle breakpoint at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbf","type":"argv","summary":"Put a breakpoint into every no-return function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbm","type":"argv","summary":"Add a breakpoint at an offset from a module's base","description":"","args_str":" <module> <offset>","args":[{"type":"string","name":"module","required":true},{"type":"expression","name":"offset","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbn","type":"argv","summary":"Show name of current breakpoint / Set name for current breakpoint","description":"","args_str":" [<name>]","args":[{"type":"string","name":"name","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbi","type":"group","summary":"Breakpoint index commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":11,"modes":[],"children":[{"cmd":"dbi","type":"argv","summary":"Show breakpoint index at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbil","type":"argv","summary":"List breakpoints indexes","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbi-","type":"argv","summary":"Remove breakpoint by index","description":"","args_str":" <idx>","args":[{"type":"expression","name":"idx","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbix","type":"argv","summary":"Set expression for breakpoint at given index","description":"","args_str":" <idx> <expr>","args":[{"type":"expression","name":"idx","required":true},{"type":"string","name":"expr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbic","type":"argv","summary":"Run a command at breakpoint index","description":"","args_str":" <idx> <cmd>","args":[{"type":"expression","name":"idx","required":true},{"type":"command","name":"cmd","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbie","type":"argv","summary":"Enable breakpoint by index","description":"","args_str":" <idx>","args":[{"type":"expression","name":"idx","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbid","type":"argv","summary":"Disable breakpoint by index","description":"","args_str":" <idx>","args":[{"type":"expression","name":"idx","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbis","type":"argv","summary":"Toggle breakpoint by index","description":"","args_str":" <idx>","args":[{"type":"expression","name":"idx","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbite","type":"argv","summary":"Enable breakpoint trace by index","description":"","args_str":" <idx>","args":[{"type":"expression","name":"idx","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbitd","type":"argv","summary":"Disable breakpoint trace by index","description":"","args_str":" <idx>","args":[{"type":"expression","name":"idx","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbits","type":"argv","summary":"Toggle breakpoint trace by index","description":"","args_str":" <idx>","args":[{"type":"expression","name":"idx","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"dbh","type":"argv","summary":"List archs which supports software breakpoints","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbt","type":"group","summary":"Backtrace commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":7,"modes":["standard","json","quiet","table"],"children":[{"cmd":"dbt","type":"argv_state","summary":"Display backtrace based on dbg.btdepth and dbg.btalgo","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"dbt=","type":"argv","summary":"Display backtrace in one line (see dbt= s and dbt= b for sp or bp)","description":"","args_str":" [<s/b>]","args":[{"type":"string","name":"s/b","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbtv","type":"argv","summary":"Display backtrace with local vars if any","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbta","type":"argv","summary":"Display ascii-art representation of the stack backtrace","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbte","type":"argv","summary":"Enable breakpoint trace at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbtd","type":"argv","summary":"Disable breakpoint trace at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbts","type":"argv","summary":"Toggle breakpoint trace at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"dbx","type":"argv","summary":"View expression for all the breakpoints / Set expression for breakpoint at current offset","description":"","args_str":" [<expr>]","args":[{"type":"string","name":"expr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbw","type":"argv","summary":"Add watchpoint at current offset","description":"","args_str":" <perm> [<size>]","args":[{"type":"choice","name":"perm","required":true,"choices":["r","w","rw"]},{"type":"expression","name":"size","is_last":true}],"details":[{"name":"Valid permission arguments","entries":[{"text":"r","comment":"read only","arg_str":""},{"text":"w","comment":"write only","arg_str":""},{"text":"rw","comment":"read-write","arg_str":""}]},{"name":"Example sizes","entries":[{"text":"1","comment":"watch only a single byte","arg_str":""},{"text":"2","comment":"watch a 16-bit value","arg_str":""},{"text":"4","comment":"watch a 32-bit value","arg_str":""},{"text":"8","comment":"watch a 64-bit value","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbW","type":"argv","summary":"Set conditional breakpoint on a window message handler (only for Windows)","description":"","args_str":" <WM_DEFINE> [<handle/name>]","args":[{"type":"string","name":"WM_DEFINE","required":true},{"type":"string","name":"handle/name","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"dc","type":"group","summary":"Continue execution","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":13,"modes":[],"children":[{"cmd":"dc","type":"argv","summary":"Continue execution of all children","description":"","args_str":" [<pid>]","args":[{"type":"expression","name":"pid","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dcb","type":"argv","summary":"Continue back until breakpoint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dcc","type":"argv","summary":"Continue until call (use step into)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dcco","type":"argv","summary":"Continue until call (use step out)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dccu","type":"argv","summary":"Continue until unknown call (call reg)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dce","type":"argv","summary":"Continue execution (pass exception to program) (Windows only)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dcf","type":"argv","summary":"Continue until fork","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dck","type":"argv","summary":"Continue sending signal to process","description":"","args_str":" <signal> [<pid>]","args":[{"type":"expression","name":"signal","required":true},{"type":"expression","name":"pid","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dcp","type":"argv","summary":"Continue until program code (mapped io section)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dcr","type":"argv","summary":"Continue until ret (uses step over)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dcs","type":"argv","summary":"Continue until syscall","description":"","args_str":" [<syscall>]","args":[{"type":"string","name":"syscall","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dct","type":"argv","summary":"Traptrace from curseek to len, no argument to list","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dcu","type":"argv","summary":"Debug continue until","description":"","args_str":" <address>=$$","args":[{"type":"expression","name":"address","required":true,"is_last":true,"default":"$$"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"dd","type":"group","summary":"Debug file descriptors commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":7,"modes":[],"children":[{"cmd":"dd","type":"argv","summary":"Open and map <file> given the path","description":"","args_str":" <file>","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dd-","type":"argv","summary":"Close the <fd> file descriptor","description":"","args_str":" <fd>","args":[{"type":"number","name":"fd","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ddl","type":"argv_state","summary":"List all file descriptors","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","table"],"children":[]},{"cmd":"dds","type":"argv","summary":"Seek given <fd> to the <offset>","description":"","args_str":" <fd> <offset>","args":[{"type":"number","name":"fd","required":true},{"type":"number","name":"offset","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ddd","type":"argv","summary":"Duplicate <fd_src> to <fd_dst>","description":"","args_str":" <fd_src> <fd_dst>","args":[{"type":"number","name":"fd_src","required":true},{"type":"number","name":"fd_dst","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ddr","type":"argv","summary":"Read <len> bytes from <fd> file at <offset>","description":"","args_str":" <fd> <offset> <len>","args":[{"type":"number","name":"fd","required":true},{"type":"number","name":"offset","required":true},{"type":"number","name":"len","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ddw","type":"argv","summary":"Write <len> bytes to <fd> file at <offset>","description":"","args_str":" <fd> <offset> <len>","args":[{"type":"number","name":"fd","required":true},{"type":"number","name":"offset","required":true},{"type":"number","name":"len","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"de","type":"group","summary":"Manage ESIL watchpoints","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":6,"modes":[],"children":[{"cmd":"de","type":"argv","summary":"Add ESIL watchpoint","description":"","args_str":" <perm> <kind> <expression>","args":[{"type":"string","name":"perm","required":true},{"type":"choice","name":"kind","required":true,"choices":["reg","mem"]},{"type":"string","name":"expression","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"de","comment":"Stop when reads RIP register","arg_str":"r reg rip"},{"text":"de","comment":"Stop when read or write in ADDR","arg_str":"rw mem ADDR"},{"text":"de","comment":"Stop when rdx register is modified","arg_str":"w r rdx"},{"text":"de","comment":"Stop when rip in range","arg_str":"x m FROM..TO"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"de-*","type":"argv","summary":"Remove all ESIL watchpoints","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"del","type":"argv_state","summary":"List all ESIL watchpoints","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","table"],"children":[]},{"cmd":"dec","type":"argv","summary":"Continue execution until matching expression","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"des","type":"argv","summary":"Step-in <N> instructions with ESIL","description":"","args_str":" <N>","args":[{"type":"number","name":"N","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"desu","type":"argv","summary":"Step until specified <address>","description":"","args_str":" <<address>>","args":[{"type":"expression","name":"<address>","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"dg","type":"argv","summary":"Generate core dump file","description":"","args_str":" [<filename>]","args":[{"type":"filename","name":"filename"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"do","type":"group","summary":"Debug (re)open commands","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":3,"modes":[],"children":[{"cmd":"dor","type":"argv","summary":"Set rz-run profile options (e dbg.profile)","description":"","args_str":" [<key>=<val> [<key>=<val> ...]]","args":[{"type":"evaluable_full","name":"key=val","required":true,"is_array":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"doe","type":"argv","summary":"Edit rz-run startup profile with $EDITOR","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"doc","type":"argv","summary":"Close debug session","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"ds","type":"group","summary":"Debug step commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":9,"modes":[],"children":[{"cmd":"ds","type":"argv","summary":"Step <num> instruction","description":"","args_str":" <num>=1","args":[{"type":"expression","name":"num","required":true,"is_last":true,"default":"1"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dsb","type":"argv","summary":"Step back <num> instruction","description":"","args_str":" <num>=1","args":[{"type":"expression","name":"num","required":true,"is_last":true,"default":"1"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dsf","type":"argv","summary":"Step until end of frame","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dsi","type":"argv","summary":"Continue until condition matches","description":"","args_str":" <cond>","args":[{"type":"string","name":"cond","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dsl","type":"argv","summary":"Step <num> source line","description":"","args_str":" <num>=1","args":[{"type":"expression","name":"num","required":true,"is_last":true,"default":"1"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dso","type":"argv","summary":"Step over <num> instructions","description":"","args_str":" <num>=1","args":[{"type":"expression","name":"num","required":true,"is_last":true,"default":"1"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dsp","type":"argv","summary":"Step into program (skip libs)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dss","type":"argv","summary":"Skip <num> step instructions","description":"","args_str":" <num>=1","args":[{"type":"expression","name":"num","required":true,"is_last":true,"default":"1"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dsu","type":"group","summary":"Debug step until commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":6,"modes":[],"children":[{"cmd":"dsu","type":"argv","summary":"Step until <addr>","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dsui","type":"argv","summary":"Step until an instruction that matches <instr>","description":"","args_str":" <instr>","args":[{"type":"string","name":"instr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dsuir","type":"argv","summary":"Step until an instruction that matches <regex>","description":"","args_str":" <regex>","args":[{"type":"string","name":"regex","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dsuo","type":"argv","summary":"Step until an instruction matches one of the <optype>s","description":"","args_str":" <optype1> <optype2> ...","args":[{"type":"string","name":"optype","required":true,"is_array":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dsue","type":"argv","summary":"Step until <esil> expression matches","description":"","args_str":" <esil>","args":[{"type":"string","name":"esil","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dsuf","type":"argv","summary":"Step until pc == <flag> matching name","description":"","args_str":" <flag>","args":[{"type":"unknown","name":"flag","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]}]},{"cmd":"dt","type":"group","summary":"Trace commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":11,"modes":[],"children":[{"cmd":"dt","type":"argv","summary":"Get trace info at the current address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dtl","type":"argv_state","summary":"List all traces","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","quiet"],"children":[]},{"cmd":"dtl=","type":"argv","summary":"List all traces in ascii art","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dt+","type":"argv","summary":"Add trace for address N times","description":"","args_str":" [<times>]","args":[{"type":"expression","name":"times","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dt++","type":"argv","summary":"Add trace for some address","description":"","args_str":" <addrs1> <addrs2> ...","args":[{"type":"expression","name":"addrs","required":true,"is_array":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dt-","type":"argv","summary":"Reset traces (instruction/calls)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dtc","type":"argv","summary":"Trace call/ret","description":"","args_str":" [<from> [<to> [<addr>]]]","args":[{"type":"expression","name":"from"},{"type":"expression","name":"to"},{"type":"expression","name":"addr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dte","type":"group","summary":"Esil trace logs","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":[],"children":[{"cmd":"dte","type":"argv","summary":"Esil trace log for a single instruction for that index log","description":"","args_str":" <idx>","args":[{"type":"expression","name":"idx","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dtel","type":"argv","summary":"Esil trace log for a single instruction","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dte-*","type":"argv","summary":"Delete all esil traces","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dtei","type":"argv","summary":"Esil trace log for a single instruction","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"dtg","type":"group","summary":"Graph call/ret trace","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard"],"children":[{"cmd":"dtg","type":"argv_modes","summary":"Graph call/ret trace","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"dtgi","type":"argv","summary":"Interactive debug trace","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"dts","type":"group","summary":"Debug trace session commands","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":5,"modes":[],"children":[{"cmd":"dts+","type":"argv","summary":"Start trace session","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dts-","type":"argv","summary":"Stop trace session","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dtst","type":"argv","summary":"Save trace sessions to disk","description":"","args_str":" <dir>","args":[{"type":"directory","name":"dir","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dtsf","type":"argv","summary":"Load trace sessions to disk","description":"","args_str":" <dir>","args":[{"type":"directory","name":"dir","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dtsm","type":"argv","summary":"List current memory map and hash","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"dtt","type":"argv","summary":"Select trace tag (no arg unsets)","description":"","args_str":" <tag>","args":[{"type":"string","name":"tag","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"di","type":"argv_state","summary":"Debug information","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"dk","type":"group","summary":"Debug signals management","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":[],"children":[{"cmd":"dk","type":"argv","summary":"Send signal to the child","description":"","args_str":" <signal>","args":[{"type":"number","name":"signal","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dkl","type":"argv_state","summary":"List all signal handlers of the child process","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"dkn","type":"argv","summary":"Resolve the name of signal given the number","description":"","args_str":" <signal>","args":[{"type":"number","name":"signal","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dkN","type":"argv","summary":"Resolve the signal number given the name","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dko","type":"argv","summary":"Set skip or continue options for a given signal","description":"","args_str":" <signal> <option>=reset","args":[{"type":"number","name":"signal","required":true},{"type":"choice","name":"option","required":true,"default":"reset","choices":["skip","continue","reset"]}],"details":[{"name":"Signal options","entries":[{"text":"skip","comment":"Do not enter into the signal handler","arg_str":""},{"text":"continue","comment":"Enter into the signal handler","arg_str":""},{"text":"reset","comment":"Remove all previously set signal options","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"dl","type":"group","summary":"Debug handler","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"dl","type":"argv","summary":"Set debugger handler","description":"","args_str":" <handler>","args":[{"type":"number","name":"handler","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dll","type":"argv_state","summary":"List debugger handler","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]}]},{"cmd":"dm","type":"group","summary":"Memory map commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":13,"modes":["standard","json","quiet","table"],"children":[{"cmd":"dm","type":"argv_state","summary":"List memory maps","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"dm+","type":"argv","summary":"Allocate <size> bytes at current offset","description":"","args_str":" <size>","args":[{"type":"expression","name":"size","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dm=","type":"argv","summary":"List memory maps of current process with ASCII art bars","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dm.","type":"argv_state","summary":"Show map name of current address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"dmm","type":"group","summary":"Module memory map commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json"],"children":[{"cmd":"dmm","type":"argv_state","summary":"List modules (libraries, binaries loaded in memory)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"dmm.","type":"argv_state","summary":"List memory map of current module","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"dm-","type":"argv","summary":"Deallocate memory map at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dmd","type":"group","summary":"Dump debug map regions to a file (from-to.dmp)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"dmd","type":"argv","summary":"Dump debug maps to <filename>","description":"","args_str":" [<filename>]","args":[{"type":"filename","name":"filename"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dmda","type":"argv","summary":"Dump all debug maps","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dmdw","type":"argv","summary":"Dump writable debug maps","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"dmh","type":"group","summary":"Heap commands","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":3,"modes":[],"children":[{"cmd":"dmhg","type":"group","summary":"Glibc heap commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":10,"modes":["standard","json","long"],"children":[{"cmd":"dmhg","type":"argv_state","summary":"List heap chunks of an arena","description":"","args_str":" [<malloc_state>]","args":[{"type":"expression","name":"malloc_state","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long"],"children":[]},{"cmd":"dmhga","type":"argv","summary":"List all the arenas","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dmhgb","type":"argv_modes","summary":"Display double linked list for bins in an arena.","description":"","args_str":" [<bin_num|bin_num:malloc_state>]","args":[{"type":"string","name":"bin_num|bin_num:malloc_state","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","graph"],"children":[]},{"cmd":"dmhgc","type":"argv","summary":"Get info about heap chunk at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dmhgd","type":"argv_modes","summary":"Display state of bins in an arena. <bin_type> can be tcache/fast/unsorted/small/large","description":"","args_str":" [<bin_type>]","args":[{"type":"choice","name":"bin_type","choices":["small","large","fast","unsorted","tcache"]}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"dmhgf","type":"argv","summary":"Display all parsed fastbins of main_arena's or a particular arena fastbinY instance","description":"","args_str":" [<fastbin_num|fastbin_num:malloc_state>]","args":[{"type":"string","name":"fastbin_num|fastbin_num:malloc_state","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dmhgg","type":"argv","summary":"Display heap graph of a particular arena","description":"","args_str":" [<malloc_state>]","args":[{"type":"expression","name":"malloc_state","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dmhgi","type":"argv","summary":"Display heap_info structure/structures for a given arena","description":"","args_str":" [<malloc_state>]","args":[{"type":"expression","name":"malloc_state","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dmhgm","type":"argv_modes","summary":"List all elements of struct malloc_state","description":"","args_str":" [<malloc_state>]","args":[{"type":"expression","name":"malloc_state","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"dmhgt","type":"argv","summary":"Display all parsed thread cache bins of all arena's tcache instance","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"dmhw","type":"group","summary":"Windows heap commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":["json","table"],"children":[{"cmd":"dmhw","type":"argv_state","summary":"List process heaps","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","table"],"children":[]},{"cmd":"dmhwb","type":"argv_state","summary":"List allocated heap blocks","description":"","args_str":" [<addr>]","args":[{"type":"expression","name":"addr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["json","table"],"children":[]},{"cmd":"dmhwbf","type":"argv","summary":"Create flags for each allocated heap block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"dmhj","type":"group","summary":"Jemalloc heap commands","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":5,"modes":[],"children":[{"cmd":"dmhja","type":"argv","summary":"Show all arenas created, or print arena_type structure for given arena.","description":"","args_str":" [<arena_addr>]","args":[{"type":"expression","name":"arena_addr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dmhjb","type":"argv","summary":"Show bin info for allocations.","description":"","args_str":" [<arena_addr> [<bin_info_addr>]]","args":[{"type":"expression","name":"arena_addr"},{"type":"expression","name":"bin_info_addr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dmhjc","type":"argv","summary":"Show all chunks created in all arenas, or show all chunks created for a given arena_t instance (jemalloc 4.5.0 only).","description":"","args_str":" [<arena_addr>]","args":[{"type":"expression","name":"arena_addr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dmhje","type":"argv","summary":"List all extents, or find extent for a specific malloc'd address (jemalloc 5.3.0 only)","description":"","args_str":" [<malloc_addr>]","args":[{"type":"expression","name":"malloc_addr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dmhjei","type":"argv","summary":"Display extent (edata_t) structure info for a given extent address (jemalloc 5.3.0 only)","description":"","args_str":" <extent_addr>","args":[{"type":"expression","name":"extent_addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]}]},{"cmd":"dmi","type":"group","summary":"List/Load symbols","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":["standard","json","quiet","quietest"],"children":[{"cmd":"dmi","type":"argv_state","summary":"List libraries and library symbols.","description":"","args_str":" [<lib_name> [<symbol_name>]]","args":[{"type":"string","name":"lib_name"},{"type":"string","name":"symbol_name","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","quietest"],"children":[]},{"cmd":"dmia","type":"argv_state","summary":"List all info of target library.","description":"","args_str":" [<lib_name>]","args":[{"type":"string","name":"lib_name","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","quietest"],"children":[]},{"cmd":"dmi.","type":"argv_state","summary":"List closest symbol to the current address.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","quietest"],"children":[]}]},{"cmd":"dml","type":"argv","summary":"Load contents of file into current map region","description":"","args_str":" <file>","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dmp","type":"argv","summary":"Change page at current offset with <size>, protection <perms> / Change dbg.map permissions to <perms>","description":"","args_str":" <perms> [<size>]","args":[{"type":"string","name":"perms","required":true},{"type":"expression","name":"size","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dmL","type":"argv","summary":"Allocate <size> bytes at current offset and promote to huge page","description":"","args_str":" <size>","args":[{"type":"expression","name":"size","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dmS","type":"argv_modes","summary":"List sections of target lib","description":"","args_str":" [<addr|libname> [<sectname>]]","args":[{"type":"string","name":"addr|libname"},{"type":"string","name":"sectname","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"dp","type":"group","summary":"List or attach to process or thread","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":12,"modes":["standard","json","table"],"children":[{"cmd":"dp","type":"argv_state","summary":"List current pid and children","description":"","args_str":" [<pid>]","args":[{"type":"expression","name":"pid","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","table"],"children":[]},{"cmd":"dpl","type":"argv_state","summary":"List all attachable pids","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","table"],"children":[]},{"cmd":"dpa","type":"argv","summary":"Attach to selected <pid>","description":"","args_str":" [<pid>]","args":[{"type":"expression","name":"pid","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dp-","type":"argv","summary":"Detach from selected <pid>","description":"","args_str":" [<pid>]","args":[{"type":"expression","name":"pid","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dp=","type":"argv","summary":"Select <pid>","description":"","args_str":" <pid>","args":[{"type":"expression","name":"pid","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dpc","type":"argv","summary":"Select forked pid (see dbg.forks)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dpc*","type":"argv","summary":"Display forked pid (see dbg.forks)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dpe","type":"argv","summary":"Show path to executable","description":"","args_str":" [<pid>]","args":[{"type":"expression","name":"pid","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dpf","type":"argv","summary":"Attach to pid like file fd","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dpk","type":"argv","summary":"Send <signal> to process <pid>","description":"","args_str":" <pid> [<signal>]","args":[{"type":"expression","name":"pid","required":true},{"type":"expression","name":"signal","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dpT","type":"argv_state","summary":"List threads of specified or current <pid>","description":"","args_str":" [<pid>]","args":[{"type":"expression","name":"pid","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","table"],"children":[]},{"cmd":"dpt=","type":"argv","summary":"Select <thread-id>","description":"","args_str":" <thread-id>","args":[{"type":"expression","name":"thread-id","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"dr","type":"group","summary":"CPU Registers","description":"","args_str":"","args":[],"details":[{"name":"Register Filter","entries":[{"text":"dr","comment":"Show a sensible default selection of registers","arg_str":""},{"text":"dr","comment":"Show a single register","arg_str":" rax"},{"text":"dr","comment":"Show 16 bits wide gpr registers","arg_str":" 16"},{"text":"dr","comment":"Show registers of type xmm (see `drT` for possible types)","arg_str":" xmm"},{"text":"dr","comment":"Show the register with the given role (see `drR` for possible roles)","arg_str":" PC"},{"text":"dr","comment":"Show all registers available","arg_str":" all"}]}],"executable":true,"n_children":16,"modes":["standard","json","quiet","table"],"children":[{"cmd":"dr","type":"argv_state","summary":"Show registers with their values, or assign registers (`dr reg1=value reg2=value`)","description":"","args_str":" [<filter1> [= <value>] <filter2> [= <value>] ...]","args":[{"type":"unknown","name":"filters","is_array":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"dr=","type":"argv","summary":"Show registers in columns","description":"","args_str":" [<filter>]","args":[{"type":"unknown","name":"filter"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"drr","type":"argv_modes","summary":"Show register references (telescoping)","description":"","args_str":" [<filter>]","args":[{"type":"unknown","name":"filter"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"dri","type":"argv","summary":"Show register grouped by their values","description":"","args_str":" [<filter>]","args":[{"type":"unknown","name":"filter"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"drA","type":"argv_modes","summary":"Show values of default function argument registers (A0, A1, A2, ...) with telescoping","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"drcc","type":"argv","summary":"Show calling convention defined by registers","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"drd","type":"argv","summary":"Show register differences from previous contents","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dro","type":"argv_state","summary":"Show previous register contents","description":"","args_str":" [<filter>]","args":[{"type":"unknown","name":"filter","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"drF","type":"argv","summary":"Show fpu registers","description":"","args_str":" [<register> [= <value>]]","args":[{"type":"string","name":"reg","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"drf","type":"group","summary":"Show commands for setting registers as flags","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"drf","type":"argv","summary":"Show commands for setting registers as flags","description":"","args_str":" [<filter>]","args":[{"type":"unknown","name":"filter"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"drf-","type":"argv","summary":"Show commands for unsetting flags from `drf`","description":"","args_str":" [<filter>]","args":[{"type":"unknown","name":"filter"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"dra","type":"group","summary":"Register arena commands (underlying binary data)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":8,"modes":[],"children":[{"cmd":"dra","type":"argv","summary":"Show all currently allocated register arenas","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dra+","type":"argv","summary":"Push a new set of arenas to the stack","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dra-","type":"argv","summary":"Pop a set of arenas from the stack","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"draS","type":"argv","summary":"Show number of stack elements","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dras","type":"argv","summary":"Swap last two register arenas on the stack","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dra0","type":"argv","summary":"Reset the specified or all arena contents to 0","description":"","args_str":" [<type>]","args":[{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"drab","type":"argv","summary":"Display hexdump of given arena (or gpr if none given)","description":"","args_str":" [<type>]","args":[{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"draw","type":"argv","summary":"Write hexadecimal data <hex> into the given arena (or gpr if none given)","description":"","args_str":" <hex> [<type>]","args":[{"type":"string","name":"hex","required":true},{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"drp","type":"group","summary":"Register profile commands (defining available registers)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":["standard","json"],"children":[{"cmd":"drp","type":"argv_state","summary":"Show the current register profile","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"drpc","type":"argv","summary":"Show register profile comments","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"drpo","type":"argv","summary":"Load a new register profile from file","description":"","args_str":" <file>","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"drpg","type":"argv","summary":"Convert gdb profile from the given file to rizin register profile","description":"","args_str":" <file>","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"drc","type":"argv","summary":"Conditional flags (aliases to processor flags)","description":"","args_str":"","args":[],"details":[{"name":"Basic","entries":[{"text":"eq","comment":"equal","arg_str":""},{"text":"ne","comment":"not equal","arg_str":""},{"text":"cf","comment":"carry flag set","arg_str":""},{"text":"neg","comment":"negative value (has sign)","arg_str":""},{"text":"of","comment":"overflow","arg_str":""}]},{"name":"Unsigned","entries":[{"text":"hi","comment":"higher","arg_str":""},{"text":"he","comment":"higher or equal","arg_str":""},{"text":"lo","comment":"lower","arg_str":""},{"text":"loe","comment":"lower or equal","arg_str":""}]},{"name":"Signed","entries":[{"text":"gt","comment":"greater","arg_str":""},{"text":"ge","comment":"greater or equal","arg_str":""},{"text":"lt","comment":"less","arg_str":""},{"text":"le","comment":"less or equal","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"drT","type":"argv","summary":"List all register types","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"drR","type":"argv","summary":"List all register roles","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"drx","type":"group","summary":"Show hardware breakpoint registers","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"drx","type":"argv","summary":"Show or modify hardware breakpoint registers","description":"","args_str":" [<number> <address> <length> <perms>]","args":[{"type":"number","name":"number"},{"type":"expression","name":"address","required":true},{"type":"number","name":"length","required":true},{"type":"string","name":"perms","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"drx-","type":"argv","summary":"Clear hardware breakpoint","description":"","args_str":" <number>","args":[{"type":"number","name":"number","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]}]},{"cmd":"dw","type":"argv","summary":"Block prompt until <pid> dies","description":"","args_str":" [<pid>]","args":[{"type":"number","name":"pid"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dW","type":"group","summary":"Windows process commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"dW","type":"argv","summary":"List process windows","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dWi","type":"argv","summary":"Identify window under cursor","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"dx","type":"group","summary":"Code injection commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":[],"children":[{"cmd":"dx","type":"argv","summary":"Inject opcodes","description":"","args_str":" <opcode>","args":[{"type":"string","name":"opcode","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"dx","comment":"Insert two 0x90 bytes (nop instruction on x86 platforms)","arg_str":" 9090"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dxa","type":"argv","summary":"Assemble code and inject","description":"","args_str":" <asm>","args":[{"type":"string","name":"asm","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"dxa","comment":"Assemble and insert 3 instructions","arg_str":" mov eax,6; mov ebx,0; int 0x80"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dxe","type":"argv","summary":"Compile RzEgg expression and inject","description":"","args_str":" <expression>","args":[{"type":"string","name":"expression","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dxr","type":"argv","summary":"Inject opcodes and restore state","description":"","args_str":" <opcode>","args":[{"type":"string","name":"opcode","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dxs","type":"argv","summary":"Syscall injection","description":"","args_str":" <syscall>","args":[{"type":"string","name":"syscall","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"dxs","comment":"Inject the write() syscall with given arguments","arg_str":" write 1, 0x8048, 12"}]}],"executable":true,"n_children":0,"modes":[],"children":[]}]}]},{"cmd":"dex","type":"group","summary":"Core plugin to visualize dex class information","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":2,"modes":[],"children":[{"cmd":"dexs","type":"argv_state","summary":"prints the dex structure","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"dexe","type":"argv_state","summary":"prints the dex exported methods","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]}]},{"cmd":"e","type":"group","summary":"List/get/set config evaluable vars","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":9,"modes":[],"children":[{"cmd":"e","type":"argv","summary":"Get/Set value of config variable <key>","description":"","args_str":" <key>[=<val|?>] [<key>[=<val|?>] ...]]","args":[{"type":"evaluable_full","name":"key=value","required":true,"is_array":true}],"details":[{"name":"Examples","entries":[{"text":"e","comment":"Show current value of config variable `asm.bytes`","arg_str":" asm.bytes"},{"text":"e","comment":"Set config variable `asm.bytes` to `true`","arg_str":" asm.bytes=true"},{"text":"e","comment":"Show all possible values for config variable `search.in`","arg_str":" search.in=?"},{"text":"e","comment":"Show all possible values for config variable `search.in` together with description","arg_str":" search.in=??"},{"text":"e","comment":"Set asm.bytes to true and asm.offset to false","arg_str":" asm.bytes=true asm.offset=false"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"el","type":"argv_state","summary":"List config variables with their descriptions","description":"","args_str":" [<key>]","args":[{"type":"evaluable","name":"key"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","long","long_json"],"children":[]},{"cmd":"e-","type":"argv","summary":"Reset config variables","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"e!","type":"argv","summary":"Invert the boolean value of config variable <key>","description":"","args_str":" <key>","args":[{"type":"evaluable","name":"key","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ec","type":"group","summary":"Set color for given key (prompt, offset, ...)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":10,"modes":["standard","json"],"children":[{"cmd":"ec","type":"argv_state","summary":"List eval colors and keys","description":"","args_str":" [<key> [<color>]]","args":[{"type":"string","name":"key"},{"type":"string","name":"color","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"ecl","type":"argv","summary":"List colors with descriptions","description":"","args_str":"","args":[],"details":[{"name":"Color Palette Keys","entries":[{"text":"comment","comment":"Color for code comments","arg_str":""},{"text":"usrcmt","comment":"Color for user comments","arg_str":""},{"text":"args","comment":"Color for function arguments","arg_str":""},{"text":"fname","comment":"Color for function names","arg_str":""},{"text":"floc","comment":"Color for function locations","arg_str":""},{"text":"fline","comment":"Color for function lines","arg_str":""},{"text":"flag","comment":"Color for flags","arg_str":""},{"text":"label","comment":"Color for labels","arg_str":""},{"text":"help","comment":"Color for help messages","arg_str":""},{"text":"flow","comment":"Color for control flow","arg_str":""},{"text":"flow2","comment":"Color for control flow (alternative)","arg_str":""},{"text":"prompt","comment":"Color for prompt","arg_str":""},{"text":"offset","comment":"Color for offsets","arg_str":""},{"text":"input","comment":"Color for user input","arg_str":""},{"text":"invalid","comment":"Color for invalid instructions","arg_str":""},{"text":"other","comment":"Color for other elements","arg_str":""},{"text":"b0x00","comment":"Color for null bytes (0x00)","arg_str":""},{"text":"b0x7f","comment":"Color for 0x7f bytes","arg_str":""},{"text":"b0xff","comment":"Color for 0xff bytes","arg_str":""},{"text":"math","comment":"Color for math operations","arg_str":""},{"text":"bin","comment":"Color for binary information","arg_str":""},{"text":"btext","comment":"Color for text in binary","arg_str":""},{"text":"push","comment":"Color for push instructions","arg_str":""},{"text":"pop","comment":"Color for pop instructions","arg_str":""},{"text":"crypto","comment":"Color for crypto instructions","arg_str":""},{"text":"jmp","comment":"Color for jump instructions","arg_str":""},{"text":"cjmp","comment":"Color for conditional jumps","arg_str":""},{"text":"call","comment":"Color for call instructions","arg_str":""},{"text":"nop","comment":"Color for nop instructions","arg_str":""},{"text":"ret","comment":"Color for return instructions","arg_str":""},{"text":"trap","comment":"Color for trap/interrupt instructions","arg_str":""},{"text":"ucall","comment":"Color for unknown calls","arg_str":""},{"text":"ujmp","comment":"Color for unknown jumps","arg_str":""},{"text":"swi","comment":"Color for software interrupts","arg_str":""},{"text":"cmp","comment":"Color for compare instructions","arg_str":""},{"text":"reg","comment":"Color for registers","arg_str":""},{"text":"creg","comment":"Color for changed registers","arg_str":""},{"text":"num","comment":"Color for numbers","arg_str":""},{"text":"mov","comment":"Color for move instructions","arg_str":""},{"text":"func_var","comment":"Color for function variables","arg_str":""},{"text":"func_var_type","comment":"Color for function variable types","arg_str":""},{"text":"func_var_addr","comment":"Color for function variable addresses","arg_str":""},{"text":"widget_bg","comment":"Color for widget background","arg_str":""},{"text":"widget_sel","comment":"Color for selected widget","arg_str":""},{"text":"meta","comment":"Color for metadata","arg_str":""},{"text":"ai.read","comment":"Color for memory read access","arg_str":""},{"text":"ai.write","comment":"Color for memory write access","arg_str":""},{"text":"ai.exec","comment":"Color for executable memory","arg_str":""},{"text":"ai.seq","comment":"Color for sequential memory","arg_str":""},{"text":"ai.ascii","comment":"Color for ASCII in memory","arg_str":""},{"text":"graph.box","comment":"Color for graph box","arg_str":""},{"text":"graph.box2","comment":"Color for graph box (alternative 2)","arg_str":""},{"text":"graph.box3","comment":"Color for graph box (alternative 3)","arg_str":""},{"text":"graph.box4","comment":"Color for graph box (alternative 4)","arg_str":""},{"text":"graph.true","comment":"Color for true branch in graph","arg_str":""},{"text":"graph.false","comment":"Color for false branch in graph","arg_str":""},{"text":"graph.ujump","comment":"Color for unknown jump in graph","arg_str":""},{"text":"graph.current","comment":"Color for current node in graph","arg_str":""},{"text":"graph.traced","comment":"Color for traced node in graph","arg_str":""},{"text":"diff.unknown","comment":"Color for unknown diff","arg_str":""},{"text":"diff.new","comment":"Color for new diff","arg_str":""},{"text":"diff.match","comment":"Color for matched diff","arg_str":""},{"text":"diff.unmatch","comment":"Color for unmatched diff","arg_str":""},{"text":"gui.cflow","comment":"Color for GUI control flow","arg_str":""},{"text":"gui.dataoffset","comment":"Color for GUI data offset","arg_str":""},{"text":"gui.background","comment":"Color for GUI background","arg_str":""},{"text":"gui.alt_background","comment":"Color for GUI alternate background","arg_str":""},{"text":"gui.border","comment":"Color for GUI border","arg_str":""},{"text":"wordhl","comment":"Color for highlighted word","arg_str":""},{"text":"linehl","comment":"Color for highlighted line","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ecc","type":"argv","summary":"Show palette in CSS","description":"","args_str":" [<prefix>]","args":[{"type":"string","name":"prefix","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ecd","type":"argv","summary":"Set default palette","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ecH","type":"group","summary":"Highlight word or an instruction","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":6,"modes":["json"],"children":[{"cmd":"ecH","type":"argv_modes","summary":"List all the highlight rules","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json"],"children":[]},{"cmd":"ecHi","type":"argv","summary":"Highlight current instruction with the given color as background","description":"","args_str":" <color>","args":[{"type":"string","name":"color","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ecHw","type":"argv","summary":"Highlight the word with the given color as background","description":"","args_str":" <word> [<color>]","args":[{"type":"string","name":"word","required":true},{"type":"string","name":"color","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ecH.","type":"argv","summary":"Show highlight rule in current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ecH-*","type":"argv","summary":"Remove all highlights and hints","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ecH-","type":"argv","summary":"Remove all highlights on current instruction","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"ecr","type":"argv","summary":"Set random palette","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ecs","type":"argv","summary":"Set a colorful palette","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"eco","type":"group","summary":"Load the provided theme or list the available themes","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":["json","quiet"],"children":[{"cmd":"eco","type":"argv_state","summary":"List the available themes","description":"","args_str":" [<theme>]","args":[{"type":"choice","name":"theme","choices":["ayu","basic","behelit","bold","bright","cga","consonance","cutter","dark","darkda","default","defragger","durian","focus","gb","gentoo","lima","mars","matrix","monokai","nord","ogray","onedark","pink","rasta","sepia","smyck","solarized","tango","twilight","underwater","white","white2","xvilka","zenburn"]}],"details":[],"executable":true,"n_children":0,"modes":["json","quiet"],"children":[]},{"cmd":"eco.","type":"argv","summary":"Display current theme name","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ecoo","type":"argv","summary":"Reload current theme","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"ecp","type":"argv","summary":"Load previuos color theme","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ecn","type":"argv","summary":"Load next color theme","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"ee","type":"argv","summary":"Open editor to change the value of config variable <key>","description":"","args_str":" <key>","args":[{"type":"evaluable","name":"key","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"er","type":"argv","summary":"Set config variable <key> as read-only","description":"","args_str":" <key>","args":[{"type":"evaluable","name":"key","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"es","type":"argv","summary":"List all config variable spaces or sub-keys/sub-spaces if a <key> is provided","description":"","args_str":" [<key>]","args":[{"type":"evaluable","name":"key"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"et","type":"argv","summary":"Show type of given config variable <key>","description":"","args_str":" <key>","args":[{"type":"evaluable","name":"key","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"F","type":"group","summary":"FLIRT signature management","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":6,"modes":[],"children":[{"cmd":"Fc","type":"argv","summary":"Create a FLIRT file (.pat or .sig)","description":"","args_str":" <filename>","args":[{"type":"filename","name":"filename","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Fd","type":"argv","summary":"Open a FLIRT file (.pat or .sig) and dumps its contents","description":"","args_str":" <filename>","args":[{"type":"filename","name":"filename","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Fs","type":"argv","summary":"Open a FLIRT file (.pat or .sig) and tries to apply the signatures to the loaded binary","description":"","args_str":" <filename>","args":[{"type":"filename","name":"filename","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Ff","type":"argv","summary":"Outputs the flirt function signature info","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Fa","type":"argv","summary":"Apply signatures from sigdb","description":"","args_str":" [<filter>]","args":[{"type":"string","name":"filter","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Fl","type":"argv_state","summary":"Lists all available signatures in sigdb","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["table"],"children":[]}]},{"cmd":"f","type":"group","summary":"Manage flags","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":26,"modes":[],"children":[{"cmd":"f","type":"argv","summary":"Add the flag if there are no existing flags","description":"Adds the flag to the current offset only if no flag exists at this offset already.","args_str":" <name> [<size> [<comment>]]","args":[{"type":"string","name":"name","required":true},{"type":"number","name":"size"},{"type":"string","name":"comment","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"f+","type":"argv","summary":"Add the flag","description":"Add the flag like the 'f' command but in any case, even if one or multiple flags already exist.","args_str":" <name> [<size> [<comment>]]","args":[{"type":"string","name":"name","required":true},{"type":"number","name":"size"},{"type":"string","name":"comment","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"f.","type":"group","summary":"Local flags (per function)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":[],"children":[{"cmd":"f.","type":"argv","summary":"Add the local flag","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"f.-","type":"argv","summary":"Remove the local flag","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"f.l","type":"argv_state","summary":"List the local flags for the function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"f.l*","type":"argv_state","summary":"List the local flags for all functions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]}]},{"cmd":"f-","type":"argv","summary":"Remove the flag","description":"If the glob is supplied it removes just flag items matching the pattern. Otherwise, it removes all flags at the current offset.","args_str":" [<glob>]","args":[{"type":"string","name":"glob","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"f-*","type":"argv","summary":"Remove all flags","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fa","type":"argv","summary":"Alias a flag to evaluate an expression","description":"","args_str":" <name> <alias>","args":[{"type":"unknown","name":"name","required":true},{"type":"string","name":"alias","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fe","type":"argv","summary":"Check if flag exists","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ff","type":"argv","summary":"Distance in bytes to reach the next flag","description":"","args_str":" [<glob>]","args":[{"type":"string","name":"glob","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fg","type":"argv_state","summary":"Show the flag graph","description":"","args_str":" [<name>]","args":[{"type":"unknown","name":"name"}],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"fi","type":"argv_state","summary":"Show the flags in the block or custom range","description":"","args_str":" [<size>]","args":[{"type":"expression","name":"size","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"fl","type":"argv_state","summary":"List all flags","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"fl.","type":"argv_state","summary":"List all flags at the current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"fL","type":"argv","summary":"Show the flag length / Set the flag length","description":"","args_str":" [<size>]","args":[{"type":"number","name":"size"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fN","type":"argv","summary":"Show the realname of the flag / Set the realname of the flag","description":"","args_str":" [<name> [<realname>]]","args":[{"type":"unknown","name":"name"},{"type":"string","name":"realname","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fl=","type":"argv","summary":"List range bars with flag offsets and sizes","description":"","args_str":" [<glob>]","args":[{"type":"string","name":"glob","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fc","type":"argv","summary":"Set a color for the given flag / Show the color for the given flag","description":"","args_str":" <flag> [<color>]","args":[{"type":"unknown","name":"flag","required":true},{"type":"string","name":"color","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fC","type":"argv","summary":"Set a comment for the given flag / Show the comment for the given flag","description":"","args_str":" <name> [<comment>]","args":[{"type":"unknown","name":"name","required":true},{"type":"string","name":"comment","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fd","type":"group","summary":"Describe flag","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":["standard","json","table"],"children":[{"cmd":"fd","type":"argv_state","summary":"Describe flag + delta for the current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","table"],"children":[]},{"cmd":"fd.","type":"argv_state","summary":"Describe flags for the current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","table"],"children":[]},{"cmd":"fdw","type":"argv","summary":"Describe closest flag by string for the current offset","description":"","args_str":" <string>","args":[{"type":"string","name":"string","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"fm","type":"argv","summary":"Move a flag to the new address","description":"","args_str":" <newaddress>","args":[{"type":"expression","name":"newaddress","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fO","type":"argv","summary":"Flag as ordinals (sym.* func.* method.*)","description":"","args_str":" <glob>","args":[{"type":"string","name":"glob","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fr","type":"argv","summary":"Rename flag","description":"","args_str":" <old> <new>","args":[{"type":"unknown","name":"old","required":true},{"type":"string","name":"new","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fR","type":"argv","summary":"Relocate flags","description":"","args_str":" <from> <to> [<mask>]","args":[{"type":"expression","name":"from","required":true},{"type":"expression","name":"to","required":true},{"type":"number","name":"mask"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fs","type":"group","summary":"Manage flagspaces","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":7,"modes":[],"children":[{"cmd":"fs","type":"argv","summary":"Add the flagspace","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fsl","type":"argv_state","summary":"Display flagspaces","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"fs-","type":"argv","summary":"Remove the flagspace","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fs-*","type":"argv","summary":"Remove all flagspaces","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fsm","type":"argv","summary":"Move the flags at the current address to the current flagspace","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fsr","type":"argv","summary":"Rename the flag space","description":"","args_str":" <newname>","args":[{"type":"string","name":"newname","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fss","type":"group","summary":"Manage the flagspace stack","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":3,"modes":[],"children":[{"cmd":"fss+","type":"argv","summary":"Push the flagspace to the stack","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fss-","type":"argv","summary":"Pop the flagspace from the stack","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fssl","type":"argv_state","summary":"Display flagspace stack","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]}]},{"cmd":"ft","type":"group","summary":"Flag tags","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"ft","type":"argv","summary":"Set a list of words for the given tag","description":"","args_str":" <tag> <words>","args":[{"type":"string","name":"tag","required":true},{"type":"string","name":"words","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ftl","type":"argv_state","summary":"List all flag tags","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long"],"children":[]},{"cmd":"ftn","type":"argv","summary":"Find all matching flag names for the given tag","description":"","args_str":" <tag>","args":[{"type":"string","name":"tag","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"fz","type":"group","summary":"Flag zones","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":[],"children":[{"cmd":"fz","type":"argv","summary":"Add new flagzone with [name]","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fz-","type":"argv","summary":"Remove the flag zone with [name]","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fz-*","type":"argv","summary":"Remove all flagzones","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fz.","type":"argv","summary":"Show around flag zone context","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fzl","type":"argv_state","summary":"List all flag zones","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"fx","type":"argv","summary":"Show hexdump of flag:flagsize","description":"","args_str":" <name>","args":[{"type":"unknown","name":"name","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"g","type":"group","summary":"Generate shellcodes with rz_egg","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":9,"modes":[],"children":[{"cmd":"g","type":"argv","summary":"Compile the shellcode","description":"","args_str":" [<file>]","args":[{"type":"filename","name":"file"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"gc","type":"argv","summary":"Get/Set config option for shellcode / List all config options","description":"","args_str":" <key>[=<val>] [<key>[=<val>] ...]]","args":[{"type":"string","name":"key=value","is_array":true}],"details":[{"name":"Examples","entries":[{"text":"gc","comment":"Show current value of config variable `egg.encoder`","arg_str":" egg.encoder"},{"text":"gc","comment":"Set config variable `egg.encoder` to `xor`","arg_str":" egg.encoder=xor"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"gl","type":"argv","summary":"List shellcode and encoder plugins","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"gs","type":"argv","summary":"Compile syscall \"name(args)\"","description":"","args_str":" <name> [<args>]","args":[{"type":"string","name":"name","required":true},{"type":"string","name":"args","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"gi","type":"argv","summary":"Define the shellcode type","description":"","args_str":" <type>","args":[{"type":"string","name":"type","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"gp","type":"argv","summary":"Define padding for command","description":"","args_str":" <padding>","args":[{"type":"expression","name":"padding","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ge","type":"argv","summary":"Specify an encoder and a key","description":"","args_str":" <encoder> <key>","args":[{"type":"string","name":"encoder","required":true},{"type":"string","name":"key","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"gr","type":"argv","summary":"Reset the shellcode configuration","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"gS","type":"argv","summary":"Show the current configuration","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"H","type":"group","summary":"Rizin history commands.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"H","type":"argv","summary":"Shows the history in current session or executes an history command via its index.","description":"","args_str":" [<index>]","args":[{"type":"number","name":"index"}],"details":[{"name":"Examples","entries":[{"text":"H","comment":"Shows the current session history","arg_str":""},{"text":"H","comment":"Executes a history command with index value of 12","arg_str":" 12"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"H-","type":"argv","summary":"Clears the history in current session","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"H+","type":"argv","summary":"Saves the history of the current session","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"help","type":"argv","summary":"Generic help","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"i","type":"group","summary":"Get info about opened binary file","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":36,"modes":["json","quiet","table"],"children":[{"cmd":"i","type":"argv_state","summary":"Show info of current file","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]},{"cmd":"ia","type":"argv_state","summary":"Show a summary of all info (imports, exports, sections, etc.)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"iA","type":"argv_state","summary":"List archs","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]},{"cmd":"ic","type":"group","summary":"List classes, fields and methods","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":6,"modes":["json","quiet","quietest","table"],"children":[{"cmd":"ic","type":"argv_state","summary":"List classes","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","quietest","table"],"children":[]},{"cmd":"ica","type":"argv","summary":"Apply class flags at given address","description":"","args_str":" <class name>","args":[{"type":"string","name":"class name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"icc","type":"argv","summary":"Prints class, fields and methods as source code","description":"","args_str":" [<class name>]","args":[{"type":"string","name":"class name","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"icf","type":"argv_state","summary":"List class fields","description":"","args_str":" [<class name>]","args":[{"type":"string","name":"class name","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","quietest","table"],"children":[]},{"cmd":"icm","type":"argv_state","summary":"List class methods","description":"","args_str":" [<class name>]","args":[{"type":"string","name":"class name","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","quietest","table"],"children":[]},{"cmd":"ics","type":"argv","summary":"Generate type definitions from classes","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"iC","type":"argv_state","summary":"Show signature info (entitlements, ...)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"id","type":"group","summary":"Debug commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json","quiet"],"children":[{"cmd":"id","type":"argv_state","summary":"Show DWARF source lines information","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"idp","type":"group","summary":"PDB commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":["standard","json"],"children":[{"cmd":"idp","type":"argv_state","summary":"Load PDB file information","description":"","args_str":" [<file.pdb>]","args":[{"type":"filename","name":"file.pdb"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"idpi","type":"argv_state","summary":"Show PDB file information","description":"","args_str":" [<file.pdb>]","args":[{"type":"filename","name":"file.pdb"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"idpd","type":"argv_state","summary":"Download PDB file on remote server","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"idpx","type":"argv","summary":"Extracts a compressed PDB file to a folder","description":"","args_str":" <file.pdb> <output_dir>","args":[{"type":"filename","name":"file.pdb","required":true},{"type":"filename","name":"output_dir","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]}]},{"cmd":"iD","type":"group","summary":"Demangle symbol for given language","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"iD","type":"argv","summary":"Demangle symbol for given language","description":"","args_str":" <lang> <symbol>","args":[{"type":"choice","name":"lang","required":true,"choices":["java","msvc","objc","pascal","c++","rust","dlang"]},{"type":"string","name":"symbol","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"iDl","type":"argv_state","summary":"Lists the available demanglers","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]}]},{"cmd":"ie","type":"argv_state","summary":"List entrypoints","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]},{"cmd":"iee","type":"argv_state","summary":"List entries/exits functions (e.g. preinit, init, fini)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]},{"cmd":"iE","type":"group","summary":"List exports","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["json","quiet","table"],"children":[{"cmd":"iE","type":"argv_state","summary":"List exports (global symbols)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]},{"cmd":"iE.","type":"argv_state","summary":"List export at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]}]},{"cmd":"ih","type":"argv_state","summary":"Show binary fields","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]},{"cmd":"iH","type":"argv_modes","summary":"Show binary structured data","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"ii","type":"argv_state","summary":"List imports","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]},{"cmd":"iI","type":"argv_state","summary":"Show binary info","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]},{"cmd":"ik","type":"argv","summary":"Query key-value database from RzBinObject","description":"","args_str":" [<sdb-query>]","args":[{"type":"string","name":"sdb-query","is_last":true}],"details":[{"name":"Examples","entries":[{"text":"ik","comment":"Show all key value pairs in the root namespace (same as 'ik *').","arg_str":""},{"text":"ik","comment":"Show all namespaces under root","arg_str":" **"},{"text":"ik","comment":"Show all key value pairs in the 'versioninfo/versym/' namespace.","arg_str":" versioninfo/versym/*"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"il","type":"argv_state","summary":"List libraries","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]},{"cmd":"iL","type":"argv_state","summary":"List all binary plugins loaded / Show plugin details","description":"","args_str":" [<plugin>]","args":[{"type":"string","name":"plugin","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"im","type":"argv_state","summary":"Show info about predefined memory allocation","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]},{"cmd":"iM","type":"argv_state","summary":"Show main address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]},{"cmd":"ir","type":"argv_state","summary":"List relocations","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]},{"cmd":"iR","type":"argv_state","summary":"List Resources","description":"","args_str":" [<digests1> <digests2> ...]","args":[{"type":"string","name":"digests","is_array":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","table"],"children":[]},{"cmd":"is","type":"argv_state","summary":"List symbols","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","quietest","table"],"children":[]},{"cmd":"is.","type":"argv_state","summary":"Current symbol","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]},{"cmd":"iS","type":"argv_state","summary":"List sections","description":"","args_str":" [<digests1> <digests2> ...]","args":[{"type":"string","name":"digests","is_array":true}],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]},{"cmd":"iS.","type":"argv_state","summary":"Current section","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","table"],"children":[]},{"cmd":"iS=","type":"argv","summary":"Show ascii-art color bars with the section ranges","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"iSS","type":"argv_state","summary":"List segments","description":"","args_str":" [<digests1> <digests2> ...]","args":[{"type":"string","name":"digests","is_array":true}],"details":[],"executable":true,"n_children":0,"modes":["json","table"],"children":[]},{"cmd":"iSS.","type":"argv_state","summary":"Current segment","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","table"],"children":[]},{"cmd":"iT","type":"argv_state","summary":"Show file hashes","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"iV","type":"argv_state","summary":"Display file version info","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"iw","type":"argv_state","summary":"Show try/catch blocks","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","table"],"children":[]},{"cmd":"ix","type":"argv_state","summary":"Display source file line info","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"ix.","type":"argv_state","summary":"Display source file line info at current address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"ixf","type":"argv_state","summary":"Display source file info","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"iz","type":"group","summary":"String commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":["json","quiet","quietest","table"],"children":[{"cmd":"iz","type":"argv_state","summary":"List strings","description":"Lists the strings; the behavior can be modified via str.search.*","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","quietest","table"],"children":[]},{"cmd":"izz","type":"argv_state","summary":"List strings in the whole binary","description":"Lists the strings of the whole binary; the behavior can be modified via str.search.*","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","quietest","table"],"children":[]},{"cmd":"iz-","type":"argv","summary":"Purge string at current address via bin.str.purge","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"izx","type":"argv_state","summary":"List all strings which have xrefs to them.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","quietest","table"],"children":[]}]},{"cmd":"iZ","type":"argv_state","summary":"Guess size of binary program","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"java","type":"group","summary":"Core plugin to visualize java class information","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":7,"modes":[],"children":[{"cmd":"javac","type":"argv_modes","summary":"prints the class structure","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"javaf","type":"argv_modes","summary":"prints the class fields","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"javai","type":"argv_modes","summary":"prints the class interfaces","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"javam","type":"argv_modes","summary":"prints the class methods","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"javap","type":"argv_modes","summary":"prints the class constant pool","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"javas","type":"argv","summary":"prints the class like a java source code","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"javar","type":"argv","summary":"resolves the class constant pool value at a given index","description":"","args_str":" <index>","args":[{"type":"number","name":"index","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"k","type":"group","summary":"Run query (SDB)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":[],"children":[{"cmd":"k","type":"argv","summary":"Get or set a value from the SDB.","description":"","args_str":" [<key>[=<val>]]","args":[{"type":"string","name":"key=value","is_last":true}],"details":[{"name":"Examples","entries":[{"text":"k","comment":"List all keys in root namespace.","arg_str":""},{"text":"k","comment":"List namespaces under root.","arg_str":" **"},{"text":"k","comment":"List namespaces under 'analysis'.","arg_str":" analysis/**"},{"text":"k","comment":"List key-value pairs under the 'analysis.meta' namespace.","arg_str":" analysis/meta/*"},{"text":"k","comment":"Show value of key 'meta.0x80404'.","arg_str":" analysis/meta/meta.0x80404"},{"text":"k","comment":"Show value of key 'foo'.","arg_str":" foo"},{"text":"k","comment":"Set key 'foo' to value 'bar'","arg_str":" foo=bar"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"kj","type":"argv","summary":"List all namespaces under 'analysis/' and sdb databases in JSON format (SDB).","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ks","type":"argv","summary":"Enter query shell (SDB).","description":"","args_str":" <namespace>","args":[{"type":"string","name":"namespace","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"kd","type":"argv","summary":"Dump namespace to file (SDB).","description":"","args_str":" <filename> <namespace>","args":[{"type":"filename","name":"filename","required":true},{"type":"string","name":"namespace","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ko","type":"argv","summary":"Load namespace from file (SDB).","description":"","args_str":" <filename> <namespace>","args":[{"type":"filename","name":"filename","required":true},{"type":"string","name":"namespace","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"L","type":"group","summary":"List, unload, load rizin plugins","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":12,"modes":[],"children":[{"cmd":"L","type":"argv","summary":"Load a plugin from file","description":"","args_str":" <plugin_file>","args":[{"type":"filename","name":"plugin_file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"L-","type":"argv","summary":"Unload a plugin from file","description":"","args_str":" <plugin_file>","args":[{"type":"filename","name":"plugin_file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Ll","type":"argv_state","summary":"List the lang plugins","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"La","type":"group","summary":"List the asm/analysis plugins","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json","quiet","table"],"children":[{"cmd":"La","type":"argv_state","summary":"List the arch plugins","description":"","args_str":" [<features>]","args":[{"type":"string","name":"features","is_last":true}],"details":[{"name":"Legend","entries":[{"text":"a","comment":"Analysis plugin","arg_str":""},{"text":"d","comment":"Disassembler plugin","arg_str":""},{"text":"A","comment":"Assembler plugin","arg_str":""},{"text":"e","comment":"ESIL Support","arg_str":""},{"text":"I","comment":"RzIL Support","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"Lac","type":"argv_state","summary":"List the cpus supported by the arch plugin","description":"","args_str":" <architecture>","args":[{"type":"string","name":"architecture","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"Lc","type":"argv_state","summary":"List the core plugins","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"LC","type":"argv_state","summary":"List the crypto plugins","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"Ld","type":"argv_state","summary":"List debug plugins / Set debug backend (e dbg.backend)","description":"","args_str":" [<handler>]","args":[{"type":"string","name":"handler","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"Lh","type":"argv_state","summary":"List the hash plugins","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"Li","type":"argv_state","summary":"List the bin plugins","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"Lo","type":"argv_state","summary":"List IO plugins / Register IO plugin from <path>","description":"","args_str":" [<path>]","args":[{"type":"filename","name":"path"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"Lp","type":"argv_state","summary":"List the parser plugins","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"LD","type":"argv_state","summary":"List the demanglers plugins (alias for iDl)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]}]},{"cmd":"m","type":"group","summary":"Manage marks","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":14,"modes":[],"children":[{"cmd":"m","type":"argv","summary":"Adds a mark if there are no existing marks.","description":"Adds the mark to the current offset only if no mark covers this offset already","args_str":" <name> <end> [<comment>]","args":[{"type":"string","name":"name","required":true},{"type":"number","name":"end","required":true},{"type":"string","name":"comment","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"m+","type":"argv","summary":"Add mark.","description":"Adds a mark at the current offset, replacing any existing mark with the same name.","args_str":" <name> <end> [<comment>]","args":[{"type":"string","name":"name","required":true},{"type":"number","name":"end","required":true},{"type":"string","name":"comment","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"m-","type":"argv","summary":"Remove mark.","description":"Removes marks by name. If <regex_pattern> is given, only marks whose name matches the regex are removed. Otherwise, all marks covering the current offset are removed.","args_str":" [<regex_pattern>]","args":[{"type":"string","name":"regex_pattern","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"m-*","type":"argv","summary":"Remove all marks.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ml","type":"argv_state","summary":"List all marks.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"ml.","type":"argv_state","summary":"List all marks containing the current offset.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"mc","type":"argv","summary":"Set a color for the given mark / Show the color for the given mark.","description":"","args_str":" <name> [<color>]","args":[{"type":"unknown","name":"name","required":true},{"type":"string","name":"color","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"mC","type":"argv","summary":"Set a comment for the given mark. If no comment is given, it shows the current one for the mark.","description":"","args_str":" <name> [<comment>]","args":[{"type":"unknown","name":"name","required":true},{"type":"string","name":"comment","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"mr","type":"argv","summary":"Rename mark.","description":"","args_str":" <old> <new>","args":[{"type":"unknown","name":"old","required":true},{"type":"string","name":"new","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"mN","type":"argv","summary":"Show the realname of the mark / Set the realname of the mark.","description":"Each mark has two identifiers. <name> is the unique, escaped identifier used internally by Rizin. <realname> is the original, unescaped name, kept as given by the user.","args_str":" <name> [<realname>]","args":[{"type":"unknown","name":"name","required":true},{"type":"string","name":"realname","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"mm","type":"argv","summary":"Move a mark to new a location.","description":"","args_str":" <name> <new_start> <new_end>","args":[{"type":"unknown","name":"name","required":true},{"type":"expression","name":"new_start","required":true},{"type":"expression","name":"new_end","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"mf","type":"argv","summary":"Distance in bytes to reach the starting of mark from the current offset.","description":"","args_str":" <regex_pattern>","args":[{"type":"string","name":"regex_pattern","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"md","type":"group","summary":"Describe mark.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":1,"modes":["standard","json","table"],"children":[{"cmd":"md","type":"argv_state","summary":"Describe marks at the current offset or a named mark with distance from the offset.","description":"Displays information about marks. Without arguments, it describes all marks that contain the current offset. With a <name> argument, it shows details of that mark and the distance in bytes from the current offset to reach the mark. If the mark begins after the current offset, it shows <name> - <bytes> (distance from current offset to start of the mark). If the mark ends before the current offset, it shows <name> + <bytes> (distance from current offset to the end of the mark).","args_str":" [<name>]","args":[{"type":"unknown","name":"name"}],"details":[{"name":"Usage example","entries":[{"text":"md","comment":"Describe all marks containing the current offset","arg_str":""},{"text":"md foo","comment":"Describe the mark named 'foo' and show distance from current offset to reach 'foo' in bytes","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json","table"],"children":[]}]},{"cmd":"mi","type":"argv_state","summary":"Show marks in the current block or in the next <size> bytes.","description":"","args_str":" [<size>]","args":[{"type":"expression","name":"size","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]}]},{"cmd":"o","type":"group","summary":"Open files and handle opened files","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":18,"modes":[],"children":[{"cmd":"o","type":"argv","summary":"Open <file>","description":"","args_str":" <file> [<addr> [<perm>]]","args":[{"type":"filename","name":"file","required":true},{"type":"expression","name":"addr"},{"type":"string","name":"perm","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"o+","type":"argv","summary":"Open <file> in write mode","description":"","args_str":" <file> [<addr> [<perm>]]","args":[{"type":"filename","name":"file","required":true},{"type":"expression","name":"addr"},{"type":"string","name":"perm","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ol","type":"argv_state","summary":"List opened files","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"ol.","type":"argv_state","summary":"Show currently opened file","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"o-","type":"argv","summary":"Close file descriptor","description":"","args_str":" <fd>","args":[{"type":"number","name":"fd","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"o--","type":"argv","summary":"Close all files","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"oc","type":"argv","summary":"Close all opened files and open <file>, like relaunching rizin","description":"","args_str":" <file>","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"oC","type":"argv","summary":"Open a 'malloc://<len>' file, copying the bytes from current offset","description":"","args_str":" <len>","args":[{"type":"expression","name":"len","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"on","type":"group","summary":"Open files without parsing binary info","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"on","type":"argv","summary":"Open <file> without parsing binary info","description":"","args_str":" <file> [<addr> [<perm>]]","args":[{"type":"filename","name":"file","required":true},{"type":"expression","name":"addr"},{"type":"string","name":"perm","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"on+","type":"argv","summary":"Open <file> in write mode, without parsing binary info","description":"","args_str":" <file> [<addr> [<perm>]]","args":[{"type":"filename","name":"file","required":true},{"type":"expression","name":"addr"},{"type":"string","name":"perm","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"oo","type":"group","summary":"Reopen current file","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":10,"modes":[],"children":[{"cmd":"oo","type":"argv","summary":"Reopen current file or file <fd>","description":"","args_str":" [<fd>]","args":[{"type":"number","name":"fd"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"oo+","type":"argv","summary":"Reopen current file or file <fd> in write mode","description":"","args_str":" [<fd>]","args":[{"type":"number","name":"fd"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"oob","type":"argv","summary":"Reopen current file and reload binary information","description":"","args_str":" [<baddr>]","args":[{"type":"expression","name":"baddr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ooc","type":"argv","summary":"Reopen current file as if restarting rizin","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ood","type":"group","summary":"Reopen current file in debug mode","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"ood","type":"argv","summary":"Reopen current file in debug mode","description":"","args_str":" [<args1> <args2> ...]","args":[{"type":"string","name":"args","is_array":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"oodf","type":"argv","summary":"Open <uri> in debug mode","description":"","args_str":" <uri> [<addr>]","args":[{"type":"string","name":"uri","required":true},{"type":"expression","name":"addr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"oodr","type":"argv","summary":"Reopen current file in debug mode with given rz-run directives","description":"","args_str":" <rz-run-directives>","args":[{"type":"string","name":"rz-run-directives","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"oom","type":"argv","summary":"Reopen curent file in malloc://","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"oon","type":"argv","summary":"Reopen curent file without loading binary information","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"oon+","type":"argv","summary":"Reopen curent file in write-mode without loading binary information","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"oonn","type":"argv","summary":"Reopen curent file without loading binary information but with header flags","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"oonn+","type":"argv","summary":"Reopen curent file in write-mode without loading binary information but with header flags","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"oL","type":"argv_state","summary":"List all IO plugins / Register IO plugin from <path>","description":"","args_str":" [<path>]","args":[{"type":"filename","name":"path"}],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]},{"cmd":"o=","type":"argv","summary":"List opened files in ASCII-art bars","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"oa","type":"argv","summary":"Specify <arch> and <bits> for the file <filename> or the current one if none is specified","description":"","args_str":" <arch> <bits> [<filename>]","args":[{"type":"string","name":"arch","required":true},{"type":"expression","name":"bits","required":true},{"type":"filename","name":"filename"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ob","type":"group","summary":"Handle binary files","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":11,"modes":[],"children":[{"cmd":"ob","type":"argv","summary":"Switch to binary file with the given <id>","description":"","args_str":" <id>","args":[{"type":"number","name":"id","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"obo","type":"argv","summary":"Switch to binary file with the given <fd>","description":"","args_str":" <fd>","args":[{"type":"number","name":"fd","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ob-","type":"argv","summary":"Delete binary file with the given <id>","description":"","args_str":" <id>","args":[{"type":"number","name":"id","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ob-*","type":"argv","summary":"Delete all binary files","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"obl","type":"argv_state","summary":"List opened binary files","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"obl=","type":"argv","summary":"List opened binary files in ASCII art","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ob.","type":"argv","summary":"Show id of binary file current address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"oba","type":"argv","summary":"Open binary file for current file and load binary info with baseaddr at current offset","description":"","args_str":" <loadaddr>=0","args":[{"type":"expression","name":"loadaddr","required":true,"is_last":true,"default":"0"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"obf","type":"argv","summary":"Load binary info for the given file or current one with baseaddr at current offset","description":"","args_str":" [<file>]","args":[{"type":"filename","name":"file"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"obs","type":"argv","summary":"Select the binary version for the specified architecture from the fat binary.","description":"","args_str":" [<arch>]","args":[{"type":"string","name":"arch","is_last":true}],"details":[{"name":"Examples","entries":[{"text":"obs","comment":"List all architectures the fat binary supports contains.","arg_str":""},{"text":"obs sparc","comment":"Select and load the binary for Sparc","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"obR","type":"argv","summary":"Reload the current buffer for setting of the bin (use once only)","description":"","args_str":" <baddr>=0","args":[{"type":"expression","name":"baddr","required":true,"is_last":true,"default":"0"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"ou","type":"argv","summary":"Use specified <fd>","description":"","args_str":" <fd>","args":[{"type":"number","name":"fd","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"op","type":"group","summary":"Select prioritized file","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":[],"children":[{"cmd":"op","type":"argv","summary":"Prioritize file with file descriptor <fd>","description":"","args_str":" <fd>","args":[{"type":"number","name":"fd","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"opn","type":"argv","summary":"Prioritize next file in the list","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"opp","type":"argv","summary":"Prioritize previous file in the list","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"opr","type":"argv","summary":"Prioritize next file in the list (go back to first if on the last)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"om","type":"group","summary":"Handle IO maps","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":15,"modes":[],"children":[{"cmd":"om","type":"argv","summary":"Create a new map","description":"","args_str":" <fd> <vaddr> [<size> [<paddr> [<flags> [<name>]]]]","args":[{"type":"number","name":"fd","required":true},{"type":"expression","name":"vaddr","required":true},{"type":"expression","name":"size"},{"type":"expression","name":"paddr"},{"type":"string","name":"flags"},{"type":"string","name":"name","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"oml","type":"argv_state","summary":"List maps of all file descriptor or only the specified <fd>","description":"","args_str":" [<fd>]","args":[{"type":"number","name":"fd"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","quietest","table"],"children":[]},{"cmd":"oml.","type":"argv_state","summary":"Show map at the current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","quietest","table"],"children":[]},{"cmd":"oml=","type":"argv","summary":"List IO maps in ASCII art","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"om-","type":"argv","summary":"Remove the IO map with corresponding <id>","description":"","args_str":" <id>","args":[{"type":"number","name":"id","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"om-*","type":"argv","summary":"Remove all IO maps","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"oma","type":"argv","summary":"Create a IO map covering all VA for given <fd> or current one if not provided","description":"","args_str":" [<fd>]","args":[{"type":"number","name":"fd"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"omb","type":"argv","summary":"Relocate map with corresponding <id> to <addr>","description":"","args_str":" <id> <addr>","args":[{"type":"number","name":"id","required":true},{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"omb.","type":"argv","summary":"Relocate map at current offset to <addr>","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"omf","type":"argv","summary":"Change flags/perms for map with given <id> or current one","description":"","args_str":" <flags> [<id>]","args":[{"type":"string","name":"flags","required":true},{"type":"number","name":"id"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"omfg","type":"argv","summary":"Change flags/perms for all maps","description":"Update flags of all maps. If <flags> starts with a +, the specified flags are added to the maps. If <flags> starts with a -, the specified flags are removed from the maps. Otherwise, the exact <flags> are set for each map.","args_str":" <flags>","args":[{"type":"string","name":"flags","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"omm","type":"argv","summary":"Create default map for given <fd> or current one","description":"","args_str":" [<fd>]","args":[{"type":"number","name":"fd"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"omn","type":"group","summary":"Handle maps names","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":[],"children":[{"cmd":"omn","type":"argv","summary":"Set name of map which spans current seek","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"omn-","type":"argv","summary":"Delete name of map which spans current seek","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"omni","type":"argv","summary":"Set name of map with map <id>","description":"","args_str":" <id> <name>","args":[{"type":"number","name":"id","required":true},{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"omni-","type":"argv","summary":"Delete name of map with map <id>","description":"","args_str":" <id>","args":[{"type":"number","name":"id","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"omr","type":"argv","summary":"Resize map with corresponding <id>","description":"","args_str":" <id> <newsize>","args":[{"type":"number","name":"id","required":true},{"type":"expression","name":"newsize","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"omp","type":"group","summary":"Prioritize maps","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":[],"children":[{"cmd":"omp","type":"argv","summary":"Prioritize map with the corresponding id","description":"","args_str":" <id>","args":[{"type":"number","name":"id","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ompb","type":"argv","summary":"Prioritize maps of the bin associated with the binid","description":"","args_str":" <fd>","args":[{"type":"number","name":"fd","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ompd","type":"argv","summary":"Deprioritize map with the corresponding id","description":"","args_str":" <id>","args":[{"type":"number","name":"id","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ompf","type":"argv","summary":"Prioritize map by fd","description":"","args_str":" <fd>","args":[{"type":"number","name":"fd","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]}]},{"cmd":"ox","type":"argv","summary":"Exchange the descs of <fd> and <fdx> and keep the mapping","description":"","args_str":" <fd> <fdx>","args":[{"type":"number","name":"fd","required":true},{"type":"number","name":"fdx","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"P","type":"group","summary":"Project management","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":3,"modes":[],"children":[{"cmd":"Ps","type":"argv","summary":"Save a project","description":"","args_str":" [<project.rzdb>]","args":[{"type":"filename","name":"project.rzdb"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Po","type":"argv","summary":"Open a project","description":"","args_str":" <project.rzdb>","args":[{"type":"filename","name":"project.rzdb","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Poo","type":"argv","summary":"Open a project on top of currently loaded binaries","description":"","args_str":" <project.rzdb>","args":[{"type":"filename","name":"project.rzdb","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p","type":"group","summary":"Print commands","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":30,"modes":[],"children":[{"cmd":"p2","type":"argv","summary":"Print 8x8 2bpp tiles.","description":"","args_str":" [<n>]","args":[{"type":"expression","name":"n","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p8","type":"group","summary":"Print 8bit hexpair list of bytes.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json"],"children":[{"cmd":"p8","type":"argv_state","summary":"Print 8bit hexpair list of bytes.","description":"","args_str":" [<n>]","args":[{"type":"expression","name":"n","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"p8f","type":"argv","summary":"Print 8bit hexpair list of bytes in function (linear).","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"pb","type":"argv_modes","summary":"Print bitstream of <n> bits, skipping the first <skip> bits.","description":"","args_str":" <n> <skip>=0","args":[{"type":"expression","name":"n","required":true},{"type":"expression","name":"skip","required":true,"is_last":true,"default":"0"}],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"pB","type":"argv_modes","summary":"Print bitstream of <n> bytes","description":"","args_str":" <n>","args":[{"type":"expression","name":"n","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"pa","type":"group","summary":"Print (dis)assembly of given hexpairs/assembly","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":["standard"],"children":[{"cmd":"pa","type":"argv_modes","summary":"Print hexpairs of the given assembly expression","description":"","args_str":" <assembly>","args":[{"type":"string","name":"assembly","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"pae","type":"argv_modes","summary":"Print ESIL expression of the given assembly expression","description":"","args_str":" <assembly>","args":[{"type":"string","name":"assembly","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"pad","type":"argv_modes","summary":"Print assembly expression from hexpairs (alias for pix)","description":"","args_str":" <hexpair>","args":[{"type":"string","name":"hexpair","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"pade","type":"argv_modes","summary":"Print ESIL expression from hexpairs","description":"","args_str":" <hexpair>","args":[{"type":"string","name":"hexpair","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]}]},{"cmd":"pc","type":"group","summary":"Print bytes as code byte arrays.","description":"","args_str":"","args":[],"details":[{"name":"Useful modifiers","entries":[{"text":"pch @e:cfg.bigendian=<true|false>","comment":"Change endianness for pch, pcw and pcd commands","arg_str":""},{"text":"pc @! <n>","comment":"Change the N of bytes (i.e. block size).","arg_str":""}]},{"name":"Example of usages","entries":[{"text":"pch @! 64 @e:cfg.bigendian=true","comment":"Generate a C 32 bits array in big endian format, using 64 bytes","arg_str":""},{"text":"pcp 1024","comment":"Generate a Python byte array of size 1024","arg_str":""},{"text":"pcj 10","comment":"Generate a JSON bytes array of size 10","arg_str":""}]}],"executable":true,"n_children":18,"modes":[],"children":[{"cmd":"pc","type":"argv","summary":"Generate a C/C++ byte array.","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pch","type":"argv","summary":"Generate a C/C++ 16 bits array.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pcw","type":"argv","summary":"Generate a C/C++ 32 bits array.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pcd","type":"argv","summary":"Generate a C/C++ 64 bits array.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pca","type":"argv","summary":"Generate a byte array in GAS assembly.","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pcA","type":"argv","summary":"Generate a byte array in GAS assembly with instructions in comments.","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pcb","type":"argv","summary":"Generate a bash script with the byte array.","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pcg","type":"argv","summary":"Generate a Golang byte array.","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pcJ","type":"argv","summary":"Generate a Java byte array.","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pcj","type":"argv","summary":"Generate a JSON byte array.","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pck","type":"argv","summary":"Generate a Kotlin byte array.","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pcn","type":"argv","summary":"Generate a NodeJS buffer.","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pco","type":"argv","summary":"Generate a Objective-C/C++ byte array.","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pcp","type":"argv","summary":"Generate a Python byte array.","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pcr","type":"argv","summary":"Generate a Rust byte array.","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pcs","type":"argv","summary":"Generate a Swift byte array.","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pcy","type":"argv","summary":"Generate a Yara match pattern.","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pc*","type":"argv","summary":"Generate a rizin commands for writing the byte array.","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"pD","type":"argv_state","summary":"Disassemble N bytes (can be negative)","description":"","args_str":" [<n_bytes>]","args":[{"type":"expression","name":"n_bytes","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"pC","type":"group","summary":"Print disassembly in columns","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":6,"modes":[],"children":[{"cmd":"pCd","type":"argv","summary":"Print <len> lines of instructions disassembly in columns","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pCD","type":"argv","summary":"Print <len> lines of the debug registers and stack in columns","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pCa","type":"argv","summary":"Print <len> lines of annotated hexdump in columns","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pCA","type":"argv","summary":"Print <len> lines of op analysis color map in columns","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pCx","type":"argv","summary":"Print <len> lines of hexdump in columns","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pCw","type":"argv","summary":"Print <len> lines of 4-byte integer hexdump in columns","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"pd","type":"group","summary":"Print Disassembly","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":13,"modes":["standard","json","quiet","table"],"children":[{"cmd":"pd","type":"argv_state","summary":"Disassemble N instructions (can be negative)","description":"","args_str":" [<n_instrs>]","args":[{"type":"expression","name":"n_instrs","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"pda","type":"group","summary":"Disassemble all possible opcodes (byte per byte)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json","quiet"],"children":[{"cmd":"pda","type":"argv_state","summary":"Disassemble all possible opcodes (byte per byte)","description":"","args_str":" [<n_bytes>]","args":[{"type":"expression","name":"n_bytes","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"pda=","type":"argv","summary":"Disassemble all possible opcodes (treeview)","description":"","args_str":" [<n_bytes>]","args":[{"type":"expression","name":"n_bytes","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"pdb","type":"group","summary":"Disassemble basic block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json"],"children":[{"cmd":"pdb","type":"argv_state","summary":"Disassemble basic block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pdbJ","type":"argv_state","summary":"Disassemble basic block as json containing the printed text","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]}]},{"cmd":"pdC","type":"argv","summary":"Prints the comments found in N instructions","description":"","args_str":" [<n_instrs>]","args":[{"type":"expression","name":"n_instrs","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pde","type":"argv_state","summary":"Disassemble N instructions following execution flow from current PC","description":"","args_str":" [<n_instrs>]","args":[{"type":"expression","name":"n_instrs","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","quietest"],"children":[]},{"cmd":"pdf","type":"group","summary":"Disassemble a function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json"],"children":[{"cmd":"pdf","type":"argv_state","summary":"Disassemble a function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pdfs","type":"argv","summary":"Disassemble a function and outputs the summary of it.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"pdJ","type":"argv_state","summary":"Disassemble N instructions as json containing the printed text","description":"","args_str":" [<n_instrs>]","args":[{"type":"expression","name":"n_instrs","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"pdk","type":"argv","summary":"Disassemble all methods of a class","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pdl","type":"argv_state","summary":"Disassemble N instructions and prints its sizes","description":"","args_str":" [<n_instrs>]","args":[{"type":"expression","name":"n_instrs","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pdp","type":"argv_state","summary":"Disassemble instructions and follows pointers to read ropchains","description":"","args_str":" [<limit>]","args":[{"type":"number","name":"limit"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"pdr","type":"group","summary":"Disassemble recursively across the function graph","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json"],"children":[{"cmd":"pdr","type":"argv_state","summary":"Disassemble recursively across the function graph","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pdr.","type":"argv_state","summary":"Disassemble recursively across the function graph (from current basic block)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"pdR","type":"argv_state","summary":"Disassemble recursively the block size bytes without analyzing functions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"pds","type":"group","summary":"Summarize N bytes or current block or a function (strings, calls, jumps, refs)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"pds","type":"argv","summary":"Summarize N bytes","description":"","args_str":" [<n_bytes>]","args":[{"type":"expression","name":"n_bytes","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pdsf","type":"argv","summary":"Summarize the current function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pdsb","type":"argv","summary":"Summarize current block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]}]},{"cmd":"pf","type":"group","summary":"Print formatted data","description":"","args_str":"","args":[],"details":[{"name":"Sized integers (lowercase=LE UPPER=BE)","entries":[{"text":"x1 / x2 / x4 / x8","comment":"hex unsigned, N bytes","arg_str":""},{"text":"d1 / d2 / d4 / d8","comment":"decimal signed, N bytes","arg_str":""},{"text":"u1 / u2 / u4 / u8","comment":"decimal unsigned, N bytes","arg_str":""},{"text":"o1 / o2 / o4 / o8","comment":"octal, N bytes","arg_str":""},{"text":"b1 / b2 / b4 / b8","comment":"binary, N bytes","arg_str":""},{"text":"n1 / n2 / n4 / n8","comment":"hex unsigned, N bytes; endian comes from the active pf parsing context (set by pf -e, by a parent V/B's e=..., or by the embedding caller), not from the spec's case; useful when the byte order isn't fixed in the format itself (file headers with an endian marker, embedded protocols, serialised records)","arg_str":""},{"text":"f2 / f4 / f8","comment":"IEEE 754 float, 2/4/8 bytes (half/single/double)","arg_str":""}]},{"name":"Special scalars","entries":[{"text":"c","comment":"single byte rendered as character","arg_str":""},{"text":"p / p2 / p4 / p8","comment":"pointer: bare p uses ctx.bits (2/4/8 bytes); p2/p4/p8 force the width","arg_str":""},{"text":"Q","comment":"uint128_t (16 bytes, byte-sequential)","arg_str":""},{"text":"r","comment":"raw hex byte dump (count via [N])","arg_str":""},{"text":"U / L","comment":"ULEB128 / SLEB128 (variable length)","arg_str":""}]},{"name":"Strings (encoding-aware)","entries":[{"text":"z","comment":"inline NUL-terminated string","arg_str":""},{"text":"z(utf16le)","comment":"encoding override (utf8, utf16le, utf16be, utf32le, utf32be, ibm037, ebcdic_us, ...)","arg_str":""},{"text":"z[N]","comment":"length-prefixed string, N-byte prefix (1/2/4/8), length is in characters","arg_str":""},{"text":"z(utf16le)[2b]","comment":"length prefix in BYTES (MS BSTR style); suffix 'b' switches the unit","arg_str":""},{"text":"s","comment":"pointer to NUL-terminated string (dereferences via read_at)","arg_str":""}]},{"name":"Timestamps (parameterised)","entries":[{"text":"t(unix32) / T(unix32)","comment":"wire format inside the parens; case selects LE/BE","arg_str":""},{"text":"supported formats","comment":"unix32, unix64, unixms, unixus, unixns, filetime (alias ntfs), dos, hfs, oletime, webkit, cocoa","arg_str":""}]},{"name":"Typed composites","entries":[{"text":"E (enum_type)","comment":"4-byte enum, name resolved via typedb","arg_str":""},{"text":"B (bitfield_type)","comment":"4-byte bitfield, name resolved via typedb","arg_str":""},{"text":"B4(R=1,W=2,X=4)","comment":"inline bitfield with named flags (size = 1/2/4/8 byte BN)","arg_str":""},{"text":"? (struct_type)","comment":"nested struct, name resolved via typedb","arg_str":""},{"text":"0...","comment":"leading '0' marks the format as a union (all fields share offset 0)","arg_str":""}]},{"name":"DSL extensions","entries":[{"text":"@N","comment":"align cursor up to next N-byte boundary (no value, no name)","arg_str":""},{"text":":N","comment":"read N bits (1..64) from packed bitstream; MSB-first by default","arg_str":""},{"text":":N< / :N>","comment":"explicit bit order: < = LSB-first, > = MSB-first","arg_str":""},{"text":"G","comment":"16-byte GUID/UUID, mixed-endian (MS) layout by default","arg_str":""},{"text":"G(le) / G(be)","comment":"GUID layout: G(le) is LE on D1/D2/D3 (D4 stays raw, effectively the MS layout); G(be) is RFC 4122 BE","arg_str":""},{"text":"V(t=u1,l=u2,d=table)","comment":"TLV record; t=tag, l=length, e=le/be, h=v/l/a (len covers value / len+value / tag+len+value), d=dispatch table","arg_str":""},{"text":"v(N) / v(N,lsb) / v(N,msb)","comment":"bitvector: N individual bits (1..4096) exposed as separate 0/1 scalars; consumes ceil(N/8) bytes; bytes are always shown low-address to high; within each byte the default (msb) prints bit 7 first through bit 0, while lsb flips that to bit 0 first through bit 7","arg_str":""},{"text":"[@field_name]T","comment":"array whose length comes from an earlier scalar field","arg_str":""}]},{"name":"Skip / repeat / pointers","entries":[{"text":".","comment":"skip 1 byte; [N]. skips N bytes","arg_str":""},{"text":"3...","comment":"leading integer repeats the whole format N times","arg_str":""},{"text":"{N}...","comment":"alternate repeat syntax","arg_str":""},{"text":"*T","comment":"field is a pointer to T (dereferenced via read_at)","arg_str":""},{"text":"[N]T","comment":"fixed-size array of N elements of T","arg_str":""}]},{"name":"Examples","entries":[{"text":"pf 'x4 d2 u8 z magic ver size name'","comment":"header with hex u32, signed s16, unsigned u64, NUL-terminated string","arg_str":""},{"text":"pf 'B4(R=1,W=2,X=4,KERN=0x100) perms'","comment":"inline bitfield with named flags","arg_str":""},{"text":"pf 'u1 [@count] x4 count items'","comment":"u8 count, then that many u32 hex values","arg_str":""},{"text":"pf 'z(utf16le)[2b] bstr'","comment":"BSTR-style: 2-byte length prefix counting bytes, UTF-16 LE body","arg_str":""},{"text":"pf ':1 :7 x4 flag rest tail'","comment":"bit-level: 1 bit then 7 bits, then 4 bytes","arg_str":""},{"text":"pf 'G(be) uuid'","comment":"RFC 4122 big-endian UUID","arg_str":""},{"text":"pf 'V(t=u1,l=u2,d=usb_desc) record'","comment":"TLV dispatched via the 'usb_desc' tag-to-format table","arg_str":""},{"text":"pf 't(filetime) created'","comment":"8-byte Windows FILETIME timestamp","arg_str":""},{"text":"pf '3 0x4d4 a b'","comment":"repeat 3 times, union with fields x4 and d4","arg_str":""},{"text":"pf '? (mytype) field'","comment":"nested struct of typedb format 'mytype'","arg_str":""}]},{"name":"Notes","entries":[{"text":"bit order","comment":":N defaults to MSB-first (matches DWARF and most network protocols); use <N for LSB-first","arg_str":""},{"text":"endian via case","comment":"lowercase specifier = little-endian, UPPERCASE = big-endian","arg_str":""},{"text":"context endian","comment":"n1/n2/n4/n8 take the active pf parsing context's current endian setting, not the spec's case","arg_str":""},{"text":"skip vs alignment","comment":"'.' / '[N].' skip an exact number of bytes; '@N' pads to the next N-byte boundary","arg_str":""},{"text":"deprecation","comment":"bare-letter codes (b, C, d, f, F, i, o, q, t, T, w, x, X, Z) still parse with a one-time warning; use the sized or parenthesised forms in new code","arg_str":""},{"text":"pf 'X2D4u8 bigWord beef qword'","comment":"BE u16, BE s32, LE u64 -- one of every endianness/sign combination","arg_str":""},{"text":"pfn foo 'rr (eax)reg1 (eip)reg2'","comment":"Create object foo referencing two registers","arg_str":""},{"text":"pf 't(unix32)t(unix32) troll plop'","comment":"Print two unix-epoch (32-bit) timestamps with labels 'troll' and 'plop'","arg_str":""}]}],"executable":true,"n_children":12,"modes":["standard","json","quiet"],"children":[{"cmd":"pf","type":"argv_state","summary":"Show data using given format string","description":"","args_str":" <format>","args":[{"type":"string","name":"format","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"pf-","type":"argv","summary":"Remove named format","description":"","args_str":" <formatname>","args":[{"type":"unknown","name":"formatname","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pf-*","type":"argv","summary":"Remove all named formats","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pfa","type":"argv","summary":"Apply format string at given address and define flags for each field","description":"","args_str":" <format>","args":[{"type":"unknown","name":"format","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pfc","type":"argv","summary":"Show data using given format string with C syntax","description":"","args_str":" <format>","args":[{"type":"unknown","name":"format","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pfd","type":"argv","summary":"Show data using given format string as DOT","description":"","args_str":" <format>","args":[{"type":"unknown","name":"format","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pf.","type":"argv_state","summary":"Show data using given named format","description":"","args_str":" [<formatname>]","args":[{"type":"unknown","name":"formatname","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"pfn","type":"argv","summary":"List named formats/Print named format string/Define a new named format","description":"","args_str":" [<formatname> [<formatstring>]]","args":[{"type":"unknown","name":"formatname"},{"type":"string","name":"formatstring","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pfo","type":"argv","summary":"Load a Format Definition File (FDF)","description":"","args_str":" [<file>]","args":[{"type":"unknown","name":"file","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pfs","type":"argv","summary":"Print the size of format in bytes","description":"","args_str":" <format>","args":[{"type":"unknown","name":"format","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pfv","type":"argv","summary":"Print the value for named format","description":"","args_str":" <format>","args":[{"type":"unknown","name":"format","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pfw","type":"argv","summary":"Write data using given format string","description":"","args_str":" <format> [<value>]","args":[{"type":"unknown","name":"format","required":true},{"type":"string","name":"value","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"pF","type":"group","summary":"Deserializes ASN.1, PKCS, X509, ProtoBuf, AXML, etc.. formats","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":6,"modes":[],"children":[{"cmd":"pFa","type":"group","summary":"Deserializes the ASN.1 DER structure from the current block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard"],"children":[{"cmd":"pFa","type":"argv_modes","summary":"Deserializes the ASN.1 DER structure from the current block as a hexdump.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"pFas","type":"argv_state","summary":"Deserializes the ASN.1 DER structure from the current block as a structured data format.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]}]},{"cmd":"pFb","type":"group","summary":"Deserializes raw protobuf from current block as a hexdump.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"pFb","type":"argv","summary":"Deserializes raw protobuf from current block as a hexdump.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pFbv","type":"argv","summary":"Deserializes raw protobuf from current block as a hexdump(verbose).","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"pFp","type":"argv_state","summary":"Deserializes PKCS7 from current block as a structured data format.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pFx","type":"argv_state","summary":"Deserializes X.509 from current block as a structured data format.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pF8","type":"argv_state","summary":"Deserializes PKCS#8 private keys from current block as a structured data format.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pFA","type":"argv","summary":"Deserializes Android Binary XML from current block as XML format.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"ph","type":"group","summary":"Print hash/message digest or entropy","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"ph","type":"argv","summary":"Prints a hash/message digest or entropy (use @! to change the block size)","description":"","args_str":" <algo>","args":[{"type":"string","name":"algo","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"phl","type":"argv_state","summary":"Lists all the supported algorithms","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]}]},{"cmd":"pi","type":"group","summary":"Print instructions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":10,"modes":[],"children":[{"cmd":"pi","type":"argv","summary":"Disassemble and print <N> instructions","description":"","args_str":" [<N>]","args":[{"type":"expression","name":"N","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pia","type":"argv","summary":"Print all possible opcodes (byte by byte)","description":"","args_str":" [<N>]","args":[{"type":"expression","name":"N","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pib","type":"argv","summary":"Print all instructions in a basic block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pie","type":"argv","summary":"Print offset and ESIL expression","description":"","args_str":" [<N>]","args":[{"type":"expression","name":"N","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pif","type":"argv_state","summary":"Print all instructions at the current function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pifc","type":"argv_state","summary":"Print only call instructions at the current function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pir","type":"argv_state","summary":"Print instructions using recursive disassembly algorithm","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pir.","type":"argv_state","summary":"Print instructions using recursive disassembly algorithm from the current position","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"piu","type":"argv_state","summary":"Print all instructions until first ret/jmp","description":"","args_str":" [<limit>]","args":[{"type":"expression","name":"limit","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","quiet"],"children":[]},{"cmd":"pix","type":"argv_modes","summary":"Print assembly expression from hexpairs (alias for pad)","description":"","args_str":" <hexpair>","args":[{"type":"string","name":"hexpair","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]}]},{"cmd":"pI","type":"group","summary":"Print instructions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"pI","type":"argv","summary":"Disassemble and print <N> bytes","description":"","args_str":" [<N>]","args":[{"type":"expression","name":"N","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pIf","type":"argv","summary":"Print all instructions at the current function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"pj","type":"argv","summary":"Parse, format and print JSON at current offset.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pl","type":"group","summary":"Print RzIL","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":2,"modes":[],"children":[{"cmd":"plf","type":"argv","summary":"Print RzIL of the function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"plF","type":"argv","summary":"Print unicode RzIL of the function at current seek.","description":"Prints the RzIL of the function at current seek using unicode special characters. This command requires 'scr.utf8=true', use 'plf' for plain ASCII output.","args_str":"","args":[],"details":[{"name":"General","entries":[{"text":"Set","comment":"Set (assign) y to x.","arg_str":" x ← y"},{"text":"Let","comment":"Let binding (expression-scoped).","arg_str":" (x = exp body)"},{"text":"ITE","comment":"If-Then-Else (ITE).","arg_str":" (cond ↠ x y)"},{"text":"Jump","comment":"Jump to dst.","arg_str":" ↷ dst"},{"text":"Goto","comment":"Goto label l.","arg_str":" @ l"},{"text":"Branch","comment":"Branch (Conditional).","arg_str":" (cond ⅄ true_eff false_eff)"},{"text":"Repeat","comment":"Repeat eff until cond is true.","arg_str":" (cond ⟳ eff)"},{"text":"Empty","comment":"Empty RzIL op.","arg_str":" {}"},{"text":"NOP","comment":"No operation.","arg_str":" ɴᴏᴘ"},{"text":"Blk","comment":"A sequence of deff (data effect) and ceff (control effect) with label l.","arg_str":" (l: deff ceff)"},{"text":"Unk","comment":"Unknown operation, usually represents an error.","arg_str":" ?"}]},{"name":"Bitvector","entries":[{"text":"Bitv","comment":"Bitvector literal x with length n.","arg_str":" xₙ"},{"text":"Cast","comment":"Cast x to length n with fill bit b.","arg_str":" (x ≈ₙ b)"},{"text":"Msb","comment":"Most significant bit of x.","arg_str":" ↑x"},{"text":"Lsb","comment":"Least significant bit of x.","arg_str":" ↓x"},{"text":"Append","comment":"Concatenate (append) hi with lo.","arg_str":" (hi ⊚ lo)"},{"text":"Is_zero","comment":"Check if x is zero.","arg_str":" x ≡ 0"},{"text":"Lognot","comment":"Logical NOT of x.","arg_str":" ~x"},{"text":"Neg","comment":"Arithmetic negation of x.","arg_str":" −x"},{"text":"Add","comment":"Arithmetic addition of x and y.","arg_str":" (x + y)"},{"text":"Sub","comment":"Arithmetic subtraction of x and y.","arg_str":" (x - y)"},{"text":"Mul","comment":"Arithmetic multiplication of x and y.","arg_str":" (x * y)"},{"text":"Div","comment":"Arithmetic division of x and y.","arg_str":" (x / y)"},{"text":"Sdiv","comment":"Signed division of x and y.","arg_str":" (x /⁺ y)"},{"text":"Mod","comment":"Unsigned modulo of x and y.","arg_str":" (x % y)"},{"text":"Smod","comment":"Signed modulo of x and y.","arg_str":" (x %⁺ y)"},{"text":"Logand","comment":"Bitwise AND between x and y.","arg_str":" (x & y)"},{"text":"Logor","comment":"Bitwise OR between x and y.","arg_str":" (x | y)"},{"text":"Logxor","comment":"Bitwise XOR between x and y.","arg_str":" (x ⊕ y)"},{"text":"Lshift","comment":"Left shift x by y bits with fill bit b.","arg_str":" (x ≪ y b)"},{"text":"Rshift","comment":"Right shift x by y bits with fill bit b.","arg_str":" (x ≫ y b)"},{"text":"Eq","comment":"x equals y.","arg_str":" (x ≡ y)"},{"text":"Sle","comment":"x is less than or equal to y (Unsigned).","arg_str":" (x ≦ y)"},{"text":"Ule","comment":"x is less than or equal to y (Signed).","arg_str":" (x ≦⁺ y)"}]},{"name":"Boolean","entries":[{"text":"False","comment":"Boolean literal false.","arg_str":" ⊥"},{"text":"True","comment":"Boolean literal true.","arg_str":" ⊤"},{"text":"Boolnot","comment":"Boolean NOT of x.","arg_str":" ¬x"},{"text":"Boolor","comment":"Boolean OR between x and y.","arg_str":" (x ∨ y)"},{"text":"Booland","comment":"Boolean AND between x and y.","arg_str":" (x ∧ y)"},{"text":"Boolxor","comment":"Boolean XOR between x and y.","arg_str":" (x ⊻ y)"}]},{"name":"Floating Point","entries":[{"text":"Float","comment":"Bitvector literal n interpreted as a float of size n with optional superscript d showing a decimal representation.","arg_str":" n.fᵈₙ"},{"text":"Fbits","comment":"Bitvector representation of float x.","arg_str":" ꜰʙ x"},{"text":"Fneg","comment":"Floating-point negation of x.","arg_str":" −x"},{"text":"Fadd","comment":"Floating-point addition of x and y with rounding mode r.","arg_str":" (r x + y)"},{"text":"Fsub","comment":"Floating-point subtraction of x and y with rounding mode r.","arg_str":" (r x - y)"},{"text":"Fmul","comment":"Floating-point multiplication of x and y with rounding mode r.","arg_str":" (r x * y)"},{"text":"Fdiv","comment":"Floating-point division x and y with rounding mode r.","arg_str":" (r x / y)"},{"text":"Fmod","comment":"Floating-point modulo of x and y with rounding mode r.","arg_str":" (r x % y)"},{"text":"Fmad","comment":"Floating-point multiply-add of x, y and z with rounding mode r.","arg_str":" (r x * y + z)"},{"text":"Fabs","comment":"Absolute value of x.","arg_str":" |x|"},{"text":"Fsucc","comment":"Floating-point successor of x.","arg_str":" ⌊x"},{"text":"Fpred","comment":"Floating-point predecessor of x.","arg_str":" ⌋x"},{"text":"Fexcept","comment":"Floating-point exception e on x.","arg_str":" e ᴇ x"},{"text":"Fcast int","comment":"Cast x to unsigned integer of size n with rounding mode r and optional subscript d.","arg_str":" (x ꜰ≈ɪᵈₙ r)"},{"text":"Fcast sint","comment":"Cast x to signed integer of size n with rounding mode r and optional subscript d.","arg_str":" (x ꜰ≈ɪ⁺ᵈₙ r)"},{"text":"Fcast float","comment":"Cast x to unsigned float of size n with rounding mode r and optional subscript d.","arg_str":" (x ꜰ≈ꜰᵈₙ r)"},{"text":"Fcast sfloat","comment":"Cast x to signed float of size n with rounding mode r and optional subscript d.","arg_str":" (x ꜰ≈ꜰ⁺ᵈₙ r)"},{"text":"Fconvert","comment":"Convert rounding mode of x to r and its size to n.","arg_str":" (x ≅ᵈₙ r)"},{"text":"Fround","comment":"Round x to integral value using rounding mode r and optional subscript d.","arg_str":" (r ⭂ x)"},{"text":"Fsqrt","comment":"Square root of x using rounding mode r.","arg_str":" (r ²√ x)"},{"text":"Frsqrt","comment":"Inverse square root of x using rounding mode r.","arg_str":" (r ¹/√ x)"},{"text":"Frootn","comment":"x to the power 1/n using rounding mode r, where n is integer.","arg_str":" (r n ⁿ√ x)"},{"text":"Fpow","comment":"x to the power y using rounding mode r.","arg_str":" (r x ˰ y)"},{"text":"Fpown","comment":"x to the power n using rounding mode r, where n is integer.","arg_str":" (r x ˰ⁿ n)"},{"text":"Forder","comment":"Float ordering comparison between x and y.","arg_str":" (x ≷ y)"},{"text":"Frequal","comment":"Float rounding mode equality check between r1 and r2.","arg_str":" (r1 ≡ r2)"},{"text":"Is_fzero","comment":"Check if x is zero.","arg_str":" x ≡ 0"},{"text":"Is_nan","comment":"Check if x is Not-a-Number.","arg_str":" x ≡ ɴаɴ"},{"text":"Is_inf","comment":"Check if x is infine.","arg_str":" x ≡ ∞"},{"text":"Is_finite","comment":"Check if x is finite.","arg_str":" x ≢ ∞"},{"text":"Is_fpos","comment":"Check if x is positive.","arg_str":" x > 0"},{"text":"Is_fneg","comment":"Check if x is negative.","arg_str":" x < 0"},{"text":"Fcompound","comment":"Float compound operator between x and n using rounding mode r, where n is integer.","arg_str":" (r x ∪ n)"},{"text":"Fhypot","comment":"Float hypotenuse.","arg_str":" (r x ∠ y)"}]},{"name":"Memory","entries":[{"text":"Load","comment":"Load n bits from address a of memory index m.","arg_str":" (ʟᴅₘ n a)"},{"text":"Store","comment":"Store v to address a of memory index m.","arg_str":" (ꜱᴛₘ v a)"}]}],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"pp","type":"group","summary":"Print patterns","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":10,"modes":[],"children":[{"cmd":"pp0","type":"argv","summary":"Print buffer filled with zeroes","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pp1","type":"argv","summary":"Print incremental byte pattern (honor lower bits of current address and block size)","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pp2","type":"argv","summary":"Print incremental word pattern","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pp4","type":"argv","summary":"Print incremental dword pattern","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pp8","type":"argv","summary":"Print incremental qword pattern","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ppa","type":"argv","summary":"Print Latin alphabet pattern","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ppd","type":"argv","summary":"Print De Brujin pattern","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ppd/","type":"argv","summary":"Return the offset where <value> appears in the default De Bruijn pattern","description":"Honors cfg.bigendian to interpret <value> before searching through the ppd pattern","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ppf","type":"argv","summary":"Print buffer filled with 0xFF","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ppn","type":"argv","summary":"Print numeric pin pattern","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"pt","type":"group","summary":"Print timestamps","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":[],"children":[{"cmd":"pt","type":"argv","summary":"Print UNIX epoch time (32 bit `cfg.bigendian`, since January 1, 1970)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pt.","type":"argv","summary":"Print the current time","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ptd","type":"argv","summary":"Print MS-DOS time (32 bit `cfg.bigendian`, since January 1, 1980)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pth","type":"argv","summary":"Print Mac HFS time (32 bit `cfg.bigendian`, since January 1, 1904)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ptn","type":"argv","summary":"Print NTFS time (64 bit `cfg.bigendian`, since January 1, 1601)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"pk","type":"argv","summary":"Print cryptographic key in randomart","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pK","type":"argv","summary":"Print cryptographic key in randomart mosaic","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pm","type":"argv_modes","summary":"Search magics and print the long description of them.","description":"","args_str":" [<file/directory>]","args":[{"type":"string","name":"file/directory","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"po","type":"group","summary":"Print operation applied on the data","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":12,"modes":[],"children":[{"cmd":"po2","type":"argv","summary":"2-byte endian swap","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"po4","type":"argv","summary":"4-byte endian swap","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"po8","type":"argv","summary":"8-byte endian swap","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"poa","type":"argv","summary":"Apply addition","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"poA","type":"argv","summary":"Apply AND operation","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pod","type":"argv","summary":"Apply division operation","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pol","type":"argv","summary":"Apply shift left operation","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pom","type":"argv","summary":"Apply multiplication operation","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"poo","type":"argv","summary":"Apply OR operation","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"por","type":"argv","summary":"Apply shift right operation","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pos","type":"argv","summary":"Apply subtraction operation","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pox","type":"argv","summary":"Apply XOR operation","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"pr","type":"group","summary":"Print raw bytes in different representations","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":[],"children":[{"cmd":"pr","type":"argv","summary":"Print raw bytes","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"prc","type":"argv","summary":"Print bytes as colors in palette","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"prg","type":"group","summary":"Print uncompressed data","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"prg","type":"argv","summary":"gunzip block and print","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"prgv","type":"argv","summary":"Show consumed bytes and output size","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"prx","type":"argv","summary":"Printable chars with real offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"prz","type":"argv","summary":"Print raw zero-terminated string","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"ps","type":"group","summary":"Print string at the current offset.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":13,"modes":["standard","json"],"children":[{"cmd":"ps","type":"argv_modes","summary":"Print the string at the current offset in the block.","description":"","args_str":" <encoding>=settings <delimiter>=null","args":[{"type":"choice","name":"encoding","required":true,"default":"settings","choices":["settings","guess","ascii","utf8","utf16le","utf32le","utf16be","utf32be","ibm037","ibm290","ebcdices","ebcdicuk","ebcdicus"]},{"type":"choice","name":"delimiter","required":true,"default":"null","choices":["null","block","unprintable"]}],"details":[{"name":"Value details","entries":[{"text":"String length","comment":"The string length depends on the block size. You need to change it via 'b <size-in-bytes>' if your string is too short.","arg_str":""},{"text":"encoding=settings","comment":"Use encoding from 'str.encoding' option.","arg_str":""},{"text":"delimeter=null","comment":"Prints until first NUL code point. Non-printable characters are escaped.","arg_str":""},{"text":"delimeter=unprintable","comment":"Prints until the first non-printable code point. This includes '\\n', '\\t' etc.","arg_str":""},{"text":"delimeter=block","comment":"Print whole block as string (don't stop at non-printable or NUL character).","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"ps+","type":"argv_modes","summary":"Print libc++ std::string (same-endian, ascii, zero-terminated)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"psb","type":"argv_modes","summary":"Print all the strings in current block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","quiet"],"children":[]},{"cmd":"psc","type":"argv_modes","summary":"Generate a C/C++ string","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"psi","type":"argv_modes","summary":"Print the first string in the current block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"psp","type":"argv_modes","summary":"Print the pascal string at the current offset","description":"","args_str":" <bits>=8","args":[{"type":"choice","name":"bits","required":true,"default":"8","choices":["8","16","32","64"]}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pss","type":"argv_modes","summary":"Print string at the current offset in screen (wrap width)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"psu","type":"argv_modes","summary":"Print buffer as a utf8 string (alias for 'ps utf8 null').","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"psm","type":"argv_modes","summary":"Print buffer as a utf16be string (alias for 'ps utf16be null').","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"psM","type":"argv_modes","summary":"Print buffer as a utf32be string (alias for 'ps utf32be null').","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"psn","type":"argv_modes","summary":"Print string with escaped new lines","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"psw","type":"argv_modes","summary":"Print buffer as a utf16le string (alias for 'ps utf16le null').","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"psW","type":"argv_modes","summary":"Print buffer as a utf32le string (alias for 'ps utf32le null').","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"pv","type":"group","summary":"Print bytes based on current bitness and endianness","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":["standard","json"],"children":[{"cmd":"pv","type":"argv_state","summary":"print bytes","description":"","args_str":" [<repeat>]","args":[{"type":"number","name":"repeat"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pv1","type":"argv_state","summary":"print 1 byte","description":"","args_str":" [<repeat>]","args":[{"type":"number","name":"repeat"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pv2","type":"argv_state","summary":"print 2 bytes","description":"","args_str":" [<repeat>]","args":[{"type":"number","name":"repeat"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pv4","type":"argv_state","summary":"print 4 bytes","description":"","args_str":" [<repeat>]","args":[{"type":"number","name":"repeat"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pv8","type":"argv_state","summary":"print 8 bytes","description":"","args_str":" [<repeat>]","args":[{"type":"number","name":"repeat"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"px","type":"group","summary":"Show hexdump","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":24,"modes":["standard","json"],"children":[{"cmd":"px","type":"argv_state","summary":"show hexdump","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pxF","type":"argv_state","summary":"Print formatted bytes.","description":"","args_str":" <number>=1 <format>=x <width>=a","args":[{"type":"expression","name":"number","required":true,"default":"1"},{"type":"choice","name":"format","required":true,"default":"x","choices":["o","d","x","f","i","s"]},{"type":"choice","name":"width","required":true,"default":"a","choices":["b","h","w","d","a"]}],"details":[{"name":"number","entries":[{"text":"","comment":"Number of elements to print.","arg_str":""}]},{"name":"format","entries":[{"text":"o","comment":"Octal","arg_str":""},{"text":"d","comment":"Decimal","arg_str":""},{"text":"x","comment":"Hex","arg_str":""},{"text":"f","comment":"Float - Alias for: 'pf ffff...' (<number> times 'f'. <width> is ignored).","arg_str":""},{"text":"i","comment":"Instruction - Alias for: 'pdq <number> !@ <number * width>'.","arg_str":""},{"text":"s","comment":"String - Alias for: 'psb !@ <number * width>'.","arg_str":""}]},{"name":"width","entries":[{"text":"b","comment":"Byte = 1 bytes","arg_str":""},{"text":"h","comment":"Half word = 2 bytes","arg_str":""},{"text":"w","comment":"Word = 4 bytes","arg_str":""},{"text":"d","comment":"Double word = 8 bytes","arg_str":""},{"text":"a","comment":"Architecture width as bytes.","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pxa","type":"argv","summary":"show annotated hexdump","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pxA","type":"argv_state","summary":"show op analysis color map","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","long"],"children":[]},{"cmd":"pxb","type":"argv","summary":"dump bits in hexdump form","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pxc","type":"argv","summary":"show hexdump with comments","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pxd","type":"group","summary":"show signed integer dump","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":["standard","json"],"children":[{"cmd":"pxd","type":"argv_state","summary":"show 1-byte integer dump","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pxdh","type":"argv_state","summary":"show 2-bytes integer dump","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pxdw","type":"argv_state","summary":"show 4-bytes integer dump","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pxdq","type":"argv_state","summary":"show 8-bytes integer dump","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"pxe","type":"argv","summary":"emoji hexdump! :)","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pxf","type":"argv","summary":"show hexdump of current function","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pxi","type":"argv","summary":"HexII compact binary representation","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pxr","type":"group","summary":"show hexword references","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":["standard","json","quiet","table"],"children":[{"cmd":"pxr","type":"argv_state","summary":"show hexword references","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"pxr1","type":"argv_state","summary":"show hexword references","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"pxr2","type":"argv_state","summary":"show hexword references with hexdump","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"pxr4","type":"argv_state","summary":"show hexword references with hexdump","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"pxr8","type":"argv_state","summary":"show hexword references with hexdump","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]}]},{"cmd":"pxs","type":"argv","summary":"show hexadecimal in sparse mode","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pxt","type":"argv_state","summary":"show delta pointer table in rizin commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pxx","type":"argv","summary":"show <N> bytes of hex-less hexdump","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pxX","type":"argv","summary":"show <N> words of hex-less hexdump","description":"","args_str":" [<N>]","args":[{"type":"expression","name":"N","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"px0","type":"argv","summary":"8bit hexpair list of bytes until zero byte","description":"","args_str":" [<N>]","args":[{"type":"expression","name":"N","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pxh","type":"argv_state","summary":"show 2-bytes hexadecimal integers dump","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pxH","type":"argv_state","summary":"show 2-bytes hexadecimal integers dump, one per line","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pxw","type":"argv_state","summary":"show 4-bytes hexadecimal integers dump","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pxW","type":"argv_state","summary":"show 4-bytes hexadecimal integers dump, one per line","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pxq","type":"argv_state","summary":"show 8-bytes hexadecimal integers dump","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pxQ","type":"argv_state","summary":"show 8-bytes hexadecimal integers dump, one per line","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pxo","type":"argv","summary":"show 1-byte octal integers dump","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pxl","type":"argv_state","summary":"display <N> lines of hexdump","description":"","args_str":" [<N>]","args":[{"type":"expression","name":"N","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"p6","type":"group","summary":"Base64 decoding/encoding","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":2,"modes":[],"children":[{"cmd":"p6e","type":"argv_modes","summary":"Base64 encoding","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"p6d","type":"argv_modes","summary":"Base64 decoding","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]}]},{"cmd":"pu","type":"group","summary":"URL-encoded strings","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"pu","type":"argv","summary":"Print <N> bytes as URL-encoded UTF-8 string","description":"","args_str":" [<N>]","args":[{"type":"expression","name":"N","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"puw","type":"argv","summary":"Print <N> bytes as URL-encoded UTF-16 string","description":"","args_str":" [<N>]","args":[{"type":"expression","name":"N","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pu0","type":"argv","summary":"Print <N> bytes as URL-encoded string and stop at zero","description":"","args_str":" [<N>]","args":[{"type":"expression","name":"N","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p-","type":"group","summary":"Blocks information representation as a horisontal bar and summary","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":["standard","json"],"children":[{"cmd":"p-","type":"argv_state","summary":"Show horisontal bar of metadata in file boundaries","description":"","args_str":" [<width>]","args":[{"type":"expression","name":"width","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"p-e","type":"argv","summary":"Show horisontal bar of entropy per block in file boundaries","description":"","args_str":" [<width>]","args":[{"type":"expression","name":"width","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p-h","type":"argv_state","summary":"Show statistics table about blocks in the file","description":"","args_str":" [<depth>]","args":[{"type":"expression","name":"depth","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["table"],"children":[]}]},{"cmd":"p=","type":"group","summary":"Blocks information representation as a histogram","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":21,"modes":[],"children":[{"cmd":"p=","type":"argv","summary":"Show a vertical histogram of bytes in current block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=d","type":"argv","summary":"Show a summary of min/max/number of unique bytes in the current block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=2","type":"argv","summary":"Show progress bars of int16 values","description":"","args_str":" [<step>]","args":[{"type":"expression","name":"step","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=0","type":"argv","summary":"Show a vertical histogram of 0x00 bytes per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=F","type":"argv","summary":"Show a vertical histogram of 0xFF bytes per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=a","type":"argv","summary":"Show a vertical histogram of basic blocks per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=A","type":"argv","summary":"Show a vertical histogram of statistical maps per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=c","type":"argv","summary":"Show a vertical histogram of calls per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=e","type":"argv","summary":"Show a vertical histogram of entropy per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=C","type":"argv","summary":"Show a vertical histogram of chi-square (vs uniform) per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=I","type":"argv","summary":"Show a vertical histogram of index of coincidence per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=M","type":"argv","summary":"Show a vertical histogram of min-entropy per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=S","type":"argv","summary":"Show a vertical histogram of serial correlation per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=r","type":"argv_state","summary":"Print rising and falling entropy.","description":"","args_str":" [<rising_threshold> [<falling_threshold>]]","args":[{"type":"expression","name":"rising_threshold"},{"type":"expression","name":"falling_threshold","is_last":true}],"details":[{"name":"Default values","entries":[{"text":"","comment":"Default rising threshold is 0.95 and falling threshold is 0.85","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json","quiet","long","table"],"children":[]},{"cmd":"p=i","type":"argv","summary":"Show a vertical histogram of invalid instructions per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=j","type":"argv","summary":"Show a vertical histogram of jumps and conditional jumps per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=m","type":"argv","summary":"Show a vertical histogram of number of flags and marks per each block","description":"","args_str":" [<blocks>]","args":[{"type":"expression","name":"blocks","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=p","type":"argv","summary":"Show a vertical histogram of printable bytes per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=s","type":"argv","summary":"Show a vertical histogram of syscalls and privileged instructions per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=z","type":"argv","summary":"Show a vertical histogram of number of chars in strings per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==","type":"group","summary":"Blocks information representation as a horizontal histogram","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":18,"modes":[],"children":[{"cmd":"p==","type":"argv","summary":"Show a horizontal histogram of bytes in current block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==v","type":"argv","summary":"Show a visual horizontal histogram of bytes in current block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==0","type":"group","summary":"Show a horizontal histogram of 0x00 bytes per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"p==0","type":"argv","summary":"Show a horizontal histogram of 0x00 bytes per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==0v","type":"argv","summary":"Show a interactive horizontal histogram of 0x00 bytes per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p==F","type":"group","summary":"Show a horizontal histogram of 0xFF bytes per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"p==F","type":"argv","summary":"Show a horizontal histogram of 0xFF bytes per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==Fv","type":"argv","summary":"Show a interactive horizontal histogram of 0xFF bytes per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p==a","type":"group","summary":"Show a horizontal histogram of basic blocks per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"p==a","type":"argv","summary":"Show a horizontal histogram of basic blocks per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==av","type":"argv","summary":"Show a interactive horizontal histogram of basic blocks per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p==A","type":"group","summary":"Show a horizontal histogram of statistical maps per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"p==A","type":"argv","summary":"Show a horizontal histogram of statistical maps per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==Av","type":"argv","summary":"Show a interactive horizontal histogram of statistical maps per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p==c","type":"group","summary":"Show a horizontal histogram of calls per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"p==c","type":"argv","summary":"Show a horizontal histogram of calls per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==cv","type":"argv","summary":"Show a interactive horizontal histogram of calls per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p==e","type":"group","summary":"Show a horizontal histogram of entropy per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"p==e","type":"argv","summary":"Show a horizontal histogram of entropy per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==ev","type":"argv","summary":"Show a interactive horizontal histogram of entropy per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p==C","type":"group","summary":"Show a horizontal histogram of chi-square (vs uniform) per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"p==C","type":"argv","summary":"Show a horizontal histogram of chi-square (vs uniform) per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==Cv","type":"argv","summary":"Show a interactive horizontal histogram of chi-square (vs uniform) per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p==I","type":"group","summary":"Show a horizontal histogram of index of coincidence per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"p==I","type":"argv","summary":"Show a horizontal histogram of index of coincidence per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==Iv","type":"argv","summary":"Show a interactive horizontal histogram of index of coincidence per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p==M","type":"group","summary":"Show a horizontal histogram of min-entropy per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"p==M","type":"argv","summary":"Show a horizontal histogram of min-entropy per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==Mv","type":"argv","summary":"Show a interactive horizontal histogram of min-entropy per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p==S","type":"group","summary":"Show a horizontal histogram of serial correlation per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"p==S","type":"argv","summary":"Show a horizontal histogram of serial correlation per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==Sv","type":"argv","summary":"Show a interactive horizontal histogram of serial correlation per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p==i","type":"group","summary":"Show a horizontal histogram of invalid instructions per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"p==i","type":"argv","summary":"Show a horizontal histogram of invalid instructions per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==iv","type":"argv","summary":"Show a interactive horizontal histogram of invalid instructions per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p==j","type":"group","summary":"Show a horizontal histogram of jumps and conditional jumps per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"p==j","type":"argv","summary":"Show a horizontal histogram of jumps and conditional jumps per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==jv","type":"argv","summary":"Show a interactive horizontal histogram of jumps and conditional jumps per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p==m","type":"group","summary":"Show a horizontal histogram of number of flags and marks per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"p==m","type":"argv","summary":"Show a horizontal histogram of number of flags and marks per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==mv","type":"argv","summary":"Show a interactive horizontal histogram of number of flags and marks per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p==p","type":"group","summary":"Show a horizontal histogram of printable bytes per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"p==p","type":"argv","summary":"Show a horizontal histogram of printable bytes per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==pv","type":"argv","summary":"Show a interactive horizontal histogram of printable bytes per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p==s","type":"group","summary":"Show a horizontal histogram of syscalls and privileged instructions per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"p==s","type":"argv","summary":"Show a horizontal histogram of syscalls and privileged instructions per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==sv","type":"argv","summary":"Show a interactive horizontal histogram of syscalls and privileged instructions per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p==z","type":"group","summary":"Show a horizontal histogram of number of chars in strings per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"p==z","type":"argv","summary":"Show a horizontal histogram of number of chars in strings per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==zv","type":"argv","summary":"Show a interactive horizontal histogram of number of chars in strings per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]}]}]}]},{"cmd":"q","type":"group","summary":"Quit rizin","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":[],"children":[{"cmd":"q","type":"argv","summary":"Quit rizin","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"q!","type":"argv","summary":"Force quit rizin","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"q!!","type":"argv","summary":"Force quit rizin without saving history","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"q","type":"inner","summary":"Quit rizin and choose to kill the process and save projects","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":2,"modes":[],"children":[{"cmd":"qy","type":"group","summary":"Quit rizin by killing the process and and choose to save the projects or not","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":2,"modes":[],"children":[{"cmd":"qyy","type":"argv","summary":"Quit rizin by killing the process and saving the project","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"qyn","type":"argv","summary":"Quit rizin by killing the process and not saving the project","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"qn","type":"group","summary":"Quit rizin by not killing the process and choose to save the projects or not","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":2,"modes":[],"children":[{"cmd":"qnn","type":"argv","summary":"Quit rizin by not killing the process and not saving the project","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"qny","type":"argv","summary":"Quit rizin by not killing the process and saving the project","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]}]}]},{"cmd":"R","type":"group","summary":"Connect with other instances of rizin","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":11,"modes":[],"children":[{"cmd":"R","type":"argv","summary":"List all open connections / Exec <cmd> at remote <fd>","description":"","args_str":" [[<fd>] <cmd>]","args":[{"type":"number","name":"fd"},{"type":"command","name":"cmd","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"R<","type":"argv","summary":"Send output of local <cmd> to remote <fd>","description":"","args_str":" [<fd> <cmd>]","args":[{"type":"number","name":"fd"},{"type":"command","name":"cmd","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"R!","type":"argv","summary":"Run command via rz_io_system","description":"","args_str":" <cmd>","args":[{"type":"command","name":"cmd","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"R+","type":"argv","summary":"Connect to remote host:port","description":"","args_str":" <[proto://]host:port>","args":[{"type":"string","name":"[proto://]host:port","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"R-","type":"argv","summary":"remove all hosts or host 'fd'","description":"","args_str":" [<fd>]","args":[{"type":"number","name":"fd"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"R=","type":"argv","summary":"Open remote session with host 'fd', 'q' to quit","description":"","args_str":" <fd>","args":[{"type":"number","name":"fd","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"R!=","type":"argv","summary":"Enable remote cmd mode, sending commands to remote <fd> server","description":"","args_str":" <fd>=0","args":[{"type":"number","name":"fd","required":true,"default":"0"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"R=!","type":"argv","summary":"Disable remote cmd mode","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Rg","type":"group","summary":"Start the gdbserver","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"Rg","type":"argv","summary":"Start the gdbserver.","description":"","args_str":" <port> <file> [<args>]","args":[{"type":"number","name":"port","required":true},{"type":"string","name":"file","required":true},{"type":"string","name":"args","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Rg!","type":"argv","summary":"Start the gdbserver with debug protocol messages (like gdbserver --remote-debug).","description":"","args_str":" <port> <file> [<args>]","args":[{"type":"number","name":"port","required":true},{"type":"string","name":"file","required":true},{"type":"string","name":"args","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"Rh","type":"group","summary":"HTTP webserver commands.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"Rh","type":"argv","summary":"Start the HTTP webserver in foreground.","description":"","args_str":" <launch_browser>=no","args":[{"type":"choice","name":"launch_browser","required":true,"default":"no","choices":["yes","no"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Rh*","type":"argv","summary":"Restart the HTTP webserver in foreground.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Rh--","type":"argv","summary":"Stop the HTTP webserver in foreground.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"Rt","type":"argv","summary":"Start the tcp server","description":"","args_str":" <[host:]port> [<cmd>]","args":[{"type":"string","name":"[host:]port","required":true},{"type":"command","name":"cmd","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"r","type":"group","summary":"Resize file","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":["standard","json"],"children":[{"cmd":"r","type":"argv_state","summary":"Resize file / Display file size","description":"","args_str":" [<size>]","args":[{"type":"expression","name":"size","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"r-","type":"argv","summary":"Remove num bytes, move following data down","description":"","args_str":" <num>","args":[{"type":"expression","name":"num","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"r+","type":"argv","summary":"Insert num bytes, move following data up","description":"","args_str":" <num>","args":[{"type":"expression","name":"num","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"rb","type":"argv","summary":"Rebase all flags, binary information, breakpoints, and analysis","description":"","args_str":" <oldbase>","args":[{"type":"expression","name":"oldbase","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"rh","type":"argv","summary":"Display size in human-friendly format","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"s","type":"group","summary":"Seek commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":17,"modes":[],"children":[{"cmd":"s","type":"argv","summary":"Print current address / Seek to address","description":"","args_str":" [<addr>]","args":[{"type":"expression","name":"addr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"spad","type":"argv","summary":"Print current address with <n> padded zeros (defaults to 8)","description":"","args_str":" [<n>]","args":[{"type":"number","name":"n"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"s.","type":"argv","summary":"Seek honoring a base from core->offset","description":"","args_str":" <hex_offset>","args":[{"type":"number","name":"hex_offset","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"sd","type":"argv","summary":"Seek to a delta relative to current offset","description":"","args_str":" <delta>","args":[{"type":"number","name":"delta","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"s--","type":"argv","summary":"Seek blocksize bytes backward (/=n)","description":"","args_str":" [<n>]","args":[{"type":"number","name":"n"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"s++","type":"argv","summary":"Seek blocksize bytes forward (/=n)","description":"","args_str":" [<n>]","args":[{"type":"number","name":"n"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"sh","type":"group","summary":"Seek history commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":["standard","json"],"children":[{"cmd":"sh","type":"argv_state","summary":"List undo seek history","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"shr","type":"argv","summary":"Go to position before the last undo (forward in history)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"shu","type":"argv","summary":"Go to last seek in seek history (back in history)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"sh-","type":"argv","summary":"Clear seek history","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"sa","type":"argv","summary":"Seek to current offset (or <addr>) aligned to <align>","description":"","args_str":" <align> [<addr>]","args":[{"type":"number","name":"align","required":true},{"type":"expression","name":"addr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"sb","type":"argv","summary":"Seek aligned to bb start","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"sf","type":"argv","summary":"Seek to next function / Seek to specific function","description":"","args_str":" [<fcn>]","args":[{"type":"function","name":"fcn"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"sf.","type":"argv","summary":"Seek to the beginning of current function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"sg","type":"argv","summary":"Seek to begin of section/file","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"sG","type":"argv","summary":"Seek to end of section/file","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"sn","type":"argv","summary":"Seek to next location of the given <type> or scr.nkey otherwise","description":"<type> and scr.nkey can be one of \"opcodes\", \"function\", \"hit\", \"flags\".","args_str":" [<type>]","args":[{"type":"choice","name":"type","choices":["opcodes","function","hit","flags"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"sp","type":"argv","summary":"Seek to prev location","description":"<type> and scr.nkey can be one of \"opcodes\", \"function\", \"hit\", \"flags\".","args_str":" [<type>]","args":[{"type":"choice","name":"type","choices":["opcodes","function","hit","flags"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"so","type":"argv","summary":"Seek to <n> next opcodes","description":"","args_str":" [<n>]","args":[{"type":"number","name":"n"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"sr","type":"argv","summary":"Seek to register","description":"","args_str":" <reg>","args":[{"type":"string","name":"reg","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"shell","type":"group","summary":"Common shell commands","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":28,"modes":[],"children":[{"cmd":"ascii","type":"argv","summary":"Print ASCII table","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"cat","type":"argv","summary":"Print contents of <file>","description":"","args_str":" <file>","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"cd","type":"argv","summary":"Change directory to <dir>","description":"","args_str":" [<dir>]","args":[{"type":"directory","name":"dir"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"clear","type":"argv","summary":"Clear screen/console","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"clippy","type":"argv","summary":"echo but with a comic","description":"","args_str":" [<strs1> <strs2> ...]","args":[{"type":"string","name":"strs","is_array":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"cls","type":"argv","summary":"clear","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"cp","type":"argv","summary":"Copy <src> file to <dst>","description":"","args_str":" <src> <dst>","args":[{"type":"filename","name":"src","required":true},{"type":"string","name":"dst","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"date","type":"argv","summary":"Get current date","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"diff","type":"argv","summary":"Compare <A> file with <B>","description":"","args_str":" <A> <B>","args":[{"type":"filename","name":"A","required":true},{"type":"filename","name":"B","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"echo","type":"argv","summary":"Display a line of text","description":"","args_str":" [<strs1> <strs2> ...]","args":[{"type":"string","name":"strs","is_array":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"env","type":"argv","summary":"Get/set environment variables","description":"","args_str":" [<varname>[=<varvalue>]]","args":[{"type":"environment_variable","name":"varname"},{"type":"string","name":"varvalue","is_last":true}],"details":[{"name":"Examples","entries":[{"text":"env","comment":"List all environment variables","arg_str":""},{"text":"env","comment":"Print value of SHELL variable","arg_str":" SHELL"},{"text":"env","comment":"Set TMPDIR to \"/tmp\"","arg_str":" TMPDIR=/tmp"}]},{"name":"Environment","entries":[{"text":"RZ_FILE","comment":"currently opened file name","arg_str":""},{"text":"RZ_OFFSET","comment":"current offset (64bit value)","arg_str":""},{"text":"RZ_BSIZE","comment":"block size","arg_str":""},{"text":"RZ_ENDIAN","comment":"'big' or 'little'","arg_str":""},{"text":"RZ_IOVA","comment":"is io.va true? virtual addressing (1,0)","arg_str":""},{"text":"RZ_DEBUG","comment":"debug mode enabled? (1,0)","arg_str":""},{"text":"RZ_SIZE","comment":"file size","arg_str":""},{"text":"RZ_ARCH","comment":"value of asm.arch","arg_str":""},{"text":"RZ_BITS","comment":"arch reg size (8, 16, 32, 64)","arg_str":""},{"text":"RZ_BIN_LANG","comment":"assume this lang to demangle","arg_str":""},{"text":"RZ_BIN_DEMANGLE","comment":"demangle or not","arg_str":""},{"text":"RZ_BIN_PDBSERVER","comment":"e pdb.server","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"exit","type":"argv","summary":"Exit Rizin","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"flush","type":"argv","summary":"Flush console","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fortune","type":"argv","summary":"Show the random fortune message","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"inittime","type":"argv","summary":"Print init time values","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ls","type":"argv","summary":"List files and directories","description":"","args_str":" [-e -q -l -j] <dir/file>","args":[{"type":"option","name":"e","is_option":true},{"type":"option","name":"q","is_option":true},{"type":"option","name":"l","is_option":true},{"type":"option","name":"j","is_option":true},{"type":"filename","name":"path"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"mkdir","type":"argv","summary":"Create a directory <dir>","description":"","args_str":" [-p] <dir>","args":[{"type":"option","name":"p","is_option":true},{"type":"string","name":"dir","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"mv","type":"argv","summary":"Move <src> file to <dst>","description":"","args_str":" <src> <dst>","args":[{"type":"filename","name":"src","required":true},{"type":"string","name":"dst","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pkill","type":"argv","summary":"Kill process by name","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pwd","type":"argv","summary":"Show the present working directory","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"rm","type":"argv","summary":"Remove <file>","description":"","args_str":" <file>","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"sleep","type":"argv","summary":"Sleep for <seconds> seconds","description":"","args_str":" <seconds>","args":[{"type":"number","name":"seconds","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"sort","type":"argv","summary":"Sort the contents of <file> or from piped input","description":"","args_str":" [<file>]","args":[{"type":"filename","name":"file"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"time","type":"argv","summary":"Calculate time taken to run a command","description":"","args_str":" <cmd>","args":[{"type":"command","name":"cmd","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"uname","type":"argv","summary":"Provide system info","description":"","args_str":" [-r]","args":[{"type":"option","name":"r","is_option":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"uniq","type":"argv","summary":"List unique strings in <filename> or from piped input","description":"","args_str":" [<filename>]","args":[{"type":"filename","name":"filename"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ver","type":"group","summary":"Show version information","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":["standard","json","quiet"],"children":[{"cmd":"ver","type":"argv_state","summary":"Show version info","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"vernum","type":"argv","summary":"Show numeric version","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"vermajor","type":"argv","summary":"Show major version","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"verminor","type":"argv","summary":"Show minor version","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"verpatch","type":"argv","summary":"Show patch version","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"which","type":"argv","summary":"Which shell command","description":"","args_str":" <command>","args":[{"type":"string","name":"command","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"t","type":"group","summary":"Types, noreturn, signatures, C parser and more","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":16,"modes":["standard","json","long"],"children":[{"cmd":"t","type":"argv_modes","summary":"List all types / Show type information","description":"When <type> is provided, the pf-format for the given type is provided, otherwise all types are listed.","args_str":" [<type>]","args":[{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long"],"children":[]},{"cmd":"t-","type":"argv","summary":"Remove the type","description":"","args_str":" <type>","args":[{"type":"unknown","name":"type","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"t-*","type":"argv","summary":"Remove all types","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"tc","type":"group","summary":"List loaded types in C format","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"tc","type":"argv","summary":"List loaded types in C format with newlines","description":"","args_str":" [<type>]","args":[{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"tcd","type":"argv","summary":"List loaded types in C format without newlines","description":"","args_str":" [<type>]","args":[{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"tcc","type":"group","summary":"Manage calling convention types","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":["standard","json","sdb","long"],"children":[{"cmd":"tcc","type":"argv_modes","summary":"List all calling conventions","description":"","args_str":" [<type>]","args":[{"type":"string","name":"type","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","sdb","long"],"children":[]},{"cmd":"tcc-","type":"argv","summary":"Remove the calling convention","description":"","args_str":" <type>","args":[{"type":"string","name":"type","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"tcc-*","type":"argv","summary":"Remove all calling conventions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]}]},{"cmd":"td","type":"group","summary":"Define types from a C definition or a pf format string","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"td","type":"argv","summary":"Define type from C definition","description":"","args_str":" <type>","args":[{"type":"string","name":"type","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"tdf","type":"argv","summary":"Define a type from a pf format string or a saved pf.<name>","description":"","args_str":" <name> <format>","args":[{"type":"string","name":"name","required":true},{"type":"string","name":"format","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"tdf","comment":"define struct rgba from an inline pf format","arg_str":" rgba \"x1x1x1x1 r g b a\""},{"text":"tdf","comment":"define a type from the saved pf.elf_header format","arg_str":" elf_header elf_header"}]}],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"te","type":"group","summary":"List loaded enums","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":["standard","json"],"children":[{"cmd":"te","type":"argv_modes","summary":"List loaded enums / Show enum member","description":"","args_str":" [<enum> [<value>]]","args":[{"type":"unknown","name":"enum"},{"type":"string","name":"value","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"teb","type":"argv","summary":"Show enum bitfield","description":"","args_str":" <enum> <field>","args":[{"type":"unknown","name":"enum","required":true},{"type":"string","name":"field","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"tec","type":"argv","summary":"Show enum in the C output format","description":"","args_str":" [<enum>]","args":[{"type":"unknown","name":"enum"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ted","type":"argv","summary":"Show enum in the C output format without newlines","description":"","args_str":" [<enum>]","args":[{"type":"unknown","name":"enum"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"tef","type":"argv","summary":"Find enum and member by the member value","description":"","args_str":" <value>","args":[{"type":"string","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"tf","type":"group","summary":"List loaded functions definitions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":["standard","json"],"children":[{"cmd":"tf","type":"argv_modes","summary":"List loaded function definitions / Show function signature","description":"","args_str":" [<type>]","args":[{"type":"string","name":"type","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"tf-","type":"argv","summary":"Remove the function type by name","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"tf-*","type":"argv","summary":"Remove all function types","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"tfc","type":"argv","summary":"Show or set function calling convention","description":"","args_str":" <name> [<cc>]","args":[{"type":"string","name":"name","required":true},{"type":"string","name":"cc","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"tn","type":"group","summary":"Manage noreturn function attributes and marks","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":["standard","json"],"children":[{"cmd":"tn","type":"argv_modes","summary":"List all noreturn references / Add a noreturn function","description":"","args_str":" [<name>]","args":[{"type":"string","name":"name","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"tn-","type":"argv","summary":"Remove the noreturn reference","description":"","args_str":" <name1> <name2> ...","args":[{"type":"string","name":"name","required":true,"is_array":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"tn-*","type":"argv","summary":"Remove all noreturn references","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"to","type":"group","summary":"Open C header file and load types from it","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"to","type":"argv","summary":"Open C header file and load types from it","description":"","args_str":" <file>","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"toe","type":"argv","summary":"Open cfg.editor to edit type","description":"","args_str":" <type>","args":[{"type":"unknown","name":"type","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"tos","type":"argv","summary":"Open SDB file and load types from it","description":"","args_str":" <file>","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"tp","type":"group","summary":"Print formatted type casted to the address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"tp","type":"argv","summary":"Print formatted type casted to the address or variable","description":"","args_str":" <type> [<address>]","args":[{"type":"unknown","name":"type","required":true},{"type":"string","name":"address","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"tpv","type":"argv","summary":"Print formatted type casted to the value","description":"","args_str":" <type> [<value>]","args":[{"type":"unknown","name":"type","required":true},{"type":"string","name":"value","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"tpx","type":"argv","summary":"Print formatted type casted to the hexadecimal sequence","description":"","args_str":" <type> <hexpairs>","args":[{"type":"unknown","name":"type","required":true},{"type":"string","name":"hexpairs","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"tr","type":"argv","summary":"Rename a type and update every type and function type that references it","description":"","args_str":" <old> <new>","args":[{"type":"unknown","name":"old","required":true},{"type":"string","name":"new","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"tr","comment":"rename the type struct_a to struct_b, updating all its users","arg_str":" struct_a struct_b"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ts","type":"group","summary":"List loaded structures","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":["standard","json","long"],"children":[{"cmd":"ts","type":"argv_modes","summary":"List loaded structures / Show pf format string for given structure","description":"","args_str":" [<type>]","args":[{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long"],"children":[]},{"cmd":"tsc","type":"argv","summary":"Show structure in the C output format with newlines","description":"","args_str":" [<type>]","args":[{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"tsd","type":"argv","summary":"Show structure in the C output format without newlines","description":"","args_str":" [<type>]","args":[{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"tt","type":"group","summary":"List loaded typedefs","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json"],"children":[{"cmd":"tt","type":"argv_modes","summary":"List loaded typedefs / Show name for given type alias","description":"","args_str":" [<type>]","args":[{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"ttc","type":"argv","summary":"Show typedef in the C output format","description":"","args_str":" [<type>]","args":[{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"tu","type":"group","summary":"List loaded unions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":["standard","json","long"],"children":[{"cmd":"tu","type":"argv_modes","summary":"List loaded unions / Show pf format string for given union","description":"","args_str":" [<type>]","args":[{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long"],"children":[]},{"cmd":"tuc","type":"argv","summary":"Show union in the C output format with newlines","description":"","args_str":" [<type>]","args":[{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"tud","type":"argv","summary":"Show union in the C output format without newlines","description":"","args_str":" [<type>]","args":[{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"tx","type":"group","summary":"Type xrefs","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":[],"children":[{"cmd":"tx","type":"argv","summary":"List functions using the type","description":"","args_str":" [<type>]","args":[{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"txf","type":"argv","summary":"List all types used in the function","description":"","args_str":" [<address>]","args":[{"type":"string","name":"address","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"txg","type":"argv","summary":"Render the type xrefs graph","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"txl","type":"argv","summary":"List all types used by any function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"tk","type":"group","summary":"Manage the typeclasses of types","description":"Typeclasses classify atomic types by the general kind of value they hold, independently of their concrete name or size, so the analysis can pick a suitable type generically (for example any signed integer). The available typeclasses are Num (any number), Integral (any integer), Floating (any floating point number), Address (integer types used to work with pointers), Signed Integral and Unsigned Integral (the signed and unsigned subclasses of Integral) and None (the most generic one, used when no specific typeclass applies).","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"tk","type":"argv","summary":"Show the typeclass of the given type","description":"","args_str":" <type>","args":[{"type":"unknown","name":"type","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"tkl","type":"argv_modes","summary":"List all typeclasses, or the types belonging to each of them","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long","table"],"children":[]},{"cmd":"tks","type":"argv","summary":"Set the typeclass of a type","description":"","args_str":" <type> <typeclass>","args":[{"type":"unknown","name":"type","required":true},{"type":"string","name":"typeclass","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"tks","comment":"treat the int type as the Floating typeclass","arg_str":" int Floating"},{"text":"tks","comment":"set a typeclass whose name contains a space (quote it)","arg_str":" int \"Signed Integral\""}]}],"executable":true,"n_children":0,"modes":[],"children":[]}]}]},{"cmd":"V","type":"group","summary":"Interactive mode","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":8,"modes":[],"children":[{"cmd":"V","type":"argv","summary":"Enter interactive visual mode","description":"Use Rizin (mostly) without shell. Scrolling disassembly, debugging, searching or graph views. All with a few keyboard shortcuts.","args_str":" [<key-sequence>]","args":[{"type":"string","name":"key-sequence","is_last":true}],"details":[{"name":"Parameters","entries":[{"text":"V","comment":"The <key-sequence> argument is a string of keys to press directly after entering the visual mode. See 'VH' or 'VHH' for a full list of valid keys.","arg_str":" <key_sequence>"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"VH","type":"argv","summary":"Show most common keys shortcuts of the visual mode.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"VHH","type":"argv","summary":"Show all keys shortcuts of the visual mode.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Vp","type":"argv","summary":"Enter interactive visual mode and select next mode (alias for 'V p').","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Vpp","type":"argv","summary":"Enter interactive visual mode and select the mode after next (alias for 'V pp').","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Vv","type":"argv","summary":"Enter interactive visual mode and select the view management (alias for 'V v').","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Ve","type":"argv","summary":"Enter interactive visual mode and select the configurations toggle (alias for 'V e').","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"VV","type":"argv","summary":"Enter interactive visual mode and select the function graph (alias for 'V V').","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"v","type":"group","summary":"Interactive panel mode","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"v","type":"argv","summary":"Enter interactive panel mode","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"vl","type":"argv","summary":"Load panel layout","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"vs","type":"argv","summary":"Store panel layout","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"w","type":"group","summary":"Write commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":21,"modes":[],"children":[{"cmd":"w","type":"argv","summary":"Write string","description":"","args_str":" <string>","args":[{"type":"string","name":"string","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"w","comment":"Write the chars '1', '2', '3' and a newline","arg_str":" 123\\n"},{"text":"w","comment":"Write the chars 'a', 'b', a NUL, 'c', 'd' and another NUL","arg_str":" ab\\0cd\\0"}]},{"name":"Escape sequences","entries":[{"text":"\\0","comment":"NUL (0x0)","arg_str":""},{"text":"\\a","comment":"Bell (0x7)","arg_str":""},{"text":"\\b","comment":"Backspace (0x8)","arg_str":""},{"text":"\\e","comment":"Escape (0x1b)","arg_str":""},{"text":"\\f","comment":"Form feed (0xc)","arg_str":""},{"text":"\\n","comment":"Newline (0xa)","arg_str":""},{"text":"\\r","comment":"Carriage return (0xd)","arg_str":""},{"text":"\\t","comment":"Tab (0x9)","arg_str":""},{"text":"\\v","comment":"Vertical tab (0xb)","arg_str":""},{"text":"\\\\","comment":"Backslash ('\\')","arg_str":""},{"text":"\\xhh","comment":"Byte in hexadecimal","arg_str":""},{"text":"\\nnn","comment":"Byte in octal (eg. \\033 for the escape char)","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wB","type":"group","summary":"Set or unset bits with given value","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"wB","type":"argv","summary":"Set bits with given value","description":"Set the bits that are set in the value passed as arguments. 0 bits in the value argument are ignored, while the others are set at the current offset.","args_str":" <value>","args":[{"type":"number","name":"value","required":true}],"details":[{"name":"Examples","entries":[{"text":"wB","comment":"Sets the 5th bit at current offset, leaving all other bits intact.","arg_str":" 0x20"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wB-","type":"argv","summary":"Unset bits with given value","description":"Unset the bits that are set in the value passed as arguments. 0 bits in the value argument are ignored, while the others are unset at the current offset","args_str":" <value>","args":[{"type":"number","name":"value","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"wv","type":"group","summary":"Write value of given size","description":"","args_str":"","args":[],"details":[{"name":"Examples","entries":[{"text":"wv","comment":"Write the value 0xdeadbeef at current offset","arg_str":" 0xdeadbeef"},{"text":"wv2","comment":"Write the word 0xdead at current offset","arg_str":" 0xdead"},{"text":"wv1","comment":"Write the byte 0xde at current offset","arg_str":" 0xde"}]}],"executable":true,"n_children":5,"modes":[],"children":[{"cmd":"wv","type":"argv","summary":"Write value as 4-bytes/8-bytes based on value","description":"Write the number passed as argument at the current offset as a 4 - bytes value or 8 - bytes value if the input is bigger than UT32_MAX, respecting the cfg.bigendian variable","args_str":" <value>","args":[{"type":"number","name":"value","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wv1","type":"argv","summary":"Write value of 1 byte","description":"Write the number passed as argument at the current offset as 1 - byte, respecting the cfg.bigendian variable","args_str":" <value>","args":[{"type":"number","name":"value","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wv2","type":"argv","summary":"Write value of 2 byte","description":"Write the number passed as argument at the current offset as 2 - bytes, respecting the cfg.bigendian variable","args_str":" <value>","args":[{"type":"number","name":"value","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wv4","type":"argv","summary":"Write value of 4 byte","description":"Write the number passed as argument at the current offset as 4 - bytes, respecting the cfg.bigendian variable","args_str":" <value>","args":[{"type":"number","name":"value","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wv8","type":"argv","summary":"Write value of 8 byte","description":"Write the number passed as argument at the current offset as 8 - bytes, respecting the cfg.bigendian variable","args_str":" <value>","args":[{"type":"number","name":"value","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"w0","type":"argv","summary":"Write <len> bytes with value 0x00","description":"Fill <len> bytes starting from the current offset with the value 0.","args_str":" <len>","args":[{"type":"number","name":"len","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"w","type":"inner","summary":"Increment/decrement byte, word, ...","description":"","args_str":" [<n>]","args":[],"details":[],"executable":false,"n_children":4,"modes":[],"children":[{"cmd":"w1","type":"group","summary":"Increment/decrement a byte","description":"","args_str":"","args":[],"details":[{"name":"Examples","entries":[{"text":"w1+","comment":"Add 1 to the byte at the current offset.","arg_str":""},{"text":"w1-","comment":"Subtract 1 to the byte at the current offset.","arg_str":""},{"text":"w1-","comment":"Subtract 9 to the byte at the current offset.","arg_str":" 9"}]}],"executable":false,"n_children":2,"modes":[],"children":[{"cmd":"w1+","type":"argv","summary":"Increment a byte","description":"Increment a byte at the current offset by 1 or <n>, if specified","args_str":" [<n>]","args":[{"type":"number","name":"n"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"w1-","type":"argv","summary":"Decrement a byte","description":"Decrement a byte at the current offset by 1 or <n>, if specified","args_str":" [<n>]","args":[{"type":"number","name":"n"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"w2","type":"group","summary":"Increment/decrement a word","description":"","args_str":"","args":[],"details":[{"name":"Examples","entries":[{"text":"w2+","comment":"Add 1 to the word at the current offset.","arg_str":""},{"text":"w2-","comment":"Subtract 1 to the word at the current offset.","arg_str":""},{"text":"w2-","comment":"Subtract 9 to the word at the current offset.","arg_str":" 9"}]}],"executable":false,"n_children":2,"modes":[],"children":[{"cmd":"w2+","type":"argv","summary":"Increment a word","description":"Increment a word at the current offset by 1 or <n>, if specified","args_str":" [<n>]","args":[{"type":"number","name":"n"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"w2-","type":"argv","summary":"Decrement a word","description":"Decrement a word at the current offset by 1 or <n>, if specified","args_str":" [<n>]","args":[{"type":"number","name":"n"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"w4","type":"group","summary":"Increment/decrement a dword","description":"","args_str":"","args":[],"details":[{"name":"Examples","entries":[{"text":"w4+","comment":"Add 1 to the dword at the current offset.","arg_str":""},{"text":"w4-","comment":"Subtract 1 to the dword at the current offset.","arg_str":""},{"text":"w4-","comment":"Subtract 9 to the dword at the current offset.","arg_str":" 9"}]}],"executable":false,"n_children":2,"modes":[],"children":[{"cmd":"w4+","type":"argv","summary":"Increment a dword","description":"Increment a dword at the current offset by 1 or <n>, if specified","args_str":" [<n>]","args":[{"type":"number","name":"n"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"w4-","type":"argv","summary":"Decrement a dword","description":"Decrement a dword at the current offset by 1 or <n>, if specified","args_str":" [<n>]","args":[{"type":"number","name":"n"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"w8","type":"group","summary":"Increment/decrement a qword","description":"","args_str":"","args":[],"details":[{"name":"Examples","entries":[{"text":"w8+","comment":"Add 1 to the qword at the current offset.","arg_str":""},{"text":"w8-","comment":"Subtract 1 to the qword at the current offset.","arg_str":""},{"text":"w8-","comment":"Subtract 9 to the qword at the current offset.","arg_str":" 9"}]}],"executable":false,"n_children":2,"modes":[],"children":[{"cmd":"w8+","type":"argv","summary":"Increment a qword","description":"Increment a qword at the current offset by 1 or <n>, if specified","args_str":" [<n>]","args":[{"type":"number","name":"n"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"w8-","type":"argv","summary":"Decrement a qword","description":"Decrement a qword at the current offset by 1 or <n>, if specified","args_str":" [<n>]","args":[{"type":"number","name":"n"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]}]},{"cmd":"w6","type":"group","summary":"Write base64 [d]ecoded or [e]ncoded string","description":"","args_str":"","args":[],"details":[{"name":"Examples","entries":[{"text":"w6d","comment":"Write the string \"HelloWorld\" (without quotes) at current offset.","arg_str":" SGVsbG9Xb3JsZAo="},{"text":"w6e","comment":"Write the string \"SGVsbG9Xb3JsZAo=\" (without quotes) at current offset.","arg_str":" 48656c6c6f576f726c64"}]}],"executable":false,"n_children":2,"modes":[],"children":[{"cmd":"w6d","type":"argv","summary":"Write the base64-decoded bytes","description":"Base64-Decode the string passed as argument and write it at the current offset.","args_str":" <base64>","args":[{"type":"string","name":"base64","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"w6e","type":"argv","summary":"Write the base64-encoded bytes","description":"Base64-Encode the hex string passed as argument and write it at the current offset","args_str":" <hexstring>","args":[{"type":"string","name":"hexstring","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"we","type":"group","summary":"Extend write operations (insert bytes instead of replacing)","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":3,"modes":[],"children":[{"cmd":"wen","type":"argv","summary":"Insert <len> null bytes at <addr> or current offset and extend the file at current offset","description":"","args_str":" <len> [<addr>]","args":[{"type":"expression","name":"len","required":true},{"type":"expression","name":"addr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wes","type":"argv","summary":"Shift <len> bytes at current offset left or right based on <dist>","description":"Shift the bytes at current offset left or right, based on the value of <dist>. Positive <dist> shifts the data right, negative <dist> shifts the data left. The amount of data to be shifted is either <len>, if specified, or the whole remaining file otherwise.","args_str":" <dist> [<len>]","args":[{"type":"expression","name":"dist","required":true},{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wex","type":"argv","summary":"Insert <hex_bytes> at <addr> or current offset and extend the file at current offset","description":"","args_str":" <bytes> [<addr>]","args":[{"type":"string","name":"bytes","required":true},{"type":"expression","name":"addr","is_last":true}],"details":[{"name":"Examples","entries":[{"text":"wex","comment":"Insert the characters \"ABC\" at the current offset and extend the file","arg_str":" 414243"}]}],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"wu","type":"argv","summary":"Apply unified hex patch (see output of cu)","description":"","args_str":" <file>","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wr","type":"argv","summary":"Write <len> random bytes","description":"","args_str":" <len>","args":[{"type":"expression","name":"len","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wc","type":"group","summary":"Write cache commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":7,"modes":["standard","json"],"children":[{"cmd":"wc","type":"argv_state","summary":"List all write changes in the cache","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"wc-","type":"argv","summary":"Remove write operation at current offset or in the given range","description":"","args_str":" [<from> [<to>]]","args":[{"type":"expression","name":"from"},{"type":"expression","name":"to","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wc-*","type":"argv","summary":"Reset the cache","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wc+","type":"argv","summary":"Commit cache from address <from> up to <to> or one blocksize","description":"","args_str":" <from> [<to>]","args":[{"type":"expression","name":"from","required":true},{"type":"expression","name":"to","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wci","type":"argv","summary":"Commit the cache","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wcp","type":"argv_state","summary":"List all write changes in the p-cache","description":"","args_str":" [<fd>]","args":[{"type":"number","name":"fd"}],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"wcpi","type":"argv","summary":"Commit p-cache for specified <fd> or current file","description":"","args_str":" [<fd>]","args":[{"type":"number","name":"fd"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"wz","type":"argv","summary":"Write zero-terminated string","description":"","args_str":" <string>","args":[{"type":"string","name":"string","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wf","type":"group","summary":"Write data from file, socket, offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":[],"children":[{"cmd":"wf","type":"argv","summary":"Write <size> bytes from <addr> into current offset","description":"","args_str":" <addr> <size>","args":[{"type":"expression","name":"addr","required":true},{"type":"expression","name":"size","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wfx","type":"argv","summary":"Exchange <size> bytes between <addr> and current offset","description":"","args_str":" <addr> <size>","args":[{"type":"expression","name":"addr","required":true},{"type":"expression","name":"size","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wff","type":"argv","summary":"Write data from <file> into current offset","description":"","args_str":" <file> [<size> [<offset>]]","args":[{"type":"filename","name":"file","required":true},{"type":"expression","name":"size"},{"type":"expression","name":"offset","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wfs","type":"argv","summary":"Write data from socket into current offset","description":"","args_str":" <host:port> [<size>]","args":[{"type":"string","name":"host:port","required":true},{"type":"expression","name":"size","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"ww","type":"argv","summary":"Write wide (16-bit) little-endian string","description":"","args_str":" <string>","args":[{"type":"string","name":"string","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wx","type":"group","summary":"Write hexadecimal data","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"wx","type":"argv","summary":"Write hexadecimal data <hex> into current offset","description":"","args_str":" <hex>","args":[{"type":"string","name":"hex","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wxf","type":"argv","summary":"Write hexadecimal data from file <file> into current offset","description":"","args_str":" <file|->","args":[{"type":"filename","name":"file|-","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"wa","type":"group","summary":"Write opcodes","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":[],"children":[{"cmd":"wa","type":"argv","summary":"Assemble instruction(s) and write bytes at current offset","description":"Assemble the <instructions> provided as argument considering the current architecture and bits in asm.arch/asm.bits and write the resulting bytes at the current offset.","args_str":" <instructions1> <instructions2> ...","args":[{"type":"string","name":"instructions","required":true,"is_array":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wai","type":"argv","summary":"Assemble instruction(s) and write bytes inside the current instruction","description":"Assemble the <instructions> provided as argument considering the current architecture and bits in asm.arch/asm.bits and write the resulting bytes \"inside\" the current instruction, by filling the remaining bytes of the old instruction with nop bytes.","args_str":" <instructions1> <instructions2> ...","args":[{"type":"string","name":"instructions","required":true,"is_array":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"waf","type":"argv","summary":"Assemble file and write bytes at current offset","description":"Assemble the assembly file <file> provided as argument considering the current architecture and bits in asm.arch/asm.bits and write the resulting bytes at the current offset.","args_str":" <file>","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wao","type":"argv","summary":"Write on the current opcode","description":"","args_str":" <op>","args":[{"type":"string","name":"op","required":true,"is_last":true}],"details":[{"name":"Operators","entries":[{"text":"wao","comment":"Make the current instruction a no operation","arg_str":" nop"},{"text":"wao","comment":"Assemble an infinite loop","arg_str":" jinf"},{"text":"wao","comment":"Make the current conditional instruction a jump-if-zero","arg_str":" jz"},{"text":"wao","comment":"Make the current conditional instruction a jump-if-not-zero","arg_str":" jnz"},{"text":"wao","comment":"Make the current instruction return 1","arg_str":" ret1"},{"text":"wao","comment":"Make the current instruction return 0","arg_str":" ret0"},{"text":"wao","comment":"Make the current instruction return -1","arg_str":" retn"},{"text":"wao","comment":"Make the current conditional instruction unconditional","arg_str":" nocj"},{"text":"wao","comment":"Make the current instruction a trap (e.g. int3 in x86)","arg_str":" trap"},{"text":"wao","comment":"Swap the condition of the current conditional instruction","arg_str":" recj"}]}],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"wb","type":"argv","summary":"Write in current block a hexstring cyclically","description":"","args_str":" <hex>","args":[{"type":"string","name":"hex","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wm","type":"group","summary":"Set binary mask hexpair to be used as cyclic write mask","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"wm","type":"argv","summary":"Set a write mask","description":"Set a write mask that is applied whenever a following write operation is performed. Data will be masked as if the first byte of data is in arithmetic AND (&) with the first byte of the mask, the second byte of data with the second byte of the mask, and so on.","args_str":" <hex_mask>","args":[{"type":"string","name":"hex_mask","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wm-","type":"argv","summary":"Remove the write mask","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"wo","type":"group","summary":"Write a block with a special operation","description":"","args_str":"","args":[],"details":[{"name":"Examples","entries":[{"text":"woa","comment":"Content before: 1122334455 ; Content after: 3142536475","arg_str":" 20"},{"text":"wos","comment":"Content before: 1122334455 ; Content after: f101132335","arg_str":" 2021"},{"text":"wo4","comment":"Content before: 1122334455667788; Content after: 4433221188776655","arg_str":""}]}],"executable":false,"n_children":15,"modes":[],"children":[{"cmd":"wo2","type":"argv","summary":"Swap the endianess of 2-bytes values in the current block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wo4","type":"argv","summary":"Swap the endianess of 4-bytes values in the current block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wo8","type":"argv","summary":"Swap the endianess of 8-bytes values in the current block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"woa","type":"argv","summary":"Add each existing byte in the block with the given <value>","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"woA","type":"argv","summary":"Bitwise-and each existing byte in the block with the given <value>","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wod","type":"argv","summary":"Divide each existing byte in the block with the given <value>","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wol","type":"argv","summary":"Bitwise-shift-left each existing byte in the block with the given <value>","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wom","type":"argv","summary":"Multiply each existing byte in the block with the given <value>","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"woo","type":"argv","summary":"Bitwise-or each existing byte in the block with the given <value>","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wor","type":"argv","summary":"Bitwise-shift-right each existing byte in the block with the given <value>","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wos","type":"argv","summary":"Subtract each existing byte in the block with the given <value>","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wox","type":"argv","summary":"Bitwise-xor each existing byte in the block with the given <value>","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"woe","type":"argv","summary":"Write a sequence repeatedly with values from <from> up to <to> in the block","description":"Write a sequence of data to fill the whole block at the current offset. The sequence is formed starting from <from> up to <to>, with an increment specified in <step>. Each value is written as a <value_size>-bytes value, according to the endianess specified in cfg.bigendian.","args_str":" <from> <to> <step>=1 <value_size>=1","args":[{"type":"number","name":"from","required":true},{"type":"number","name":"to","required":true},{"type":"number","name":"step","required":true,"default":"1"},{"type":"number","name":"value_size","required":true,"default":"1"}],"details":[{"name":"Examples","entries":[{"text":"woe","comment":"Write 010203010203010203","arg_str":" 1 3 1"},{"text":"woe","comment":"Write 010301030103010301","arg_str":" 1 4 2"},{"text":"woe","comment":"Write 010305020401030502","arg_str":" 1 5 2"},{"text":"woe","comment":"Write 01000200030001000200","arg_str":" 1 3 1 2"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"woD","type":"argv","summary":"Decrypt current block with given <algo>, <key> and optional <IV>","description":"","args_str":" <algo> <key> [<IV>]","args":[{"type":"string","name":"algo","required":true},{"type":"string","name":"key","required":true},{"type":"string","name":"IV","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"woE","type":"argv","summary":"Encrypt current block with given <algo>, <key> and optional <IV>","description":"","args_str":" <algo> <key> [<IV>]","args":[{"type":"string","name":"algo","required":true},{"type":"string","name":"key","required":true},{"type":"string","name":"IV","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"wD","type":"group","summary":"Write de Bruijn pattern","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"wD","type":"argv","summary":"Write a de Bruijn pattern of length <len> at the current offset","description":"","args_str":" <len>","args":[{"type":"expression","name":"len","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wD/","type":"argv","summary":"Returns the offset where <value> can be found in a de Bruijn pattern","description":"It search for a particular value in the pattern as returned by the `wD` command. <value> is assumed to be a number of as few bytes as necessary, in the endian specified by cfg.bigendian.","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"wd","type":"argv","summary":"Duplicate <len> bytes from <src> offset to current seek","description":"","args_str":" <src> <len>","args":[{"type":"expression","name":"src","required":true},{"type":"expression","name":"len","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ws","type":"argv","summary":"Write 1 byte for length and then the string","description":"","args_str":" <string>","args":[{"type":"string","name":"string","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"x","type":"argv_state","summary":"Alias for 'px' (print hexdump).","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"xc","type":"argv","summary":"Alias for 'pxc' (show hexdump with comments).","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"y","type":"group","summary":"Yank/paste bytes from/to memory","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":11,"modes":["standard","json","quiet"],"children":[{"cmd":"y","type":"argv_state","summary":"Yank bytes / Show yank contents","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"ye","type":"argv","summary":"Open cfg.editor to edit the clipboard","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"yf","type":"argv","summary":"Yank <len> bytes from file","description":"","args_str":" <len> <file>","args":[{"type":"expression","name":"len","required":true},{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"yfa","type":"argv","summary":"Yank whole file into clipboard","description":"","args_str":" <file>","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"yp","type":"argv","summary":"Print contents of clipboards as raw data","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ys","type":"argv","summary":"Print contents of clipboards as string","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"yt","type":"argv","summary":"Copy <len> bytes from current seek to <offset>","description":"","args_str":" <len> <offset>","args":[{"type":"expression","name":"len","required":true},{"type":"expression","name":"offset","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ywx","type":"argv","summary":"Yank from hexpairs string","description":"","args_str":" <string>","args":[{"type":"string","name":"string","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"yx","type":"argv","summary":"Print contents of clipboard in hexadecimal","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"yy","type":"argv","summary":"Paste <len> bytes from yank clipboard","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"yz","type":"argv","summary":"Copy NULL-terminated string into clipboard","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"|","type":"fake","summary":"Pipe help ('|')","description":"","args_str":"","args":[],"details":[{"name":"","entries":[{"text":"<cmd> |","comment":"Disable scr.html and scr.color","arg_str":""},{"text":"<cmd> |H","comment":"Enable scr.html, respect scr.color","arg_str":""},{"text":"<cmd> |","comment":"Pipe output of command to program","arg_str":" <program>"},{"text":"<cmd> |.","comment":"Alias for .<cmd>","arg_str":""}]}],"executable":false,"n_children":0,"modes":[],"children":[]},{"cmd":"~","type":"fake","summary":"Internal grep help ('~')","description":"","args_str":"","args":[],"details":[{"name":"Modifiers","entries":[{"text":"&","comment":"All words must match to grep the line","arg_str":""},{"text":"$[n]","comment":"Sort numerically / alphabetically the Nth column","arg_str":""},{"text":"$!","comment":"Sort in inverse order","arg_str":""},{"text":",","comment":"Token to define another keyword","arg_str":""},{"text":"+","comment":"Set the grep as the opposite of search.case_sensitive","arg_str":""},{"text":"^","comment":"Words must be placed at the beginning of line, after whitespace if any","arg_str":""},{"text":"<","comment":"Perform zoom operation on the buffer","arg_str":""},{"text":"!","comment":"Negate grep","arg_str":""},{"text":"?","comment":"Count number of matching lines","arg_str":""},{"text":"?.","comment":"Count number chars","arg_str":""},{"text":":s..e","comment":"Show lines s-e","arg_str":""},{"text":"..","comment":"Internal 'less'","arg_str":""},{"text":"...","comment":"Internal 'hud' (like V_)","arg_str":""},{"text":"{:","comment":"Human friendly indentation (yes, it's a smiley)","arg_str":""},{"text":"{:..","comment":"Less the output of {:","arg_str":""},{"text":"{:...","comment":"Hud the output of {:","arg_str":""},{"text":"{}","comment":"Json indentation","arg_str":""},{"text":"{}..","comment":"Less json indentation","arg_str":""},{"text":"{}...","comment":"Hud json indentation","arg_str":""},{"text":"{path}","comment":"Json path grep","arg_str":""}]},{"name":"EndModifiers","entries":[{"text":"$","comment":"Words must be placed at the end of line","arg_str":""}]},{"name":"Columns","entries":[{"text":"[n]","comment":"Show only columns n","arg_str":""},{"text":"[n-m]","comment":"Show column n to m","arg_str":""},{"text":"[n-]","comment":"Show all columns starting from column n","arg_str":""},{"text":"[i,j,k]","comment":"Show the columns i, j and k","arg_str":""}]},{"name":"Examples","entries":[{"text":"i","comment":"Show first line of 'i' output","arg_str":"~:0"},{"text":"i","comment":"Show from the second-last line to the last line of 'i' output","arg_str":"~:-2.."},{"text":"i","comment":"Show first three lines of 'i' output","arg_str":"~:..3"},{"text":"i","comment":"Show three lines of 'i' output starting from 2nd line","arg_str":"~:2..5"},{"text":"pd","comment":"Disasm and grep for mov","arg_str":"~mov"},{"text":"pi","comment":"Show only opcode","arg_str":"~[0]"},{"text":"i","comment":"Show lines ending with 0x400","arg_str":"~0x400$"}]}],"executable":false,"n_children":0,"modes":[],"children":[]}]}} +--cmd-catalog=json +{"version":1,"generated_from":"runtime","root":{"cmd":"","type":"group","summary":"","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":52,"modes":[],"children":[{"cmd":"!","type":"group","summary":"Run command via system(3)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"!","type":"argv","summary":"Run command via system(3) with raw output. Grepping via '~' automatically forces use of '!!' instead.","description":"","args_str":"<command> [<args1> <args2> ...]","args":[{"type":"string","name":"command","nospace":true,"required":true},{"type":"string","name":"args","is_array":true}],"details":[{"name":"Examples","entries":[{"text":"!","comment":"Execute the 'ls' command via system(3)","arg_str":"ls"},{"text":"!","comment":"Execute the 'echo' command via system(3) and bash. It prints the content of the environment variable '$RZ_SIZE'.","arg_str":"bash -c \"echo $RZ_SIZE\""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"!!","type":"argv","summary":"Run command via system(3) and pipe its stdout to rizin","description":"","args_str":"<command> [<args1> <args2> ...]","args":[{"type":"string","name":"command","nospace":true,"required":true},{"type":"string","name":"args","is_array":true}],"details":[{"name":"Examples","entries":[{"text":"!!","comment":"Execute the 'ls' command via system(3) and grep for 'txt'. Note that 'ls' has different output if its stdout is piped.","arg_str":"ls~txt"}]}],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"#!","type":"argv","summary":"Run interpreter","description":"","args_str":"<interpreter-name> [<arg1> <arg2> ...]","args":[{"type":"string","name":"interpreter-name","nospace":true,"required":true},{"type":"string","name":"arg","is_array":true}],"details":[{"name":"Examples","entries":[{"text":"#!","comment":"Run python commandline","arg_str":"python"},{"text":"#!","comment":"Run foo.py python script","arg_str":"python foo.py"},{"text":"#!","comment":"Run foo.py python script and pass it arg1 as argument","arg_str":"python foo.py arg1"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"$","type":"group","summary":"Alias commands and strings","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"$","type":"argv","summary":"List all defined aliases / Define alias (see %$? for help on $variables)","description":"","args_str":"[alias[=cmd] [args...]]","args":[{"type":"string","name":"args","nospace":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"$","comment":"List all defined aliases","arg_str":""},{"text":"$","comment":"Alias for 'f foo @ 123'","arg_str":"foo:=123"},{"text":"$","comment":"Alias for 'fm $$-4 @ foo'","arg_str":"foo-=4"},{"text":"$","comment":"Alias for 'fm $$+4 @ foo'","arg_str":"foo+=4"},{"text":"$","comment":"Alias for 's foo' (note that command aliases can override flag resolution)","arg_str":"foo"},{"text":"$","comment":"Alias this base64 encoded text to be executed when $dis is called","arg_str":"dis=base64:cGRm"},{"text":"$","comment":"Alias this text to be printed when $dis is called","arg_str":"dis=$hello world"},{"text":"$","comment":"Open cfg.editor to set the new value for dis alias","arg_str":"dis=-"},{"text":"$","comment":"Create command - analyze to show function","arg_str":"dis=\"af;pdf\""},{"text":"$","comment":"Create command - rlangpipe script","arg_str":"test=\\#!pipe node /tmp/test.js"},{"text":"$","comment":"Undefine alias","arg_str":"dis="},{"text":"$","comment":"Execute the previously defined alias","arg_str":"dis"},{"text":"$","comment":"Show commands aliased by $dis","arg_str":"dis?"},{"text":"$","comment":"Show commands aliased by $dis, without a new line","arg_str":"dis?n"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"$*","type":"argv","summary":"List all the aliases as rizin commands in base64","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"$**","type":"argv","summary":"Same as above, but using plain text","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"%","type":"group","summary":"Math commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":30,"modes":["standard","json"],"children":[{"cmd":"%","type":"argv_state","summary":"Evaluate numerical expression <expr>","description":"","args_str":" <expr>","args":[{"type":"string","name":"expr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"%$","type":"argv","summary":"Print Rizin variables and their values","description":"","args_str":" [<var>]","args":[{"type":"string","name":"var","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%0","type":"argv","summary":"Set first tab as the current active tab","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%1","type":"argv","summary":"Set next tab as the current active tab","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%r","type":"argv","summary":"Generate a random number between <lowlimit> and <uplimit>","description":"","args_str":" <lowlimit> <uplimit>","args":[{"type":"expression","name":"lowlimit","required":true},{"type":"expression","name":"uplimit","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%b","type":"argv","summary":"Print <expr> in binary format","description":"","args_str":" <expr>","args":[{"type":"expression","name":"expr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%b64","type":"argv","summary":"Encode <str> in Base64","description":"","args_str":" <str>","args":[{"type":"string","name":"str","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"%b64","comment":"(SUxvdmVSaXppbgo=) Encodes given string into base64","arg_str":" ILoveRizin"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%b64-","type":"argv","summary":"Decode <str> from Base64","description":"","args_str":" <str>","args":[{"type":"string","name":"str","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"%b64- ","comment":"(ILoveRizin) Decodes given base64 string","arg_str":"SUxvdmVSaXppbgo="}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%btw","type":"argv","summary":"Check if <middle> number is between <first> and <last>","description":"","args_str":" <first> <middle> <last>","args":[{"type":"expression","name":"first","required":true},{"type":"expression","name":"middle","required":true},{"type":"expression","name":"last","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%B","type":"argv_state","summary":"Prints the search boundaries based on the search.in mode.","description":"There are multiple search modes in Rizin that can be listed using the command `e search.in=?`. This command can be used to get boundaries of those search modes.","args_str":"","args":[],"details":[{"name":"Examples","entries":[{"text":"%B ","comment":"Prints boundary of this file","arg_str":"@e:search.in=file"},{"text":"%Bt ","comment":"Prints boundaries of all io maps","arg_str":"@e:search.in=io.maps"}]}],"executable":true,"n_children":0,"modes":["standard","json","table"],"children":[]},{"cmd":"%h","type":"argv","summary":"Print hash value of string <str>","description":"","args_str":" <<str>>","args":[{"type":"string","name":"<str>","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"%h ","comment":"0x56b7215a -> hashed value","arg_str":"ILoveRizin"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%f","type":"argv","summary":"bitstring manipulation.","description":"Treat given string as bitstring and get selected characters from bitstring using given value. Bits that are flagged in value are used to get characters from given string. Bitstring is treated in big-endian format","args_str":" <value> <bitstring>","args":[{"type":"number","name":"value","required":true},{"type":"string","name":"bitstring","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"%f","comment":"LLO (00111b selected : big-endian bitstring)","arg_str":" 28 Hello"},{"text":"%f","comment":"LL (00110b selected : big-endian bitstring)","arg_str":" 12 Hello"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%o","type":"argv","summary":"Print <expr> in octal format","description":"","args_str":" <expr>","args":[{"type":"expression","name":"expr","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"%o","comment":"0173 in octal","arg_str":" 123"},{"text":"%o","comment":"0501 in octal","arg_str":" 321"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%u","type":"argv","summary":"Convert <expr> to K, M, G, T etc... units","description":"","args_str":" <expr>","args":[{"type":"expression","name":"expr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%v","type":"group","summary":"Show value commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":7,"modes":[],"children":[{"cmd":"%v","type":"argv","summary":"Show last expression ($?) or currently evaluated <expr>","description":"","args_str":" [<expr>]","args":[{"type":"expression","name":"expr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%vx","type":"argv","summary":"Show last expression ($?) or currently evaluated <expr> in hex","description":"","args_str":" [<expr>]","args":[{"type":"expression","name":"expr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%vi1","type":"argv","summary":"Show last expression ($?) or currently evaluated <expr> as 1 byte integer","description":"","args_str":" [<expr>]","args":[{"type":"expression","name":"expr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%vi2","type":"argv","summary":"Show last expression ($?) or currently evaluated <expr> as 2 bytes integer","description":"","args_str":" [<expr>]","args":[{"type":"expression","name":"expr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%vi4","type":"argv","summary":"Show last expression ($?) or currently evaluated <expr> as 4 bytes integer","description":"","args_str":" [<expr>]","args":[{"type":"expression","name":"expr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%vi8","type":"argv","summary":"Show last expression ($?) or currently evaluated <expr> as 8 bytes integer","description":"","args_str":" [<expr>]","args":[{"type":"expression","name":"expr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%vi","type":"argv","summary":"Show last expression ($?) or currently evaluated <expr> as integer","description":"","args_str":" [<expr>]","args":[{"type":"expression","name":"expr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"%=","type":"argv","summary":"Update $? (last evaluated expression) with <expr>, without printing anything","description":"","args_str":" <expr>","args":[{"type":"expression","name":"expr","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"%q","comment":"This will set $?. Then commands like %+, %-, etc. can be used to do some task by checking whether $? holds positive value or not.","arg_str":" 123"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%==","type":"argv","summary":"Compare strings <str1> and <str2> and set $? register to cmp result","description":"","args_str":" <str1> <str2>","args":[{"type":"string","name":"str1","required":true},{"type":"string","name":"str2","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"%==","comment":"$? will be set to 0 if these two strings are equal, otherwise some other positive value.","arg_str":" str1 str2"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%+","type":"argv","summary":"Execute command <cmd> if $? register is greater than 0","description":"","args_str":" <cmd>","args":[{"type":"command","name":"cmd","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"%=1; %+","comment":"Will display hexdump at current seek address","arg_str":" %%x"},{"text":"%=-2; %+","comment":"Won\"t do anything","arg_str":" %%x"},{"text":"%=0; %+","comment":"Won\"t do anything","arg_str":" %%x"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%-","type":"argv","summary":"Execute command <cmd> if $? register is less than 0","description":"","args_str":" <cmd>","args":[{"type":"command","name":"cmd","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"%=1; %-","comment":"Won\"t do anything","arg_str":" %%x"},{"text":"%=-2; %-","comment":"Will display hexdump at current seek address","arg_str":" %%x"},{"text":"%=0; %+","comment":"Won\"t do anything","arg_str":" %%x"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%!","type":"argv","summary":"Execute command <cmd> if $? is 0","description":"","args_str":" <cmd>","args":[{"type":"command","name":"cmd","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%%","type":"argv","summary":"Execute command <cmd> if $? is not 0","description":"","args_str":" <cmd>","args":[{"type":"command","name":"cmd","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%l","type":"argv_state","summary":"Calculate length of string <str>. Quiet mode stores value in `$?` register.","description":"","args_str":" <str>","args":[{"type":"string","name":"str","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","quiet"],"children":[]},{"cmd":"%X","type":"argv","summary":"Show evaluated expression <expr> in hex","description":"","args_str":" <expr>","args":[{"type":"expression","name":"expr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%x","type":"group","summary":"String/Numeric to hex manipulation commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"%x","type":"argv","summary":"ASCII string to hex string","description":"","args_str":" <astr>","args":[{"type":"string","name":"astr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%x+","type":"argv","summary":"Numerical expression to hex","description":"","args_str":" <expr>","args":[{"type":"expression","name":"expr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%x-","type":"argv","summary":"Hex string to ASCII string","description":"","args_str":" <hexnum>","args":[{"type":"expression","name":"hexnum","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"%s","type":"argv","summary":"Generate sequence of numbers from <start> to <stop> with <step> increments","description":"","args_str":" <start> <stop> <step>","args":[{"type":"expression","name":"start","required":true},{"type":"expression","name":"stop","required":true},{"type":"expression","name":"step","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%P","type":"argv","summary":"Convert physical to virtual address","description":"","args_str":" [<paddr>]","args":[{"type":"expression","name":"paddr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%p","type":"argv","summary":"Virtual to physical address conversion","description":"","args_str":" [<vaddr>]","args":[{"type":"expression","name":"vaddr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%_","type":"argv","summary":"HUD input","description":"","args_str":" <input>","args":[{"type":"string","name":"input","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%i","type":"group","summary":"Input commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":8,"modes":[],"children":[{"cmd":"%i","type":"argv","summary":"Input the <prompt> and save response in yank clipboard (`y` commands)","description":"","args_str":" <prompt>","args":[{"type":"string","name":"prompt","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%ie","type":"argv","summary":"Input the <prompt>, save response in yank clipboard (`y` commands), and print it","description":"","args_str":" <prompt>","args":[{"type":"string","name":"prompt","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%in","type":"argv","summary":"Input Yes/No <question> and store result in $? register (default No)","description":"","args_str":" [<question>]","args":[{"type":"string","name":"question","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%iy","type":"argv","summary":"Input Yes/No <question> and store result in $? register (default Yes)","description":"","args_str":" [<question>]","args":[{"type":"string","name":"question","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%ik","type":"argv","summary":"Input any key. Does nothing else.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%ip","type":"argv","summary":"Interactive HUD mode to find files in <path>","description":"","args_str":" [<path>]","args":[{"type":"string","name":"path","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%im","type":"argv","summary":"Display <msg> in console and wait for key","description":"","args_str":" <msg>","args":[{"type":"string","name":"msg","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%if","type":"argv","summary":"Evaluate <expr>, store result in $? register and print true if <expr> != 0, false otherwise","description":"","args_str":" <expr>","args":[{"type":"expression","name":"expr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"%w","type":"argv","summary":"Get references of given address","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"&","type":"group","summary":"Manage tasks","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":7,"modes":["standard","json"],"children":[{"cmd":"&","type":"argv_modes","summary":"List all tasks / Run <cmd> in a new background task","description":"","args_str":" [<cmd>]","args":[{"type":"command","name":"cmd","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"&t","type":"argv","summary":"Run <cmd> in a new transient background task (auto-delete when it is finished)","description":"","args_str":" <cmd>","args":[{"type":"command","name":"cmd","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"&=","type":"argv","summary":"Show output of task <n>","description":"","args_str":" <n>","args":[{"type":"number","name":"n","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"&b","type":"argv","summary":"Break task <n>","description":"","args_str":" <n>","args":[{"type":"number","name":"n","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"&-","type":"argv","summary":"Delete task <n> or schedule for deletion when it is finished","description":"","args_str":" <n>","args":[{"type":"number","name":"n","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"&-*","type":"argv","summary":"Delete all done tasks","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"&&","type":"argv","summary":"Wait until task <n> is finished / all tasks are finished","description":"","args_str":" [<name>]","args":[{"type":"number","name":"name"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"(","type":"group","summary":"Manage scripting macros","description":"","args_str":"","args":[],"details":[{"name":"Examples","entries":[{"text":"(","comment":"List defined macros","arg_str":""},{"text":"(","comment":"Define a new macro 'foo', which executes `?` followed by `pd` when called.","arg_str":"foo; echo Disassemble 10 bytes at 0x10000; pd 10 @ 0x10000)"},{"text":"(","comment":"Define a new macro 'foo' with two arguments. ${a}/${b} are replaced before execution.","arg_str":"foo a b; echo Disassemble ${a} bytes at ${b}; pd ${a} @ ${b})"},{"text":"(-","comment":"Remove previously defined macro named 'foo'","arg_str":"foo"}]}],"executable":true,"n_children":6,"modes":["standard"],"children":[{"cmd":"(","type":"argv_state","summary":"List all defined macros","description":"Without any arguments, ( lists defined macros. Macros can be used to execute multiple commands under one name, by replacing some arguments. The argument replacement is done before executing the command, by simply replacing ${<arg-name>} in the body of the macro with the value passed when calling the macro.","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"(-","type":"argv","summary":"Remove a defined macro named <macro-name>","description":"","args_str":"<macro-name>","args":[{"type":"string","name":"macro-name","nospace":true,"required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"(","type":"inner","summary":"Add a new macro <macro-name>","description":"","args_str":"<macro-name> [<macro-arg0> <macro-arg1> ...][; <cmds>])[([<macro-call-arg0> <macro-call-arg1> ...])]","args":[],"details":[],"executable":false,"n_children":0,"modes":[],"children":[]},{"cmd":"(","type":"inner","summary":"Define a macro <macro-name> and call it with the arguments <macro-call-args>","description":"","args_str":"<macro-name> [<macro-arg0> <macro-arg1> ...][; <cmds>])[([<macro-call-arg0> <macro-call-arg1> ...])]","args":[],"details":[],"executable":false,"n_children":0,"modes":[],"children":[]},{"cmd":".(","type":"inner","summary":"Call macro <macro-name> with the arguments <macro-call-args>","description":"","args_str":"<macro-name> [<macro-call-arg0> <macro-call-arg1> ...])","args":[],"details":[],"executable":false,"n_children":0,"modes":[],"children":[]},{"cmd":"..(","type":"inner","summary":"Call macro <macro-name> multiple times with the arguments <macro-call-args>","description":"Call the same macro multiple time, based on the number of arguments provided. If a macro accepts N arguments, the first N arguments are passed to the first invocation of the macro, the second N arguments to the second invocation, and so on. An error is returned when the wrong number of arguments is passed.","args_str":"<macro-name> [<macro-call-arg0> <macro-call-arg1> ...])","args":[],"details":[],"executable":false,"n_children":0,"modes":[],"children":[]}]},{"cmd":"*","type":"argv","summary":"Pointer read/write data/values","description":"Read or write values at a given address. When the value is a hexstring, it is decoded and written as raw bytes. Otherwise, it is evaluated as an expression and written using the current endianness and bitness settings.","args_str":"<addr>[=<expr>|<hexstring>]","args":[{"type":"expression","name":"addr","required":true},{"type":"expression","name":"value","is_last":true}],"details":[{"name":"Examples","entries":[{"text":"*","comment":"write trap in entrypoint","arg_str":"entry0=cc"},{"text":"*","comment":"write 0x804800 with the current bitness, 10 bytes from the entrypoint","arg_str":"entry0+10=0x804800"},{"text":"*","comment":"write the 32-bits value read at the entrypoint to the current offset","arg_str":"$$=[entry0] @e:asm.bits=32"},{"text":"*","comment":"read the value contained at the entrypoint","arg_str":"entry0"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":".","type":"group","summary":"Interpret commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":8,"modes":[],"children":[{"cmd":".","type":"argv","summary":"Repeat last executed command backward / Interpret the output of the command as rizin commands","description":"","args_str":"[<cmd>]","args":[{"type":"command","name":"cmd","nospace":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":". ","type":"argv","summary":"Interpret script","description":"","args_str":"<file.rz>","args":[{"type":"filename","name":"file.rz","nospace":true,"required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"...","type":"argv","summary":"Repeat last executed command forward (same as \\\\n)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"..","type":"argv","summary":"Run the output of the execution of a script as rizin commands","description":"","args_str":" <file>","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":".-","type":"argv","summary":"Open cfg.editor and interpret tmp file","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":".*","type":"argv","summary":"Same as #!pipe open cfg.editor and interpret tmp file","description":"","args_str":" <file>","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":".(","type":"argv","summary":"Call macro","description":"","args_str":"<macro-name> [<macro-arg1> <macro-arg2> ...])","args":[{"type":"macro","name":"macro-name","nospace":true,"required":true},{"type":"raw","name":"macro-arg","is_array":true},{"type":"fake","name":")"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"..(","type":"argv","summary":"Call macro multiple times","description":"Call a macro multiple times with arguments taken n at a time, where n is the number of macro arguments","args_str":"<macro-name> [<set1-arg1> <set1-arg2> ...] [<set2-arg1> <set2-arg2> ...] ...)","args":[{"type":"macro","name":"macro-name","nospace":true,"required":true},{"type":"raw","name":"macro-arg-set","is_array":true},{"type":"fake","name":")"}],"details":[{"name":"Example","entries":[{"text":"(","comment":"Define wv2 macro with word($0) and addr($1) args","arg_str":"wv2 word addr; wv2 $0 @ $1)"},{"text":"..(","comment":"Write 2 words at 2 different addresses","arg_str":"wv2 128 0x804800 256 0x804900)"}]}],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"/","type":"group","summary":"Search for bytes, regexps, patterns, ..","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":18,"modes":[],"children":[{"cmd":"/+","type":"argv_modes","summary":"Construct the string with chunks.","description":"","args_str":" </bin/sh>","args":[{"type":"string","name":"/bin/sh","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/a","type":"group","summary":"Assemble the instruction and search its bytes.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":16,"modes":["standard","json","quiet","table"],"children":[{"cmd":"/a","type":"argv_state","summary":"Assemble the instruction and search its bytes.","description":"","args_str":" <asm-text>","args":[{"type":"string","name":"asm-text","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/a1","type":"argv_modes","summary":"Find valid assembly generated by changing only the nth byte","description":"","args_str":" <number>","args":[{"type":"string","name":"number","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/aI","type":"argv_modes","summary":"Search for infinite loop instructions (jmp $$)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/aa","type":"argv_modes","summary":"Linearly find aproximated assembly (case insensitive strstr)","description":"","args_str":" <asm-text>","args":[{"type":"string","name":"asm-text","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/ac","type":"argv_modes","summary":"Same as /aa, but case-sensitive","description":"","args_str":" <asm-text>","args":[{"type":"string","name":"asm-text","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/ad","type":"argv_modes","summary":"Match ins1 followed by ins2 in linear disasm","description":"","args_str":" <mnem;mov>","args":[{"type":"string","name":"mnem;mov","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/ad/","type":"argv","summary":"Search for regex instruction 'ins1' followed by regex 'ins2'","description":"","args_str":" <ins1;ins2>","args":[{"type":"string","name":"ins1;ins2","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"/ad/a","type":"argv","summary":"Search for every byte instruction that matches regexp 'instr'","description":"","args_str":" <instr>","args":[{"type":"string","name":"instr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"/ae","type":"argv_modes","summary":"Search for esil expressions matching substring","description":"","args_str":" <esil>","args":[{"type":"string","name":"esil","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/af","type":"group","summary":"Search for instruction of specific family (afl=list","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json"],"children":[{"cmd":"/af","type":"argv_modes","summary":"Search for instruction of specific family (afl=list","description":"","args_str":" <family>","args":[{"type":"string","name":"family","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/afl","type":"argv","summary":"Search for instruction of specific family. List mode.","description":"","args_str":" <family>","args":[{"type":"string","name":"family","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"/ai","type":"argv_modes","summary":"Find all the instructions using that immediate (in range)","description":"","args_str":" <0x300> [<0x500>]","args":[{"type":"string","name":"0x300","required":true},{"type":"string","name":"0x500","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/al","type":"argv_modes","summary":"Same as aoml, list all opcodes","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/am","type":"argv_modes","summary":"Search for specific instructions of specific mnemonic","description":"","args_str":" <opcode>","args":[{"type":"string","name":"opcode","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/ao","type":"argv_modes","summary":"Search for instruction 'instr' (in all offsets)","description":"","args_str":" <instr>","args":[{"type":"string","name":"instr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/as","type":"group","summary":"Search for syscalls (See /at swi and /af priv)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json"],"children":[{"cmd":"/as","type":"argv_modes","summary":"Search for syscalls (See /at swi and /af priv)","description":"","args_str":" [<type>]","args":[{"type":"string","name":"type","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/asl","type":"argv","summary":"Search for syscalls (See /at swi and /af priv). List mode.","description":"","args_str":" [<type>]","args":[{"type":"string","name":"type","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"/at","type":"group","summary":"Search for instructions of given type","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json"],"children":[{"cmd":"/at","type":"argv_modes","summary":"Search for instructions of given type","description":"","args_str":" [<type>]","args":[{"type":"string","name":"type","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/atl","type":"argv","summary":"Search for instructions of given type. List mode.","description":"","args_str":" [<type>]","args":[{"type":"string","name":"type","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]}]},{"cmd":"/c","type":"group","summary":"Cryptographic material search.","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":4,"modes":[],"children":[{"cmd":"/ch","type":"argv_state","summary":"Search for blocks that have the same hash.","description":"","args_str":" <algo> <hash> <block_size>=256","args":[{"type":"string","name":"algo","required":true},{"type":"string","name":"hash","required":true},{"type":"number","name":"block_size","required":true,"default":"256"}],"details":[{"name":"Usage example","entries":[{"text":"/ch","comment":"MD5 hash search within blocks of 512 bytes.","arg_str":" md5 0bc8f8c426b74ffaedac8330a7464014 512"}]},{"name":"Tip","entries":[{"text":"","comment":"The command 'Lh' gives you a list of supported hash plugins.","arg_str":""},{"text":"","comment":"Use /ce and /cef for entropy search.","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/ce","type":"argv_state","summary":"Search for blocks above an entropy level.","description":"","args_str":" <min_entropy> <max_entropy>=8.0 <block_size>=256","args":[{"type":"number","name":"min_entropy","required":true},{"type":"number","name":"max_entropy","required":true,"default":"8.0"},{"type":"number","name":"block_size","required":true,"default":"256"}],"details":[{"name":"Usage example","entries":[{"text":"/ce","comment":"Find 512 byte long blocks with an entropy between 2.5 and 7.4 (inclusive min & max).","arg_str":" 2.5 7.4 512"}]}],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/cef","type":"argv_state","summary":"Search for blocks above an fractional entropy level.","description":"","args_str":" <min_entropy> <max_entropy>=1.0 <block_size>=256","args":[{"type":"number","name":"min_entropy","required":true},{"type":"number","name":"max_entropy","required":true,"default":"1.0"},{"type":"number","name":"block_size","required":true,"default":"256"}],"details":[{"name":"Usage example","entries":[{"text":"/cef","comment":"Find 512 byte long blocks with a fractional entropy between 0.3 and 0.8 (inclusive min & max).","arg_str":" 0.3 0.8 512"}]}],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/cm","type":"argv_state","summary":"Search cryptographic material.","description":"","args_str":" <type>=all","args":[{"type":"choice","name":"type","required":true,"default":"all","choices":["all","aes128","aes192","aes256","sm4be","sm4le","rsa","ecc","safecurves","x509"]}],"details":[{"name":"Types","entries":[{"text":"aes128","comment":"Searches for expanded AES 128 keys.","arg_str":""},{"text":"aes192","comment":"Searches for expanded AES 192 keys.","arg_str":""},{"text":"aes256","comment":"Searches for expanded AES 256 keys.","arg_str":""},{"text":"sm4be","comment":"Searches for expanded SM4 keys (big-endian).","arg_str":""},{"text":"sm4le","comment":"Searches for expanded SM4 keys (little-endian).","arg_str":""},{"text":"rsa","comment":"Searches for DER/BER encoded RSA keys (see RFC 3447).","arg_str":""},{"text":"ecc","comment":"Searches for DER/BER encoded ECC keys (see RFC 5915).","arg_str":""},{"text":"safecurves","comment":"Searches for DER/BER encoded SafeCurves keys (see RFC 8410).","arg_str":""},{"text":"x509","comment":"Searches for DER/BER encoded X.509 certificates.","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]}]},{"cmd":"/C","type":"group","summary":"Search, List, Query for COP Gadgets","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":7,"modes":["standard","json","quiet","table"],"children":[{"cmd":"/C","type":"argv_state","summary":"List COP Gadgets","description":"","args_str":" [<filter-by-string>]","args":[{"type":"string","name":"filter-by-string","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/C-","type":"argv","summary":"Clear COP gadget cache","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"/C/","type":"argv_state","summary":"List COP Gadgets [regular expression]","description":"","args_str":" [<filter-by-regex>]","args":[{"type":"string","name":"filter-by-regex","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/Ck","type":"argv_state","summary":"Query COP Gadgets by providing constraints","description":"","args_str":" <key>[=<val>] [<key>[=<val>] ...]]","args":[{"type":"string","name":"key=value","required":true,"is_last":true}],"details":[{"name":"Constraint types","entries":[{"text":"reg=const","comment":"Find gadgets that set a register to a constant value","arg_str":""},{"text":"reg=reg","comment":"Find gadgets that copy one register to another","arg_str":""},{"text":"reg=reg OP const","comment":"Find gadgets with register and constant arithmetic","arg_str":""},{"text":"reg=reg OP reg","comment":"Find gadgets with register-register operations","arg_str":""}]},{"name":"Supported operations","entries":[{"text":"+ - * / %","comment":"Arithmetic operations (add, sub, mul, div, mod)","arg_str":""},{"text":"& | ^","comment":"Bitwise operations (AND, OR, XOR)","arg_str":""},{"text":"<< >>","comment":"Shift operations (left, right)","arg_str":""}]},{"name":"Compound operators","entries":[{"text":"reg++ or reg--","comment":"Increment or decrement register","arg_str":""},{"text":"reg+=val, reg-=val","comment":"Compound assignment operators","arg_str":""}]},{"name":"Usage example","entries":[{"text":"Find gadgets setting rax to 0","comment":"/Ck rax=0","arg_str":""},{"text":"Find gadgets copying rbx to rax","comment":"/Ck rax=rbx","arg_str":""},{"text":"Find gadgets with rax = rbx + 8","comment":"/Ck rax=rbx+8","arg_str":""},{"text":"Find gadgets with multiple constraints","comment":"/Ck rax=0,rbx=rcx","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/Cg","type":"argv_state","summary":"Gadget detail info","description":"","args_str":" [<Gadget address>]","args":[{"type":"string","name":"Gadget address","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long"],"children":[]},{"cmd":"/Cs","type":"argv_state","summary":"Search cop gadgets given stack changes","description":"","args_str":" <Stack changes>","args":[{"type":"string","name":"Stack changes","required":true,"is_last":true}],"details":[{"name":"Usage example","entries":[{"text":"Search COP gadgets with less than 0x200 stack changes","comment":"/Cs \"<0x200\"","arg_str":""},{"text":"Search COP gadgets with 0x100 stack changes","comment":"/Cs =0x100","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/Cl","type":"argv_state","summary":"Search cop gadgets given gadget size","description":"","args_str":" <Gadget size>","args":[{"type":"string","name":"Gadget size","required":true,"is_last":true}],"details":[{"name":"Usage example","entries":[{"text":"Search COP gadgets with the size less than 0x20","comment":"/Cl \"<0x20\"","arg_str":""},{"text":"Search COP gadgets with the size 0x10","comment":"/Cl =0x10","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"/d","type":"argv_modes","summary":"Search for a deltified sequence of bytes.","description":"","args_str":" <101112>","args":[{"type":"string","name":"101112","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/F","type":"argv_state","summary":"Search the content of a file.","description":"","args_str":" <file> [<offset> [<size>]]","args":[{"type":"string","name":"file","required":true},{"type":"string","name":"offset"},{"type":"string","name":"size","is_last":true}],"details":[{"name":"Arguments","entries":[{"text":"<file>","comment":"The file containing the data to search.","arg_str":""},{"text":"<offset>","comment":"Offset into <file> to read the search data from.","arg_str":""},{"text":"<size>","comment":"Number of bytes to read from the <file>.","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/J","type":"group","summary":"Search, List, Query for JOP Gadgets","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":7,"modes":["standard","json","quiet","table"],"children":[{"cmd":"/J","type":"argv_state","summary":"List JOP Gadgets","description":"","args_str":" [<filter-by-string>]","args":[{"type":"string","name":"filter-by-string","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/J-","type":"argv","summary":"Clear JOP gadget cache","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"/J/","type":"argv_state","summary":"List JOP Gadgets [regular expression]","description":"","args_str":" [<filter-by-regex>]","args":[{"type":"string","name":"filter-by-regex","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/Jk","type":"argv_state","summary":"Query JOP Gadgets by providing constraints","description":"","args_str":" <key>[=<val>] [<key>[=<val>] ...]]","args":[{"type":"string","name":"key=value","required":true,"is_last":true}],"details":[{"name":"Constraint types","entries":[{"text":"reg=const","comment":"Find gadgets that set a register to a constant value","arg_str":""},{"text":"reg=reg","comment":"Find gadgets that copy one register to another","arg_str":""},{"text":"reg=reg OP const","comment":"Find gadgets with register and constant arithmetic","arg_str":""},{"text":"reg=reg OP reg","comment":"Find gadgets with register-register operations","arg_str":""}]},{"name":"Supported operations","entries":[{"text":"+ - * / %","comment":"Arithmetic operations (add, sub, mul, div, mod)","arg_str":""},{"text":"& | ^","comment":"Bitwise operations (AND, OR, XOR)","arg_str":""},{"text":"<< >>","comment":"Shift operations (left, right)","arg_str":""}]},{"name":"Compound operators","entries":[{"text":"reg++ or reg--","comment":"Increment or decrement register","arg_str":""},{"text":"reg+=val, reg-=val","comment":"Compound assignment operators","arg_str":""}]},{"name":"Usage example","entries":[{"text":"Find gadgets setting rax to 0","comment":"/Jk rax=0","arg_str":""},{"text":"Find gadgets copying rbx to rax","comment":"/Jk rax=rbx","arg_str":""},{"text":"Find gadgets with rax = rbx + 8","comment":"/Jk rax=rbx+8","arg_str":""},{"text":"Find gadgets with multiple constraints","comment":"/Jk rax=0,rbx=rcx","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/Jg","type":"argv_state","summary":"Gadget detail info","description":"","args_str":" [<Gadget address>]","args":[{"type":"string","name":"Gadget address","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long"],"children":[]},{"cmd":"/Js","type":"argv_state","summary":"Search jop gadgets given stack changes","description":"","args_str":" <Stack changes>","args":[{"type":"string","name":"Stack changes","required":true,"is_last":true}],"details":[{"name":"Usage example","entries":[{"text":"Search JOP gadgets with less than 0x200 stack changes","comment":"/Js \"<0x200\"","arg_str":""},{"text":"Search JOP gadgets with 0x100 stack changes","comment":"/Js =0x100","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/Jl","type":"argv_state","summary":"Search JOP gadgets given gadget size","description":"","args_str":" <Gadget size>","args":[{"type":"string","name":"Gadget size","required":true,"is_last":true}],"details":[{"name":"Usage example","entries":[{"text":"Search JOP gadgets with the size less than 0x20","comment":"/Jl \"<0x20\"","arg_str":""},{"text":"Search JOP gadgets with the size 0x10","comment":"/Jl =0x10","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"/o","type":"argv_modes","summary":"Show offset of n instructions backward.","description":"","args_str":" [<n>]","args":[{"type":"string","name":"n","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/O","type":"argv_modes","summary":"Same as /o, but with a different fallback if analysis cannot be used.","description":"","args_str":" [<n>]","args":[{"type":"string","name":"n","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/p","type":"argv_state","summary":"Search for pattern of given size.","description":"","args_str":" <patternsize>","args":[{"type":"string","name":"patternsize","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/P","type":"argv_state","summary":"Search similar blocks.","description":"","args_str":" <patternsize>","args":[{"type":"number","name":"patternsize","required":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/g","type":"group","summary":"Search for all graph paths A to B.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json"],"children":[{"cmd":"/g","type":"argv_state","summary":"Search for all graph paths A to B (does not follow calls).","description":"","args_str":" <from> <to>","args":[{"type":"expression","name":"from","required":true},{"type":"expression","name":"to","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/gg","type":"argv_state","summary":"Search for all graph paths A to B (follows calls, see `search.count` and `analysis.depth`).","description":"","args_str":" <from> <to>","args":[{"type":"expression","name":"from","required":true},{"type":"expression","name":"to","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"/m","type":"group","summary":"Magic constants search.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json","quiet","table"],"children":[{"cmd":"/m","type":"argv_state","summary":"Magic constants search.","description":"","args_str":" [<magic-file>]","args":[{"type":"string","name":"magic-file","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/mb","type":"argv","summary":"Search recognized RzBin headers.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"/r","type":"group","summary":"Reference search.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":6,"modes":[],"children":[{"cmd":"/r","type":"argv","summary":"Reference search.","description":"","args_str":" <address>","args":[{"type":"string","name":"address","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"/ra","type":"argv","summary":"Search all references.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"/rc","type":"argv","summary":"Search call references.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"/rr","type":"argv","summary":"Search read references.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"/rw","type":"argv","summary":"Search write references.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"/rx","type":"argv","summary":"Search execute references.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"/R","type":"group","summary":"Search, List, Query for ROP Gadgets","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":7,"modes":["standard","json","quiet","table"],"children":[{"cmd":"/R","type":"argv_state","summary":"List ROP Gadgets","description":"","args_str":" [<filter-by-string>]","args":[{"type":"string","name":"filter-by-string","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/R-","type":"argv","summary":"Clear ROP gadget cache","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"/R/","type":"argv_state","summary":"List ROP Gadgets [regular expression]","description":"","args_str":" [<filter-by-regex>]","args":[{"type":"string","name":"filter-by-regex","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/Rk","type":"argv_state","summary":"Query ROP Gadgets by providing constraints","description":"","args_str":" <key>[=<val>] [<key>[=<val>] ...]]","args":[{"type":"string","name":"key=value","required":true,"is_last":true}],"details":[{"name":"Constraint types","entries":[{"text":"reg=const","comment":"Find gadgets that set a register to a constant value","arg_str":""},{"text":"reg=reg","comment":"Find gadgets that copy one register to another","arg_str":""},{"text":"reg=reg OP const","comment":"Find gadgets with register and constant arithmetic","arg_str":""},{"text":"reg=reg OP reg","comment":"Find gadgets with register-register operations","arg_str":""}]},{"name":"Supported operations","entries":[{"text":"+ - * / %","comment":"Arithmetic operations (add, sub, mul, div, mod)","arg_str":""},{"text":"& | ^","comment":"Bitwise operations (AND, OR, XOR)","arg_str":""},{"text":"<< >>","comment":"Shift operations (left, right)","arg_str":""}]},{"name":"Compound operators","entries":[{"text":"reg++ or reg--","comment":"Increment or decrement register","arg_str":""},{"text":"reg+=val, reg-=val","comment":"Compound assignment operators","arg_str":""}]},{"name":"Usage example","entries":[{"text":"Find gadgets setting rax to 0","comment":"/Rk rax=0","arg_str":""},{"text":"Find gadgets copying rbx to rax","comment":"/Rk rax=rbx","arg_str":""},{"text":"Find gadgets with rax = rbx + 8","comment":"/Rk rax=rbx+8","arg_str":""},{"text":"Find gadgets with multiple constraints","comment":"/Rk rax=0,rbx=rcx","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/Rg","type":"argv_state","summary":"Gadget detail info","description":"","args_str":" [<Gadget address>]","args":[{"type":"string","name":"Gadget address","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long"],"children":[]},{"cmd":"/Rs","type":"argv_state","summary":"Search rop gadgets given stack changes","description":"","args_str":" <Stack changes>","args":[{"type":"string","name":"Stack changes","required":true,"is_last":true}],"details":[{"name":"Usage example","entries":[{"text":"Search ROP gadgets with less than 0x200 stack changes","comment":"/Rs \"<0x200\"","arg_str":""},{"text":"Search ROP gadgets with 0x100 stack changes","comment":"/Rs =0x100","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/Rl","type":"argv_state","summary":"Search rop gadgets given gadget size","description":"","args_str":" <Gadget size>","args":[{"type":"string","name":"Gadget size","required":true,"is_last":true}],"details":[{"name":"Usage example","entries":[{"text":"Search ROP gadgets with the size less than 0x20","comment":"/Rl \"<0x20\"","arg_str":""},{"text":"Search ROP gadgets with the size 0x10","comment":"/Rl =0x10","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"/v","type":"group","summary":"Value search.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":9,"modes":["standard","json","quiet","table"],"children":[{"cmd":"/v","type":"argv_state","summary":"Value search.","description":"","args_str":" <bytes> <range1> <range2> ...","args":[{"type":"choice","name":"bytes","required":true,"choices":["1","2le","4le","8le","2be","4be","8be","2a","4a","8a"]},{"type":"string","name":"range","required":true,"is_array":true}],"details":[{"name":"Arguments","entries":[{"text":"bytes","comment":"Value byte width and endianess.","arg_str":""},{"text":"range","comment":"One or multiple ranges of values. Can be single values or range descriptions. Must be wrapped in '\"'.","arg_str":""}]},{"name":"Usage example","entries":[{"text":"/v","comment":"Search 512 represented in 4 bytes big endian order.","arg_str":" 4be 512"},{"text":"/v","comment":"Search values in the closed range '[0x80000000,0x80001000]' represented in 8 bytes little endian order.","arg_str":" 8le \"[0x80000000,0x80001000]\""},{"text":"/v","comment":"Search values in the open range '(0x1000,0xff0)' represented in 2 bytes order of cfg.bigendian.","arg_str":" 2a \"(0x1000,0xff0)\""},{"text":"/v","comment":"Search values in the right open range '[0x20,0x10)', value '0x55' and closed range values '[0xf0,0xff]' represented in 1 byte.","arg_str":" 1 \"[0x20,0x10)\", 0x55, \"[0xf0,0xff]\""}]}],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/v1","type":"argv_state","summary":"Value search - Alias for /v 1 <value>.","description":"","args_str":" <value>","args":[{"type":"number","name":"value","required":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/v2","type":"argv_state","summary":"Value search - Alias for /v 2a <value>.","description":"","args_str":" <value>","args":[{"type":"number","name":"value","required":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/v4","type":"argv_state","summary":"Value search - Alias for /v 4a <value>.","description":"","args_str":" <value>","args":[{"type":"number","name":"value","required":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/v8","type":"argv_state","summary":"Value search - Alias for /v 8a <value>.","description":"","args_str":" <value>","args":[{"type":"number","name":"value","required":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/V1","type":"argv_state","summary":"Value search - Alias for /v 1 [<min_value>,<max_value>].","description":"","args_str":" <min_value> <max_value>","args":[{"type":"number","name":"min_value","required":true},{"type":"number","name":"max_value","required":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/V2","type":"argv_state","summary":"Value search - Alias for /v 2a [<min_value>,<max_value>].","description":"","args_str":" <min_value> <max_value>","args":[{"type":"number","name":"min_value","required":true},{"type":"number","name":"max_value","required":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/V4","type":"argv_state","summary":"Value search - Alias for /v 4a [<min_value>,<max_value>].","description":"","args_str":" <min_value> <max_value>","args":[{"type":"number","name":"min_value","required":true},{"type":"number","name":"max_value","required":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/V8","type":"argv_state","summary":"Value search - Alias for /v 8a [<min_value>,<max_value>].","description":"","args_str":" <min_value> <max_value>","args":[{"type":"number","name":"min_value","required":true},{"type":"number","name":"max_value","required":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]}]},{"cmd":"/x","type":"group","summary":"Raw hexadecimal search.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json","quiet","table"],"children":[{"cmd":"/x","type":"argv_state","summary":"Raw hexadecimal search.","description":"","args_str":" <pattern>","args":[{"type":"string","name":"pattern","required":true,"is_last":true}],"details":[{"name":"Usage example","entries":[{"text":"Hexadecimal search for the exact bytes 'ffcc33'.","comment":"/x ffcc33","arg_str":""},{"text":"Hexadecimal search for the byte pattern 'ff..33.0.'. The '.' is a wildcard for 4bits.","comment":"/x ff..33.0","arg_str":""},{"text":"Hexadecimal search of the bytes with mask. Pattern: '<resulting bytes>:<mask>'","comment":"/x ffd0:ff43","arg_str":""},{"text":"Hexadecimal search with an odd number of nibbles.","comment":"'aabbc' is equivalent to '.aabbc'","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/xr","type":"argv_state","summary":"Regex bytes search.","description":"","args_str":" <regex_pattern>","args":[{"type":"string","name":"regex_pattern","required":true,"is_last":true}],"details":[{"name":"Usage examples","entries":[{"text":" Bytes are prefixed with a 'x'. Search exact match '\\x99\\x0a'.","comment":"/xr x99x0a","arg_str":""},{"text":"Search 2-8 NUL bytes, then '\\x99' and '\\x0a'","comment":"/xr x00{2,8}x99x0a","arg_str":""},{"text":"A '.' matches one byte. Search matches: '\\x72\\xNN\\x00'. '\\xNN' can appear 0-1 times.","comment":"/xr x72.?x00","arg_str":""},{"text":"Using simple ASCII is allowed. Search matches: '\\x61\\x41'","comment":"/xr aA","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]}]},{"cmd":"/z","type":"group","summary":"String search.","description":"","args_str":"","args":[],"details":[{"name":"Encodings","entries":[{"text":"ascii","comment":"ASCII encoding","arg_str":""},{"text":"8bit","comment":"8bit encoding. Alias: ASCII","arg_str":""},{"text":"mutf8","comment":"mutf8 encoding","arg_str":""},{"text":"utf8","comment":"UTF-8 encoding","arg_str":""},{"text":"utf16le","comment":"UTF-16 little endian encoding","arg_str":""},{"text":"utf32le","comment":"UTF-32 little endian encoding","arg_str":""},{"text":"utf16be","comment":"UTF-16 big endian encoding","arg_str":""},{"text":"utf32be","comment":"UTF-32 big endian encoding","arg_str":""},{"text":"ibm037","comment":"ibm037 encoding. Alias: cp037, ebcdic-cp-us, ebcdic-cp-ca, ebcdic-cp-wt, ebcdic-cp-nl, csIBM037","arg_str":""},{"text":"ibm290","comment":"ibm290 encoding. Alias: cp290, EBCDIC-JP-kana, csIBM290","arg_str":""},{"text":"ebcdices","comment":"EBCDIC-ES encoding. Alias: csEBCDICES","arg_str":""},{"text":"ebcdicuk","comment":"EBCDIC-UK encoding. Alias: csEBCDICUK","arg_str":""},{"text":"ebcdicus","comment":"EBCDIC-US encoding. Alias: csEBCDICUS","arg_str":""}]},{"name":"Regex Flags","entries":[{"text":"l","comment":"Default. Literal string comparison. Ignores all meta-characters.","arg_str":""},{"text":"i","comment":"Caseless (equivalent: PCRE2_CASELESS)","arg_str":""},{"text":"r","comment":"Regular expression.","arg_str":""},{"text":"e","comment":"Extended regular expression.","arg_str":""},{"text":"m","comment":"Multiline regular expression (equivalent flag: PCRE2_MULTILINE)","arg_str":""},{"text":"d","comment":"Dot matches any one character, without exception (equivalent flag: PCRE2_DOTALL)","arg_str":""}]},{"name":"Examples","entries":[{"text":"/z","comment":"Search the exact string \"(ABC*)\".","arg_str":" (ABC*)"},{"text":"/z","comment":"Search the exact string \"(ABC*)D\" but case insensitive.","arg_str":" (ABC*)D li"},{"text":"/z","comment":"Search the regular expression \"\\d\\sC*\\w\" but case insensitive.","arg_str":" \\\\d\\\\sC*\\\\w ri"},{"text":"/z","comment":"Search the extended regular expression \"и.{3}м\" but case insensitive.","arg_str":" \"и.{3}м\" ei"}]}],"executable":true,"n_children":1,"modes":["standard","json","quiet","table"],"children":[{"cmd":"/z","type":"argv_state","summary":"String search.","description":"","args_str":" <pattern> <regex_flags>=l <encoding>=settings","args":[{"type":"string","name":"pattern","required":true},{"type":"string","name":"regex_flags","required":true,"default":"l"},{"type":"choice","name":"encoding","required":true,"default":"settings","choices":["ascii","8bit","mutf8","utf8","utf16le","utf32le","utf16be","utf32be","ibm037","ibm290","ebcdices","ebcdicuk","ebcdicus","guess"]}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]}]}]},{"cmd":":","type":"fake","summary":"Command specifiers (table-output only for now)","description":"","args_str":"","args":[],"details":[{"name":"Table format specifiers (<table_spec>)","entries":[{"text":"<col>/sort/rev","comment":"Sort table by column <col> in reverse order.","arg_str":""},{"text":"<col>/sortlen/rev","comment":"Sort table by column <col> length in reverse order.","arg_str":""},{"text":"<col>/cols[/<col2>[/<col3>...]]","comment":"Show only specified columns in the table.","arg_str":""},{"text":"<col>","comment":"Show only column <col> (it must not have the same name as an output format specifier).","arg_str":""},{"text":"<col>/gt/<val>","comment":"Grep rows where column <col> is greater than <val>.","arg_str":""},{"text":"<col>/ge/<val>","comment":"Grep rows where column <col> is greater than or equal to <val>.","arg_str":""},{"text":"<col>/lt/<val>","comment":"Grep rows where column <col> is less than <val>.","arg_str":""},{"text":"<col>/le/<val>","comment":"Grep rows where column <col> is less than or equal to <val>.","arg_str":""},{"text":"<col>/eq/<val>","comment":"Grep rows where column <col> is equal to <val>.","arg_str":""},{"text":"<col>/ne/<val>","comment":"Grep rows where column <col> is not equal to <val>.","arg_str":""},{"text":"<col|*>/uniq","comment":"Only get the first row where column <col> or all columns are unique.","arg_str":""},{"text":"*/page/<n_page>/<page_size>","comment":"Show <page_size> rows starting from the page number <n_page>.","arg_str":""},{"text":"*/head/<n_rows>","comment":"Show the first <n_rows> rows.","arg_str":""},{"text":"*/tail/<n_rows>","comment":"Show the last <n_rows> rows.","arg_str":""},{"text":"<col>/str/<value>","comment":"Grep rows where string <value> is a substring of column <col>.","arg_str":""},{"text":"<col>/strlen/<value>","comment":"Grep rows where the length of column <col> is <value>.","arg_str":""},{"text":"<col>/minlen/<value>","comment":"Grep rows where the length of column <col> is greater than <value>.","arg_str":""},{"text":"<col>/maxlen/<value>","comment":"Grep rows where the length of column <col> is less than <value>.","arg_str":""},{"text":"<col>/sum/<value>","comment":"Sum all the values of column <col>.","arg_str":""}]},{"name":"Output format specifiers (<output_spec>)","entries":[{"text":"csv","comment":"Print the table in CSV format.","arg_str":""},{"text":"json","comment":"Print the table in JSON format.","arg_str":""},{"text":"fancy","comment":"Print the table in a nice form with borders and headers.","arg_str":""},{"text":"simple","comment":"Print the table in a simple form, only with headers.","arg_str":""},{"text":"quiet","comment":"Print the table in a simple form, without headers.","arg_str":""}]},{"name":"Examples","entries":[{"text":"aflt","comment":"Show only the address, name and number of basic blocks of the identified functions with more than 1 block but less than 10, sorted decrementally by number of blocks.","arg_str":":addr/cols/name/nbbs:nbbs/sort/dec:nbbs/gt/1:nbbs/lt/10:fancy"}]}],"executable":false,"n_children":0,"modes":[],"children":[]},{"cmd":"<","type":"argv","summary":"Push escaped string into the RzCons.readChar (pressed keys) buffer","description":"","args_str":" <characters>","args":[{"type":"string","name":"characters","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"< ppq; <command>","comment":"Equivalent to running <command> and pressing the keys: p, p, q.","arg_str":""},{"text":"< \\n; <command>","comment":"As above, but '\\n' is equivalent to pressing <enter>.","arg_str":""}]},{"name":"Escape sequences","entries":[{"text":"\\n","comment":"newline (0x0a).","arg_str":""},{"text":"\\b","comment":"backspace (0x08).","arg_str":""},{"text":"\\t","comment":"horizontal tab (0x09).","arg_str":""},{"text":"\\v","comment":"vertical tab (0x0b).","arg_str":""},{"text":"\\f","comment":"new page (0x0c).","arg_str":""},{"text":"\\r","comment":"carriage return (0x0d).","arg_str":""},{"text":"\\xHH","comment":"Raw byte 0xHH (in hexadecimal).","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":">","type":"fake","summary":"Redirection help ('>')","description":"","args_str":"","args":[],"details":[{"name":"","entries":[{"text":"<cmd> >","comment":"Redirect STDOUT of <cmd> to <file> or save it to an alias (see $?)","arg_str":" <file>|<$alias>"},{"text":"<cmd> 2>","comment":"Redirect STDERR of <cmd> to <file> or save it to an alias (see $?)","arg_str":" <file>|<$alias>"},{"text":"<cmd> H>","comment":"Redirect HTML output of <cmd> to <file> or save it to an alias (see $?)","arg_str":" <file>|<$alias>"}]}],"executable":false,"n_children":0,"modes":[],"children":[]},{"cmd":"?*","type":"group","summary":"Search help commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":["standard","json"],"children":[{"cmd":"?*","type":"argv_modes","summary":"Search help","description":"","args_str":" [<search_cmd>]","args":[{"type":"string","name":"search_cmd"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"?**","type":"group","summary":"Search command and setting summaries.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"?**","type":"argv","summary":"Search command summaries interactively (alias for ?*~...).","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"?**e","type":"argv","summary":"Search settings interactively (alias for el~...).","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"?***","type":"argv","summary":"Search command summaries and their extended help interactively.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"?+j","type":"argv","summary":"Export full command catalog as JSON","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"@","type":"fake","summary":"'@' help, temporary modifiers, applied left-to-right","description":"","args_str":"","args":[],"details":[{"name":"","entries":[{"text":"<cmd> @ ","comment":"Temporary seek to <addr>","arg_str":"<addr>"},{"text":"<cmd> @ ","comment":"Temporary partial address seek (see s..)","arg_str":"..<addr>"},{"text":"<cmd> @!","comment":"Temporary change the block size","arg_str":"<blocksize>"},{"text":"<cmd> @(","comment":"Temporary set from and to for commands supporting ranges","arg_str":"<from> <to>)"},{"text":"<cmd> @a:","comment":"Temporary set arch and bits, if specified","arg_str":"<arch>[:<bits>]"},{"text":"<cmd> @b:","comment":"Temporary set asm.bits","arg_str":"<bits>"},{"text":"<cmd> @B:","comment":"Temporary seek to nth instruction in current basic block (negative numbers too)","arg_str":"<nth>"},{"text":"<cmd> @e:","comment":"Temporary change eval vars (multiple vars separated by comma)","arg_str":"<k>=<v>[,<k>=<v>]"},{"text":"<cmd> @f:","comment":"Temporary replace block with file contents","arg_str":"<file>"},{"text":"<cmd> @F:","comment":"Temporary change flag space","arg_str":"<flagspace>"},{"text":"<cmd> @i:","comment":"Temporary seek to the Nth relative instruction","arg_str":"<nth.op>"},{"text":"<cmd> @k:","comment":"Temporary seek at value of sdb key `key`","arg_str":"<key>"},{"text":"<cmd> @o:","comment":"Temporary switch to another fd","arg_str":"<fd>"},{"text":"<cmd> @r:","comment":"Temporary seek to register value","arg_str":"<reg>"},{"text":"<cmd> @s:","comment":"Temporary replace block with string","arg_str":"<string>"},{"text":"<cmd> @v:","comment":"Temporary replace block with value, written according to asm.bits and cfg.bigendian","arg_str":"<value>"},{"text":"<cmd> @x:","comment":"Temporary replace block with hexstring","arg_str":"<hexstring>"}]}],"executable":false,"n_children":0,"modes":[],"children":[]},{"cmd":"@@","type":"fake","summary":"'@@' help, iterators","description":"","args_str":"","args":[],"details":[{"name":"","entries":[{"text":"<cmd> @@.","comment":"Run <cmd> over the offsets specified in <file>, one per line","arg_str":" <file>"},{"text":"<cmd> @@=","comment":"Run <cmd> over the listed addresses","arg_str":"<addr1> [<addr2> ...]"},{"text":"<cmd> @@@=","comment":"Run <cmd> over the listed addresses and set the proper block size","arg_str":"<addr1> <blksz1> [<addr2> <blksz2> ...]"},{"text":"<cmd> @@/","comment":"Run <cmd> over the search results of /<search-cmd>","arg_str":"<search-cmd>"},{"text":"<cmd> @@c:","comment":"Run <cmd> on all addresses in the output of <cmd2>","arg_str":"<cmd2>"},{"text":"<cmd> @@@c:","comment":"Run <cmd> on all addresses/blocksizes in the output of <cmd2>, similar to @@@=","arg_str":"<cmd2>"},{"text":"<cmd> @@C","comment":"Run <cmd> over all comments matching <glob>. <glob> may contain `*` to indicate multiple chars. If not specified all comments are considered.","arg_str":"[:<glob>]"},{"text":"<cmd> @@dbt[abs]","comment":"Run <cmd> on every backtrace address, bp or sp","arg_str":""},{"text":"<cmd> @@t","comment":"Run <cmd> over all threads","arg_str":""},{"text":"<cmd> @@b","comment":"Run <cmd> over all basic blocks of the current function","arg_str":""},{"text":"<cmd> @@i","comment":"Run <cmd> over all instructions of the current basic block","arg_str":""},{"text":"<cmd> @@ii","comment":"Run <cmd> over all imports","arg_str":""},{"text":"<cmd> @@iS","comment":"Run <cmd> over all sections","arg_str":""},{"text":"<cmd> @@iSS","comment":"Run <cmd> over all segments","arg_str":""},{"text":"<cmd> @@is","comment":"Run <cmd> over all symbols","arg_str":""},{"text":"<cmd> @@iz","comment":"Run <cmd> over all strings","arg_str":""},{"text":"<cmd> @@f","comment":"Run <cmd> over all flags matching <glob>. <glob> may contain `*` to indicate multiple chars. If not specified all flags are considered.","arg_str":"[:<glob>]"},{"text":"<cmd> @@F","comment":"Run <cmd> over all functions matching <glob>. <glob> may contain `*` to indicate multiple chars. If not specified all functions are considered.","arg_str":"[:<glob>]"},{"text":"<cmd> @@om","comment":"Run <cmd> over all iomap (see `om`)","arg_str":""},{"text":"<cmd> @@dm","comment":"Run <cmd> over all debug maps (see `dm`)","arg_str":""},{"text":"<cmd> @@r","comment":"Run <cmd> over all registers","arg_str":""},{"text":"<cmd> @@s:","comment":"Run <cmd> on all addresses starting from <from> and going up to <to> (excluded), with a step <step>.","arg_str":"<from> <to> <step>"}]}],"executable":false,"n_children":0,"modes":[],"children":[]},{"cmd":"_","type":"argv","summary":"Print last output","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"a","type":"group","summary":"Analysis commands","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":25,"modes":[],"children":[{"cmd":"aa","type":"group","summary":"Analysis commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":20,"modes":[],"children":[{"cmd":"aa","type":"argv","summary":"Analyze all flags starting with sym. and entry","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aaa","type":"argv","summary":"Analyze all calls, references, emulation and applies signatures","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aaaa","type":"argv","summary":"Experimental analysis","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aac","type":"group","summary":"Analysis function calls commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"aac","type":"argv","summary":"Analyze function calls","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aaci","type":"argv","summary":"Analyze all function calls to imports","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"aaC","type":"argv","summary":"Analysis classes from RzBin","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aad","type":"argv","summary":"Analyze data references to code","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aae","type":"group","summary":"Analysis commands using ESIL","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"aae","type":"argv","summary":"Analyze references with ESIL","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[{"name":"Examples","entries":[{"text":"aae","comment":"analyze ranges given by analysis.in","arg_str":""},{"text":"aae","comment":"analyze the whole section","arg_str":" $SS @ $S"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aaef","type":"argv","summary":"Analyze references with ESIL in all functions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"aaf","type":"group","summary":"Analysis function commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":[],"children":[{"cmd":"aaf","type":"argv","summary":"Analyze all functions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aafe","type":"argv","summary":"Analyze all functions using ESIL","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aafr","type":"argv","summary":"Analyze all consecutive functions in section","description":"","args_str":" <length>","args":[{"type":"number","name":"length","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aaft","type":"argv","summary":"Performs recursive type matching in all functions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"aai","type":"argv_state","summary":"Print preformed analysis details","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"aaj","type":"argv","summary":"Analyze all unresolved jumps","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aal","type":"group","summary":"Language specific analysis commands","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":3,"modes":[],"children":[{"cmd":"aalg","type":"argv","summary":"Recover and analyze all Golang functions and strings","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aalor","type":"argv","summary":"Analyze all Objective-C references from selector usages to their implementations","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aalos","type":"argv","summary":"Recover all Objective-C selector stub names (__objc_stubs section contents)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"aan","type":"group","summary":"Automatic rename functions commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"aan","type":"argv","summary":"Renames all functions based on their strings or calls","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aanr","type":"argv","summary":"Renames all functions which does not return","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"aap","type":"argv","summary":"Analyze all preludes","description":"","args_str":"","args":[],"details":[{"name":"Search a custom prelude","entries":[{"text":"e analysis.prelude='90AEF630'","comment":"Set new prelude","arg_str":""},{"text":"aap","comment":"Search for 90AEF630 and create a new function","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aar","type":"argv","summary":"Analyze xrefs in current section or by n_bytes","description":"","args_str":" [<n_bytes>]","args":[{"type":"number","name":"n_bytes"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aas","type":"argv","summary":"Analyze only the symbols","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aaS","type":"argv","summary":"Analyze only the flags starting as sym.* and entry*","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aat","type":"argv","summary":"Analyze all/given function to convert immediate to linked structure offsets","description":"","args_str":" [<func_name>]","args":[{"type":"function","name":"func_name"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aaT","type":"argv","summary":"Prints commands to create functions after a trap call","description":"","args_str":" [<n_bytes>]","args":[{"type":"number","name":"n_bytes"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aau","type":"argv","summary":"Print memory areas not covered by functions","description":"","args_str":" [<min_len>]","args":[{"type":"number","name":"min_len"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aav","type":"argv_state","summary":"Analyze values referencing a specific section or map","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]}]},{"cmd":"ad","type":"group","summary":"Analyze data","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":[],"children":[{"cmd":"ad","type":"argv","summary":"Analyze <count> data words with <depth>","description":"","args_str":" [<count> [<depth> [<wordsize>]]]","args":[{"type":"expression","name":"count"},{"type":"expression","name":"depth"},{"type":"expression","name":"wordsize","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"adf","type":"argv","summary":"Analyze data in function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"adfg","type":"argv","summary":"Analyze data in function gaps","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"adk","type":"argv","summary":"Analyze data kind (code, text, data, invalid, etc)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"adt","type":"argv","summary":"Analyze data trampolines","description":"","args_str":" <minimum>=0 <maximum>=0","args":[{"type":"expression","name":"minimum","required":true,"default":"0"},{"type":"expression","name":"maximum","required":true,"is_last":true,"default":"0"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"af","type":"group","summary":"Analyze Functions commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":24,"modes":[],"children":[{"cmd":"af","type":"argv","summary":"Analyze functions recursively (honors `analysis.calls`)","description":"","args_str":" [<name>]","args":[{"type":"string","name":"name","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afr","type":"argv","summary":"Analyze functions recursively","description":"","args_str":" [<name>]","args":[{"type":"string","name":"name","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"af+","type":"argv","summary":"Hand craft a function (requires `afb+`)","description":"","args_str":" <name> [<type>]","args":[{"type":"string","name":"name","required":true},{"type":"choice","name":"type","choices":["l","i","s"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"af-","type":"argv","summary":"Delete function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"af-*","type":"argv","summary":"Delete all function analysis data","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afj","type":"argv","summary":"Analyze function jumptable","description":"","args_str":" <tbl_addr> <elements>","args":[{"type":"expression","name":"tbl_addr","required":true},{"type":"expression","name":"elements","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afa","type":"argv","summary":"Analyze function arguments in a call","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afal","type":"argv","summary":"Analyze function arguments in a call (honors `dbg.funcarg`)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afb","type":"group","summary":"Basic blocks commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":10,"modes":["standard","json","quiet","table"],"children":[{"cmd":"afb","type":"argv_state","summary":"List basic blocks of function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"afb+","type":"argv","summary":"Add basic block by hand","description":"","args_str":" <fcn_addr> <addr> <size> [<jump> [<fail>]]","args":[{"type":"expression","name":"fcn_addr","required":true},{"type":"expression","name":"addr","required":true},{"type":"expression","name":"size","required":true},{"type":"expression","name":"jump"},{"type":"expression","name":"fail","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afb-","type":"argv","summary":"Remove basic block from function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afb-*","type":"argv","summary":"Remove all basic blocks from function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afbe","type":"argv","summary":"Add basic-block edge for switch-cases","description":"","args_str":" <switch_addr> <case_addr>","args":[{"type":"expression","name":"switch_addr","required":true},{"type":"expression","name":"case_addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afbet","type":"argv","summary":"Set basic-block switch-case enum type","description":"","args_str":" <switch_addr> <enum_name>","args":[{"type":"expression","name":"switch_addr","required":true},{"type":"unknown","name":"enum_name","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afbr","type":"argv","summary":"Show addresses of instructions which leave the function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afb=","type":"argv","summary":"Display ascii-art bars for basic block regions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afbi","type":"argv_state","summary":"Print single basic block information","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","long","table"],"children":[]},{"cmd":"afbc","type":"argv","summary":"Set a color for the basic block at a given address","description":"","args_str":" <addr> <color>","args":[{"type":"expression","name":"addr","required":true},{"type":"expression","name":"color","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"afB","type":"argv","summary":"Set asm.bits for the current function","description":"","args_str":" <bits>","args":[{"type":"number","name":"bits","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afs","type":"group","summary":"Function signatures commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":["standard","json"],"children":[{"cmd":"afs","type":"argv_modes","summary":"Get/Set function signature at current address","description":"","args_str":" [<signature>]","args":[{"type":"string","name":"signature","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"afsb","type":"argv_state","summary":"Outputs the function signature bytes, mask and search mask at current address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"afs!","type":"argv","summary":"Set function signature at current address by using the editor","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afsr","type":"argv","summary":"Change type for current function","description":"","args_str":" <type>","args":[{"type":"string","name":"type","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"afo","type":"argv_modes","summary":"Show address of current function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"afu","type":"argv","summary":"Resize and analyze function from current address until addr","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afx","type":"argv_state","summary":"List function references","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"afS","type":"argv","summary":"Set stack frame size for function at current address","description":"","args_str":" <size>","args":[{"type":"expression","name":"size","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afv","type":"group","summary":"Manipulate arguments/variables in a function","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":14,"modes":[],"children":[{"cmd":"afvl","type":"argv_state","summary":"List all variables and arguments of the current function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long","table"],"children":[]},{"cmd":"afv=","type":"argv","summary":"List function variables and arguments with disasm refs","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afv-","type":"argv","summary":"Remove all variables/arguments or just the specified one","description":"","args_str":" <varname|*>","args":[{"type":"unknown","name":"varname|*","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afva","type":"argv","summary":"Analyze function arguments/locals","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afvd","type":"argv","summary":"Display the value of arguments/variables","description":"","args_str":" [<varname>]","args":[{"type":"unknown","name":"varname"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afvf","type":"argv","summary":"Show BP relative stackframe variables","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afvn","type":"argv","summary":"Rename argument/variable in current function","description":"","args_str":" <new_name> [<old_name>]","args":[{"type":"string","name":"new_name","required":true},{"type":"unknown","name":"old_name"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afvR","type":"argv","summary":"List addresses where vars are accessed (READ)","description":"","args_str":" [<varname>]","args":[{"type":"unknown","name":"varname"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afvW","type":"argv","summary":"List addresses where vars are accessed (WRITE)","description":"","args_str":" [<varname>]","args":[{"type":"unknown","name":"varname"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afvt","type":"argv","summary":"Change type for given argument/local","description":"","args_str":" <varname> <type>","args":[{"type":"unknown","name":"varname","required":true},{"type":"string","name":"type","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afvc","type":"group","summary":"Read/change value constraints of arguments/locals","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":["standard","json"],"children":[{"cmd":"afvc","type":"argv_state","summary":"List value constraints of all variables / of the given one","description":"","args_str":" [<varname>]","args":[{"type":"unknown","name":"varname"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"afvcs","type":"argv","summary":"Set value constraints of a variable (e.g. afvcs var0 \">0,<=9\")","description":"","args_str":" <varname> <constraints>","args":[{"type":"unknown","name":"varname","required":true},{"type":"string","name":"constraints","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afvc-","type":"argv","summary":"Remove all value constraints of a variable","description":"","args_str":" <varname>","args":[{"type":"unknown","name":"varname","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"afvx","type":"group","summary":"Show argument/variable xrefs in a function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":["standard","json"],"children":[{"cmd":"afvx","type":"argv_modes","summary":"Show function variable xrefs (same as afvR+afvW)","description":"","args_str":" [<varname>]","args":[{"type":"unknown","name":"varname"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"afvxa","type":"argv_modes","summary":"Show function argument xrefs","description":"","args_str":" [<varname>]","args":[{"type":"unknown","name":"varname"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"afvxv","type":"argv_modes","summary":"Show function local variable xrefs","description":"","args_str":" [<varname>]","args":[{"type":"unknown","name":"varname"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"afvs","type":"group","summary":"Manipulate stack-based arguments/locals","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":["standard","json"],"children":[{"cmd":"afvs","type":"argv_state","summary":"List stack-based arguments and locals / Define a new one","description":"","args_str":" [<delta> <name> [<type>]]","args":[{"type":"expression","name":"delta"},{"type":"string","name":"name","required":true},{"type":"string","name":"type","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"afvs-","type":"argv","summary":"Delete argument/local with the given name","description":"","args_str":" <varname>","args":[{"type":"unknown","name":"varname","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afvs-*","type":"argv","summary":"Delete all arguments/locals","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afvsg","type":"argv","summary":"Define var get reference","description":"","args_str":" <delta> <addr>","args":[{"type":"expression","name":"delta","required":true},{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afvss","type":"argv","summary":"Define var set reference","description":"","args_str":" <delta> <addr>","args":[{"type":"expression","name":"delta","required":true},{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"afvr","type":"group","summary":"Manipulate register-based arguments/locals","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":["standard","json"],"children":[{"cmd":"afvr","type":"argv_state","summary":"List register-based arguments and locals / Define a new one","description":"","args_str":" [<reg> <name> [<type>]]","args":[{"type":"string","name":"reg"},{"type":"string","name":"name","required":true},{"type":"string","name":"type","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"afvr-","type":"argv","summary":"Delete register-based argument/local with the given name","description":"","args_str":" <varname>","args":[{"type":"unknown","name":"varname","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afvr-*","type":"argv","summary":"Delete all register-based arguments/locals","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afvrg","type":"argv","summary":"Define register-based arguments and locals get references","description":"","args_str":" <reg> <addr>","args":[{"type":"string","name":"reg","required":true},{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afvrs","type":"argv","summary":"Define register-based arguments and locals set references","description":"","args_str":" <reg> <addr>","args":[{"type":"string","name":"reg","required":true},{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]}]},{"cmd":"afl","type":"group","summary":"List functions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":6,"modes":["standard","json","quiet","long","table"],"children":[{"cmd":"afl","type":"argv_state","summary":"List all functions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","long","table"],"children":[]},{"cmd":"afl.","type":"argv","summary":"List functions in current seek","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aflc","type":"argv","summary":"Display count of all functions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afl+","type":"argv","summary":"Display sum of all functions sizes","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aflm","type":"argv_state","summary":"List calls of all functions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"afl=","type":"argv","summary":"Display ascii-art bars with function ranges","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"afi","type":"group","summary":"Show/edit function information","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":["standard","json","table"],"children":[{"cmd":"afi","type":"argv_state","summary":"Show information of functions in current seek","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","table"],"children":[]},{"cmd":"afii","type":"group","summary":"Show/add/delete imports used in function in current seek","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"afii","type":"argv","summary":"Show/add imports used in function in current seek","description":"","args_str":" [<import>]","args":[{"type":"string","name":"import","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afii-","type":"argv","summary":"Delete imports used in function in current seek","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"afis","type":"group","summary":"Show opcode statistic in function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","table"],"children":[{"cmd":"afis","type":"argv_state","summary":"Enumerate unique opcodes/opcode families/opcode types in function","description":"","args_str":" [<mode>]","args":[{"type":"choice","name":"mode","choices":["family","type"]}],"details":[],"executable":true,"n_children":0,"modes":["standard","table"],"children":[]},{"cmd":"afisa","type":"argv_state","summary":"Enumerate unique opcodes/opcode families/opcode types in all functions","description":"","args_str":" [<mode>]","args":[{"type":"choice","name":"mode","choices":["family","type"]}],"details":[],"executable":true,"n_children":0,"modes":["table"],"children":[]}]}]},{"cmd":"afn","type":"group","summary":"Analyze function names","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"afn","type":"argv","summary":"Rename function at current seek","description":"","args_str":" <new name>","args":[{"type":"string","name":"new name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afna","type":"argv","summary":"Suggest a name for the function in current seek","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afns","type":"argv_state","summary":"Print all strings referenced by the function in current seek","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"aft","type":"argv","summary":"Type matching analysis for the function in current seek","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afM","type":"argv","summary":"Print functions map","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afm","type":"argv","summary":"Merge two functions","description":"","args_str":" <addr>","args":[{"type":"function","name":"addr","required":true}],"details":[{"name":"","entries":[{"text":"afm 0xbeef @ 0x42","comment":"Merge function at address 0xbeef to function at address 0x42","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afc","type":"group","summary":"Calling convention","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":[],"children":[{"cmd":"afc","type":"argv","summary":"Set/Get calling convention for current function","description":"","args_str":" [<convention>]","args":[{"type":"string","name":"convention","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afcl","type":"argv_modes","summary":"List all available calling conventions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","sdb","long"],"children":[]},{"cmd":"afco","type":"argv","summary":"Open Calling Convention sdb profile from given path","description":"","args_str":" <db_path>","args":[{"type":"filename","name":"db_path","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afcr","type":"argv_state","summary":"Show register usage for the current function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"afd","type":"argv","summary":"Show function + delta for given offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"aF","type":"argv","summary":"Analyze function non-recursively","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aeC","type":"argv","summary":"appcall in esil","description":"","args_str":" <args1> <args2> ...","args":[{"type":"number","name":"args","required":true,"is_array":true}],"details":[{"name":"Examples","entries":[{"text":"aeC","comment":"Call sym._add(1,2)","arg_str":" 1 2 @ sym._add"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aec","type":"group","summary":"continue until ^C","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":6,"modes":[],"children":[{"cmd":"aec","type":"argv","summary":"Continue until exception","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aecb","type":"argv","summary":"Continue back until breakpoint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aecs","type":"argv","summary":"Continue until syscall","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aecc","type":"argv","summary":"Continue until call","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aecu","type":"argv","summary":"Continue until address","description":"","args_str":" <addr>","args":[{"type":"number","name":"addr","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aecue","type":"argv","summary":"Continue until esil expression","description":"","args_str":" <expr>","args":[{"type":"string","name":"expr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"aei","type":"group","summary":"ESIL VM state","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":[],"children":[{"cmd":"aei","type":"argv","summary":"initialize ESIL VM state","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aei-","type":"argv","summary":"deinitialize ESIL VM state","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aeip","type":"argv","summary":"initialize ESIL program counter to curseek","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aeim","type":"group","summary":"ESIL VM stack","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"aeim","type":"argv","summary":"initialize ESIL VM stack","description":"","args_str":" [<addr> [<size> [<name>]]]","args":[{"type":"number","name":"addr"},{"type":"number","name":"size"},{"type":"string","name":"name","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aeim-","type":"argv","summary":"remove ESIL VM stack","description":"","args_str":" [<addr> [<size> [<name>]]]","args":[{"type":"number","name":"addr"},{"type":"number","name":"size"},{"type":"string","name":"name","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aeimp","type":"argv","summary":"initialize ESIL VM stack to \"aeim.stack\" or ?","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]}]},{"cmd":"aes","type":"group","summary":"ESIL emulated debugger step","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":7,"modes":[],"children":[{"cmd":"aes","type":"argv","summary":"perform emulated debugger step","description":"","args_str":" [<N>]","args":[{"type":"expression","name":"N","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aesp","type":"argv","summary":"evaluate N instr from core->offset","description":"","args_str":" <N>","args":[{"type":"expression","name":"N","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aesb","type":"argv","summary":"step back","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aeso","type":"argv","summary":"step over","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aesou","type":"argv","summary":"step over until given address","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aess","type":"group","summary":"step skip","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"aess","type":"argv","summary":"step skip (in case of CALL, just skip, instead of step into)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aessu","type":"argv","summary":"step skip (in case of CALL, just skip, instead of step into)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aessue","type":"argv","summary":"step skip (in case of CALL, just skip, instead of step into)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"aesu","type":"group","summary":"step until","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"aesu","type":"argv","summary":"step until given address","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aesue","type":"argv","summary":"step until esil expression match","description":"","args_str":" <esil>","args":[{"type":"string","name":"esil","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aesuo","type":"argv","summary":"step until given opcode type","description":"","args_str":" <optype1> <optype2> ...","args":[{"type":"string","name":"optype","required":true,"is_array":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]}]},{"cmd":"aets","type":"group","summary":"ESIL Trace session","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":2,"modes":[],"children":[{"cmd":"aets+","type":"argv","summary":"Start ESIL trace session","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aets-","type":"argv","summary":"Stop ESIL trace session","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"aez","type":"group","summary":"RzIL Emulation","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":6,"modes":[],"children":[{"cmd":"aezi","type":"argv","summary":"Initialize the RzIL Virtual Machine at the current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aezs","type":"argv","summary":"Step N instructions within the RzIL Virtual Machine","description":"","args_str":" [<n_times>]","args":[{"type":"number","name":"n_times"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aezse","type":"argv_modes","summary":"Step N instructions within the RzIL VM and output VM changes (read & write)","description":"","args_str":" [<n_times>]","args":[{"type":"number","name":"n_times"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"aezsu","type":"argv","summary":"Step until PC equals given address","description":"","args_str":" <address>","args":[{"type":"expression","name":"address","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aezsue","type":"argv","summary":"Step until PC equals given address and output VM changes (read & write)","description":"","args_str":" <address>","args":[{"type":"expression","name":"address","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aezv","type":"argv_modes","summary":"Print or modify the current status of the RzIL Virtual Machine","description":"","args_str":" [<var_name> [<number>]]","args":[{"type":"string","name":"var_name"},{"type":"expression","name":"number","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]}]},{"cmd":"ag","type":"group","summary":"Analysis graph commands","description":"","args_str":"","args":[],"details":[{"name":"Formats","entries":[{"text":"ascii","comment":"Ascii art","arg_str":""},{"text":"cmd","comment":"rizin commands","arg_str":""},{"text":"dot","comment":"Graphviz dot","arg_str":""},{"text":"gml","comment":"Graph Modelling Language","arg_str":""},{"text":"json","comment":"json","arg_str":""},{"text":"json_disasm","comment":"json formatted disassembly","arg_str":""},{"text":"sdb","comment":"SDB key-value","arg_str":""},{"text":"interactive","comment":"Interactive ascii art","arg_str":""}]}],"executable":false,"n_children":19,"modes":[],"children":[{"cmd":"aga","type":"argv","summary":"Data reference graph","description":"","args_str":" <format>=ascii","args":[{"type":"choice","name":"format","required":true,"default":"ascii","choices":["ascii","cmd","dot","gml","json","json_disasm","sdb","interactive"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"agA","type":"argv","summary":"Global data references graph","description":"","args_str":" <format>=ascii","args":[{"type":"choice","name":"format","required":true,"default":"ascii","choices":["ascii","cmd","dot","gml","json","json_disasm","sdb","interactive"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"agc","type":"argv","summary":"Function callgraph","description":"","args_str":" <format>=ascii","args":[{"type":"choice","name":"format","required":true,"default":"ascii","choices":["ascii","cmd","dot","gml","json","json_disasm","sdb","interactive"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"agC","type":"argv","summary":"Global callgraph","description":"","args_str":" <format>=ascii","args":[{"type":"choice","name":"format","required":true,"default":"ascii","choices":["ascii","cmd","dot","gml","json","json_disasm","sdb","interactive"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"agCi","type":"argv","summary":"Inter-procedual control flow graph","description":"","args_str":" <format>=ascii","args":[{"type":"choice","name":"format","required":true,"default":"ascii","choices":["ascii","cmd","dot","gml","json","json_disasm","sdb","interactive"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"agF","type":"argv","summary":"Control flow graph (without calls)","description":"","args_str":" <format>=ascii","args":[{"type":"choice","name":"format","required":true,"default":"ascii","choices":["ascii","cmd","dot","gml","json","json_disasm","sdb","interactive"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"agf","type":"argv","summary":"Basic blocks function graph","description":"","args_str":" <format>=ascii","args":[{"type":"choice","name":"format","required":true,"default":"ascii","choices":["ascii","cmd","dot","gml","json","json_disasm","sdb","interactive"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"agi","type":"argv","summary":"Imports graph","description":"","args_str":" <format>=ascii","args":[{"type":"choice","name":"format","required":true,"default":"ascii","choices":["ascii","cmd","dot","gml","json","json_disasm","sdb","interactive"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"agr","type":"argv","summary":"References graph","description":"","args_str":" <format>=ascii","args":[{"type":"choice","name":"format","required":true,"default":"ascii","choices":["ascii","cmd","dot","gml","json","json_disasm","sdb","interactive"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"agR","type":"argv","summary":"Global references graph","description":"","args_str":" <format>=ascii","args":[{"type":"choice","name":"format","required":true,"default":"ascii","choices":["ascii","cmd","dot","gml","json","json_disasm","sdb","interactive"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ags","type":"argv","summary":"Normal graph","description":"","args_str":" <format>=ascii","args":[{"type":"choice","name":"format","required":true,"default":"ascii","choices":["ascii","cmd","dot","gml","json","json_disasm","sdb","interactive"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"agl","type":"argv","summary":"Line graph","description":"","args_str":" <format>=ascii","args":[{"type":"choice","name":"format","required":true,"default":"ascii","choices":["ascii","cmd","dot","gml","json","json_disasm","sdb","interactive"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"agx","type":"argv","summary":"Cross-references graph","description":"","args_str":" <format>=ascii","args":[{"type":"choice","name":"format","required":true,"default":"ascii","choices":["ascii","cmd","dot","gml","json","json_disasm","sdb","interactive"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"agI","type":"argv","summary":"RzIL graph of the instruction at the current offset.","description":"","args_str":" <format>=ascii","args":[{"type":"choice","name":"format","required":true,"default":"ascii","choices":["ascii","cmd","dot","gml","json","json_disasm","sdb","interactive"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"agg","type":"argv","summary":"Custom graph","description":"","args_str":" <format>=ascii","args":[{"type":"choice","name":"format","required":true,"default":"ascii","choices":["ascii","cmd","dot","gml","json","json_disasm","sdb","interactive"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ag-","type":"argv","summary":"Clear the custom graph","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"agn","type":"group","summary":"Managing custom graph nodes","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"agn","type":"argv","summary":"Add a node to the custom graph","description":"","args_str":" <title> [<body>]","args":[{"type":"string","name":"title","required":true},{"type":"string","name":"body","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"agn-","type":"argv","summary":"Remove a node from the custom graph","description":"","args_str":" <title>","args":[{"type":"string","name":"title","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"age","type":"group","summary":"Managing custom graph edges","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"age","type":"argv","summary":"Add an edge to the custom graph","description":"","args_str":" <title1> <title2>","args":[{"type":"string","name":"title1","required":true},{"type":"string","name":"title2","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"age-","type":"argv","summary":"Remove an edge from the custom graph","description":"","args_str":" <title1> <title2>","args":[{"type":"string","name":"title1","required":true},{"type":"string","name":"title2","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"agw","type":"argv","summary":"Write to path or display graph image (see graph.gv.format)","description":"","args_str":" <graphtype>=dataref <path> [-global]","args":[{"type":"choice","name":"graphtype","required":true,"default":"dataref","choices":["dataref","funcall","diff","funblock","import","ref","line","xref","custom"]},{"type":"string","name":"path","required":true},{"type":"option","name":"global","is_option":true}],"details":[{"name":"Graph Type","entries":[{"text":"dataref","comment":"Data reference graph","arg_str":""},{"text":"funcall","comment":"Function call graph","arg_str":""},{"text":"diff","comment":"Diff graph","arg_str":""},{"text":"funblock","comment":"Function basic block graph","arg_str":""},{"text":"import","comment":"Imports graph","arg_str":""},{"text":"ref","comment":"References graph","arg_str":""},{"text":"line","comment":"Line graph","arg_str":""},{"text":"xref","comment":"Cross references graph","arg_str":""},{"text":"custom","comment":"Custom made graph","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"ar","type":"group","summary":"Emulation Registers","description":"","args_str":"","args":[],"details":[{"name":"Register Filter","entries":[{"text":"ar","comment":"Show a sensible default selection of registers","arg_str":""},{"text":"ar","comment":"Show a single register","arg_str":" rax"},{"text":"ar","comment":"Show 16 bits wide gpr registers","arg_str":" 16"},{"text":"ar","comment":"Show registers of type xmm (see `arT` for possible types)","arg_str":" xmm"},{"text":"ar","comment":"Show the register with the given role (see `arR` for possible roles)","arg_str":" PC"},{"text":"ar","comment":"Show all registers available","arg_str":" all"}]}],"executable":true,"n_children":15,"modes":["standard","json","quiet","table"],"children":[{"cmd":"ar","type":"argv_state","summary":"Show registers with their values, or assign one (`ar reg=value`)","description":"","args_str":" [<filter> [= <value>]]","args":[{"type":"unknown","name":"filter","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"ar=","type":"argv","summary":"Show registers in columns","description":"","args_str":" [<filter>]","args":[{"type":"unknown","name":"filter"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"arr","type":"argv_modes","summary":"Show register references (telescoping)","description":"","args_str":" [<filter>]","args":[{"type":"unknown","name":"filter"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"ari","type":"argv","summary":"Show register grouped by their values","description":"","args_str":" [<filter>]","args":[{"type":"unknown","name":"filter"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"arA","type":"argv_modes","summary":"Show values of default function argument registers (A0, A1, A2, ...) with telescoping","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"arcc","type":"argv","summary":"Show calling convention defined by registers","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ard","type":"argv","summary":"Show register differences from previous contents","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aro","type":"argv_state","summary":"Show previous register contents","description":"","args_str":" [<filter>]","args":[{"type":"unknown","name":"filter","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"arF","type":"argv","summary":"Show fpu registers","description":"","args_str":" [<register> [= <value>]]","args":[{"type":"string","name":"reg","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"arf","type":"group","summary":"Show commands for setting registers as flags","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"arf","type":"argv","summary":"Show commands for setting registers as flags","description":"","args_str":" [<filter>]","args":[{"type":"unknown","name":"filter"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"arf-","type":"argv","summary":"Show commands for unsetting flags from `arf`","description":"","args_str":" [<filter>]","args":[{"type":"unknown","name":"filter"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"ara","type":"group","summary":"Register arena commands (underlying binary data)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":8,"modes":[],"children":[{"cmd":"ara","type":"argv","summary":"Show all currently allocated register arenas","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ara+","type":"argv","summary":"Push a new set of arenas to the stack","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ara-","type":"argv","summary":"Pop a set of arenas from the stack","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"araS","type":"argv","summary":"Show number of stack elements","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aras","type":"argv","summary":"Swap last two register arenas on the stack","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ara0","type":"argv","summary":"Reset the specified or all arena contents to 0","description":"","args_str":" [<type>]","args":[{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"arab","type":"argv","summary":"Display hexdump of given arena (or gpr if none given)","description":"","args_str":" [<type>]","args":[{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"araw","type":"argv","summary":"Write hexadecimal data <hex> into the given arena (or gpr if none given)","description":"","args_str":" <hex> [<type>]","args":[{"type":"string","name":"hex","required":true},{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"arp","type":"group","summary":"Register profile commands (defining available registers)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":["standard","json"],"children":[{"cmd":"arp","type":"argv_state","summary":"Show the current register profile","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"arpc","type":"argv","summary":"Show register profile comments","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"arpo","type":"argv","summary":"Load a new register profile from file","description":"","args_str":" <file>","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"arpg","type":"argv","summary":"Convert gdb profile from the given file to rizin register profile","description":"","args_str":" <file>","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"arc","type":"argv","summary":"Conditional flags (aliases to processor flags)","description":"","args_str":"","args":[],"details":[{"name":"Basic","entries":[{"text":"eq","comment":"equal","arg_str":""},{"text":"ne","comment":"not equal","arg_str":""},{"text":"cf","comment":"carry flag set","arg_str":""},{"text":"neg","comment":"negative value (has sign)","arg_str":""},{"text":"of","comment":"overflow","arg_str":""}]},{"name":"Unsigned","entries":[{"text":"hi","comment":"higher","arg_str":""},{"text":"he","comment":"higher or equal","arg_str":""},{"text":"lo","comment":"lower","arg_str":""},{"text":"loe","comment":"lower or equal","arg_str":""}]},{"name":"Signed","entries":[{"text":"gt","comment":"greater","arg_str":""},{"text":"ge","comment":"greater or equal","arg_str":""},{"text":"lt","comment":"less","arg_str":""},{"text":"le","comment":"less or equal","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"arT","type":"argv","summary":"List all register types","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"arR","type":"argv","summary":"List all register roles","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"ai","type":"group","summary":"analysis/address information/imports","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json"],"children":[{"cmd":"ai","type":"argv_state","summary":"show address information","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"aii","type":"group","summary":"global import (like afii, but global)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard"],"children":[{"cmd":"aii","type":"argv_state","summary":"list/add global import (like afii, but global)","description":"","args_str":" [<namespace>]","args":[{"type":"string","name":"namespace","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"aii-","type":"argv_state","summary":"delete all global imports","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]}]}]},{"cmd":"av","type":"group","summary":"C++ vtables and RTTI","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":8,"modes":["standard","json"],"children":[{"cmd":"av","type":"argv_modes","summary":"search for vtables in data sections and show results","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"avD","type":"argv","summary":"Mark objects and devirtualize calls to virtual functions for function at the current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"avg","type":"group","summary":"Global variables","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":9,"modes":[],"children":[{"cmd":"avgl","type":"argv_state","summary":"show/list global variables","description":"","args_str":" [<var_name>]","args":[{"type":"unknown","name":"var_name"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"avga","type":"argv","summary":"add global variable manually","description":"","args_str":" <var_name> <type>","args":[{"type":"string","name":"var_name","required":true},{"type":"unknown","name":"type","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"avgd","type":"argv","summary":"delete the global variable at the addr","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"avgm","type":"argv","summary":"delete global variable with name","description":"","args_str":" <name>","args":[{"type":"unknown","name":"name","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"avgn","type":"argv","summary":"rename the global variable","description":"","args_str":" <old_var_name> <new_var_name>","args":[{"type":"unknown","name":"old_var_name","required":true},{"type":"string","name":"new_var_name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"avgp","type":"argv","summary":"print the global variable value","description":"","args_str":" <name>","args":[{"type":"unknown","name":"name","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"avgt","type":"argv","summary":"change the global variable type","description":"","args_str":" <var_name> <type>","args":[{"type":"unknown","name":"var_name","required":true},{"type":"unknown","name":"type","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"avgx","type":"argv_state","summary":"print all xrefs to the global variable","description":"","args_str":" <name>","args":[{"type":"unknown","name":"name","required":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"avgc","type":"group","summary":"Read/change value constraints of global variables","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":["standard","json"],"children":[{"cmd":"avgc","type":"argv_state","summary":"List value constraints of all globals / of the given one","description":"","args_str":" [<var_name>]","args":[{"type":"unknown","name":"var_name"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"avgcs","type":"argv","summary":"Set value constraints of a global variable (e.g. avgcs g \">0,<=9\")","description":"","args_str":" <var_name> <constraints>","args":[{"type":"unknown","name":"var_name","required":true},{"type":"string","name":"constraints","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"avgc-","type":"argv","summary":"Remove all value constraints of a global variable","description":"","args_str":" <var_name>","args":[{"type":"unknown","name":"var_name","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]}]},{"cmd":"avr","type":"argv_modes","summary":"try to parse RTTI at vtable addr (see analysis.cpp.abi)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"avra","type":"argv_modes","summary":"search for vtables and try to parse RTTI at each of them","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"avrr","type":"argv","summary":"recover class info from all findable RTTI (see ac)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"avrD","type":"argv","summary":"demangle a class name from RTTI","description":"","args_str":" <classname>","args":[{"type":"string","name":"classname","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"avx","type":"argv_state","summary":"Show the addresses of calls to the virtual function.","description":"","args_str":" <virtual function name>","args":[{"type":"string","name":"virtual function name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","table"],"children":[]}]},{"cmd":"ax","type":"group","summary":"Cross references (xrefs)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":13,"modes":[],"children":[{"cmd":"ax","type":"argv","summary":"Add custom xref to addr from current seek","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"axc","type":"argv","summary":"Add generic code xref to addr from current seek","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"axC","type":"argv","summary":"Add call code xref to addr from current seek","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"axd","type":"argv","summary":"Add data xref to addr from current seek","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"axs","type":"argv","summary":"Add string xref to addr from current seek","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"axl","type":"argv_state","summary":"List all xrefs","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"axt","type":"argv_state","summary":"List xrefs to current seek","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","long"],"children":[]},{"cmd":"axf","type":"argv_state","summary":"List xrefs from current seek","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"axtg","type":"argv","summary":"Display commands to generate graphs according to xrefs","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ax-","type":"argv","summary":"Delete xrefs to addr","description":"","args_str":" <addr> [<from>]","args":[{"type":"expression","name":"addr","required":true},{"type":"expression","name":"from","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ax-*","type":"argv","summary":"Delete all xrefs","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"axm","type":"argv","summary":"Copy xrefs pointing to addr to also point to curseek","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"axg","type":"argv_state","summary":"Show xrefs graph to reach function at current seek","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"ah","type":"group","summary":"Analysis hints","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":36,"modes":[],"children":[{"cmd":"ahl","type":"argv_state","summary":"List all analysis hints","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"ahl.","type":"argv_state","summary":"List analysis hints at current seek","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"ah-","type":"argv","summary":"Delete analysis hints in region starting from current seek","description":"","args_str":" [<size>]","args":[{"type":"number","name":"size"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ah-*","type":"argv","summary":"Delete all analysis hints","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aha","type":"argv","summary":"Set arch hint","description":"","args_str":" <arch>","args":[{"type":"string","name":"arch","required":true,"is_last":true}],"details":[{"name":"","entries":[{"text":"aha ppc @ 0x42","comment":"Force arch ppc for all addresses >= 0x42 or until the next hint","arg_str":""},{"text":"aha 0 @ 0x84","comment":"Disable the effect of arch hints for all addresses >= 0x84 or until the next hint","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aha-","type":"argv","summary":"Delete arch hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahb","type":"argv","summary":"Set bits hint","description":"","args_str":" <bits>","args":[{"type":"number","name":"bits","required":true}],"details":[{"name":"","entries":[{"text":"ahb 16 @ 0x42","comment":"Force 16bit for all addresses >= 0x42 or until the next hint","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahb-","type":"argv","summary":"Delete bits hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahh","type":"argv","summary":"Set highlight hint","description":"","args_str":"","args":[],"details":[{"name":"","entries":[{"text":"ahh @ 0x804840","comment":"Highlight this address offset in disasm","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahh-","type":"argv","summary":"Delete highlight hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahc","type":"argv","summary":"Set jump/call address hint","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[{"name":"","entries":[{"text":"ahc ","comment":"Replace call/jump address with 0x804840","arg_str":"0x804840"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahc-","type":"argv","summary":"Delete jump/call address hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahe","type":"argv","summary":"Set ESIL string hint","description":"","args_str":" <string>","args":[{"type":"string","name":"string","required":true,"is_last":true}],"details":[{"name":"","entries":[{"text":"ahe ","comment":"Replace ESIL VM analysis string","arg_str":"\"3,eax,+=\""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahe-","type":"argv","summary":"Delete ESIL string hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahd","type":"argv","summary":"Set opcode hint","description":"","args_str":" <opcode>","args":[{"type":"string","name":"opcode","required":true,"is_last":true}],"details":[{"name":"","entries":[{"text":"ahd ","comment":"Replace opcode string","arg_str":"\"foo a0,33\""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahd-","type":"argv","summary":"Delete opcode hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahs","type":"argv","summary":"Set opcode size hint","description":"","args_str":" <size>","args":[{"type":"expression","name":"size","required":true,"is_last":true}],"details":[{"name":"","entries":[{"text":"ahs ","comment":"Set opcode size=4","arg_str":"4"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahs-","type":"argv","summary":"Delete opcode size hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahf","type":"argv","summary":"Set fallback address hint","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[{"name":"","entries":[{"text":"ahf ","comment":"Replace fallback address for call with 0x804840","arg_str":"0x804840"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahf-","type":"argv","summary":"Delete fallback address hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahF","type":"argv","summary":"Set stackframe size hint","description":"","args_str":" <size>","args":[{"type":"number","name":"size","required":true}],"details":[{"name":"","entries":[{"text":"ahF ","comment":"Set stackframe size to 0x10","arg_str":"0x10"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahF-","type":"argv","summary":"Delete stackframe size hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahS","type":"argv","summary":"Set asm syntax hint","description":"","args_str":" <string>","args":[{"type":"string","name":"string","required":true,"is_last":true}],"details":[{"name":"","entries":[{"text":"ahS ","comment":"Set asm.syntax=jz for opcode at current seek","arg_str":"jz"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahS-","type":"argv","summary":"Delete asm syntax hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahp","type":"argv","summary":"Set pointer hint","description":"","args_str":" <pointer>","args":[{"type":"expression","name":"pointer","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahp-","type":"argv","summary":"Delete pointer hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahr","type":"argv","summary":"Set function return value hint","description":"","args_str":" <return>","args":[{"type":"expression","name":"return","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahr-","type":"argv","summary":"Delete function return value hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahv","type":"argv","summary":"Set opcode value hint","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[{"name":"","entries":[{"text":"ahv ","comment":"Change opcode's value field (useful to set jmptbl sizes in jmp rax)","arg_str":"val"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahv-","type":"argv","summary":"Delete opcode value hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aho","type":"argv","summary":"Set opcode type hint","description":"","args_str":" <string>","args":[{"type":"string","name":"string","required":true,"is_last":true}],"details":[{"name":"","entries":[{"text":"aho ","comment":"Change opcode type to <call>","arg_str":"call"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aho-","type":"argv","summary":"Delete opcode type hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahi","type":"group","summary":"Manage immediate operand hints","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":["standard"],"children":[{"cmd":"ahi","type":"argv_modes","summary":"Set immediate base hint","description":"","args_str":" <type> [<nword>]","args":[{"type":"choice","name":"type","required":true,"choices":["2","8","10","10u","16","b","o","h","i","p","S","s"]},{"type":"number","name":"nword"}],"details":[{"name":"","entries":[{"text":"ahi ","comment":"Set numeric <base> (2, 8, 10, 16)","arg_str":"<base>"},{"text":"ahi 10|d","comment":"Set base to signed decimal (10), sign bit should depend on receiver size","arg_str":""},{"text":"ahi 10u|du","comment":"Set base to unsigned decimal (11)","arg_str":""},{"text":"ahi b","comment":"Set base to binary (2)","arg_str":""},{"text":"ahi o","comment":"Set base to octal (8)","arg_str":""},{"text":"ahi h","comment":"Set base to hexadecimal (16)","arg_str":""},{"text":"ahi i","comment":"Set base to IP address (32)","arg_str":""},{"text":"ahi p","comment":"Set base to htons(port) (3)","arg_str":""},{"text":"ahi S","comment":"Set base to syscall (80)","arg_str":""},{"text":"ahi s","comment":"Set base to string (1)","arg_str":""}]},{"name":"Set base of the N-th immediate (indexing starts from 0)","entries":[{"text":"ahi 16 1","comment":"Set base of the 1-st immediate to hexadecimal","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"ahi-","type":"argv","summary":"Delete immediate base hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahie","type":"argv","summary":"Set enum type hint for operand","description":"","args_str":" <enum> [<nword>]","args":[{"type":"unknown","name":"enum","required":true},{"type":"number","name":"nword"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahie-","type":"argv","summary":"Delete enum type hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"aht","type":"argv","summary":"Set structure offset hint","description":"","args_str":" <struct.member>","args":[{"type":"string","name":"struct.member","required":true,"is_last":true}],"details":[{"name":"","entries":[{"text":"aht ","comment":"Replace immediate with <struct.member>","arg_str":"struct.member"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aht-","type":"argv","summary":"Delete structure offset hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahts","type":"argv","summary":"List all matching structure offsets","description":"","args_str":" <offset>","args":[{"type":"expression","name":"offset","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"ac","type":"group","summary":"Classes","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":9,"modes":[],"children":[{"cmd":"ac","type":"argv","summary":"Add class","description":"","args_str":" <class_name>","args":[{"type":"string","name":"class_name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ac-","type":"argv","summary":"Delete class","description":"","args_str":" <class_name>","args":[{"type":"string","name":"class_name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"acn","type":"argv","summary":"Rename class","description":"","args_str":" <class_name> <new_name>","args":[{"type":"string","name":"class_name","required":true},{"type":"string","name":"new_name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"acl","type":"argv_state","summary":"List all classes","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long"],"children":[]},{"cmd":"aci","type":"argv_state","summary":"Show information of class","description":"","args_str":" <class_name>","args":[{"type":"string","name":"class_name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long"],"children":[]},{"cmd":"acg","type":"argv","summary":"Print inheritance ascii graph","description":"","args_str":" <class_name>","args":[{"type":"string","name":"class_name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"acm","type":"group","summary":"Class methods","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"acm","type":"argv","summary":"Add/edit method","description":"","args_str":" <class_name> <method_name> <offset> [<vtable_offset>]","args":[{"type":"string","name":"class_name","required":true},{"type":"string","name":"method_name","required":true},{"type":"number","name":"offset","required":true},{"type":"number","name":"vtable_offset"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"acm-","type":"argv","summary":"Delete method","description":"","args_str":" <class_name> <method_name>","args":[{"type":"string","name":"class_name","required":true},{"type":"string","name":"method_name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"acmn","type":"argv","summary":"Rename method","description":"","args_str":" <class_name> <method_name> <new_method_name>","args":[{"type":"string","name":"class_name","required":true},{"type":"string","name":"method_name","required":true},{"type":"string","name":"new_method_name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"acb","type":"group","summary":"Base classes","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"acb","type":"argv","summary":"Add base class","description":"","args_str":" <class_name> <base_class_name> [<offset>]","args":[{"type":"string","name":"class_name","required":true},{"type":"string","name":"base_class_name","required":true},{"type":"number","name":"offset"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"acb-","type":"argv","summary":"Delete base class","description":"","args_str":" <class_name> <base_class_name>","args":[{"type":"string","name":"class_name","required":true},{"type":"string","name":"base_class_name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"acbl","type":"argv","summary":"List base classes","description":"","args_str":" <class_name>","args":[{"type":"string","name":"class_name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"acv","type":"group","summary":"Class vtable","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":[],"children":[{"cmd":"acv","type":"argv","summary":"Add vtable address to class","description":"","args_str":" <class_name> <addr> [<offset> [<size>]]","args":[{"type":"string","name":"class_name","required":true},{"type":"expression","name":"addr","required":true},{"type":"expression","name":"offset"},{"type":"expression","name":"size","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"acv-","type":"argv","summary":"Delete vtable by id","description":"","args_str":" <class_name> <vtable_id>","args":[{"type":"string","name":"class_name","required":true},{"type":"string","name":"vtable_id","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"acvl","type":"argv","summary":"List class vtables","description":"","args_str":" <class_name>","args":[{"type":"string","name":"class_name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"acvf","type":"argv","summary":"Lookup function address on vtable offset","description":"","args_str":" <offset> [<class_name>]","args":[{"type":"expression","name":"offset","required":true},{"type":"string","name":"class_name","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]}]},{"cmd":"a8","type":"argv_state","summary":"Analyze bytes","description":"","args_str":" <hexpairs>","args":[{"type":"string","name":"hexpairs","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"aO","type":"group","summary":"Analyze next block as instructions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":["standard","json"],"children":[{"cmd":"aO","type":"argv_state","summary":"Analyze next block as instructions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"aOe","type":"argv","summary":"Analyze the esil of next block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aOd","type":"argv","summary":"Print the description of next block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aOs","type":"argv","summary":"Print the total instruction size of next block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"ao","type":"group","summary":"Analyze N instructions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":9,"modes":["standard","json"],"children":[{"cmd":"ao","type":"argv_state","summary":"Analyze next N instructions","description":"","args_str":" [<n_instructions>]","args":[{"type":"number","name":"n_instructions"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"aos","type":"argv","summary":"Print the total size of next N instructions","description":"","args_str":" [<n_instructions>]","args":[{"type":"number","name":"n_instructions"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aoe","type":"argv","summary":"Print the esil of next N instructions","description":"","args_str":" [<n_instructions>]","args":[{"type":"number","name":"n_instructions"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aoi","type":"group","summary":"Print the RzIL of next N instructions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"aoi","type":"argv","summary":"Print the RzIL of next N instructions","description":"","args_str":" [<n_instructions>]","args":[{"type":"number","name":"n_instructions"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aoip","type":"argv","summary":"Pretty print the RzIL of next N instructions","description":"","args_str":" [<n_instructions>]","args":[{"type":"number","name":"n_instructions"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"aod","type":"argv","summary":"Describe opcode for asm.arch","description":"","args_str":" [<opcode>]","args":[{"type":"string","name":"opcode","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aoda","type":"argv","summary":"Describe all opcode for asm.arch","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aoc","type":"argv","summary":"Analyze which op could be executed in [cycles]","description":"","args_str":" [<cycles>]","args":[{"type":"number","name":"cycles"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aom","type":"argv","summary":"convert between mnemonic/id for asm.arch","description":"","args_str":" <mne_or_id>","args":[{"type":"string","name":"mne_or_id","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aoma","type":"argv","summary":"List mnemonics for asm.arch","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"an","type":"argv_state","summary":"Show/rename/create whatever flag/function is used at addr","description":"","args_str":" [<name>]","args":[{"type":"string","name":"name","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"ab","type":"group","summary":"Basic blocks","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":3,"modes":[],"children":[{"cmd":"abi","type":"argv_state","summary":"Show basic block information in current seek","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long"],"children":[]},{"cmd":"abl","type":"argv_state","summary":"List all basic blocks","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","long","table"],"children":[]},{"cmd":"abt","type":"argv_state","summary":"Find paths from current seek to the given address","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"as","type":"group","summary":"Syscalls","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":6,"modes":[],"children":[{"cmd":"as","type":"argv","summary":"Show syscall and arguments","description":"","args_str":" [<syscall>]","args":[{"type":"number","name":"syscall"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"asl","type":"argv_state","summary":"List syscalls","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"asca","type":"argv","summary":"Dump syscall info into .asm file","description":"","args_str":" [<syscall>]","args":[{"type":"string","name":"syscall","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"asc","type":"argv","summary":"Dump syscall info into .h file","description":"","args_str":" [<syscall>]","args":[{"type":"string","name":"syscall","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"asn","type":"argv","summary":"Returns the syscall number by the name","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"asr","type":"argv","summary":"Returns the syscall name by the number","description":"","args_str":" <number>","args":[{"type":"number","name":"number","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"aL","type":"group","summary":"List all asm/analysis plugins (e asm.arch=?)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json"],"children":[{"cmd":"aL","type":"argv_state","summary":"List all asm/analysis plugins (e asm.arch=?) or CPU details for a plugin.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"aLc","type":"argv","summary":"Shows the CPU details for a specific plugin.","description":"","args_str":" <plugin_name>","args":[{"type":"string","name":"plugin_name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"ae","type":"group","summary":"ESIL analysis commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":9,"modes":[],"children":[{"cmd":"ae","type":"argv","summary":"Analyze all flags starting with sym. and entry","description":"","args_str":" <expr>","args":[{"type":"string","name":"expr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aeH","type":"argv","summary":"Show ESIL help.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aeb","type":"argv","summary":"Emulate current block with ESIL.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aepc","type":"argv","summary":"Set ESIL PC to given address.","description":"","args_str":" <addr>","args":[{"type":"number","name":"addr","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aek","type":"group","summary":"SDB queries on ESIL info (emulation statistics).","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"aek","type":"argv","summary":"Perform sdb query on ESIL info.","description":"","args_str":" <query>=123*","args":[{"type":"string","name":"query","required":true,"is_last":true,"default":"123*"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aek-","type":"argv","summary":"Resets the ESIL info sdb instance.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"aex","type":"argv","summary":"Emulate the instruction encoded in the given bytes with ESIL.","description":"","args_str":" <bytes>","args":[{"type":"string","name":"bytes","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aef","type":"group","summary":"Emulate functions with ESIL.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"aef","type":"argv","summary":"Emulate the function at given or current offset with ESIL.","description":"","args_str":" [<addr>]","args":[{"type":"number","name":"addr"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aefa","type":"argv","summary":"Emulate function at given or current offset to find arguments with ESIL.","description":"","args_str":" [<addr>]","args":[{"type":"number","name":"addr"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"ael","type":"group","summary":"ESIL interrupt commands.","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":2,"modes":[],"children":[{"cmd":"aeli","type":"argv","summary":"List ESIL interrupts or load them from the given shared object.","description":"","args_str":" [<file>]","args":[{"type":"string","name":"file","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aelir","type":"argv","summary":"Remove ESIL interrupt and free it if needed.","description":"","args_str":" <interrupt number>","args":[{"type":"number","name":"interrupt number","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"aea","type":"group","summary":"ESIL emulation to retrieve arguments.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":1,"modes":["standard","json"],"children":[{"cmd":"aea","type":"argv_modes","summary":"Show register and memory access of the next [len] instructions or bytes.","description":"","args_str":" <len>=0 <type>=d [<A>]","args":[{"type":"number","name":"len","required":true,"default":"0"},{"type":"choice","name":"type","required":true,"default":"d","choices":["d","*","r","w","n","b","f"]},{"type":"option","name":"A"}],"details":[{"name":"Flag","entries":[{"text":"A","comment":"Interpret the [len] parameter as number of bytes. Not as number of instructions.","arg_str":""}]},{"name":"Options","entries":[{"text":"*","comment":"Create mem.* flags for memory accesses.","arg_str":""},{"text":"r","comment":"Show regs read in N instructions.","arg_str":""},{"text":"w","comment":"Show regs written in N instructions.","arg_str":""},{"text":"n","comment":"Show regs not written in N instructions.","arg_str":""},{"text":"b","comment":"Show regs used in current basic block. The [len] parameter, if not 0, is interpreted as address.","arg_str":""},{"text":"f","comment":"Show regs used in current function.","arg_str":""},{"text":"d","comment":"Show memory and register access.","arg_str":""}]},{"name":"Legend","entries":[{"text":"I","comment":"input registers (read before being set)","arg_str":""},{"text":"A","comment":"all regs accessed","arg_str":""},{"text":"R","comment":"register values read","arg_str":""},{"text":"W","comment":"registers written","arg_str":""},{"text":"N","comment":"read but never written","arg_str":""},{"text":"V","comment":"values","arg_str":""},{"text":"@R","comment":"memreads","arg_str":""},{"text":"@W","comment":"memwrites","arg_str":""},{"text":"NOTE:","comment":"mem{reads,writes} with PIC only fetch the offset","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]}]}]},{"cmd":"B","type":"argv_state","summary":"Computes the possibles firmware locations in memory a.k.a basefind (CPU intensive)","description":"","args_str":" [<pointer_bits>]","args":[{"type":"choice","name":"pointer_bits","choices":["32","64"]}],"details":[{"name":"Settings of this command","entries":[{"text":"Check out the settings for this command with 'el basefind.'","comment":"","arg_str":""}]}],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]},{"cmd":"b","type":"group","summary":"Display or change the block size","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":["standard","json"],"children":[{"cmd":"b","type":"argv_state","summary":"Set/Get current block size","description":"","args_str":" [<num>]","args":[{"type":"expression","name":"num","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"b-","type":"argv","summary":"Decrease current block size","description":"","args_str":" <num>","args":[{"type":"expression","name":"num","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"b+","type":"argv","summary":"Increase current block size","description":"","args_str":" <num>","args":[{"type":"expression","name":"num","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"bf","type":"argv","summary":"Set block size to flag size","description":"","args_str":" <flag>","args":[{"type":"unknown","name":"flag","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"bm","type":"argv","summary":"Set/Get max block size","description":"","args_str":" [<num>]","args":[{"type":"expression","name":"num","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"C","type":"group","summary":"Code metadata (comments, format, hints, ..)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":13,"modes":["standard","json","long"],"children":[{"cmd":"C","type":"argv_state","summary":"List all meta information","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long"],"children":[]},{"cmd":"C.","type":"argv_state","summary":"Show all meta information at current address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long"],"children":[]},{"cmd":"C-","type":"argv","summary":"Remove meta information at current address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"C-*","type":"argv","summary":"Remove all meta information","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"CC","type":"group","summary":"Manipulate the comments","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":10,"modes":[],"children":[{"cmd":"CC","type":"argv","summary":"Append comment","description":"","args_str":" <text>","args":[{"type":"string","name":"text","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"CCl","type":"argv_state","summary":"List all comments","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long"],"children":[]},{"cmd":"CC.","type":"argv","summary":"Show comment at the current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"CC+","type":"argv","summary":"Append comment at current address","description":"","args_str":" <text>","args":[{"type":"string","name":"text","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"CC-","type":"argv","summary":"Remove comment at current address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"CC-*","type":"argv","summary":"Remove all comments","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"CCF","type":"argv","summary":"Show / Set comment file","description":"","args_str":" [<file>]","args":[{"type":"filename","name":"file"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"CCe","type":"argv","summary":"Edit comment using `cfg.editor`","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"CCf","type":"group","summary":"List comments in function at current address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":["standard","json","long"],"children":[{"cmd":"CCf","type":"argv_state","summary":"List all comments","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long"],"children":[]},{"cmd":"CCf-","type":"argv","summary":"Remove all comments from the current function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"CCf-*","type":"argv","summary":"Remove all comments from all functions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"CCu","type":"argv","summary":"Add unique comment","description":"","args_str":" <text>","args":[{"type":"string","name":"text","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"CS","type":"group","summary":"Manage metainformation spaces","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":[],"children":[{"cmd":"CS","type":"argv","summary":"Create new metaspace","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"CSl","type":"argv_state","summary":"List all metaspaces","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"CS-","type":"argv","summary":"Remove metaspace","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"CS-*","type":"argv","summary":"Remove all metaspaces","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"CSr","type":"argv","summary":"Rename the metaspace","description":"","args_str":" <oldname> <newname>","args":[{"type":"string","name":"oldname","required":true},{"type":"string","name":"newname","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"Cf","type":"group","summary":"Manage the format string metainformation","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":[],"children":[{"cmd":"Cf","type":"argv","summary":"Set the format string to the current address","description":"","args_str":" <size> <format>","args":[{"type":"expression","name":"size","required":true},{"type":"string","name":"format","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Cfl","type":"argv_state","summary":"List all format marks","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"Cf-","type":"argv","summary":"Remove format string from the current address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Cf-*","type":"argv","summary":"Remove all format string marks","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"Cd","type":"group","summary":"Manage the raw data metainformation","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":[],"children":[{"cmd":"Cd","type":"argv","summary":"Set the \"data\" mark to the current address","description":"","args_str":" <size> [<repeat>]","args":[{"type":"expression","name":"size","required":true},{"type":"expression","name":"repeat","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Cdl","type":"argv_state","summary":"List all \"data\" marks","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"Cd.","type":"argv","summary":"Show the data mark at the current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Cd-","type":"argv","summary":"Remove the data mark from the current address","description":"","args_str":" [<size> [<repeat>]]","args":[{"type":"expression","name":"size"},{"type":"expression","name":"repeat","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Cd-*","type":"argv","summary":"Remove all data marks","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"Ch","type":"group","summary":"Manage the \"hidden\" mark metainformation","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":[],"children":[{"cmd":"Ch","type":"argv","summary":"Set the \"hidden\" mark to the current address","description":"When \"hidden\" mark is set for some memory region, it's not shown in the disassembly output","args_str":" <size>","args":[{"type":"expression","name":"size","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Chl","type":"argv_state","summary":"List all \"hidden\" marks","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"Ch-","type":"argv","summary":"Remove the \"hidden\" mark from the current address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Ch-*","type":"argv","summary":"Remove all \"hidden\" marks","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"Cm","type":"group","summary":"Manage the \"magic\" mark metainformation","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":[],"children":[{"cmd":"Cm","type":"argv","summary":"Set the magic to the current address","description":"","args_str":" <size> <format>","args":[{"type":"expression","name":"size","required":true},{"type":"string","name":"format","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Cml","type":"argv_state","summary":"List all magic marks","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"Cm-","type":"argv","summary":"Remove the magic mark from the current address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Cm-*","type":"argv","summary":"Remove all magic marks","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"Cs","type":"group","summary":"Manipulate string metainformation","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":10,"modes":[],"children":[{"cmd":"Cs","type":"argv","summary":"Add string (autodetects the encoding)","description":"","args_str":" [<size>]","args":[{"type":"expression","name":"size","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Csl","type":"argv_state","summary":"List all strings","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"Cs.","type":"argv_state","summary":"Show string at the current address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","long"],"children":[]},{"cmd":"Cs-","type":"argv","summary":"Remove string","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Cs-*","type":"argv","summary":"Remove all strings","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Csp","type":"argv","summary":"Add Pascal-style string with the size","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Cs8","type":"argv","summary":"Add UTF-8 string","description":"","args_str":" [<size>]","args":[{"type":"expression","name":"size","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Csb","type":"argv","summary":"Add ASCII/8-bit string","description":"","args_str":" [<size>]","args":[{"type":"expression","name":"size","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Csw","type":"argv","summary":"Add wide 2-byte (UTF-16) string","description":"","args_str":" [<size>]","args":[{"type":"expression","name":"size","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"CsW","type":"argv","summary":"Add wide 4-byte (UTF-32) string","description":"","args_str":" [<size>]","args":[{"type":"expression","name":"size","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"Ct","type":"group","summary":"Manage the type metainformation","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":[],"children":[{"cmd":"Ct","type":"argv","summary":"Set the type comment to the current address","description":"","args_str":" [<text>]","args":[{"type":"string","name":"text","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Ctl","type":"argv_state","summary":"List all type comments","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"Ct-","type":"argv","summary":"Remove the type mark from the current address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Ct-*","type":"argv","summary":"Remove all type marks","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Ct.","type":"argv","summary":"Show the type mark at the current address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"Cv","type":"group","summary":"Add comments to the vars or arguments","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":6,"modes":[],"children":[{"cmd":"Cv","type":"argv","summary":"Add comment for the variable","description":"","args_str":" <name> <text>","args":[{"type":"string","name":"name","required":true},{"type":"string","name":"text","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Cv-","type":"argv","summary":"Remove comment from the variable","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Cve","type":"argv","summary":"Edit comment using `cfg.editor`","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Cvl","type":"argv_state","summary":"List all comments for all barguments and variables","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"Cvr","type":"argv_state","summary":"List all comments for all register-based arguments and variables","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"Cvs","type":"argv_state","summary":"List all comments for all stack-based arguments and variables","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]}]},{"cmd":"c","type":"group","summary":"Compare block with given data","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":12,"modes":["standard","json"],"children":[{"cmd":"c","type":"argv_state","summary":"Compare an escaped <string> with data at current offset","description":"","args_str":" <string>","args":[{"type":"string","name":"string","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"c1","type":"argv","summary":"Compare 8-bit data at current offset with the data at <addr>","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ca","type":"argv_state","summary":"Compare <n> bytes of data at <addr> with the data at current offset","description":"","args_str":" <addr> <n>","args":[{"type":"expression","name":"addr","required":true},{"type":"number","name":"n","required":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"cb","type":"argv_state","summary":"Compare <n> (up to 8) bytes at current offset with a number <num>","description":"","args_str":" <num> <n>","args":[{"type":"expression","name":"num","required":true},{"type":"number","name":"n","required":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"cc","type":"argv","summary":"Compare hexdump of data of block size at <addr> with the data at current offset","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ccc","type":"argv","summary":"Show different lines between hexdump of a block of data at <addr> wth the data at current offset","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ccd","type":"argv","summary":"Compare disassembly of block size at <addr> and at the current offset","description":"","args_str":" [<addr>]","args":[{"type":"expression","name":"addr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"cf","type":"argv_state","summary":"Compare the contents of <file> with the data at current offset","description":"","args_str":" <file>","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"cu","type":"group","summary":"Unified diff commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":6,"modes":[],"children":[{"cmd":"cu","type":"argv","summary":"Compare data at <offset> with the current offset","description":"","args_str":" <offset>","args":[{"type":"expression","name":"offset","required":true,"is_last":true}],"details":[{"name":"Applying patches","entries":[{"text":"Apply unified hex patch","comment":"cu <offset> > file; wu file","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"cu1","type":"argv","summary":"Compare bytes at <offset> with the current offset","description":"","args_str":" <offset>","args":[{"type":"expression","name":"offset","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"cu2","type":"argv","summary":"Compare words (16-bit) at <offset> with the current offset","description":"","args_str":" <offset>","args":[{"type":"expression","name":"offset","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"cu4","type":"argv","summary":"Compare dwords (32-bit) at <offset> with the current offset","description":"","args_str":" <offset>","args":[{"type":"expression","name":"offset","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"cu8","type":"argv","summary":"Compare qwords (64-bit) at <offset> with the current offset","description":"","args_str":" <offset>","args":[{"type":"expression","name":"offset","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"cud","type":"argv","summary":"Compare disassembly at <offset> with the current offset","description":"","args_str":" <offset>","args":[{"type":"expression","name":"offset","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"cw","type":"group","summary":"Compare watcher commands","description":"","args_str":"","args":[],"details":[{"name":"Compare memory locations and check if there is a difference","entries":[{"text":"cw 32 'pD 32' @ 0x1234","comment":"Adds a memory region watcher of 32 bytes at 0x1234, where it executes the command 'pD 32'.","arg_str":""},{"text":"cwl","comment":"Lists all the memory region watchers and notifies of any changes","arg_str":""},{"text":"cwx @ 0x1234","comment":"Removes the memory region watchers at 0x1234","arg_str":""}]}],"executable":true,"n_children":5,"modes":[],"children":[{"cmd":"cw","type":"argv","summary":"Add a memory watcher of size <sz> and command <cmd> at current offset","description":"","args_str":" <sz> <cmd>","args":[{"type":"number","name":"sz","required":true},{"type":"command","name":"cmd","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"cwl","type":"argv_modes","summary":"List all compare watchers","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"cwr","type":"argv","summary":"Reset/revert watcher at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"cwu","type":"argv","summary":"Update watcher at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"cwx","type":"argv","summary":"Remove watcher at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"cx","type":"argv_state","summary":"Compare data at current offset with a hexpair string <hexpair> (also return in $?)","description":"","args_str":" <hexpair>","args":[{"type":"string","name":"hexpair","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"cX","type":"argv_state","summary":"Compare hexdump of data of block size at <addr> with the data at current offset using hexdiff output","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"d","type":"group","summary":"Debugger commands","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":17,"modes":[],"children":[{"cmd":"db","type":"group","summary":"Breakpoints commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":20,"modes":[],"children":[{"cmd":"db","type":"argv","summary":"Add breakpoint at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbl","type":"argv_state","summary":"List all breakpoints","description":"","args_str":"","args":[],"details":[{"name":"Apply a command to all breakpoints","entries":[{"text":"Disable all the breakpoints","comment":"dbd @@c:dblq","arg_str":""},{"text":"Enable all the breakpoints","comment":"dbe @@c:dblq","arg_str":""},{"text":"Toggle all the breakpoints","comment":"dbs @@c:dblq","arg_str":""}]}],"executable":true,"n_children":0,"modes":["json","quiet"],"children":[]},{"cmd":"dbH","type":"argv","summary":"Add hardware breakpoint at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"db-","type":"argv","summary":"Remove breakpoint at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"db-*","type":"argv","summary":"Remove all breakpoints","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"db.","type":"argv","summary":"Show breakpoint info at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbc","type":"argv","summary":"Set a command <cmd> to be run when the breakpoint at the current offset is hit","description":"","args_str":" <cmd>","args":[{"type":"command","name":"cmd","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbC","type":"argv","summary":"Make the breakpoint at the current offset conditional, and hit only when <cmd> evaluates to 0","description":"","args_str":" <cmd>","args":[{"type":"command","name":"cmd","required":true,"is_last":true}],"details":[{"name":"Usage example","entries":[{"text":"Example of a condition","comment":"%v rax-0x0","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbd","type":"argv","summary":"Disable breakpoint at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbe","type":"argv","summary":"Enable breakpoint at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbs","type":"argv","summary":"Toggle breakpoint at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbf","type":"argv","summary":"Put a breakpoint into every no-return function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbm","type":"argv","summary":"Add a breakpoint at an offset from a module's base","description":"","args_str":" <module> <offset>","args":[{"type":"string","name":"module","required":true},{"type":"expression","name":"offset","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbn","type":"argv","summary":"Show name of current breakpoint / Set name for current breakpoint","description":"","args_str":" [<name>]","args":[{"type":"string","name":"name","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbi","type":"group","summary":"Breakpoint index commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":11,"modes":[],"children":[{"cmd":"dbi","type":"argv","summary":"Show breakpoint index at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbil","type":"argv","summary":"List breakpoints indexes","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbi-","type":"argv","summary":"Remove breakpoint by index","description":"","args_str":" <idx>","args":[{"type":"expression","name":"idx","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbix","type":"argv","summary":"Set expression for breakpoint at given index","description":"","args_str":" <idx> <expr>","args":[{"type":"expression","name":"idx","required":true},{"type":"string","name":"expr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbic","type":"argv","summary":"Run a command at breakpoint index","description":"","args_str":" <idx> <cmd>","args":[{"type":"expression","name":"idx","required":true},{"type":"command","name":"cmd","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbie","type":"argv","summary":"Enable breakpoint by index","description":"","args_str":" <idx>","args":[{"type":"expression","name":"idx","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbid","type":"argv","summary":"Disable breakpoint by index","description":"","args_str":" <idx>","args":[{"type":"expression","name":"idx","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbis","type":"argv","summary":"Toggle breakpoint by index","description":"","args_str":" <idx>","args":[{"type":"expression","name":"idx","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbite","type":"argv","summary":"Enable breakpoint trace by index","description":"","args_str":" <idx>","args":[{"type":"expression","name":"idx","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbitd","type":"argv","summary":"Disable breakpoint trace by index","description":"","args_str":" <idx>","args":[{"type":"expression","name":"idx","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbits","type":"argv","summary":"Toggle breakpoint trace by index","description":"","args_str":" <idx>","args":[{"type":"expression","name":"idx","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"dbh","type":"argv","summary":"List archs which supports software breakpoints","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbt","type":"group","summary":"Backtrace commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":7,"modes":["standard","json","quiet","table"],"children":[{"cmd":"dbt","type":"argv_state","summary":"Display backtrace based on dbg.btdepth and dbg.btalgo","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"dbt=","type":"argv","summary":"Display backtrace in one line (see dbt= s and dbt= b for sp or bp)","description":"","args_str":" [<s/b>]","args":[{"type":"string","name":"s/b","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbtv","type":"argv","summary":"Display backtrace with local vars if any","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbta","type":"argv","summary":"Display ascii-art representation of the stack backtrace","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbte","type":"argv","summary":"Enable breakpoint trace at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbtd","type":"argv","summary":"Disable breakpoint trace at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbts","type":"argv","summary":"Toggle breakpoint trace at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"dbx","type":"argv","summary":"View expression for all the breakpoints / Set expression for breakpoint at current offset","description":"","args_str":" [<expr>]","args":[{"type":"string","name":"expr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbw","type":"argv","summary":"Add watchpoint at current offset","description":"","args_str":" <perm> [<size>]","args":[{"type":"choice","name":"perm","required":true,"choices":["r","w","rw"]},{"type":"expression","name":"size","is_last":true}],"details":[{"name":"Valid permission arguments","entries":[{"text":"r","comment":"read only","arg_str":""},{"text":"w","comment":"write only","arg_str":""},{"text":"rw","comment":"read-write","arg_str":""}]},{"name":"Example sizes","entries":[{"text":"1","comment":"watch only a single byte","arg_str":""},{"text":"2","comment":"watch a 16-bit value","arg_str":""},{"text":"4","comment":"watch a 32-bit value","arg_str":""},{"text":"8","comment":"watch a 64-bit value","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbW","type":"argv","summary":"Set conditional breakpoint on a window message handler (only for Windows)","description":"","args_str":" <WM_DEFINE> [<handle/name>]","args":[{"type":"string","name":"WM_DEFINE","required":true},{"type":"string","name":"handle/name","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"dc","type":"group","summary":"Continue execution","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":13,"modes":[],"children":[{"cmd":"dc","type":"argv","summary":"Continue execution of all children","description":"","args_str":" [<pid>]","args":[{"type":"expression","name":"pid","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dcb","type":"argv","summary":"Continue back until breakpoint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dcc","type":"argv","summary":"Continue until call (use step into)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dcco","type":"argv","summary":"Continue until call (use step out)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dccu","type":"argv","summary":"Continue until unknown call (call reg)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dce","type":"argv","summary":"Continue execution (pass exception to program) (Windows only)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dcf","type":"argv","summary":"Continue until fork","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dck","type":"argv","summary":"Continue sending signal to process","description":"","args_str":" <signal> [<pid>]","args":[{"type":"expression","name":"signal","required":true},{"type":"expression","name":"pid","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dcp","type":"argv","summary":"Continue until program code (mapped io section)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dcr","type":"argv","summary":"Continue until ret (uses step over)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dcs","type":"argv","summary":"Continue until syscall","description":"","args_str":" [<syscall>]","args":[{"type":"string","name":"syscall","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dct","type":"argv","summary":"Traptrace from curseek to len, no argument to list","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dcu","type":"argv","summary":"Debug continue until","description":"","args_str":" <address>=$$","args":[{"type":"expression","name":"address","required":true,"is_last":true,"default":"$$"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"dd","type":"group","summary":"Debug file descriptors commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":7,"modes":[],"children":[{"cmd":"dd","type":"argv","summary":"Open and map <file> given the path","description":"","args_str":" <file>","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dd-","type":"argv","summary":"Close the <fd> file descriptor","description":"","args_str":" <fd>","args":[{"type":"number","name":"fd","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ddl","type":"argv_state","summary":"List all file descriptors","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","table"],"children":[]},{"cmd":"dds","type":"argv","summary":"Seek given <fd> to the <offset>","description":"","args_str":" <fd> <offset>","args":[{"type":"number","name":"fd","required":true},{"type":"number","name":"offset","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ddd","type":"argv","summary":"Duplicate <fd_src> to <fd_dst>","description":"","args_str":" <fd_src> <fd_dst>","args":[{"type":"number","name":"fd_src","required":true},{"type":"number","name":"fd_dst","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ddr","type":"argv","summary":"Read <len> bytes from <fd> file at <offset>","description":"","args_str":" <fd> <offset> <len>","args":[{"type":"number","name":"fd","required":true},{"type":"number","name":"offset","required":true},{"type":"number","name":"len","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ddw","type":"argv","summary":"Write <len> bytes to <fd> file at <offset>","description":"","args_str":" <fd> <offset> <len>","args":[{"type":"number","name":"fd","required":true},{"type":"number","name":"offset","required":true},{"type":"number","name":"len","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"de","type":"group","summary":"Manage ESIL watchpoints","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":6,"modes":[],"children":[{"cmd":"de","type":"argv","summary":"Add ESIL watchpoint","description":"","args_str":" <perm> <kind> <expression>","args":[{"type":"string","name":"perm","required":true},{"type":"choice","name":"kind","required":true,"choices":["reg","mem"]},{"type":"string","name":"expression","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"de","comment":"Stop when reads RIP register","arg_str":"r reg rip"},{"text":"de","comment":"Stop when read or write in ADDR","arg_str":"rw mem ADDR"},{"text":"de","comment":"Stop when rdx register is modified","arg_str":"w r rdx"},{"text":"de","comment":"Stop when rip in range","arg_str":"x m FROM..TO"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"de-*","type":"argv","summary":"Remove all ESIL watchpoints","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"del","type":"argv_state","summary":"List all ESIL watchpoints","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","table"],"children":[]},{"cmd":"dec","type":"argv","summary":"Continue execution until matching expression","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"des","type":"argv","summary":"Step-in <N> instructions with ESIL","description":"","args_str":" <N>","args":[{"type":"number","name":"N","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"desu","type":"argv","summary":"Step until specified <address>","description":"","args_str":" <<address>>","args":[{"type":"expression","name":"<address>","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"dg","type":"argv","summary":"Generate core dump file","description":"","args_str":" [<filename>]","args":[{"type":"filename","name":"filename"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"do","type":"group","summary":"Debug (re)open commands","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":3,"modes":[],"children":[{"cmd":"dor","type":"argv","summary":"Set rz-run profile options (e dbg.profile)","description":"","args_str":" [<key>=<val> [<key>=<val> ...]]","args":[{"type":"evaluable_full","name":"key=val","required":true,"is_array":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"doe","type":"argv","summary":"Edit rz-run startup profile with $EDITOR","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"doc","type":"argv","summary":"Close debug session","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"ds","type":"group","summary":"Debug step commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":9,"modes":[],"children":[{"cmd":"ds","type":"argv","summary":"Step <num> instruction","description":"","args_str":" <num>=1","args":[{"type":"expression","name":"num","required":true,"is_last":true,"default":"1"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dsb","type":"argv","summary":"Step back <num> instruction","description":"","args_str":" <num>=1","args":[{"type":"expression","name":"num","required":true,"is_last":true,"default":"1"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dsf","type":"argv","summary":"Step until end of frame","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dsi","type":"argv","summary":"Continue until condition matches","description":"","args_str":" <cond>","args":[{"type":"string","name":"cond","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dsl","type":"argv","summary":"Step <num> source line","description":"","args_str":" <num>=1","args":[{"type":"expression","name":"num","required":true,"is_last":true,"default":"1"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dso","type":"argv","summary":"Step over <num> instructions","description":"","args_str":" <num>=1","args":[{"type":"expression","name":"num","required":true,"is_last":true,"default":"1"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dsp","type":"argv","summary":"Step into program (skip libs)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dss","type":"argv","summary":"Skip <num> step instructions","description":"","args_str":" <num>=1","args":[{"type":"expression","name":"num","required":true,"is_last":true,"default":"1"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dsu","type":"group","summary":"Debug step until commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":6,"modes":[],"children":[{"cmd":"dsu","type":"argv","summary":"Step until <addr>","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dsui","type":"argv","summary":"Step until an instruction that matches <instr>","description":"","args_str":" <instr>","args":[{"type":"string","name":"instr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dsuir","type":"argv","summary":"Step until an instruction that matches <regex>","description":"","args_str":" <regex>","args":[{"type":"string","name":"regex","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dsuo","type":"argv","summary":"Step until an instruction matches one of the <optype>s","description":"","args_str":" <optype1> <optype2> ...","args":[{"type":"string","name":"optype","required":true,"is_array":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dsue","type":"argv","summary":"Step until <esil> expression matches","description":"","args_str":" <esil>","args":[{"type":"string","name":"esil","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dsuf","type":"argv","summary":"Step until pc == <flag> matching name","description":"","args_str":" <flag>","args":[{"type":"unknown","name":"flag","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]}]},{"cmd":"dt","type":"group","summary":"Trace commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":11,"modes":[],"children":[{"cmd":"dt","type":"argv","summary":"Get trace info at the current address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dtl","type":"argv_state","summary":"List all traces","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","quiet"],"children":[]},{"cmd":"dtl=","type":"argv","summary":"List all traces in ascii art","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dt+","type":"argv","summary":"Add trace for address N times","description":"","args_str":" [<times>]","args":[{"type":"expression","name":"times","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dt++","type":"argv","summary":"Add trace for some address","description":"","args_str":" <addrs1> <addrs2> ...","args":[{"type":"expression","name":"addrs","required":true,"is_array":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dt-","type":"argv","summary":"Reset traces (instruction/calls)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dtc","type":"argv","summary":"Trace call/ret","description":"","args_str":" [<from> [<to> [<addr>]]]","args":[{"type":"expression","name":"from"},{"type":"expression","name":"to"},{"type":"expression","name":"addr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dte","type":"group","summary":"Esil trace logs","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":[],"children":[{"cmd":"dte","type":"argv","summary":"Esil trace log for a single instruction for that index log","description":"","args_str":" <idx>","args":[{"type":"expression","name":"idx","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dtel","type":"argv","summary":"Esil trace log for a single instruction","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dte-*","type":"argv","summary":"Delete all esil traces","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dtei","type":"argv","summary":"Esil trace log for a single instruction","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"dtg","type":"group","summary":"Graph call/ret trace","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard"],"children":[{"cmd":"dtg","type":"argv_modes","summary":"Graph call/ret trace","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"dtgi","type":"argv","summary":"Interactive debug trace","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"dts","type":"group","summary":"Debug trace session commands","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":5,"modes":[],"children":[{"cmd":"dts+","type":"argv","summary":"Start trace session","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dts-","type":"argv","summary":"Stop trace session","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dtst","type":"argv","summary":"Save trace sessions to disk","description":"","args_str":" <dir>","args":[{"type":"directory","name":"dir","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dtsf","type":"argv","summary":"Load trace sessions to disk","description":"","args_str":" <dir>","args":[{"type":"directory","name":"dir","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dtsm","type":"argv","summary":"List current memory map and hash","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"dtt","type":"argv","summary":"Select trace tag (no arg unsets)","description":"","args_str":" <tag>","args":[{"type":"string","name":"tag","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"di","type":"argv_state","summary":"Debug information","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"dk","type":"group","summary":"Debug signals management","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":[],"children":[{"cmd":"dk","type":"argv","summary":"Send signal to the child","description":"","args_str":" <signal>","args":[{"type":"number","name":"signal","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dkl","type":"argv_state","summary":"List all signal handlers of the child process","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"dkn","type":"argv","summary":"Resolve the name of signal given the number","description":"","args_str":" <signal>","args":[{"type":"number","name":"signal","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dkN","type":"argv","summary":"Resolve the signal number given the name","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dko","type":"argv","summary":"Set skip or continue options for a given signal","description":"","args_str":" <signal> <option>=reset","args":[{"type":"number","name":"signal","required":true},{"type":"choice","name":"option","required":true,"default":"reset","choices":["skip","continue","reset"]}],"details":[{"name":"Signal options","entries":[{"text":"skip","comment":"Do not enter into the signal handler","arg_str":""},{"text":"continue","comment":"Enter into the signal handler","arg_str":""},{"text":"reset","comment":"Remove all previously set signal options","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"dl","type":"group","summary":"Debug handler","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"dl","type":"argv","summary":"Set debugger handler","description":"","args_str":" <handler>","args":[{"type":"number","name":"handler","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dll","type":"argv_state","summary":"List debugger handler","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]}]},{"cmd":"dm","type":"group","summary":"Memory map commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":13,"modes":["standard","json","quiet","table"],"children":[{"cmd":"dm","type":"argv_state","summary":"List memory maps","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"dm+","type":"argv","summary":"Allocate <size> bytes at current offset","description":"","args_str":" <size>","args":[{"type":"expression","name":"size","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dm=","type":"argv","summary":"List memory maps of current process with ASCII art bars","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dm.","type":"argv_state","summary":"Show map name of current address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"dmm","type":"group","summary":"Module memory map commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json"],"children":[{"cmd":"dmm","type":"argv_state","summary":"List modules (libraries, binaries loaded in memory)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"dmm.","type":"argv_state","summary":"List memory map of current module","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"dm-","type":"argv","summary":"Deallocate memory map at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dmd","type":"group","summary":"Dump debug map regions to a file (from-to.dmp)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"dmd","type":"argv","summary":"Dump debug maps to <filename>","description":"","args_str":" [<filename>]","args":[{"type":"filename","name":"filename"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dmda","type":"argv","summary":"Dump all debug maps","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dmdw","type":"argv","summary":"Dump writable debug maps","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"dmh","type":"group","summary":"Heap commands","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":3,"modes":[],"children":[{"cmd":"dmhg","type":"group","summary":"Glibc heap commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":10,"modes":["standard","json","long"],"children":[{"cmd":"dmhg","type":"argv_state","summary":"List heap chunks of an arena","description":"","args_str":" [<malloc_state>]","args":[{"type":"expression","name":"malloc_state","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long"],"children":[]},{"cmd":"dmhga","type":"argv","summary":"List all the arenas","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dmhgb","type":"argv_modes","summary":"Display double linked list for bins in an arena.","description":"","args_str":" [<bin_num|bin_num:malloc_state>]","args":[{"type":"string","name":"bin_num|bin_num:malloc_state","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","graph"],"children":[]},{"cmd":"dmhgc","type":"argv","summary":"Get info about heap chunk at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dmhgd","type":"argv_modes","summary":"Display state of bins in an arena. <bin_type> can be tcache/fast/unsorted/small/large","description":"","args_str":" [<bin_type>]","args":[{"type":"choice","name":"bin_type","choices":["small","large","fast","unsorted","tcache"]}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"dmhgf","type":"argv","summary":"Display all parsed fastbins of main_arena's or a particular arena fastbinY instance","description":"","args_str":" [<fastbin_num|fastbin_num:malloc_state>]","args":[{"type":"string","name":"fastbin_num|fastbin_num:malloc_state","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dmhgg","type":"argv","summary":"Display heap graph of a particular arena","description":"","args_str":" [<malloc_state>]","args":[{"type":"expression","name":"malloc_state","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dmhgi","type":"argv","summary":"Display heap_info structure/structures for a given arena","description":"","args_str":" [<malloc_state>]","args":[{"type":"expression","name":"malloc_state","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dmhgm","type":"argv_modes","summary":"List all elements of struct malloc_state","description":"","args_str":" [<malloc_state>]","args":[{"type":"expression","name":"malloc_state","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"dmhgt","type":"argv","summary":"Display all parsed thread cache bins of all arena's tcache instance","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"dmhw","type":"group","summary":"Windows heap commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":["json","table"],"children":[{"cmd":"dmhw","type":"argv_state","summary":"List process heaps","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","table"],"children":[]},{"cmd":"dmhwb","type":"argv_state","summary":"List allocated heap blocks","description":"","args_str":" [<addr>]","args":[{"type":"expression","name":"addr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["json","table"],"children":[]},{"cmd":"dmhwbf","type":"argv","summary":"Create flags for each allocated heap block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"dmhj","type":"group","summary":"Jemalloc heap commands","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":5,"modes":[],"children":[{"cmd":"dmhja","type":"argv","summary":"Show all arenas created, or print arena_type structure for given arena.","description":"","args_str":" [<arena_addr>]","args":[{"type":"expression","name":"arena_addr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dmhjb","type":"argv","summary":"Show bin info for allocations.","description":"","args_str":" [<arena_addr> [<bin_info_addr>]]","args":[{"type":"expression","name":"arena_addr"},{"type":"expression","name":"bin_info_addr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dmhjc","type":"argv","summary":"Show all chunks created in all arenas, or show all chunks created for a given arena_t instance (jemalloc 4.5.0 only).","description":"","args_str":" [<arena_addr>]","args":[{"type":"expression","name":"arena_addr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dmhje","type":"argv","summary":"List all extents, or find extent for a specific malloc'd address (jemalloc 5.3.0 only)","description":"","args_str":" [<malloc_addr>]","args":[{"type":"expression","name":"malloc_addr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dmhjei","type":"argv","summary":"Display extent (edata_t) structure info for a given extent address (jemalloc 5.3.0 only)","description":"","args_str":" <extent_addr>","args":[{"type":"expression","name":"extent_addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]}]},{"cmd":"dmi","type":"group","summary":"List/Load symbols","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":["standard","json","quiet","quietest"],"children":[{"cmd":"dmi","type":"argv_state","summary":"List libraries and library symbols.","description":"","args_str":" [<lib_name> [<symbol_name>]]","args":[{"type":"string","name":"lib_name"},{"type":"string","name":"symbol_name","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","quietest"],"children":[]},{"cmd":"dmia","type":"argv_state","summary":"List all info of target library.","description":"","args_str":" [<lib_name>]","args":[{"type":"string","name":"lib_name","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","quietest"],"children":[]},{"cmd":"dmi.","type":"argv_state","summary":"List closest symbol to the current address.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","quietest"],"children":[]}]},{"cmd":"dml","type":"argv","summary":"Load contents of file into current map region","description":"","args_str":" <file>","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dmp","type":"argv","summary":"Change page at current offset with <size>, protection <perms> / Change dbg.map permissions to <perms>","description":"","args_str":" <perms> [<size>]","args":[{"type":"string","name":"perms","required":true},{"type":"expression","name":"size","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dmL","type":"argv","summary":"Allocate <size> bytes at current offset and promote to huge page","description":"","args_str":" <size>","args":[{"type":"expression","name":"size","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dmS","type":"argv_modes","summary":"List sections of target lib","description":"","args_str":" [<addr|libname> [<sectname>]]","args":[{"type":"string","name":"addr|libname"},{"type":"string","name":"sectname","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"dp","type":"group","summary":"List or attach to process or thread","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":12,"modes":["standard","json","table"],"children":[{"cmd":"dp","type":"argv_state","summary":"List current pid and children","description":"","args_str":" [<pid>]","args":[{"type":"expression","name":"pid","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","table"],"children":[]},{"cmd":"dpl","type":"argv_state","summary":"List all attachable pids","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","table"],"children":[]},{"cmd":"dpa","type":"argv","summary":"Attach to selected <pid>","description":"","args_str":" [<pid>]","args":[{"type":"expression","name":"pid","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dp-","type":"argv","summary":"Detach from selected <pid>","description":"","args_str":" [<pid>]","args":[{"type":"expression","name":"pid","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dp=","type":"argv","summary":"Select <pid>","description":"","args_str":" <pid>","args":[{"type":"expression","name":"pid","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dpc","type":"argv","summary":"Select forked pid (see dbg.forks)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dpc*","type":"argv","summary":"Display forked pid (see dbg.forks)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dpe","type":"argv","summary":"Show path to executable","description":"","args_str":" [<pid>]","args":[{"type":"expression","name":"pid","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dpf","type":"argv","summary":"Attach to pid like file fd","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dpk","type":"argv","summary":"Send <signal> to process <pid>","description":"","args_str":" <pid> [<signal>]","args":[{"type":"expression","name":"pid","required":true},{"type":"expression","name":"signal","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dpT","type":"argv_state","summary":"List threads of specified or current <pid>","description":"","args_str":" [<pid>]","args":[{"type":"expression","name":"pid","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","table"],"children":[]},{"cmd":"dpt=","type":"argv","summary":"Select <thread-id>","description":"","args_str":" <thread-id>","args":[{"type":"expression","name":"thread-id","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"dr","type":"group","summary":"CPU Registers","description":"","args_str":"","args":[],"details":[{"name":"Register Filter","entries":[{"text":"dr","comment":"Show a sensible default selection of registers","arg_str":""},{"text":"dr","comment":"Show a single register","arg_str":" rax"},{"text":"dr","comment":"Show 16 bits wide gpr registers","arg_str":" 16"},{"text":"dr","comment":"Show registers of type xmm (see `drT` for possible types)","arg_str":" xmm"},{"text":"dr","comment":"Show the register with the given role (see `drR` for possible roles)","arg_str":" PC"},{"text":"dr","comment":"Show all registers available","arg_str":" all"}]}],"executable":true,"n_children":16,"modes":["standard","json","quiet","table"],"children":[{"cmd":"dr","type":"argv_state","summary":"Show registers with their values, or assign registers (`dr reg1=value reg2=value`)","description":"","args_str":" [<filter1> [= <value>] <filter2> [= <value>] ...]","args":[{"type":"unknown","name":"filters","is_array":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"dr=","type":"argv","summary":"Show registers in columns","description":"","args_str":" [<filter>]","args":[{"type":"unknown","name":"filter"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"drr","type":"argv_modes","summary":"Show register references (telescoping)","description":"","args_str":" [<filter>]","args":[{"type":"unknown","name":"filter"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"dri","type":"argv","summary":"Show register grouped by their values","description":"","args_str":" [<filter>]","args":[{"type":"unknown","name":"filter"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"drA","type":"argv_modes","summary":"Show values of default function argument registers (A0, A1, A2, ...) with telescoping","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"drcc","type":"argv","summary":"Show calling convention defined by registers","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"drd","type":"argv","summary":"Show register differences from previous contents","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dro","type":"argv_state","summary":"Show previous register contents","description":"","args_str":" [<filter>]","args":[{"type":"unknown","name":"filter","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"drF","type":"argv","summary":"Show fpu registers","description":"","args_str":" [<register> [= <value>]]","args":[{"type":"string","name":"reg","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"drf","type":"group","summary":"Show commands for setting registers as flags","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"drf","type":"argv","summary":"Show commands for setting registers as flags","description":"","args_str":" [<filter>]","args":[{"type":"unknown","name":"filter"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"drf-","type":"argv","summary":"Show commands for unsetting flags from `drf`","description":"","args_str":" [<filter>]","args":[{"type":"unknown","name":"filter"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"dra","type":"group","summary":"Register arena commands (underlying binary data)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":8,"modes":[],"children":[{"cmd":"dra","type":"argv","summary":"Show all currently allocated register arenas","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dra+","type":"argv","summary":"Push a new set of arenas to the stack","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dra-","type":"argv","summary":"Pop a set of arenas from the stack","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"draS","type":"argv","summary":"Show number of stack elements","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dras","type":"argv","summary":"Swap last two register arenas on the stack","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dra0","type":"argv","summary":"Reset the specified or all arena contents to 0","description":"","args_str":" [<type>]","args":[{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"drab","type":"argv","summary":"Display hexdump of given arena (or gpr if none given)","description":"","args_str":" [<type>]","args":[{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"draw","type":"argv","summary":"Write hexadecimal data <hex> into the given arena (or gpr if none given)","description":"","args_str":" <hex> [<type>]","args":[{"type":"string","name":"hex","required":true},{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"drp","type":"group","summary":"Register profile commands (defining available registers)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":["standard","json"],"children":[{"cmd":"drp","type":"argv_state","summary":"Show the current register profile","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"drpc","type":"argv","summary":"Show register profile comments","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"drpo","type":"argv","summary":"Load a new register profile from file","description":"","args_str":" <file>","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"drpg","type":"argv","summary":"Convert gdb profile from the given file to rizin register profile","description":"","args_str":" <file>","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"drc","type":"argv","summary":"Conditional flags (aliases to processor flags)","description":"","args_str":"","args":[],"details":[{"name":"Basic","entries":[{"text":"eq","comment":"equal","arg_str":""},{"text":"ne","comment":"not equal","arg_str":""},{"text":"cf","comment":"carry flag set","arg_str":""},{"text":"neg","comment":"negative value (has sign)","arg_str":""},{"text":"of","comment":"overflow","arg_str":""}]},{"name":"Unsigned","entries":[{"text":"hi","comment":"higher","arg_str":""},{"text":"he","comment":"higher or equal","arg_str":""},{"text":"lo","comment":"lower","arg_str":""},{"text":"loe","comment":"lower or equal","arg_str":""}]},{"name":"Signed","entries":[{"text":"gt","comment":"greater","arg_str":""},{"text":"ge","comment":"greater or equal","arg_str":""},{"text":"lt","comment":"less","arg_str":""},{"text":"le","comment":"less or equal","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"drT","type":"argv","summary":"List all register types","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"drR","type":"argv","summary":"List all register roles","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"drx","type":"group","summary":"Show hardware breakpoint registers","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"drx","type":"argv","summary":"Show or modify hardware breakpoint registers","description":"","args_str":" [<number> <address> <length> <perms>]","args":[{"type":"number","name":"number"},{"type":"expression","name":"address","required":true},{"type":"number","name":"length","required":true},{"type":"string","name":"perms","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"drx-","type":"argv","summary":"Clear hardware breakpoint","description":"","args_str":" <number>","args":[{"type":"number","name":"number","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]}]},{"cmd":"dw","type":"argv","summary":"Block prompt until <pid> dies","description":"","args_str":" [<pid>]","args":[{"type":"number","name":"pid"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dW","type":"group","summary":"Windows process commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"dW","type":"argv","summary":"List process windows","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dWi","type":"argv","summary":"Identify window under cursor","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"dx","type":"group","summary":"Code injection commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":[],"children":[{"cmd":"dx","type":"argv","summary":"Inject opcodes","description":"","args_str":" <opcode>","args":[{"type":"string","name":"opcode","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"dx","comment":"Insert two 0x90 bytes (nop instruction on x86 platforms)","arg_str":" 9090"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dxa","type":"argv","summary":"Assemble code and inject","description":"","args_str":" <asm>","args":[{"type":"string","name":"asm","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"dxa","comment":"Assemble and insert 3 instructions","arg_str":" mov eax,6; mov ebx,0; int 0x80"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dxe","type":"argv","summary":"Compile RzEgg expression and inject","description":"","args_str":" <expression>","args":[{"type":"string","name":"expression","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dxr","type":"argv","summary":"Inject opcodes and restore state","description":"","args_str":" <opcode>","args":[{"type":"string","name":"opcode","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dxs","type":"argv","summary":"Syscall injection","description":"","args_str":" <syscall>","args":[{"type":"string","name":"syscall","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"dxs","comment":"Inject the write() syscall with given arguments","arg_str":" write 1, 0x8048, 12"}]}],"executable":true,"n_children":0,"modes":[],"children":[]}]}]},{"cmd":"dex","type":"group","summary":"Core plugin to visualize dex class information","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":2,"modes":[],"children":[{"cmd":"dexs","type":"argv_state","summary":"prints the dex structure","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"dexe","type":"argv_state","summary":"prints the dex exported methods","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]}]},{"cmd":"e","type":"group","summary":"List/get/set config evaluable vars","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":9,"modes":[],"children":[{"cmd":"e","type":"argv","summary":"Get/Set value of config variable <key>","description":"","args_str":" <key>[=<val|?>] [<key>[=<val|?>] ...]]","args":[{"type":"evaluable_full","name":"key=value","required":true,"is_array":true}],"details":[{"name":"Examples","entries":[{"text":"e","comment":"Show current value of config variable `asm.bytes`","arg_str":" asm.bytes"},{"text":"e","comment":"Set config variable `asm.bytes` to `true`","arg_str":" asm.bytes=true"},{"text":"e","comment":"Show all possible values for config variable `search.in`","arg_str":" search.in=?"},{"text":"e","comment":"Show all possible values for config variable `search.in` together with description","arg_str":" search.in=??"},{"text":"e","comment":"Set asm.bytes to true and asm.offset to false","arg_str":" asm.bytes=true asm.offset=false"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"el","type":"argv_state","summary":"List config variables with their descriptions","description":"","args_str":" [<key>]","args":[{"type":"evaluable","name":"key"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","long","long_json"],"children":[]},{"cmd":"e-","type":"argv","summary":"Reset config variables","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"e!","type":"argv","summary":"Invert the boolean value of config variable <key>","description":"","args_str":" <key>","args":[{"type":"evaluable","name":"key","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ec","type":"group","summary":"Set color for given key (prompt, offset, ...)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":10,"modes":["standard","json"],"children":[{"cmd":"ec","type":"argv_state","summary":"List eval colors and keys","description":"","args_str":" [<key> [<color>]]","args":[{"type":"string","name":"key"},{"type":"string","name":"color","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"ecl","type":"argv","summary":"List colors with descriptions","description":"","args_str":"","args":[],"details":[{"name":"Color Palette Keys","entries":[{"text":"comment","comment":"Color for code comments","arg_str":""},{"text":"usrcmt","comment":"Color for user comments","arg_str":""},{"text":"args","comment":"Color for function arguments","arg_str":""},{"text":"fname","comment":"Color for function names","arg_str":""},{"text":"floc","comment":"Color for function locations","arg_str":""},{"text":"fline","comment":"Color for function lines","arg_str":""},{"text":"flag","comment":"Color for flags","arg_str":""},{"text":"label","comment":"Color for labels","arg_str":""},{"text":"help","comment":"Color for help messages","arg_str":""},{"text":"flow","comment":"Color for control flow","arg_str":""},{"text":"flow2","comment":"Color for control flow (alternative)","arg_str":""},{"text":"prompt","comment":"Color for prompt","arg_str":""},{"text":"offset","comment":"Color for offsets","arg_str":""},{"text":"input","comment":"Color for user input","arg_str":""},{"text":"invalid","comment":"Color for invalid instructions","arg_str":""},{"text":"other","comment":"Color for other elements","arg_str":""},{"text":"b0x00","comment":"Color for null bytes (0x00)","arg_str":""},{"text":"b0x7f","comment":"Color for 0x7f bytes","arg_str":""},{"text":"b0xff","comment":"Color for 0xff bytes","arg_str":""},{"text":"math","comment":"Color for math operations","arg_str":""},{"text":"bin","comment":"Color for binary information","arg_str":""},{"text":"btext","comment":"Color for text in binary","arg_str":""},{"text":"push","comment":"Color for push instructions","arg_str":""},{"text":"pop","comment":"Color for pop instructions","arg_str":""},{"text":"crypto","comment":"Color for crypto instructions","arg_str":""},{"text":"jmp","comment":"Color for jump instructions","arg_str":""},{"text":"cjmp","comment":"Color for conditional jumps","arg_str":""},{"text":"call","comment":"Color for call instructions","arg_str":""},{"text":"nop","comment":"Color for nop instructions","arg_str":""},{"text":"ret","comment":"Color for return instructions","arg_str":""},{"text":"trap","comment":"Color for trap/interrupt instructions","arg_str":""},{"text":"ucall","comment":"Color for unknown calls","arg_str":""},{"text":"ujmp","comment":"Color for unknown jumps","arg_str":""},{"text":"swi","comment":"Color for software interrupts","arg_str":""},{"text":"cmp","comment":"Color for compare instructions","arg_str":""},{"text":"reg","comment":"Color for registers","arg_str":""},{"text":"creg","comment":"Color for changed registers","arg_str":""},{"text":"num","comment":"Color for numbers","arg_str":""},{"text":"mov","comment":"Color for move instructions","arg_str":""},{"text":"func_var","comment":"Color for function variables","arg_str":""},{"text":"func_var_type","comment":"Color for function variable types","arg_str":""},{"text":"func_var_addr","comment":"Color for function variable addresses","arg_str":""},{"text":"widget_bg","comment":"Color for widget background","arg_str":""},{"text":"widget_sel","comment":"Color for selected widget","arg_str":""},{"text":"meta","comment":"Color for metadata","arg_str":""},{"text":"ai.read","comment":"Color for memory read access","arg_str":""},{"text":"ai.write","comment":"Color for memory write access","arg_str":""},{"text":"ai.exec","comment":"Color for executable memory","arg_str":""},{"text":"ai.seq","comment":"Color for sequential memory","arg_str":""},{"text":"ai.ascii","comment":"Color for ASCII in memory","arg_str":""},{"text":"graph.box","comment":"Color for graph box","arg_str":""},{"text":"graph.box2","comment":"Color for graph box (alternative 2)","arg_str":""},{"text":"graph.box3","comment":"Color for graph box (alternative 3)","arg_str":""},{"text":"graph.box4","comment":"Color for graph box (alternative 4)","arg_str":""},{"text":"graph.true","comment":"Color for true branch in graph","arg_str":""},{"text":"graph.false","comment":"Color for false branch in graph","arg_str":""},{"text":"graph.ujump","comment":"Color for unknown jump in graph","arg_str":""},{"text":"graph.current","comment":"Color for current node in graph","arg_str":""},{"text":"graph.traced","comment":"Color for traced node in graph","arg_str":""},{"text":"diff.unknown","comment":"Color for unknown diff","arg_str":""},{"text":"diff.new","comment":"Color for new diff","arg_str":""},{"text":"diff.match","comment":"Color for matched diff","arg_str":""},{"text":"diff.unmatch","comment":"Color for unmatched diff","arg_str":""},{"text":"gui.cflow","comment":"Color for GUI control flow","arg_str":""},{"text":"gui.dataoffset","comment":"Color for GUI data offset","arg_str":""},{"text":"gui.background","comment":"Color for GUI background","arg_str":""},{"text":"gui.alt_background","comment":"Color for GUI alternate background","arg_str":""},{"text":"gui.border","comment":"Color for GUI border","arg_str":""},{"text":"wordhl","comment":"Color for highlighted word","arg_str":""},{"text":"linehl","comment":"Color for highlighted line","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ecc","type":"argv","summary":"Show palette in CSS","description":"","args_str":" [<prefix>]","args":[{"type":"string","name":"prefix","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ecd","type":"argv","summary":"Set default palette","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ecH","type":"group","summary":"Highlight word or an instruction","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":6,"modes":["json"],"children":[{"cmd":"ecH","type":"argv_modes","summary":"List all the highlight rules","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json"],"children":[]},{"cmd":"ecHi","type":"argv","summary":"Highlight current instruction with the given color as background","description":"","args_str":" <color>","args":[{"type":"string","name":"color","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ecHw","type":"argv","summary":"Highlight the word with the given color as background","description":"","args_str":" <word> [<color>]","args":[{"type":"string","name":"word","required":true},{"type":"string","name":"color","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ecH.","type":"argv","summary":"Show highlight rule in current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ecH-*","type":"argv","summary":"Remove all highlights and hints","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ecH-","type":"argv","summary":"Remove all highlights on current instruction","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"ecr","type":"argv","summary":"Set random palette","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ecs","type":"argv","summary":"Set a colorful palette","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"eco","type":"group","summary":"Load the provided theme or list the available themes","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":["json","quiet"],"children":[{"cmd":"eco","type":"argv_state","summary":"List the available themes","description":"","args_str":" [<theme>]","args":[{"type":"choice","name":"theme","choices":["ayu","basic","behelit","bold","bright","cga","consonance","cutter","dark","darkda","default","defragger","durian","focus","gb","gentoo","lima","mars","matrix","monokai","nord","ogray","onedark","pink","rasta","sepia","smyck","solarized","tango","twilight","underwater","white","white2","xvilka","zenburn"]}],"details":[],"executable":true,"n_children":0,"modes":["json","quiet"],"children":[]},{"cmd":"eco.","type":"argv","summary":"Display current theme name","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ecoo","type":"argv","summary":"Reload current theme","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"ecp","type":"argv","summary":"Load previuos color theme","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ecn","type":"argv","summary":"Load next color theme","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"ee","type":"argv","summary":"Open editor to change the value of config variable <key>","description":"","args_str":" <key>","args":[{"type":"evaluable","name":"key","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"er","type":"argv","summary":"Set config variable <key> as read-only","description":"","args_str":" <key>","args":[{"type":"evaluable","name":"key","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"es","type":"argv","summary":"List all config variable spaces or sub-keys/sub-spaces if a <key> is provided","description":"","args_str":" [<key>]","args":[{"type":"evaluable","name":"key"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"et","type":"argv","summary":"Show type of given config variable <key>","description":"","args_str":" <key>","args":[{"type":"evaluable","name":"key","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"F","type":"group","summary":"FLIRT signature management","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":6,"modes":[],"children":[{"cmd":"Fc","type":"argv","summary":"Create a FLIRT file (.pat or .sig)","description":"","args_str":" <filename>","args":[{"type":"filename","name":"filename","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Fd","type":"argv","summary":"Open a FLIRT file (.pat or .sig) and dumps its contents","description":"","args_str":" <filename>","args":[{"type":"filename","name":"filename","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Fs","type":"argv","summary":"Open a FLIRT file (.pat or .sig) and tries to apply the signatures to the loaded binary","description":"","args_str":" <filename>","args":[{"type":"filename","name":"filename","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Ff","type":"argv","summary":"Outputs the flirt function signature info","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Fa","type":"argv","summary":"Apply signatures from sigdb","description":"","args_str":" [<filter>]","args":[{"type":"string","name":"filter","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Fl","type":"argv_state","summary":"Lists all available signatures in sigdb","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["table"],"children":[]}]},{"cmd":"f","type":"group","summary":"Manage flags","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":26,"modes":[],"children":[{"cmd":"f","type":"argv","summary":"Add the flag if there are no existing flags","description":"Adds the flag to the current offset only if no flag exists at this offset already.","args_str":" <name> [<size> [<comment>]]","args":[{"type":"string","name":"name","required":true},{"type":"number","name":"size"},{"type":"string","name":"comment","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"f+","type":"argv","summary":"Add the flag","description":"Add the flag like the 'f' command but in any case, even if one or multiple flags already exist.","args_str":" <name> [<size> [<comment>]]","args":[{"type":"string","name":"name","required":true},{"type":"number","name":"size"},{"type":"string","name":"comment","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"f.","type":"group","summary":"Local flags (per function)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":[],"children":[{"cmd":"f.","type":"argv","summary":"Add the local flag","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"f.-","type":"argv","summary":"Remove the local flag","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"f.l","type":"argv_state","summary":"List the local flags for the function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"f.l*","type":"argv_state","summary":"List the local flags for all functions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]}]},{"cmd":"f-","type":"argv","summary":"Remove the flag","description":"If the glob is supplied it removes just flag items matching the pattern. Otherwise, it removes all flags at the current offset.","args_str":" [<glob>]","args":[{"type":"string","name":"glob","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"f-*","type":"argv","summary":"Remove all flags","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fa","type":"argv","summary":"Alias a flag to evaluate an expression","description":"","args_str":" <name> <alias>","args":[{"type":"unknown","name":"name","required":true},{"type":"string","name":"alias","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fe","type":"argv","summary":"Check if flag exists","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ff","type":"argv","summary":"Distance in bytes to reach the next flag","description":"","args_str":" [<glob>]","args":[{"type":"string","name":"glob","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fg","type":"argv_state","summary":"Show the flag graph","description":"","args_str":" [<name>]","args":[{"type":"unknown","name":"name"}],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"fi","type":"argv_state","summary":"Show the flags in the block or custom range","description":"","args_str":" [<size>]","args":[{"type":"expression","name":"size","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"fl","type":"argv_state","summary":"List all flags","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"fl.","type":"argv_state","summary":"List all flags at the current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"fL","type":"argv","summary":"Show the flag length / Set the flag length","description":"","args_str":" [<size>]","args":[{"type":"number","name":"size"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fN","type":"argv","summary":"Show the realname of the flag / Set the realname of the flag","description":"","args_str":" [<name> [<realname>]]","args":[{"type":"unknown","name":"name"},{"type":"string","name":"realname","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fl=","type":"argv","summary":"List range bars with flag offsets and sizes","description":"","args_str":" [<glob>]","args":[{"type":"string","name":"glob","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fc","type":"argv","summary":"Set a color for the given flag / Show the color for the given flag","description":"","args_str":" <flag> [<color>]","args":[{"type":"unknown","name":"flag","required":true},{"type":"string","name":"color","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fC","type":"argv","summary":"Set a comment for the given flag / Show the comment for the given flag","description":"","args_str":" <name> [<comment>]","args":[{"type":"unknown","name":"name","required":true},{"type":"string","name":"comment","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fd","type":"group","summary":"Describe flag","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":["standard","json","table"],"children":[{"cmd":"fd","type":"argv_state","summary":"Describe flag + delta for the current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","table"],"children":[]},{"cmd":"fd.","type":"argv_state","summary":"Describe flags for the current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","table"],"children":[]},{"cmd":"fdw","type":"argv","summary":"Describe closest flag by string for the current offset","description":"","args_str":" <string>","args":[{"type":"string","name":"string","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"fm","type":"argv","summary":"Move a flag to the new address","description":"","args_str":" <newaddress>","args":[{"type":"expression","name":"newaddress","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fO","type":"argv","summary":"Flag as ordinals (sym.* func.* method.*)","description":"","args_str":" <glob>","args":[{"type":"string","name":"glob","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fr","type":"argv","summary":"Rename flag","description":"","args_str":" <old> <new>","args":[{"type":"unknown","name":"old","required":true},{"type":"string","name":"new","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fR","type":"argv","summary":"Relocate flags","description":"","args_str":" <from> <to> [<mask>]","args":[{"type":"expression","name":"from","required":true},{"type":"expression","name":"to","required":true},{"type":"number","name":"mask"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fs","type":"group","summary":"Manage flagspaces","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":7,"modes":[],"children":[{"cmd":"fs","type":"argv","summary":"Add the flagspace","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fsl","type":"argv_state","summary":"Display flagspaces","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"fs-","type":"argv","summary":"Remove the flagspace","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fs-*","type":"argv","summary":"Remove all flagspaces","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fsm","type":"argv","summary":"Move the flags at the current address to the current flagspace","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fsr","type":"argv","summary":"Rename the flag space","description":"","args_str":" <newname>","args":[{"type":"string","name":"newname","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fss","type":"group","summary":"Manage the flagspace stack","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":3,"modes":[],"children":[{"cmd":"fss+","type":"argv","summary":"Push the flagspace to the stack","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fss-","type":"argv","summary":"Pop the flagspace from the stack","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fssl","type":"argv_state","summary":"Display flagspace stack","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]}]},{"cmd":"ft","type":"group","summary":"Flag tags","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"ft","type":"argv","summary":"Set a list of words for the given tag","description":"","args_str":" <tag> <words>","args":[{"type":"string","name":"tag","required":true},{"type":"string","name":"words","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ftl","type":"argv_state","summary":"List all flag tags","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long"],"children":[]},{"cmd":"ftn","type":"argv","summary":"Find all matching flag names for the given tag","description":"","args_str":" <tag>","args":[{"type":"string","name":"tag","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"fz","type":"group","summary":"Flag zones","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":[],"children":[{"cmd":"fz","type":"argv","summary":"Add new flagzone with [name]","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fz-","type":"argv","summary":"Remove the flag zone with [name]","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fz-*","type":"argv","summary":"Remove all flagzones","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fz.","type":"argv","summary":"Show around flag zone context","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fzl","type":"argv_state","summary":"List all flag zones","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"fx","type":"argv","summary":"Show hexdump of flag:flagsize","description":"","args_str":" <name>","args":[{"type":"unknown","name":"name","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"g","type":"group","summary":"Generate shellcodes with rz_egg","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":9,"modes":[],"children":[{"cmd":"g","type":"argv","summary":"Compile the shellcode","description":"","args_str":" [<file>]","args":[{"type":"filename","name":"file"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"gc","type":"argv","summary":"Get/Set config option for shellcode / List all config options","description":"","args_str":" <key>[=<val>] [<key>[=<val>] ...]]","args":[{"type":"string","name":"key=value","is_array":true}],"details":[{"name":"Examples","entries":[{"text":"gc","comment":"Show current value of config variable `egg.encoder`","arg_str":" egg.encoder"},{"text":"gc","comment":"Set config variable `egg.encoder` to `xor`","arg_str":" egg.encoder=xor"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"gl","type":"argv","summary":"List shellcode and encoder plugins","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"gs","type":"argv","summary":"Compile syscall \"name(args)\"","description":"","args_str":" <name> [<args>]","args":[{"type":"string","name":"name","required":true},{"type":"string","name":"args","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"gi","type":"argv","summary":"Define the shellcode type","description":"","args_str":" <type>","args":[{"type":"string","name":"type","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"gp","type":"argv","summary":"Define padding for command","description":"","args_str":" <padding>","args":[{"type":"expression","name":"padding","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ge","type":"argv","summary":"Specify an encoder and a key","description":"","args_str":" <encoder> <key>","args":[{"type":"string","name":"encoder","required":true},{"type":"string","name":"key","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"gr","type":"argv","summary":"Reset the shellcode configuration","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"gS","type":"argv","summary":"Show the current configuration","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"H","type":"group","summary":"Rizin history commands.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"H","type":"argv","summary":"Shows the history in current session or executes an history command via its index.","description":"","args_str":" [<index>]","args":[{"type":"number","name":"index"}],"details":[{"name":"Examples","entries":[{"text":"H","comment":"Shows the current session history","arg_str":""},{"text":"H","comment":"Executes a history command with index value of 12","arg_str":" 12"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"H-","type":"argv","summary":"Clears the history in current session","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"H+","type":"argv","summary":"Saves the history of the current session","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"help","type":"argv","summary":"Generic help","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"i","type":"group","summary":"Get info about opened binary file","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":36,"modes":["json","quiet","table"],"children":[{"cmd":"i","type":"argv_state","summary":"Show info of current file","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]},{"cmd":"ia","type":"argv_state","summary":"Show a summary of all info (imports, exports, sections, etc.)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"iA","type":"argv_state","summary":"List archs","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]},{"cmd":"ic","type":"group","summary":"List classes, fields and methods","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":6,"modes":["json","quiet","quietest","table"],"children":[{"cmd":"ic","type":"argv_state","summary":"List classes","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","quietest","table"],"children":[]},{"cmd":"ica","type":"argv","summary":"Apply class flags at given address","description":"","args_str":" <class name>","args":[{"type":"string","name":"class name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"icc","type":"argv","summary":"Prints class, fields and methods as source code","description":"","args_str":" [<class name>]","args":[{"type":"string","name":"class name","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"icf","type":"argv_state","summary":"List class fields","description":"","args_str":" [<class name>]","args":[{"type":"string","name":"class name","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","quietest","table"],"children":[]},{"cmd":"icm","type":"argv_state","summary":"List class methods","description":"","args_str":" [<class name>]","args":[{"type":"string","name":"class name","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","quietest","table"],"children":[]},{"cmd":"ics","type":"argv","summary":"Generate type definitions from classes","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"iC","type":"argv_state","summary":"Show signature info (entitlements, ...)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"id","type":"group","summary":"Debug commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json","quiet"],"children":[{"cmd":"id","type":"argv_state","summary":"Show DWARF source lines information","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"idp","type":"group","summary":"PDB commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":["standard","json"],"children":[{"cmd":"idp","type":"argv_state","summary":"Load PDB file information","description":"","args_str":" [<file.pdb>]","args":[{"type":"filename","name":"file.pdb"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"idpi","type":"argv_state","summary":"Show PDB file information","description":"","args_str":" [<file.pdb>]","args":[{"type":"filename","name":"file.pdb"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"idpd","type":"argv_state","summary":"Download PDB file on remote server","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"idpx","type":"argv","summary":"Extracts a compressed PDB file to a folder","description":"","args_str":" <file.pdb> <output_dir>","args":[{"type":"filename","name":"file.pdb","required":true},{"type":"filename","name":"output_dir","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]}]},{"cmd":"iD","type":"group","summary":"Demangle symbol for given language","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"iD","type":"argv","summary":"Demangle symbol for given language","description":"","args_str":" <lang> <symbol>","args":[{"type":"choice","name":"lang","required":true,"choices":["java","msvc","objc","pascal","c++","rust","dlang"]},{"type":"string","name":"symbol","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"iDl","type":"argv_state","summary":"Lists the available demanglers","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]}]},{"cmd":"ie","type":"argv_state","summary":"List entrypoints","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]},{"cmd":"iee","type":"argv_state","summary":"List entries/exits functions (e.g. preinit, init, fini)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]},{"cmd":"iE","type":"group","summary":"List exports","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["json","quiet","table"],"children":[{"cmd":"iE","type":"argv_state","summary":"List exports (global symbols)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]},{"cmd":"iE.","type":"argv_state","summary":"List export at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]}]},{"cmd":"ih","type":"argv_state","summary":"Show binary fields","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]},{"cmd":"iH","type":"argv_modes","summary":"Show binary structured data","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"ii","type":"argv_state","summary":"List imports","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]},{"cmd":"iI","type":"argv_state","summary":"Show binary info","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]},{"cmd":"ik","type":"argv","summary":"Query key-value database from RzBinObject","description":"","args_str":" [<sdb-query>]","args":[{"type":"string","name":"sdb-query","is_last":true}],"details":[{"name":"Examples","entries":[{"text":"ik","comment":"Show all key value pairs in the root namespace (same as 'ik *').","arg_str":""},{"text":"ik","comment":"Show all namespaces under root","arg_str":" **"},{"text":"ik","comment":"Show all key value pairs in the 'versioninfo/versym/' namespace.","arg_str":" versioninfo/versym/*"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"il","type":"argv_state","summary":"List libraries","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]},{"cmd":"iL","type":"argv_state","summary":"List all binary plugins loaded / Show plugin details","description":"","args_str":" [<plugin>]","args":[{"type":"string","name":"plugin","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"im","type":"argv_state","summary":"Show info about predefined memory allocation","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]},{"cmd":"iM","type":"argv_state","summary":"Show main address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]},{"cmd":"ir","type":"argv_state","summary":"List relocations","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]},{"cmd":"iR","type":"argv_state","summary":"List Resources","description":"","args_str":" [<digests1> <digests2> ...]","args":[{"type":"string","name":"digests","is_array":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","table"],"children":[]},{"cmd":"is","type":"argv_state","summary":"List symbols","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","quietest","table"],"children":[]},{"cmd":"is.","type":"argv_state","summary":"Current symbol","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]},{"cmd":"iS","type":"argv_state","summary":"List sections","description":"","args_str":" [<digests1> <digests2> ...]","args":[{"type":"string","name":"digests","is_array":true}],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]},{"cmd":"iS.","type":"argv_state","summary":"Current section","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","table"],"children":[]},{"cmd":"iS=","type":"argv","summary":"Show ascii-art color bars with the section ranges","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"iSS","type":"argv_state","summary":"List segments","description":"","args_str":" [<digests1> <digests2> ...]","args":[{"type":"string","name":"digests","is_array":true}],"details":[],"executable":true,"n_children":0,"modes":["json","table"],"children":[]},{"cmd":"iSS.","type":"argv_state","summary":"Current segment","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","table"],"children":[]},{"cmd":"iT","type":"argv_state","summary":"Show file hashes","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"iV","type":"argv_state","summary":"Display file version info","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"iw","type":"argv_state","summary":"Show try/catch blocks","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","table"],"children":[]},{"cmd":"ix","type":"argv_state","summary":"Display source file line info","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"ix.","type":"argv_state","summary":"Display source file line info at current address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"ixf","type":"argv_state","summary":"Display source file info","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"iz","type":"group","summary":"String commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":["json","quiet","quietest","table"],"children":[{"cmd":"iz","type":"argv_state","summary":"List strings","description":"Lists the strings; the behavior can be modified via str.search.*","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","quietest","table"],"children":[]},{"cmd":"izz","type":"argv_state","summary":"List strings in the whole binary","description":"Lists the strings of the whole binary; the behavior can be modified via str.search.*","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","quietest","table"],"children":[]},{"cmd":"iz-","type":"argv","summary":"Purge string at current address via bin.str.purge","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"izx","type":"argv_state","summary":"List all strings which have xrefs to them.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","quietest","table"],"children":[]}]},{"cmd":"iZ","type":"argv_state","summary":"Guess size of binary program","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"java","type":"group","summary":"Core plugin to visualize java class information","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":7,"modes":[],"children":[{"cmd":"javac","type":"argv_modes","summary":"prints the class structure","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"javaf","type":"argv_modes","summary":"prints the class fields","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"javai","type":"argv_modes","summary":"prints the class interfaces","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"javam","type":"argv_modes","summary":"prints the class methods","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"javap","type":"argv_modes","summary":"prints the class constant pool","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"javas","type":"argv","summary":"prints the class like a java source code","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"javar","type":"argv","summary":"resolves the class constant pool value at a given index","description":"","args_str":" <index>","args":[{"type":"number","name":"index","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"k","type":"group","summary":"Run query (SDB)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":[],"children":[{"cmd":"k","type":"argv","summary":"Get or set a value from the SDB.","description":"","args_str":" [<key>[=<val>]]","args":[{"type":"string","name":"key=value","is_last":true}],"details":[{"name":"Examples","entries":[{"text":"k","comment":"List all keys in root namespace.","arg_str":""},{"text":"k","comment":"List namespaces under root.","arg_str":" **"},{"text":"k","comment":"List namespaces under 'analysis'.","arg_str":" analysis/**"},{"text":"k","comment":"List key-value pairs under the 'analysis.meta' namespace.","arg_str":" analysis/meta/*"},{"text":"k","comment":"Show value of key 'meta.0x80404'.","arg_str":" analysis/meta/meta.0x80404"},{"text":"k","comment":"Show value of key 'foo'.","arg_str":" foo"},{"text":"k","comment":"Set key 'foo' to value 'bar'","arg_str":" foo=bar"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"kj","type":"argv","summary":"List all namespaces under 'analysis/' and sdb databases in JSON format (SDB).","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ks","type":"argv","summary":"Enter query shell (SDB).","description":"","args_str":" <namespace>","args":[{"type":"string","name":"namespace","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"kd","type":"argv","summary":"Dump namespace to file (SDB).","description":"","args_str":" <filename> <namespace>","args":[{"type":"filename","name":"filename","required":true},{"type":"string","name":"namespace","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ko","type":"argv","summary":"Load namespace from file (SDB).","description":"","args_str":" <filename> <namespace>","args":[{"type":"filename","name":"filename","required":true},{"type":"string","name":"namespace","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"L","type":"group","summary":"List, unload, load rizin plugins","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":12,"modes":[],"children":[{"cmd":"L","type":"argv","summary":"Load a plugin from file","description":"","args_str":" <plugin_file>","args":[{"type":"filename","name":"plugin_file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"L-","type":"argv","summary":"Unload a plugin from file","description":"","args_str":" <plugin_file>","args":[{"type":"filename","name":"plugin_file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Ll","type":"argv_state","summary":"List the lang plugins","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"La","type":"group","summary":"List the asm/analysis plugins","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json","quiet","table"],"children":[{"cmd":"La","type":"argv_state","summary":"List the arch plugins","description":"","args_str":" [<features>]","args":[{"type":"string","name":"features","is_last":true}],"details":[{"name":"Legend","entries":[{"text":"a","comment":"Analysis plugin","arg_str":""},{"text":"d","comment":"Disassembler plugin","arg_str":""},{"text":"A","comment":"Assembler plugin","arg_str":""},{"text":"e","comment":"ESIL Support","arg_str":""},{"text":"I","comment":"RzIL Support","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"Lac","type":"argv_state","summary":"List the cpus supported by the arch plugin","description":"","args_str":" <architecture>","args":[{"type":"string","name":"architecture","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"Lc","type":"argv_state","summary":"List the core plugins","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"LC","type":"argv_state","summary":"List the crypto plugins","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"Ld","type":"argv_state","summary":"List debug plugins / Set debug backend (e dbg.backend)","description":"","args_str":" [<handler>]","args":[{"type":"string","name":"handler","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"Lh","type":"argv_state","summary":"List the hash plugins","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"Li","type":"argv_state","summary":"List the bin plugins","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"Lo","type":"argv_state","summary":"List IO plugins / Register IO plugin from <path>","description":"","args_str":" [<path>]","args":[{"type":"filename","name":"path"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"Lp","type":"argv_state","summary":"List the parser plugins","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"LD","type":"argv_state","summary":"List the demanglers plugins (alias for iDl)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]}]},{"cmd":"m","type":"group","summary":"Manage marks","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":14,"modes":[],"children":[{"cmd":"m","type":"argv","summary":"Adds a mark if there are no existing marks.","description":"Adds the mark to the current offset only if no mark covers this offset already","args_str":" <name> <end> [<comment>]","args":[{"type":"string","name":"name","required":true},{"type":"number","name":"end","required":true},{"type":"string","name":"comment","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"m+","type":"argv","summary":"Add mark.","description":"Adds a mark at the current offset, replacing any existing mark with the same name.","args_str":" <name> <end> [<comment>]","args":[{"type":"string","name":"name","required":true},{"type":"number","name":"end","required":true},{"type":"string","name":"comment","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"m-","type":"argv","summary":"Remove mark.","description":"Removes marks by name. If <regex_pattern> is given, only marks whose name matches the regex are removed. Otherwise, all marks covering the current offset are removed.","args_str":" [<regex_pattern>]","args":[{"type":"string","name":"regex_pattern","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"m-*","type":"argv","summary":"Remove all marks.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ml","type":"argv_state","summary":"List all marks.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"ml.","type":"argv_state","summary":"List all marks containing the current offset.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"mc","type":"argv","summary":"Set a color for the given mark / Show the color for the given mark.","description":"","args_str":" <name> [<color>]","args":[{"type":"unknown","name":"name","required":true},{"type":"string","name":"color","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"mC","type":"argv","summary":"Set a comment for the given mark. If no comment is given, it shows the current one for the mark.","description":"","args_str":" <name> [<comment>]","args":[{"type":"unknown","name":"name","required":true},{"type":"string","name":"comment","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"mr","type":"argv","summary":"Rename mark.","description":"","args_str":" <old> <new>","args":[{"type":"unknown","name":"old","required":true},{"type":"string","name":"new","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"mN","type":"argv","summary":"Show the realname of the mark / Set the realname of the mark.","description":"Each mark has two identifiers. <name> is the unique, escaped identifier used internally by Rizin. <realname> is the original, unescaped name, kept as given by the user.","args_str":" <name> [<realname>]","args":[{"type":"unknown","name":"name","required":true},{"type":"string","name":"realname","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"mm","type":"argv","summary":"Move a mark to new a location.","description":"","args_str":" <name> <new_start> <new_end>","args":[{"type":"unknown","name":"name","required":true},{"type":"expression","name":"new_start","required":true},{"type":"expression","name":"new_end","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"mf","type":"argv","summary":"Distance in bytes to reach the starting of mark from the current offset.","description":"","args_str":" <regex_pattern>","args":[{"type":"string","name":"regex_pattern","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"md","type":"group","summary":"Describe mark.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":1,"modes":["standard","json","table"],"children":[{"cmd":"md","type":"argv_state","summary":"Describe marks at the current offset or a named mark with distance from the offset.","description":"Displays information about marks. Without arguments, it describes all marks that contain the current offset. With a <name> argument, it shows details of that mark and the distance in bytes from the current offset to reach the mark. If the mark begins after the current offset, it shows <name> - <bytes> (distance from current offset to start of the mark). If the mark ends before the current offset, it shows <name> + <bytes> (distance from current offset to the end of the mark).","args_str":" [<name>]","args":[{"type":"unknown","name":"name"}],"details":[{"name":"Usage example","entries":[{"text":"md","comment":"Describe all marks containing the current offset","arg_str":""},{"text":"md foo","comment":"Describe the mark named 'foo' and show distance from current offset to reach 'foo' in bytes","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json","table"],"children":[]}]},{"cmd":"mi","type":"argv_state","summary":"Show marks in the current block or in the next <size> bytes.","description":"","args_str":" [<size>]","args":[{"type":"expression","name":"size","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]}]},{"cmd":"o","type":"group","summary":"Open files and handle opened files","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":18,"modes":[],"children":[{"cmd":"o","type":"argv","summary":"Open <file>","description":"","args_str":" <file> [<addr> [<perm>]]","args":[{"type":"filename","name":"file","required":true},{"type":"expression","name":"addr"},{"type":"string","name":"perm","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"o+","type":"argv","summary":"Open <file> in write mode","description":"","args_str":" <file> [<addr> [<perm>]]","args":[{"type":"filename","name":"file","required":true},{"type":"expression","name":"addr"},{"type":"string","name":"perm","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ol","type":"argv_state","summary":"List opened files","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"ol.","type":"argv_state","summary":"Show currently opened file","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"o-","type":"argv","summary":"Close file descriptor","description":"","args_str":" <fd>","args":[{"type":"number","name":"fd","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"o--","type":"argv","summary":"Close all files","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"oc","type":"argv","summary":"Close all opened files and open <file>, like relaunching rizin","description":"","args_str":" <file>","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"oC","type":"argv","summary":"Open a 'malloc://<len>' file, copying the bytes from current offset","description":"","args_str":" <len>","args":[{"type":"expression","name":"len","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"on","type":"group","summary":"Open files without parsing binary info","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"on","type":"argv","summary":"Open <file> without parsing binary info","description":"","args_str":" <file> [<addr> [<perm>]]","args":[{"type":"filename","name":"file","required":true},{"type":"expression","name":"addr"},{"type":"string","name":"perm","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"on+","type":"argv","summary":"Open <file> in write mode, without parsing binary info","description":"","args_str":" <file> [<addr> [<perm>]]","args":[{"type":"filename","name":"file","required":true},{"type":"expression","name":"addr"},{"type":"string","name":"perm","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"oo","type":"group","summary":"Reopen current file","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":10,"modes":[],"children":[{"cmd":"oo","type":"argv","summary":"Reopen current file or file <fd>","description":"","args_str":" [<fd>]","args":[{"type":"number","name":"fd"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"oo+","type":"argv","summary":"Reopen current file or file <fd> in write mode","description":"","args_str":" [<fd>]","args":[{"type":"number","name":"fd"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"oob","type":"argv","summary":"Reopen current file and reload binary information","description":"","args_str":" [<baddr>]","args":[{"type":"expression","name":"baddr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ooc","type":"argv","summary":"Reopen current file as if restarting rizin","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ood","type":"group","summary":"Reopen current file in debug mode","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"ood","type":"argv","summary":"Reopen current file in debug mode","description":"","args_str":" [<args1> <args2> ...]","args":[{"type":"string","name":"args","is_array":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"oodf","type":"argv","summary":"Open <uri> in debug mode","description":"","args_str":" <uri> [<addr>]","args":[{"type":"string","name":"uri","required":true},{"type":"expression","name":"addr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"oodr","type":"argv","summary":"Reopen current file in debug mode with given rz-run directives","description":"","args_str":" <rz-run-directives>","args":[{"type":"string","name":"rz-run-directives","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"oom","type":"argv","summary":"Reopen curent file in malloc://","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"oon","type":"argv","summary":"Reopen curent file without loading binary information","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"oon+","type":"argv","summary":"Reopen curent file in write-mode without loading binary information","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"oonn","type":"argv","summary":"Reopen curent file without loading binary information but with header flags","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"oonn+","type":"argv","summary":"Reopen curent file in write-mode without loading binary information but with header flags","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"oL","type":"argv_state","summary":"List all IO plugins / Register IO plugin from <path>","description":"","args_str":" [<path>]","args":[{"type":"filename","name":"path"}],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]},{"cmd":"o=","type":"argv","summary":"List opened files in ASCII-art bars","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"oa","type":"argv","summary":"Specify <arch> and <bits> for the file <filename> or the current one if none is specified","description":"","args_str":" <arch> <bits> [<filename>]","args":[{"type":"string","name":"arch","required":true},{"type":"expression","name":"bits","required":true},{"type":"filename","name":"filename"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ob","type":"group","summary":"Handle binary files","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":11,"modes":[],"children":[{"cmd":"ob","type":"argv","summary":"Switch to binary file with the given <id>","description":"","args_str":" <id>","args":[{"type":"number","name":"id","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"obo","type":"argv","summary":"Switch to binary file with the given <fd>","description":"","args_str":" <fd>","args":[{"type":"number","name":"fd","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ob-","type":"argv","summary":"Delete binary file with the given <id>","description":"","args_str":" <id>","args":[{"type":"number","name":"id","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ob-*","type":"argv","summary":"Delete all binary files","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"obl","type":"argv_state","summary":"List opened binary files","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"obl=","type":"argv","summary":"List opened binary files in ASCII art","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ob.","type":"argv","summary":"Show id of binary file current address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"oba","type":"argv","summary":"Open binary file for current file and load binary info with baseaddr at current offset","description":"","args_str":" <loadaddr>=0","args":[{"type":"expression","name":"loadaddr","required":true,"is_last":true,"default":"0"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"obf","type":"argv","summary":"Load binary info for the given file or current one with baseaddr at current offset","description":"","args_str":" [<file>]","args":[{"type":"filename","name":"file"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"obs","type":"argv","summary":"Select the binary version for the specified architecture from the fat binary.","description":"","args_str":" [<arch>]","args":[{"type":"string","name":"arch","is_last":true}],"details":[{"name":"Examples","entries":[{"text":"obs","comment":"List all architectures the fat binary supports contains.","arg_str":""},{"text":"obs sparc","comment":"Select and load the binary for Sparc","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"obR","type":"argv","summary":"Reload the current buffer for setting of the bin (use once only)","description":"","args_str":" <baddr>=0","args":[{"type":"expression","name":"baddr","required":true,"is_last":true,"default":"0"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"ou","type":"argv","summary":"Use specified <fd>","description":"","args_str":" <fd>","args":[{"type":"number","name":"fd","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"op","type":"group","summary":"Select prioritized file","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":[],"children":[{"cmd":"op","type":"argv","summary":"Prioritize file with file descriptor <fd>","description":"","args_str":" <fd>","args":[{"type":"number","name":"fd","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"opn","type":"argv","summary":"Prioritize next file in the list","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"opp","type":"argv","summary":"Prioritize previous file in the list","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"opr","type":"argv","summary":"Prioritize next file in the list (go back to first if on the last)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"om","type":"group","summary":"Handle IO maps","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":15,"modes":[],"children":[{"cmd":"om","type":"argv","summary":"Create a new map","description":"","args_str":" <fd> <vaddr> [<size> [<paddr> [<flags> [<name>]]]]","args":[{"type":"number","name":"fd","required":true},{"type":"expression","name":"vaddr","required":true},{"type":"expression","name":"size"},{"type":"expression","name":"paddr"},{"type":"string","name":"flags"},{"type":"string","name":"name","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"oml","type":"argv_state","summary":"List maps of all file descriptor or only the specified <fd>","description":"","args_str":" [<fd>]","args":[{"type":"number","name":"fd"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","quietest","table"],"children":[]},{"cmd":"oml.","type":"argv_state","summary":"Show map at the current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","quietest","table"],"children":[]},{"cmd":"oml=","type":"argv","summary":"List IO maps in ASCII art","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"om-","type":"argv","summary":"Remove the IO map with corresponding <id>","description":"","args_str":" <id>","args":[{"type":"number","name":"id","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"om-*","type":"argv","summary":"Remove all IO maps","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"oma","type":"argv","summary":"Create a IO map covering all VA for given <fd> or current one if not provided","description":"","args_str":" [<fd>]","args":[{"type":"number","name":"fd"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"omb","type":"argv","summary":"Relocate map with corresponding <id> to <addr>","description":"","args_str":" <id> <addr>","args":[{"type":"number","name":"id","required":true},{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"omb.","type":"argv","summary":"Relocate map at current offset to <addr>","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"omf","type":"argv","summary":"Change flags/perms for map with given <id> or current one","description":"","args_str":" <flags> [<id>]","args":[{"type":"string","name":"flags","required":true},{"type":"number","name":"id"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"omfg","type":"argv","summary":"Change flags/perms for all maps","description":"Update flags of all maps. If <flags> starts with a +, the specified flags are added to the maps. If <flags> starts with a -, the specified flags are removed from the maps. Otherwise, the exact <flags> are set for each map.","args_str":" <flags>","args":[{"type":"string","name":"flags","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"omm","type":"argv","summary":"Create default map for given <fd> or current one","description":"","args_str":" [<fd>]","args":[{"type":"number","name":"fd"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"omn","type":"group","summary":"Handle maps names","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":[],"children":[{"cmd":"omn","type":"argv","summary":"Set name of map which spans current seek","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"omn-","type":"argv","summary":"Delete name of map which spans current seek","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"omni","type":"argv","summary":"Set name of map with map <id>","description":"","args_str":" <id> <name>","args":[{"type":"number","name":"id","required":true},{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"omni-","type":"argv","summary":"Delete name of map with map <id>","description":"","args_str":" <id>","args":[{"type":"number","name":"id","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"omr","type":"argv","summary":"Resize map with corresponding <id>","description":"","args_str":" <id> <newsize>","args":[{"type":"number","name":"id","required":true},{"type":"expression","name":"newsize","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"omp","type":"group","summary":"Prioritize maps","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":[],"children":[{"cmd":"omp","type":"argv","summary":"Prioritize map with the corresponding id","description":"","args_str":" <id>","args":[{"type":"number","name":"id","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ompb","type":"argv","summary":"Prioritize maps of the bin associated with the binid","description":"","args_str":" <fd>","args":[{"type":"number","name":"fd","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ompd","type":"argv","summary":"Deprioritize map with the corresponding id","description":"","args_str":" <id>","args":[{"type":"number","name":"id","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ompf","type":"argv","summary":"Prioritize map by fd","description":"","args_str":" <fd>","args":[{"type":"number","name":"fd","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]}]},{"cmd":"ox","type":"argv","summary":"Exchange the descs of <fd> and <fdx> and keep the mapping","description":"","args_str":" <fd> <fdx>","args":[{"type":"number","name":"fd","required":true},{"type":"number","name":"fdx","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"P","type":"group","summary":"Project management","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":3,"modes":[],"children":[{"cmd":"Ps","type":"argv","summary":"Save a project","description":"","args_str":" [<project.rzdb>]","args":[{"type":"filename","name":"project.rzdb"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Po","type":"argv","summary":"Open a project","description":"","args_str":" <project.rzdb>","args":[{"type":"filename","name":"project.rzdb","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Poo","type":"argv","summary":"Open a project on top of currently loaded binaries","description":"","args_str":" <project.rzdb>","args":[{"type":"filename","name":"project.rzdb","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p","type":"group","summary":"Print commands","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":30,"modes":[],"children":[{"cmd":"p2","type":"argv","summary":"Print 8x8 2bpp tiles.","description":"","args_str":" [<n>]","args":[{"type":"expression","name":"n","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p8","type":"group","summary":"Print 8bit hexpair list of bytes.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json"],"children":[{"cmd":"p8","type":"argv_state","summary":"Print 8bit hexpair list of bytes.","description":"","args_str":" [<n>]","args":[{"type":"expression","name":"n","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"p8f","type":"argv","summary":"Print 8bit hexpair list of bytes in function (linear).","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"pb","type":"argv_modes","summary":"Print bitstream of <n> bits, skipping the first <skip> bits.","description":"","args_str":" <n> <skip>=0","args":[{"type":"expression","name":"n","required":true},{"type":"expression","name":"skip","required":true,"is_last":true,"default":"0"}],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"pB","type":"argv_modes","summary":"Print bitstream of <n> bytes","description":"","args_str":" <n>","args":[{"type":"expression","name":"n","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"pa","type":"group","summary":"Print (dis)assembly of given hexpairs/assembly","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":["standard"],"children":[{"cmd":"pa","type":"argv_modes","summary":"Print hexpairs of the given assembly expression","description":"","args_str":" <assembly>","args":[{"type":"string","name":"assembly","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"pae","type":"argv_modes","summary":"Print ESIL expression of the given assembly expression","description":"","args_str":" <assembly>","args":[{"type":"string","name":"assembly","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"pad","type":"argv_modes","summary":"Print assembly expression from hexpairs (alias for pix)","description":"","args_str":" <hexpair>","args":[{"type":"string","name":"hexpair","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"pade","type":"argv_modes","summary":"Print ESIL expression from hexpairs","description":"","args_str":" <hexpair>","args":[{"type":"string","name":"hexpair","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]}]},{"cmd":"pc","type":"group","summary":"Print bytes as code byte arrays.","description":"","args_str":"","args":[],"details":[{"name":"Useful modifiers","entries":[{"text":"pch @e:cfg.bigendian=<true|false>","comment":"Change endianness for pch, pcw and pcd commands","arg_str":""},{"text":"pc @! <n>","comment":"Change the N of bytes (i.e. block size).","arg_str":""}]},{"name":"Example of usages","entries":[{"text":"pch @! 64 @e:cfg.bigendian=true","comment":"Generate a C 32 bits array in big endian format, using 64 bytes","arg_str":""},{"text":"pcp 1024","comment":"Generate a Python byte array of size 1024","arg_str":""},{"text":"pcj 10","comment":"Generate a JSON bytes array of size 10","arg_str":""}]}],"executable":true,"n_children":18,"modes":[],"children":[{"cmd":"pc","type":"argv","summary":"Generate a C/C++ byte array.","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pch","type":"argv","summary":"Generate a C/C++ 16 bits array.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pcw","type":"argv","summary":"Generate a C/C++ 32 bits array.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pcd","type":"argv","summary":"Generate a C/C++ 64 bits array.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pca","type":"argv","summary":"Generate a byte array in GAS assembly.","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pcA","type":"argv","summary":"Generate a byte array in GAS assembly with instructions in comments.","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pcb","type":"argv","summary":"Generate a bash script with the byte array.","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pcg","type":"argv","summary":"Generate a Golang byte array.","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pcJ","type":"argv","summary":"Generate a Java byte array.","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pcj","type":"argv","summary":"Generate a JSON byte array.","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pck","type":"argv","summary":"Generate a Kotlin byte array.","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pcn","type":"argv","summary":"Generate a NodeJS buffer.","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pco","type":"argv","summary":"Generate a Objective-C/C++ byte array.","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pcp","type":"argv","summary":"Generate a Python byte array.","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pcr","type":"argv","summary":"Generate a Rust byte array.","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pcs","type":"argv","summary":"Generate a Swift byte array.","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pcy","type":"argv","summary":"Generate a Yara match pattern.","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pc*","type":"argv","summary":"Generate a rizin commands for writing the byte array.","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"pD","type":"argv_state","summary":"Disassemble N bytes (can be negative)","description":"","args_str":" [<n_bytes>]","args":[{"type":"expression","name":"n_bytes","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"pC","type":"group","summary":"Print disassembly in columns","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":6,"modes":[],"children":[{"cmd":"pCd","type":"argv","summary":"Print <len> lines of instructions disassembly in columns","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pCD","type":"argv","summary":"Print <len> lines of the debug registers and stack in columns","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pCa","type":"argv","summary":"Print <len> lines of annotated hexdump in columns","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pCA","type":"argv","summary":"Print <len> lines of op analysis color map in columns","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pCx","type":"argv","summary":"Print <len> lines of hexdump in columns","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pCw","type":"argv","summary":"Print <len> lines of 4-byte integer hexdump in columns","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"pd","type":"group","summary":"Print Disassembly","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":13,"modes":["standard","json","quiet","table"],"children":[{"cmd":"pd","type":"argv_state","summary":"Disassemble N instructions (can be negative)","description":"","args_str":" [<n_instrs>]","args":[{"type":"expression","name":"n_instrs","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"pda","type":"group","summary":"Disassemble all possible opcodes (byte per byte)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json","quiet"],"children":[{"cmd":"pda","type":"argv_state","summary":"Disassemble all possible opcodes (byte per byte)","description":"","args_str":" [<n_bytes>]","args":[{"type":"expression","name":"n_bytes","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"pda=","type":"argv","summary":"Disassemble all possible opcodes (treeview)","description":"","args_str":" [<n_bytes>]","args":[{"type":"expression","name":"n_bytes","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"pdb","type":"group","summary":"Disassemble basic block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json"],"children":[{"cmd":"pdb","type":"argv_state","summary":"Disassemble basic block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pdbJ","type":"argv_state","summary":"Disassemble basic block as json containing the printed text","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]}]},{"cmd":"pdC","type":"argv","summary":"Prints the comments found in N instructions","description":"","args_str":" [<n_instrs>]","args":[{"type":"expression","name":"n_instrs","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pde","type":"argv_state","summary":"Disassemble N instructions following execution flow from current PC","description":"","args_str":" [<n_instrs>]","args":[{"type":"expression","name":"n_instrs","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","quietest"],"children":[]},{"cmd":"pdf","type":"group","summary":"Disassemble a function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json"],"children":[{"cmd":"pdf","type":"argv_state","summary":"Disassemble a function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pdfs","type":"argv","summary":"Disassemble a function and outputs the summary of it.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"pdJ","type":"argv_state","summary":"Disassemble N instructions as json containing the printed text","description":"","args_str":" [<n_instrs>]","args":[{"type":"expression","name":"n_instrs","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"pdk","type":"argv","summary":"Disassemble all methods of a class","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pdl","type":"argv_state","summary":"Disassemble N instructions and prints its sizes","description":"","args_str":" [<n_instrs>]","args":[{"type":"expression","name":"n_instrs","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pdp","type":"argv_state","summary":"Disassemble instructions and follows pointers to read ropchains","description":"","args_str":" [<limit>]","args":[{"type":"number","name":"limit"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"pdr","type":"group","summary":"Disassemble recursively across the function graph","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json"],"children":[{"cmd":"pdr","type":"argv_state","summary":"Disassemble recursively across the function graph","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pdr.","type":"argv_state","summary":"Disassemble recursively across the function graph (from current basic block)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"pdR","type":"argv_state","summary":"Disassemble recursively the block size bytes without analyzing functions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"pds","type":"group","summary":"Summarize N bytes or current block or a function (strings, calls, jumps, refs)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"pds","type":"argv","summary":"Summarize N bytes","description":"","args_str":" [<n_bytes>]","args":[{"type":"expression","name":"n_bytes","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pdsf","type":"argv","summary":"Summarize the current function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pdsb","type":"argv","summary":"Summarize current block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]}]},{"cmd":"pf","type":"group","summary":"Print formatted data","description":"","args_str":"","args":[],"details":[{"name":"Sized integers (lowercase=LE UPPER=BE)","entries":[{"text":"x1 / x2 / x4 / x8","comment":"hex unsigned, N bytes","arg_str":""},{"text":"d1 / d2 / d4 / d8","comment":"decimal signed, N bytes","arg_str":""},{"text":"u1 / u2 / u4 / u8","comment":"decimal unsigned, N bytes","arg_str":""},{"text":"o1 / o2 / o4 / o8","comment":"octal, N bytes","arg_str":""},{"text":"b1 / b2 / b4 / b8","comment":"binary, N bytes","arg_str":""},{"text":"n1 / n2 / n4 / n8","comment":"hex unsigned, N bytes; endian comes from the active pf parsing context (set by pf -e, by a parent V/B's e=..., or by the embedding caller), not from the spec's case; useful when the byte order isn't fixed in the format itself (file headers with an endian marker, embedded protocols, serialised records)","arg_str":""},{"text":"f2 / f4 / f8","comment":"IEEE 754 float, 2/4/8 bytes (half/single/double)","arg_str":""}]},{"name":"Special scalars","entries":[{"text":"c","comment":"single byte rendered as character","arg_str":""},{"text":"p / p2 / p4 / p8","comment":"pointer: bare p uses ctx.bits (2/4/8 bytes); p2/p4/p8 force the width","arg_str":""},{"text":"Q","comment":"uint128_t (16 bytes, byte-sequential)","arg_str":""},{"text":"r","comment":"raw hex byte dump (count via [N])","arg_str":""},{"text":"U / L","comment":"ULEB128 / SLEB128 (variable length)","arg_str":""}]},{"name":"Strings (encoding-aware)","entries":[{"text":"z","comment":"inline NUL-terminated string","arg_str":""},{"text":"z(utf16le)","comment":"encoding override (utf8, utf16le, utf16be, utf32le, utf32be, ibm037, ebcdic_us, ...)","arg_str":""},{"text":"z[N]","comment":"length-prefixed string, N-byte prefix (1/2/4/8), length is in characters","arg_str":""},{"text":"z(utf16le)[2b]","comment":"length prefix in BYTES (MS BSTR style); suffix 'b' switches the unit","arg_str":""},{"text":"s","comment":"pointer to NUL-terminated string (dereferences via read_at)","arg_str":""}]},{"name":"Timestamps (parameterised)","entries":[{"text":"t(unix32) / T(unix32)","comment":"wire format inside the parens; case selects LE/BE","arg_str":""},{"text":"supported formats","comment":"unix32, unix64, unixms, unixus, unixns, filetime (alias ntfs), dos, hfs, oletime, webkit, cocoa","arg_str":""}]},{"name":"Typed composites","entries":[{"text":"E (enum_type)","comment":"4-byte enum, name resolved via typedb","arg_str":""},{"text":"B (bitfield_type)","comment":"4-byte bitfield, name resolved via typedb","arg_str":""},{"text":"B4(R=1,W=2,X=4)","comment":"inline bitfield with named flags (size = 1/2/4/8 byte BN)","arg_str":""},{"text":"? (struct_type)","comment":"nested struct, name resolved via typedb","arg_str":""},{"text":"0...","comment":"leading '0' marks the format as a union (all fields share offset 0)","arg_str":""}]},{"name":"DSL extensions","entries":[{"text":"@N","comment":"align cursor up to next N-byte boundary (no value, no name)","arg_str":""},{"text":":N","comment":"read N bits (1..64) from packed bitstream; MSB-first by default","arg_str":""},{"text":":N< / :N>","comment":"explicit bit order: < = LSB-first, > = MSB-first","arg_str":""},{"text":"G","comment":"16-byte GUID/UUID, mixed-endian (MS) layout by default","arg_str":""},{"text":"G(le) / G(be)","comment":"GUID layout: G(le) is LE on D1/D2/D3 (D4 stays raw, effectively the MS layout); G(be) is RFC 4122 BE","arg_str":""},{"text":"V(t=u1,l=u2,d=table)","comment":"TLV record; t=tag, l=length, e=le/be, h=v/l/a (len covers value / len+value / tag+len+value), d=dispatch table","arg_str":""},{"text":"v(N) / v(N,lsb) / v(N,msb)","comment":"bitvector: N individual bits (1..4096) exposed as separate 0/1 scalars; consumes ceil(N/8) bytes; bytes are always shown low-address to high; within each byte the default (msb) prints bit 7 first through bit 0, while lsb flips that to bit 0 first through bit 7","arg_str":""},{"text":"[@field_name]T","comment":"array whose length comes from an earlier scalar field","arg_str":""}]},{"name":"Skip / repeat / pointers","entries":[{"text":".","comment":"skip 1 byte; [N]. skips N bytes","arg_str":""},{"text":"3...","comment":"leading integer repeats the whole format N times","arg_str":""},{"text":"{N}...","comment":"alternate repeat syntax","arg_str":""},{"text":"*T","comment":"field is a pointer to T (dereferenced via read_at)","arg_str":""},{"text":"[N]T","comment":"fixed-size array of N elements of T","arg_str":""}]},{"name":"Examples","entries":[{"text":"pf 'x4 d2 u8 z magic ver size name'","comment":"header with hex u32, signed s16, unsigned u64, NUL-terminated string","arg_str":""},{"text":"pf 'B4(R=1,W=2,X=4,KERN=0x100) perms'","comment":"inline bitfield with named flags","arg_str":""},{"text":"pf 'u1 [@count] x4 count items'","comment":"u8 count, then that many u32 hex values","arg_str":""},{"text":"pf 'z(utf16le)[2b] bstr'","comment":"BSTR-style: 2-byte length prefix counting bytes, UTF-16 LE body","arg_str":""},{"text":"pf ':1 :7 x4 flag rest tail'","comment":"bit-level: 1 bit then 7 bits, then 4 bytes","arg_str":""},{"text":"pf 'G(be) uuid'","comment":"RFC 4122 big-endian UUID","arg_str":""},{"text":"pf 'V(t=u1,l=u2,d=usb_desc) record'","comment":"TLV dispatched via the 'usb_desc' tag-to-format table","arg_str":""},{"text":"pf 't(filetime) created'","comment":"8-byte Windows FILETIME timestamp","arg_str":""},{"text":"pf '3 0x4d4 a b'","comment":"repeat 3 times, union with fields x4 and d4","arg_str":""},{"text":"pf '? (mytype) field'","comment":"nested struct of typedb format 'mytype'","arg_str":""}]},{"name":"Notes","entries":[{"text":"bit order","comment":":N defaults to MSB-first (matches DWARF and most network protocols); use <N for LSB-first","arg_str":""},{"text":"endian via case","comment":"lowercase specifier = little-endian, UPPERCASE = big-endian","arg_str":""},{"text":"context endian","comment":"n1/n2/n4/n8 take the active pf parsing context's current endian setting, not the spec's case","arg_str":""},{"text":"skip vs alignment","comment":"'.' / '[N].' skip an exact number of bytes; '@N' pads to the next N-byte boundary","arg_str":""},{"text":"deprecation","comment":"bare-letter codes (b, C, d, f, F, i, o, q, t, T, w, x, X, Z) still parse with a one-time warning; use the sized or parenthesised forms in new code","arg_str":""},{"text":"pf 'X2D4u8 bigWord beef qword'","comment":"BE u16, BE s32, LE u64 -- one of every endianness/sign combination","arg_str":""},{"text":"pfn foo 'rr (eax)reg1 (eip)reg2'","comment":"Create object foo referencing two registers","arg_str":""},{"text":"pf 't(unix32)t(unix32) troll plop'","comment":"Print two unix-epoch (32-bit) timestamps with labels 'troll' and 'plop'","arg_str":""}]}],"executable":true,"n_children":12,"modes":["standard","json","quiet"],"children":[{"cmd":"pf","type":"argv_state","summary":"Show data using given format string","description":"","args_str":" <format>","args":[{"type":"string","name":"format","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"pf-","type":"argv","summary":"Remove named format","description":"","args_str":" <formatname>","args":[{"type":"unknown","name":"formatname","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pf-*","type":"argv","summary":"Remove all named formats","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pfa","type":"argv","summary":"Apply format string at given address and define flags for each field","description":"","args_str":" <format>","args":[{"type":"unknown","name":"format","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pfc","type":"argv","summary":"Show data using given format string with C syntax","description":"","args_str":" <format>","args":[{"type":"unknown","name":"format","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pfd","type":"argv","summary":"Show data using given format string as DOT","description":"","args_str":" <format>","args":[{"type":"unknown","name":"format","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pf.","type":"argv_state","summary":"Show data using given named format","description":"","args_str":" [<formatname>]","args":[{"type":"unknown","name":"formatname","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"pfn","type":"argv","summary":"List named formats/Print named format string/Define a new named format","description":"","args_str":" [<formatname> [<formatstring>]]","args":[{"type":"unknown","name":"formatname"},{"type":"string","name":"formatstring","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pfo","type":"argv","summary":"Load a Format Definition File (FDF)","description":"","args_str":" [<file>]","args":[{"type":"unknown","name":"file","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pfs","type":"argv","summary":"Print the size of format in bytes","description":"","args_str":" <format>","args":[{"type":"unknown","name":"format","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pfv","type":"argv","summary":"Print the value for named format","description":"","args_str":" <format>","args":[{"type":"unknown","name":"format","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pfw","type":"argv","summary":"Write data using given format string","description":"","args_str":" <format> [<value>]","args":[{"type":"unknown","name":"format","required":true},{"type":"string","name":"value","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"pF","type":"group","summary":"Deserializes ASN.1, PKCS, X509, ProtoBuf, AXML, etc.. formats","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":6,"modes":[],"children":[{"cmd":"pFa","type":"group","summary":"Deserializes the ASN.1 DER structure from the current block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard"],"children":[{"cmd":"pFa","type":"argv_modes","summary":"Deserializes the ASN.1 DER structure from the current block as a hexdump.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"pFas","type":"argv_state","summary":"Deserializes the ASN.1 DER structure from the current block as a structured data format.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]}]},{"cmd":"pFb","type":"group","summary":"Deserializes raw protobuf from current block as a hexdump.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"pFb","type":"argv","summary":"Deserializes raw protobuf from current block as a hexdump.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pFbv","type":"argv","summary":"Deserializes raw protobuf from current block as a hexdump(verbose).","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"pFp","type":"argv_state","summary":"Deserializes PKCS7 from current block as a structured data format.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pFx","type":"argv_state","summary":"Deserializes X.509 from current block as a structured data format.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pF8","type":"argv_state","summary":"Deserializes PKCS#8 private keys from current block as a structured data format.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pFA","type":"argv","summary":"Deserializes Android Binary XML from current block as XML format.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"ph","type":"group","summary":"Print hash/message digest or entropy","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"ph","type":"argv","summary":"Prints a hash/message digest or entropy (use @! to change the block size)","description":"","args_str":" <algo>","args":[{"type":"string","name":"algo","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"phl","type":"argv_state","summary":"Lists all the supported algorithms","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]}]},{"cmd":"pi","type":"group","summary":"Print instructions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":10,"modes":[],"children":[{"cmd":"pi","type":"argv","summary":"Disassemble and print <N> instructions","description":"","args_str":" [<N>]","args":[{"type":"expression","name":"N","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pia","type":"argv","summary":"Print all possible opcodes (byte by byte)","description":"","args_str":" [<N>]","args":[{"type":"expression","name":"N","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pib","type":"argv","summary":"Print all instructions in a basic block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pie","type":"argv","summary":"Print offset and ESIL expression","description":"","args_str":" [<N>]","args":[{"type":"expression","name":"N","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pif","type":"argv_state","summary":"Print all instructions at the current function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pifc","type":"argv_state","summary":"Print only call instructions at the current function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pir","type":"argv_state","summary":"Print instructions using recursive disassembly algorithm","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pir.","type":"argv_state","summary":"Print instructions using recursive disassembly algorithm from the current position","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"piu","type":"argv_state","summary":"Print all instructions until first ret/jmp","description":"","args_str":" [<limit>]","args":[{"type":"expression","name":"limit","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","quiet"],"children":[]},{"cmd":"pix","type":"argv_modes","summary":"Print assembly expression from hexpairs (alias for pad)","description":"","args_str":" <hexpair>","args":[{"type":"string","name":"hexpair","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]}]},{"cmd":"pI","type":"group","summary":"Print instructions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"pI","type":"argv","summary":"Disassemble and print <N> bytes","description":"","args_str":" [<N>]","args":[{"type":"expression","name":"N","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pIf","type":"argv","summary":"Print all instructions at the current function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"pj","type":"argv","summary":"Parse, format and print JSON at current offset.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pl","type":"group","summary":"Print RzIL","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":2,"modes":[],"children":[{"cmd":"plf","type":"argv","summary":"Print RzIL of the function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"plF","type":"argv","summary":"Print unicode RzIL of the function at current seek.","description":"Prints the RzIL of the function at current seek using unicode special characters. This command requires 'scr.utf8=true', use 'plf' for plain ASCII output.","args_str":"","args":[],"details":[{"name":"General","entries":[{"text":"Set","comment":"Set (assign) y to x.","arg_str":" x ← y"},{"text":"Let","comment":"Let binding (expression-scoped).","arg_str":" (x = exp body)"},{"text":"ITE","comment":"If-Then-Else (ITE).","arg_str":" (cond ↠ x y)"},{"text":"Jump","comment":"Jump to dst.","arg_str":" ↷ dst"},{"text":"Goto","comment":"Goto label l.","arg_str":" @ l"},{"text":"Branch","comment":"Branch (Conditional).","arg_str":" (cond ⅄ true_eff false_eff)"},{"text":"Repeat","comment":"Repeat eff until cond is true.","arg_str":" (cond ⟳ eff)"},{"text":"Empty","comment":"Empty RzIL op.","arg_str":" {}"},{"text":"NOP","comment":"No operation.","arg_str":" ɴᴏᴘ"},{"text":"Blk","comment":"A sequence of deff (data effect) and ceff (control effect) with label l.","arg_str":" (l: deff ceff)"},{"text":"Unk","comment":"Unknown operation, usually represents an error.","arg_str":" ?"}]},{"name":"Bitvector","entries":[{"text":"Bitv","comment":"Bitvector literal x with length n.","arg_str":" xₙ"},{"text":"Cast","comment":"Cast x to length n with fill bit b.","arg_str":" (x ≈ₙ b)"},{"text":"Msb","comment":"Most significant bit of x.","arg_str":" ↑x"},{"text":"Lsb","comment":"Least significant bit of x.","arg_str":" ↓x"},{"text":"Append","comment":"Concatenate (append) hi with lo.","arg_str":" (hi ⊚ lo)"},{"text":"Is_zero","comment":"Check if x is zero.","arg_str":" x ≡ 0"},{"text":"Lognot","comment":"Logical NOT of x.","arg_str":" ~x"},{"text":"Neg","comment":"Arithmetic negation of x.","arg_str":" −x"},{"text":"Add","comment":"Arithmetic addition of x and y.","arg_str":" (x + y)"},{"text":"Sub","comment":"Arithmetic subtraction of x and y.","arg_str":" (x - y)"},{"text":"Mul","comment":"Arithmetic multiplication of x and y.","arg_str":" (x * y)"},{"text":"Div","comment":"Arithmetic division of x and y.","arg_str":" (x / y)"},{"text":"Sdiv","comment":"Signed division of x and y.","arg_str":" (x /⁺ y)"},{"text":"Mod","comment":"Unsigned modulo of x and y.","arg_str":" (x % y)"},{"text":"Smod","comment":"Signed modulo of x and y.","arg_str":" (x %⁺ y)"},{"text":"Logand","comment":"Bitwise AND between x and y.","arg_str":" (x & y)"},{"text":"Logor","comment":"Bitwise OR between x and y.","arg_str":" (x | y)"},{"text":"Logxor","comment":"Bitwise XOR between x and y.","arg_str":" (x ⊕ y)"},{"text":"Lshift","comment":"Left shift x by y bits with fill bit b.","arg_str":" (x ≪ y b)"},{"text":"Rshift","comment":"Right shift x by y bits with fill bit b.","arg_str":" (x ≫ y b)"},{"text":"Eq","comment":"x equals y.","arg_str":" (x ≡ y)"},{"text":"Sle","comment":"x is less than or equal to y (Unsigned).","arg_str":" (x ≦ y)"},{"text":"Ule","comment":"x is less than or equal to y (Signed).","arg_str":" (x ≦⁺ y)"}]},{"name":"Boolean","entries":[{"text":"False","comment":"Boolean literal false.","arg_str":" ⊥"},{"text":"True","comment":"Boolean literal true.","arg_str":" ⊤"},{"text":"Boolnot","comment":"Boolean NOT of x.","arg_str":" ¬x"},{"text":"Boolor","comment":"Boolean OR between x and y.","arg_str":" (x ∨ y)"},{"text":"Booland","comment":"Boolean AND between x and y.","arg_str":" (x ∧ y)"},{"text":"Boolxor","comment":"Boolean XOR between x and y.","arg_str":" (x ⊻ y)"}]},{"name":"Floating Point","entries":[{"text":"Float","comment":"Bitvector literal n interpreted as a float of size n with optional superscript d showing a decimal representation.","arg_str":" n.fᵈₙ"},{"text":"Fbits","comment":"Bitvector representation of float x.","arg_str":" ꜰʙ x"},{"text":"Fneg","comment":"Floating-point negation of x.","arg_str":" −x"},{"text":"Fadd","comment":"Floating-point addition of x and y with rounding mode r.","arg_str":" (r x + y)"},{"text":"Fsub","comment":"Floating-point subtraction of x and y with rounding mode r.","arg_str":" (r x - y)"},{"text":"Fmul","comment":"Floating-point multiplication of x and y with rounding mode r.","arg_str":" (r x * y)"},{"text":"Fdiv","comment":"Floating-point division x and y with rounding mode r.","arg_str":" (r x / y)"},{"text":"Fmod","comment":"Floating-point modulo of x and y with rounding mode r.","arg_str":" (r x % y)"},{"text":"Fmad","comment":"Floating-point multiply-add of x, y and z with rounding mode r.","arg_str":" (r x * y + z)"},{"text":"Fabs","comment":"Absolute value of x.","arg_str":" |x|"},{"text":"Fsucc","comment":"Floating-point successor of x.","arg_str":" ⌊x"},{"text":"Fpred","comment":"Floating-point predecessor of x.","arg_str":" ⌋x"},{"text":"Fexcept","comment":"Floating-point exception e on x.","arg_str":" e ᴇ x"},{"text":"Fcast int","comment":"Cast x to unsigned integer of size n with rounding mode r and optional subscript d.","arg_str":" (x ꜰ≈ɪᵈₙ r)"},{"text":"Fcast sint","comment":"Cast x to signed integer of size n with rounding mode r and optional subscript d.","arg_str":" (x ꜰ≈ɪ⁺ᵈₙ r)"},{"text":"Fcast float","comment":"Cast x to unsigned float of size n with rounding mode r and optional subscript d.","arg_str":" (x ꜰ≈ꜰᵈₙ r)"},{"text":"Fcast sfloat","comment":"Cast x to signed float of size n with rounding mode r and optional subscript d.","arg_str":" (x ꜰ≈ꜰ⁺ᵈₙ r)"},{"text":"Fconvert","comment":"Convert rounding mode of x to r and its size to n.","arg_str":" (x ≅ᵈₙ r)"},{"text":"Fround","comment":"Round x to integral value using rounding mode r and optional subscript d.","arg_str":" (r ⭂ x)"},{"text":"Fsqrt","comment":"Square root of x using rounding mode r.","arg_str":" (r ²√ x)"},{"text":"Frsqrt","comment":"Inverse square root of x using rounding mode r.","arg_str":" (r ¹/√ x)"},{"text":"Frootn","comment":"x to the power 1/n using rounding mode r, where n is integer.","arg_str":" (r n ⁿ√ x)"},{"text":"Fpow","comment":"x to the power y using rounding mode r.","arg_str":" (r x ˰ y)"},{"text":"Fpown","comment":"x to the power n using rounding mode r, where n is integer.","arg_str":" (r x ˰ⁿ n)"},{"text":"Forder","comment":"Float ordering comparison between x and y.","arg_str":" (x ≷ y)"},{"text":"Frequal","comment":"Float rounding mode equality check between r1 and r2.","arg_str":" (r1 ≡ r2)"},{"text":"Is_fzero","comment":"Check if x is zero.","arg_str":" x ≡ 0"},{"text":"Is_nan","comment":"Check if x is Not-a-Number.","arg_str":" x ≡ ɴаɴ"},{"text":"Is_inf","comment":"Check if x is infine.","arg_str":" x ≡ ∞"},{"text":"Is_finite","comment":"Check if x is finite.","arg_str":" x ≢ ∞"},{"text":"Is_fpos","comment":"Check if x is positive.","arg_str":" x > 0"},{"text":"Is_fneg","comment":"Check if x is negative.","arg_str":" x < 0"},{"text":"Fcompound","comment":"Float compound operator between x and n using rounding mode r, where n is integer.","arg_str":" (r x ∪ n)"},{"text":"Fhypot","comment":"Float hypotenuse.","arg_str":" (r x ∠ y)"}]},{"name":"Memory","entries":[{"text":"Load","comment":"Load n bits from address a of memory index m.","arg_str":" (ʟᴅₘ n a)"},{"text":"Store","comment":"Store v to address a of memory index m.","arg_str":" (ꜱᴛₘ v a)"}]}],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"pp","type":"group","summary":"Print patterns","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":10,"modes":[],"children":[{"cmd":"pp0","type":"argv","summary":"Print buffer filled with zeroes","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pp1","type":"argv","summary":"Print incremental byte pattern (honor lower bits of current address and block size)","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pp2","type":"argv","summary":"Print incremental word pattern","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pp4","type":"argv","summary":"Print incremental dword pattern","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pp8","type":"argv","summary":"Print incremental qword pattern","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ppa","type":"argv","summary":"Print Latin alphabet pattern","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ppd","type":"argv","summary":"Print De Brujin pattern","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ppd/","type":"argv","summary":"Return the offset where <value> appears in the default De Bruijn pattern","description":"Honors cfg.bigendian to interpret <value> before searching through the ppd pattern","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ppf","type":"argv","summary":"Print buffer filled with 0xFF","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ppn","type":"argv","summary":"Print numeric pin pattern","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"pt","type":"group","summary":"Print timestamps","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":[],"children":[{"cmd":"pt","type":"argv","summary":"Print UNIX epoch time (32 bit `cfg.bigendian`, since January 1, 1970)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pt.","type":"argv","summary":"Print the current time","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ptd","type":"argv","summary":"Print MS-DOS time (32 bit `cfg.bigendian`, since January 1, 1980)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pth","type":"argv","summary":"Print Mac HFS time (32 bit `cfg.bigendian`, since January 1, 1904)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ptn","type":"argv","summary":"Print NTFS time (64 bit `cfg.bigendian`, since January 1, 1601)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"pk","type":"argv","summary":"Print cryptographic key in randomart","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pK","type":"argv","summary":"Print cryptographic key in randomart mosaic","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pm","type":"argv_modes","summary":"Search magics and print the long description of them.","description":"","args_str":" [<file/directory>]","args":[{"type":"string","name":"file/directory","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"po","type":"group","summary":"Print operation applied on the data","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":12,"modes":[],"children":[{"cmd":"po2","type":"argv","summary":"2-byte endian swap","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"po4","type":"argv","summary":"4-byte endian swap","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"po8","type":"argv","summary":"8-byte endian swap","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"poa","type":"argv","summary":"Apply addition","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"poA","type":"argv","summary":"Apply AND operation","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pod","type":"argv","summary":"Apply division operation","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pol","type":"argv","summary":"Apply shift left operation","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pom","type":"argv","summary":"Apply multiplication operation","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"poo","type":"argv","summary":"Apply OR operation","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"por","type":"argv","summary":"Apply shift right operation","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pos","type":"argv","summary":"Apply subtraction operation","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pox","type":"argv","summary":"Apply XOR operation","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"pr","type":"group","summary":"Print raw bytes in different representations","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":[],"children":[{"cmd":"pr","type":"argv","summary":"Print raw bytes","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"prc","type":"argv","summary":"Print bytes as colors in palette","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"prg","type":"group","summary":"Print uncompressed data","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"prg","type":"argv","summary":"gunzip block and print","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"prgv","type":"argv","summary":"Show consumed bytes and output size","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"prx","type":"argv","summary":"Printable chars with real offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"prz","type":"argv","summary":"Print raw zero-terminated string","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"ps","type":"group","summary":"Print string at the current offset.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":13,"modes":["standard","json"],"children":[{"cmd":"ps","type":"argv_modes","summary":"Print the string at the current offset in the block.","description":"","args_str":" <encoding>=settings <delimiter>=null","args":[{"type":"choice","name":"encoding","required":true,"default":"settings","choices":["settings","guess","ascii","utf8","utf16le","utf32le","utf16be","utf32be","ibm037","ibm290","ebcdices","ebcdicuk","ebcdicus"]},{"type":"choice","name":"delimiter","required":true,"default":"null","choices":["null","block","unprintable"]}],"details":[{"name":"Value details","entries":[{"text":"String length","comment":"The string length depends on the block size. You need to change it via 'b <size-in-bytes>' if your string is too short.","arg_str":""},{"text":"encoding=settings","comment":"Use encoding from 'str.encoding' option.","arg_str":""},{"text":"delimeter=null","comment":"Prints until first NUL code point. Non-printable characters are escaped.","arg_str":""},{"text":"delimeter=unprintable","comment":"Prints until the first non-printable code point. This includes '\\n', '\\t' etc.","arg_str":""},{"text":"delimeter=block","comment":"Print whole block as string (don't stop at non-printable or NUL character).","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"ps+","type":"argv_modes","summary":"Print libc++ std::string (same-endian, ascii, zero-terminated)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"psb","type":"argv_modes","summary":"Print all the strings in current block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","quiet"],"children":[]},{"cmd":"psc","type":"argv_modes","summary":"Generate a C/C++ string","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"psi","type":"argv_modes","summary":"Print the first string in the current block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"psp","type":"argv_modes","summary":"Print the pascal string at the current offset","description":"","args_str":" <bits>=8","args":[{"type":"choice","name":"bits","required":true,"default":"8","choices":["8","16","32","64"]}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pss","type":"argv_modes","summary":"Print string at the current offset in screen (wrap width)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"psu","type":"argv_modes","summary":"Print buffer as a utf8 string (alias for 'ps utf8 null').","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"psm","type":"argv_modes","summary":"Print buffer as a utf16be string (alias for 'ps utf16be null').","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"psM","type":"argv_modes","summary":"Print buffer as a utf32be string (alias for 'ps utf32be null').","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"psn","type":"argv_modes","summary":"Print string with escaped new lines","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"psw","type":"argv_modes","summary":"Print buffer as a utf16le string (alias for 'ps utf16le null').","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"psW","type":"argv_modes","summary":"Print buffer as a utf32le string (alias for 'ps utf32le null').","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"pv","type":"group","summary":"Print bytes based on current bitness and endianness","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":["standard","json"],"children":[{"cmd":"pv","type":"argv_state","summary":"print bytes","description":"","args_str":" [<repeat>]","args":[{"type":"number","name":"repeat"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pv1","type":"argv_state","summary":"print 1 byte","description":"","args_str":" [<repeat>]","args":[{"type":"number","name":"repeat"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pv2","type":"argv_state","summary":"print 2 bytes","description":"","args_str":" [<repeat>]","args":[{"type":"number","name":"repeat"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pv4","type":"argv_state","summary":"print 4 bytes","description":"","args_str":" [<repeat>]","args":[{"type":"number","name":"repeat"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pv8","type":"argv_state","summary":"print 8 bytes","description":"","args_str":" [<repeat>]","args":[{"type":"number","name":"repeat"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"px","type":"group","summary":"Show hexdump","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":24,"modes":["standard","json"],"children":[{"cmd":"px","type":"argv_state","summary":"show hexdump","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pxF","type":"argv_state","summary":"Print formatted bytes.","description":"","args_str":" <number>=1 <format>=x <width>=a","args":[{"type":"expression","name":"number","required":true,"default":"1"},{"type":"choice","name":"format","required":true,"default":"x","choices":["o","d","x","f","i","s"]},{"type":"choice","name":"width","required":true,"default":"a","choices":["b","h","w","d","a"]}],"details":[{"name":"number","entries":[{"text":"","comment":"Number of elements to print.","arg_str":""}]},{"name":"format","entries":[{"text":"o","comment":"Octal","arg_str":""},{"text":"d","comment":"Decimal","arg_str":""},{"text":"x","comment":"Hex","arg_str":""},{"text":"f","comment":"Float - Alias for: 'pf ffff...' (<number> times 'f'. <width> is ignored).","arg_str":""},{"text":"i","comment":"Instruction - Alias for: 'pdq <number> !@ <number * width>'.","arg_str":""},{"text":"s","comment":"String - Alias for: 'psb !@ <number * width>'.","arg_str":""}]},{"name":"width","entries":[{"text":"b","comment":"Byte = 1 bytes","arg_str":""},{"text":"h","comment":"Half word = 2 bytes","arg_str":""},{"text":"w","comment":"Word = 4 bytes","arg_str":""},{"text":"d","comment":"Double word = 8 bytes","arg_str":""},{"text":"a","comment":"Architecture width as bytes.","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pxa","type":"argv","summary":"show annotated hexdump","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pxA","type":"argv_state","summary":"show op analysis color map","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","long"],"children":[]},{"cmd":"pxb","type":"argv","summary":"dump bits in hexdump form","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pxc","type":"argv","summary":"show hexdump with comments","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pxd","type":"group","summary":"show signed integer dump","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":["standard","json"],"children":[{"cmd":"pxd","type":"argv_state","summary":"show 1-byte integer dump","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pxdh","type":"argv_state","summary":"show 2-bytes integer dump","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pxdw","type":"argv_state","summary":"show 4-bytes integer dump","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pxdq","type":"argv_state","summary":"show 8-bytes integer dump","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"pxe","type":"argv","summary":"emoji hexdump! :)","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pxf","type":"argv","summary":"show hexdump of current function","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pxi","type":"argv","summary":"HexII compact binary representation","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pxr","type":"group","summary":"show hexword references","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":["standard","json","quiet","table"],"children":[{"cmd":"pxr","type":"argv_state","summary":"show hexword references","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"pxr1","type":"argv_state","summary":"show hexword references","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"pxr2","type":"argv_state","summary":"show hexword references with hexdump","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"pxr4","type":"argv_state","summary":"show hexword references with hexdump","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"pxr8","type":"argv_state","summary":"show hexword references with hexdump","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]}]},{"cmd":"pxs","type":"argv","summary":"show hexadecimal in sparse mode","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pxt","type":"argv_state","summary":"show delta pointer table in rizin commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pxx","type":"argv","summary":"show <N> bytes of hex-less hexdump","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pxX","type":"argv","summary":"show <N> words of hex-less hexdump","description":"","args_str":" [<N>]","args":[{"type":"expression","name":"N","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"px0","type":"argv","summary":"8bit hexpair list of bytes until zero byte","description":"","args_str":" [<N>]","args":[{"type":"expression","name":"N","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pxh","type":"argv_state","summary":"show 2-bytes hexadecimal integers dump","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pxH","type":"argv_state","summary":"show 2-bytes hexadecimal integers dump, one per line","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pxw","type":"argv_state","summary":"show 4-bytes hexadecimal integers dump","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pxW","type":"argv_state","summary":"show 4-bytes hexadecimal integers dump, one per line","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pxq","type":"argv_state","summary":"show 8-bytes hexadecimal integers dump","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pxQ","type":"argv_state","summary":"show 8-bytes hexadecimal integers dump, one per line","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pxo","type":"argv","summary":"show 1-byte octal integers dump","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pxl","type":"argv_state","summary":"display <N> lines of hexdump","description":"","args_str":" [<N>]","args":[{"type":"expression","name":"N","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"p6","type":"group","summary":"Base64 decoding/encoding","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":2,"modes":[],"children":[{"cmd":"p6e","type":"argv_modes","summary":"Base64 encoding","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"p6d","type":"argv_modes","summary":"Base64 decoding","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]}]},{"cmd":"pu","type":"group","summary":"URL-encoded strings","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"pu","type":"argv","summary":"Print <N> bytes as URL-encoded UTF-8 string","description":"","args_str":" [<N>]","args":[{"type":"expression","name":"N","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"puw","type":"argv","summary":"Print <N> bytes as URL-encoded UTF-16 string","description":"","args_str":" [<N>]","args":[{"type":"expression","name":"N","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pu0","type":"argv","summary":"Print <N> bytes as URL-encoded string and stop at zero","description":"","args_str":" [<N>]","args":[{"type":"expression","name":"N","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p-","type":"group","summary":"Blocks information representation as a horisontal bar and summary","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":["standard","json"],"children":[{"cmd":"p-","type":"argv_state","summary":"Show horisontal bar of metadata in file boundaries","description":"","args_str":" [<width>]","args":[{"type":"expression","name":"width","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"p-e","type":"argv","summary":"Show horisontal bar of entropy per block in file boundaries","description":"","args_str":" [<width>]","args":[{"type":"expression","name":"width","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p-h","type":"argv_state","summary":"Show statistics table about blocks in the file","description":"","args_str":" [<depth>]","args":[{"type":"expression","name":"depth","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["table"],"children":[]}]},{"cmd":"p=","type":"group","summary":"Blocks information representation as a histogram","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":21,"modes":[],"children":[{"cmd":"p=","type":"argv","summary":"Show a vertical histogram of bytes in current block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=d","type":"argv","summary":"Show a summary of min/max/number of unique bytes in the current block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=2","type":"argv","summary":"Show progress bars of int16 values","description":"","args_str":" [<step>]","args":[{"type":"expression","name":"step","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=0","type":"argv","summary":"Show a vertical histogram of 0x00 bytes per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=F","type":"argv","summary":"Show a vertical histogram of 0xFF bytes per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=a","type":"argv","summary":"Show a vertical histogram of basic blocks per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=A","type":"argv","summary":"Show a vertical histogram of statistical maps per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=c","type":"argv","summary":"Show a vertical histogram of calls per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=e","type":"argv","summary":"Show a vertical histogram of entropy per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=C","type":"argv","summary":"Show a vertical histogram of chi-square (vs uniform) per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=I","type":"argv","summary":"Show a vertical histogram of index of coincidence per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=M","type":"argv","summary":"Show a vertical histogram of min-entropy per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=S","type":"argv","summary":"Show a vertical histogram of serial correlation per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=r","type":"argv_state","summary":"Print rising and falling entropy.","description":"","args_str":" [<rising_threshold> [<falling_threshold>]]","args":[{"type":"expression","name":"rising_threshold"},{"type":"expression","name":"falling_threshold","is_last":true}],"details":[{"name":"Default values","entries":[{"text":"","comment":"Default rising threshold is 0.95 and falling threshold is 0.85","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json","quiet","long","table"],"children":[]},{"cmd":"p=i","type":"argv","summary":"Show a vertical histogram of invalid instructions per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=j","type":"argv","summary":"Show a vertical histogram of jumps and conditional jumps per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=m","type":"argv","summary":"Show a vertical histogram of number of flags and marks per each block","description":"","args_str":" [<blocks>]","args":[{"type":"expression","name":"blocks","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=p","type":"argv","summary":"Show a vertical histogram of printable bytes per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=s","type":"argv","summary":"Show a vertical histogram of syscalls and privileged instructions per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=z","type":"argv","summary":"Show a vertical histogram of number of chars in strings per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==","type":"group","summary":"Blocks information representation as a horizontal histogram","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":18,"modes":[],"children":[{"cmd":"p==","type":"argv","summary":"Show a horizontal histogram of bytes in current block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==v","type":"argv","summary":"Show a visual horizontal histogram of bytes in current block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==0","type":"group","summary":"Show a horizontal histogram of 0x00 bytes per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"p==0","type":"argv","summary":"Show a horizontal histogram of 0x00 bytes per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==0v","type":"argv","summary":"Show a interactive horizontal histogram of 0x00 bytes per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p==F","type":"group","summary":"Show a horizontal histogram of 0xFF bytes per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"p==F","type":"argv","summary":"Show a horizontal histogram of 0xFF bytes per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==Fv","type":"argv","summary":"Show a interactive horizontal histogram of 0xFF bytes per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p==a","type":"group","summary":"Show a horizontal histogram of basic blocks per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"p==a","type":"argv","summary":"Show a horizontal histogram of basic blocks per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==av","type":"argv","summary":"Show a interactive horizontal histogram of basic blocks per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p==A","type":"group","summary":"Show a horizontal histogram of statistical maps per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"p==A","type":"argv","summary":"Show a horizontal histogram of statistical maps per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==Av","type":"argv","summary":"Show a interactive horizontal histogram of statistical maps per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p==c","type":"group","summary":"Show a horizontal histogram of calls per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"p==c","type":"argv","summary":"Show a horizontal histogram of calls per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==cv","type":"argv","summary":"Show a interactive horizontal histogram of calls per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p==e","type":"group","summary":"Show a horizontal histogram of entropy per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"p==e","type":"argv","summary":"Show a horizontal histogram of entropy per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==ev","type":"argv","summary":"Show a interactive horizontal histogram of entropy per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p==C","type":"group","summary":"Show a horizontal histogram of chi-square (vs uniform) per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"p==C","type":"argv","summary":"Show a horizontal histogram of chi-square (vs uniform) per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==Cv","type":"argv","summary":"Show a interactive horizontal histogram of chi-square (vs uniform) per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p==I","type":"group","summary":"Show a horizontal histogram of index of coincidence per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"p==I","type":"argv","summary":"Show a horizontal histogram of index of coincidence per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==Iv","type":"argv","summary":"Show a interactive horizontal histogram of index of coincidence per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p==M","type":"group","summary":"Show a horizontal histogram of min-entropy per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"p==M","type":"argv","summary":"Show a horizontal histogram of min-entropy per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==Mv","type":"argv","summary":"Show a interactive horizontal histogram of min-entropy per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p==S","type":"group","summary":"Show a horizontal histogram of serial correlation per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"p==S","type":"argv","summary":"Show a horizontal histogram of serial correlation per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==Sv","type":"argv","summary":"Show a interactive horizontal histogram of serial correlation per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p==i","type":"group","summary":"Show a horizontal histogram of invalid instructions per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"p==i","type":"argv","summary":"Show a horizontal histogram of invalid instructions per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==iv","type":"argv","summary":"Show a interactive horizontal histogram of invalid instructions per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p==j","type":"group","summary":"Show a horizontal histogram of jumps and conditional jumps per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"p==j","type":"argv","summary":"Show a horizontal histogram of jumps and conditional jumps per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==jv","type":"argv","summary":"Show a interactive horizontal histogram of jumps and conditional jumps per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p==m","type":"group","summary":"Show a horizontal histogram of number of flags and marks per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"p==m","type":"argv","summary":"Show a horizontal histogram of number of flags and marks per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==mv","type":"argv","summary":"Show a interactive horizontal histogram of number of flags and marks per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p==p","type":"group","summary":"Show a horizontal histogram of printable bytes per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"p==p","type":"argv","summary":"Show a horizontal histogram of printable bytes per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==pv","type":"argv","summary":"Show a interactive horizontal histogram of printable bytes per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p==s","type":"group","summary":"Show a horizontal histogram of syscalls and privileged instructions per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"p==s","type":"argv","summary":"Show a horizontal histogram of syscalls and privileged instructions per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==sv","type":"argv","summary":"Show a interactive horizontal histogram of syscalls and privileged instructions per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p==z","type":"group","summary":"Show a horizontal histogram of number of chars in strings per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"p==z","type":"argv","summary":"Show a horizontal histogram of number of chars in strings per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==zv","type":"argv","summary":"Show a interactive horizontal histogram of number of chars in strings per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]}]}]}]},{"cmd":"q","type":"group","summary":"Quit rizin","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":[],"children":[{"cmd":"q","type":"argv","summary":"Quit rizin","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"q!","type":"argv","summary":"Force quit rizin","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"q!!","type":"argv","summary":"Force quit rizin without saving history","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"q","type":"inner","summary":"Quit rizin and choose to kill the process and save projects","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":2,"modes":[],"children":[{"cmd":"qy","type":"group","summary":"Quit rizin by killing the process and and choose to save the projects or not","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":2,"modes":[],"children":[{"cmd":"qyy","type":"argv","summary":"Quit rizin by killing the process and saving the project","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"qyn","type":"argv","summary":"Quit rizin by killing the process and not saving the project","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"qn","type":"group","summary":"Quit rizin by not killing the process and choose to save the projects or not","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":2,"modes":[],"children":[{"cmd":"qnn","type":"argv","summary":"Quit rizin by not killing the process and not saving the project","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"qny","type":"argv","summary":"Quit rizin by not killing the process and saving the project","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]}]}]},{"cmd":"R","type":"group","summary":"Connect with other instances of rizin","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":11,"modes":[],"children":[{"cmd":"R","type":"argv","summary":"List all open connections / Exec <cmd> at remote <fd>","description":"","args_str":" [[<fd>] <cmd>]","args":[{"type":"number","name":"fd"},{"type":"command","name":"cmd","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"R<","type":"argv","summary":"Send output of local <cmd> to remote <fd>","description":"","args_str":" [<fd> <cmd>]","args":[{"type":"number","name":"fd"},{"type":"command","name":"cmd","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"R!","type":"argv","summary":"Run command via rz_io_system","description":"","args_str":" <cmd>","args":[{"type":"command","name":"cmd","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"R+","type":"argv","summary":"Connect to remote host:port","description":"","args_str":" <[proto://]host:port>","args":[{"type":"string","name":"[proto://]host:port","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"R-","type":"argv","summary":"remove all hosts or host 'fd'","description":"","args_str":" [<fd>]","args":[{"type":"number","name":"fd"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"R=","type":"argv","summary":"Open remote session with host 'fd', 'q' to quit","description":"","args_str":" <fd>","args":[{"type":"number","name":"fd","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"R!=","type":"argv","summary":"Enable remote cmd mode, sending commands to remote <fd> server","description":"","args_str":" <fd>=0","args":[{"type":"number","name":"fd","required":true,"default":"0"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"R=!","type":"argv","summary":"Disable remote cmd mode","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Rg","type":"group","summary":"Start the gdbserver","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"Rg","type":"argv","summary":"Start the gdbserver.","description":"","args_str":" <port> <file> [<args>]","args":[{"type":"number","name":"port","required":true},{"type":"string","name":"file","required":true},{"type":"string","name":"args","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Rg!","type":"argv","summary":"Start the gdbserver with debug protocol messages (like gdbserver --remote-debug).","description":"","args_str":" <port> <file> [<args>]","args":[{"type":"number","name":"port","required":true},{"type":"string","name":"file","required":true},{"type":"string","name":"args","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"Rh","type":"group","summary":"HTTP webserver commands.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"Rh","type":"argv","summary":"Start the HTTP webserver in foreground.","description":"","args_str":" <launch_browser>=no","args":[{"type":"choice","name":"launch_browser","required":true,"default":"no","choices":["yes","no"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Rh*","type":"argv","summary":"Restart the HTTP webserver in foreground.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Rh--","type":"argv","summary":"Stop the HTTP webserver in foreground.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"Rt","type":"argv","summary":"Start the tcp server","description":"","args_str":" <[host:]port> [<cmd>]","args":[{"type":"string","name":"[host:]port","required":true},{"type":"command","name":"cmd","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"r","type":"group","summary":"Resize file","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":["standard","json"],"children":[{"cmd":"r","type":"argv_state","summary":"Resize file / Display file size","description":"","args_str":" [<size>]","args":[{"type":"expression","name":"size","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"r-","type":"argv","summary":"Remove num bytes, move following data down","description":"","args_str":" <num>","args":[{"type":"expression","name":"num","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"r+","type":"argv","summary":"Insert num bytes, move following data up","description":"","args_str":" <num>","args":[{"type":"expression","name":"num","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"rb","type":"argv","summary":"Rebase all flags, binary information, breakpoints, and analysis","description":"","args_str":" <oldbase>","args":[{"type":"expression","name":"oldbase","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"rh","type":"argv","summary":"Display size in human-friendly format","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"s","type":"group","summary":"Seek commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":17,"modes":[],"children":[{"cmd":"s","type":"argv","summary":"Print current address / Seek to address","description":"","args_str":" [<addr>]","args":[{"type":"expression","name":"addr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"spad","type":"argv","summary":"Print current address with <n> padded zeros (defaults to 8)","description":"","args_str":" [<n>]","args":[{"type":"number","name":"n"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"s.","type":"argv","summary":"Seek honoring a base from core->offset","description":"","args_str":" <hex_offset>","args":[{"type":"number","name":"hex_offset","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"sd","type":"argv","summary":"Seek to a delta relative to current offset","description":"","args_str":" <delta>","args":[{"type":"number","name":"delta","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"s--","type":"argv","summary":"Seek blocksize bytes backward (/=n)","description":"","args_str":" [<n>]","args":[{"type":"number","name":"n"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"s++","type":"argv","summary":"Seek blocksize bytes forward (/=n)","description":"","args_str":" [<n>]","args":[{"type":"number","name":"n"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"sh","type":"group","summary":"Seek history commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":["standard","json"],"children":[{"cmd":"sh","type":"argv_state","summary":"List undo seek history","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"shr","type":"argv","summary":"Go to position before the last undo (forward in history)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"shu","type":"argv","summary":"Go to last seek in seek history (back in history)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"sh-","type":"argv","summary":"Clear seek history","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"sa","type":"argv","summary":"Seek to current offset (or <addr>) aligned to <align>","description":"","args_str":" <align> [<addr>]","args":[{"type":"number","name":"align","required":true},{"type":"expression","name":"addr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"sb","type":"argv","summary":"Seek aligned to bb start","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"sf","type":"argv","summary":"Seek to next function / Seek to specific function","description":"","args_str":" [<fcn>]","args":[{"type":"function","name":"fcn"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"sf.","type":"argv","summary":"Seek to the beginning of current function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"sg","type":"argv","summary":"Seek to begin of section/file","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"sG","type":"argv","summary":"Seek to end of section/file","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"sn","type":"argv","summary":"Seek to next location of the given <type> or scr.nkey otherwise","description":"<type> and scr.nkey can be one of \"opcodes\", \"function\", \"hit\", \"flags\".","args_str":" [<type>]","args":[{"type":"choice","name":"type","choices":["opcodes","function","hit","flags"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"sp","type":"argv","summary":"Seek to prev location","description":"<type> and scr.nkey can be one of \"opcodes\", \"function\", \"hit\", \"flags\".","args_str":" [<type>]","args":[{"type":"choice","name":"type","choices":["opcodes","function","hit","flags"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"so","type":"argv","summary":"Seek to <n> next opcodes","description":"","args_str":" [<n>]","args":[{"type":"number","name":"n"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"sr","type":"argv","summary":"Seek to register","description":"","args_str":" <reg>","args":[{"type":"string","name":"reg","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"shell","type":"group","summary":"Common shell commands","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":28,"modes":[],"children":[{"cmd":"ascii","type":"argv","summary":"Print ASCII table","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"cat","type":"argv","summary":"Print contents of <file>","description":"","args_str":" <file>","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"cd","type":"argv","summary":"Change directory to <dir>","description":"","args_str":" [<dir>]","args":[{"type":"directory","name":"dir"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"clear","type":"argv","summary":"Clear screen/console","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"clippy","type":"argv","summary":"echo but with a comic","description":"","args_str":" [<strs1> <strs2> ...]","args":[{"type":"string","name":"strs","is_array":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"cls","type":"argv","summary":"clear","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"cp","type":"argv","summary":"Copy <src> file to <dst>","description":"","args_str":" <src> <dst>","args":[{"type":"filename","name":"src","required":true},{"type":"string","name":"dst","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"date","type":"argv","summary":"Get current date","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"diff","type":"argv","summary":"Compare <A> file with <B>","description":"","args_str":" <A> <B>","args":[{"type":"filename","name":"A","required":true},{"type":"filename","name":"B","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"echo","type":"argv","summary":"Display a line of text","description":"","args_str":" [<strs1> <strs2> ...]","args":[{"type":"string","name":"strs","is_array":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"env","type":"argv","summary":"Get/set environment variables","description":"","args_str":" [<varname>[=<varvalue>]]","args":[{"type":"environment_variable","name":"varname"},{"type":"string","name":"varvalue","is_last":true}],"details":[{"name":"Examples","entries":[{"text":"env","comment":"List all environment variables","arg_str":""},{"text":"env","comment":"Print value of SHELL variable","arg_str":" SHELL"},{"text":"env","comment":"Set TMPDIR to \"/tmp\"","arg_str":" TMPDIR=/tmp"}]},{"name":"Environment","entries":[{"text":"RZ_FILE","comment":"currently opened file name","arg_str":""},{"text":"RZ_OFFSET","comment":"current offset (64bit value)","arg_str":""},{"text":"RZ_BSIZE","comment":"block size","arg_str":""},{"text":"RZ_ENDIAN","comment":"'big' or 'little'","arg_str":""},{"text":"RZ_IOVA","comment":"is io.va true? virtual addressing (1,0)","arg_str":""},{"text":"RZ_DEBUG","comment":"debug mode enabled? (1,0)","arg_str":""},{"text":"RZ_SIZE","comment":"file size","arg_str":""},{"text":"RZ_ARCH","comment":"value of asm.arch","arg_str":""},{"text":"RZ_BITS","comment":"arch reg size (8, 16, 32, 64)","arg_str":""},{"text":"RZ_BIN_LANG","comment":"assume this lang to demangle","arg_str":""},{"text":"RZ_BIN_DEMANGLE","comment":"demangle or not","arg_str":""},{"text":"RZ_BIN_PDBSERVER","comment":"e pdb.server","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"exit","type":"argv","summary":"Exit Rizin","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"flush","type":"argv","summary":"Flush console","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fortune","type":"argv","summary":"Show the random fortune message","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"inittime","type":"argv","summary":"Print init time values","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ls","type":"argv","summary":"List files and directories","description":"","args_str":" [-e -q -l -j] <dir/file>","args":[{"type":"option","name":"e","is_option":true},{"type":"option","name":"q","is_option":true},{"type":"option","name":"l","is_option":true},{"type":"option","name":"j","is_option":true},{"type":"filename","name":"path"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"mkdir","type":"argv","summary":"Create a directory <dir>","description":"","args_str":" [-p] <dir>","args":[{"type":"option","name":"p","is_option":true},{"type":"string","name":"dir","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"mv","type":"argv","summary":"Move <src> file to <dst>","description":"","args_str":" <src> <dst>","args":[{"type":"filename","name":"src","required":true},{"type":"string","name":"dst","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pkill","type":"argv","summary":"Kill process by name","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pwd","type":"argv","summary":"Show the present working directory","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"rm","type":"argv","summary":"Remove <file>","description":"","args_str":" <file>","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"sleep","type":"argv","summary":"Sleep for <seconds> seconds","description":"","args_str":" <seconds>","args":[{"type":"number","name":"seconds","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"sort","type":"argv","summary":"Sort the contents of <file> or from piped input","description":"","args_str":" [<file>]","args":[{"type":"filename","name":"file"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"time","type":"argv","summary":"Calculate time taken to run a command","description":"","args_str":" <cmd>","args":[{"type":"command","name":"cmd","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"uname","type":"argv","summary":"Provide system info","description":"","args_str":" [-r]","args":[{"type":"option","name":"r","is_option":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"uniq","type":"argv","summary":"List unique strings in <filename> or from piped input","description":"","args_str":" [<filename>]","args":[{"type":"filename","name":"filename"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ver","type":"group","summary":"Show version information","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":["standard","json","quiet"],"children":[{"cmd":"ver","type":"argv_state","summary":"Show version info","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"vernum","type":"argv","summary":"Show numeric version","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"vermajor","type":"argv","summary":"Show major version","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"verminor","type":"argv","summary":"Show minor version","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"verpatch","type":"argv","summary":"Show patch version","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"which","type":"argv","summary":"Which shell command","description":"","args_str":" <command>","args":[{"type":"string","name":"command","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"t","type":"group","summary":"Types, noreturn, signatures, C parser and more","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":16,"modes":["standard","json","long"],"children":[{"cmd":"t","type":"argv_modes","summary":"List all types / Show type information","description":"When <type> is provided, the pf-format for the given type is provided, otherwise all types are listed.","args_str":" [<type>]","args":[{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long"],"children":[]},{"cmd":"t-","type":"argv","summary":"Remove the type","description":"","args_str":" <type>","args":[{"type":"unknown","name":"type","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"t-*","type":"argv","summary":"Remove all types","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"tc","type":"group","summary":"List loaded types in C format","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"tc","type":"argv","summary":"List loaded types in C format with newlines","description":"","args_str":" [<type>]","args":[{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"tcd","type":"argv","summary":"List loaded types in C format without newlines","description":"","args_str":" [<type>]","args":[{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"tcc","type":"group","summary":"Manage calling convention types","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":["standard","json","sdb","long"],"children":[{"cmd":"tcc","type":"argv_modes","summary":"List all calling conventions","description":"","args_str":" [<type>]","args":[{"type":"string","name":"type","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","sdb","long"],"children":[]},{"cmd":"tcc-","type":"argv","summary":"Remove the calling convention","description":"","args_str":" <type>","args":[{"type":"string","name":"type","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"tcc-*","type":"argv","summary":"Remove all calling conventions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]}]},{"cmd":"td","type":"group","summary":"Define types from a C definition or a pf format string","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"td","type":"argv","summary":"Define type from C definition","description":"","args_str":" <type>","args":[{"type":"string","name":"type","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"tdf","type":"argv","summary":"Define a type from a pf format string or a saved pf.<name>","description":"","args_str":" <name> <format>","args":[{"type":"string","name":"name","required":true},{"type":"string","name":"format","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"tdf","comment":"define struct rgba from an inline pf format","arg_str":" rgba \"x1x1x1x1 r g b a\""},{"text":"tdf","comment":"define a type from the saved pf.elf_header format","arg_str":" elf_header elf_header"}]}],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"te","type":"group","summary":"List loaded enums","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":["standard","json"],"children":[{"cmd":"te","type":"argv_modes","summary":"List loaded enums / Show enum member","description":"","args_str":" [<enum> [<value>]]","args":[{"type":"unknown","name":"enum"},{"type":"string","name":"value","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"teb","type":"argv","summary":"Show enum bitfield","description":"","args_str":" <enum> <field>","args":[{"type":"unknown","name":"enum","required":true},{"type":"string","name":"field","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"tec","type":"argv","summary":"Show enum in the C output format","description":"","args_str":" [<enum>]","args":[{"type":"unknown","name":"enum"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ted","type":"argv","summary":"Show enum in the C output format without newlines","description":"","args_str":" [<enum>]","args":[{"type":"unknown","name":"enum"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"tef","type":"argv","summary":"Find enum and member by the member value","description":"","args_str":" <value>","args":[{"type":"string","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"tf","type":"group","summary":"List loaded functions definitions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":["standard","json"],"children":[{"cmd":"tf","type":"argv_modes","summary":"List loaded function definitions / Show function signature","description":"","args_str":" [<type>]","args":[{"type":"string","name":"type","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"tf-","type":"argv","summary":"Remove the function type by name","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"tf-*","type":"argv","summary":"Remove all function types","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"tfc","type":"argv","summary":"Show or set function calling convention","description":"","args_str":" <name> [<cc>]","args":[{"type":"string","name":"name","required":true},{"type":"string","name":"cc","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"tn","type":"group","summary":"Manage noreturn function attributes and marks","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":["standard","json"],"children":[{"cmd":"tn","type":"argv_modes","summary":"List all noreturn references / Add a noreturn function","description":"","args_str":" [<name>]","args":[{"type":"string","name":"name","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"tn-","type":"argv","summary":"Remove the noreturn reference","description":"","args_str":" <name1> <name2> ...","args":[{"type":"string","name":"name","required":true,"is_array":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"tn-*","type":"argv","summary":"Remove all noreturn references","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"to","type":"group","summary":"Open C header file and load types from it","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"to","type":"argv","summary":"Open C header file and load types from it","description":"","args_str":" <file>","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"toe","type":"argv","summary":"Open cfg.editor to edit type","description":"","args_str":" <type>","args":[{"type":"unknown","name":"type","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"tos","type":"argv","summary":"Open SDB file and load types from it","description":"","args_str":" <file>","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"tp","type":"group","summary":"Print formatted type casted to the address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"tp","type":"argv","summary":"Print formatted type casted to the address or variable","description":"","args_str":" <type> [<address>]","args":[{"type":"unknown","name":"type","required":true},{"type":"string","name":"address","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"tpv","type":"argv","summary":"Print formatted type casted to the value","description":"","args_str":" <type> [<value>]","args":[{"type":"unknown","name":"type","required":true},{"type":"string","name":"value","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"tpx","type":"argv","summary":"Print formatted type casted to the hexadecimal sequence","description":"","args_str":" <type> <hexpairs>","args":[{"type":"unknown","name":"type","required":true},{"type":"string","name":"hexpairs","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"tr","type":"argv","summary":"Rename a type and update every type and function type that references it","description":"","args_str":" <old> <new>","args":[{"type":"unknown","name":"old","required":true},{"type":"string","name":"new","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"tr","comment":"rename the type struct_a to struct_b, updating all its users","arg_str":" struct_a struct_b"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ts","type":"group","summary":"List loaded structures","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":["standard","json","long"],"children":[{"cmd":"ts","type":"argv_modes","summary":"List loaded structures / Show pf format string for given structure","description":"","args_str":" [<type>]","args":[{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long"],"children":[]},{"cmd":"tsc","type":"argv","summary":"Show structure in the C output format with newlines","description":"","args_str":" [<type>]","args":[{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"tsd","type":"argv","summary":"Show structure in the C output format without newlines","description":"","args_str":" [<type>]","args":[{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"tt","type":"group","summary":"List loaded typedefs","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json"],"children":[{"cmd":"tt","type":"argv_modes","summary":"List loaded typedefs / Show name for given type alias","description":"","args_str":" [<type>]","args":[{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"ttc","type":"argv","summary":"Show typedef in the C output format","description":"","args_str":" [<type>]","args":[{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"tu","type":"group","summary":"List loaded unions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":["standard","json","long"],"children":[{"cmd":"tu","type":"argv_modes","summary":"List loaded unions / Show pf format string for given union","description":"","args_str":" [<type>]","args":[{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long"],"children":[]},{"cmd":"tuc","type":"argv","summary":"Show union in the C output format with newlines","description":"","args_str":" [<type>]","args":[{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"tud","type":"argv","summary":"Show union in the C output format without newlines","description":"","args_str":" [<type>]","args":[{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"tx","type":"group","summary":"Type xrefs","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":[],"children":[{"cmd":"tx","type":"argv","summary":"List functions using the type","description":"","args_str":" [<type>]","args":[{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"txf","type":"argv","summary":"List all types used in the function","description":"","args_str":" [<address>]","args":[{"type":"string","name":"address","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"txg","type":"argv","summary":"Render the type xrefs graph","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"txl","type":"argv","summary":"List all types used by any function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"tk","type":"group","summary":"Manage the typeclasses of types","description":"Typeclasses classify atomic types by the general kind of value they hold, independently of their concrete name or size, so the analysis can pick a suitable type generically (for example any signed integer). The available typeclasses are Num (any number), Integral (any integer), Floating (any floating point number), Address (integer types used to work with pointers), Signed Integral and Unsigned Integral (the signed and unsigned subclasses of Integral) and None (the most generic one, used when no specific typeclass applies).","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"tk","type":"argv","summary":"Show the typeclass of the given type","description":"","args_str":" <type>","args":[{"type":"unknown","name":"type","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"tkl","type":"argv_modes","summary":"List all typeclasses, or the types belonging to each of them","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long","table"],"children":[]},{"cmd":"tks","type":"argv","summary":"Set the typeclass of a type","description":"","args_str":" <type> <typeclass>","args":[{"type":"unknown","name":"type","required":true},{"type":"string","name":"typeclass","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"tks","comment":"treat the int type as the Floating typeclass","arg_str":" int Floating"},{"text":"tks","comment":"set a typeclass whose name contains a space (quote it)","arg_str":" int \"Signed Integral\""}]}],"executable":true,"n_children":0,"modes":[],"children":[]}]}]},{"cmd":"V","type":"group","summary":"Interactive mode","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":8,"modes":[],"children":[{"cmd":"V","type":"argv","summary":"Enter interactive visual mode","description":"Use Rizin (mostly) without shell. Scrolling disassembly, debugging, searching or graph views. All with a few keyboard shortcuts.","args_str":" [<key-sequence>]","args":[{"type":"string","name":"key-sequence","is_last":true}],"details":[{"name":"Parameters","entries":[{"text":"V","comment":"The <key-sequence> argument is a string of keys to press directly after entering the visual mode. See 'VH' or 'VHH' for a full list of valid keys.","arg_str":" <key_sequence>"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"VH","type":"argv","summary":"Show most common keys shortcuts of the visual mode.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"VHH","type":"argv","summary":"Show all keys shortcuts of the visual mode.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Vp","type":"argv","summary":"Enter interactive visual mode and select next mode (alias for 'V p').","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Vpp","type":"argv","summary":"Enter interactive visual mode and select the mode after next (alias for 'V pp').","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Vv","type":"argv","summary":"Enter interactive visual mode and select the view management (alias for 'V v').","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Ve","type":"argv","summary":"Enter interactive visual mode and select the configurations toggle (alias for 'V e').","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"VV","type":"argv","summary":"Enter interactive visual mode and select the function graph (alias for 'V V').","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"v","type":"group","summary":"Interactive panel mode","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"v","type":"argv","summary":"Enter interactive panel mode","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"vl","type":"argv","summary":"Load panel layout","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"vs","type":"argv","summary":"Store panel layout","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"w","type":"group","summary":"Write commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":21,"modes":[],"children":[{"cmd":"w","type":"argv","summary":"Write string","description":"","args_str":" <string>","args":[{"type":"string","name":"string","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"w","comment":"Write the chars '1', '2', '3' and a newline","arg_str":" 123\\n"},{"text":"w","comment":"Write the chars 'a', 'b', a NUL, 'c', 'd' and another NUL","arg_str":" ab\\0cd\\0"}]},{"name":"Escape sequences","entries":[{"text":"\\0","comment":"NUL (0x0)","arg_str":""},{"text":"\\a","comment":"Bell (0x7)","arg_str":""},{"text":"\\b","comment":"Backspace (0x8)","arg_str":""},{"text":"\\e","comment":"Escape (0x1b)","arg_str":""},{"text":"\\f","comment":"Form feed (0xc)","arg_str":""},{"text":"\\n","comment":"Newline (0xa)","arg_str":""},{"text":"\\r","comment":"Carriage return (0xd)","arg_str":""},{"text":"\\t","comment":"Tab (0x9)","arg_str":""},{"text":"\\v","comment":"Vertical tab (0xb)","arg_str":""},{"text":"\\\\","comment":"Backslash ('\\')","arg_str":""},{"text":"\\xhh","comment":"Byte in hexadecimal","arg_str":""},{"text":"\\nnn","comment":"Byte in octal (eg. \\033 for the escape char)","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wB","type":"group","summary":"Set or unset bits with given value","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"wB","type":"argv","summary":"Set bits with given value","description":"Set the bits that are set in the value passed as arguments. 0 bits in the value argument are ignored, while the others are set at the current offset.","args_str":" <value>","args":[{"type":"number","name":"value","required":true}],"details":[{"name":"Examples","entries":[{"text":"wB","comment":"Sets the 5th bit at current offset, leaving all other bits intact.","arg_str":" 0x20"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wB-","type":"argv","summary":"Unset bits with given value","description":"Unset the bits that are set in the value passed as arguments. 0 bits in the value argument are ignored, while the others are unset at the current offset","args_str":" <value>","args":[{"type":"number","name":"value","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"wv","type":"group","summary":"Write value of given size","description":"","args_str":"","args":[],"details":[{"name":"Examples","entries":[{"text":"wv","comment":"Write the value 0xdeadbeef at current offset","arg_str":" 0xdeadbeef"},{"text":"wv2","comment":"Write the word 0xdead at current offset","arg_str":" 0xdead"},{"text":"wv1","comment":"Write the byte 0xde at current offset","arg_str":" 0xde"}]}],"executable":true,"n_children":5,"modes":[],"children":[{"cmd":"wv","type":"argv","summary":"Write value as 4-bytes/8-bytes based on value","description":"Write the number passed as argument at the current offset as a 4 - bytes value or 8 - bytes value if the input is bigger than UT32_MAX, respecting the cfg.bigendian variable","args_str":" <value>","args":[{"type":"number","name":"value","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wv1","type":"argv","summary":"Write value of 1 byte","description":"Write the number passed as argument at the current offset as 1 - byte, respecting the cfg.bigendian variable","args_str":" <value>","args":[{"type":"number","name":"value","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wv2","type":"argv","summary":"Write value of 2 byte","description":"Write the number passed as argument at the current offset as 2 - bytes, respecting the cfg.bigendian variable","args_str":" <value>","args":[{"type":"number","name":"value","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wv4","type":"argv","summary":"Write value of 4 byte","description":"Write the number passed as argument at the current offset as 4 - bytes, respecting the cfg.bigendian variable","args_str":" <value>","args":[{"type":"number","name":"value","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wv8","type":"argv","summary":"Write value of 8 byte","description":"Write the number passed as argument at the current offset as 8 - bytes, respecting the cfg.bigendian variable","args_str":" <value>","args":[{"type":"number","name":"value","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"w0","type":"argv","summary":"Write <len> bytes with value 0x00","description":"Fill <len> bytes starting from the current offset with the value 0.","args_str":" <len>","args":[{"type":"number","name":"len","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"w","type":"inner","summary":"Increment/decrement byte, word, ...","description":"","args_str":" [<n>]","args":[],"details":[],"executable":false,"n_children":4,"modes":[],"children":[{"cmd":"w1","type":"group","summary":"Increment/decrement a byte","description":"","args_str":"","args":[],"details":[{"name":"Examples","entries":[{"text":"w1+","comment":"Add 1 to the byte at the current offset.","arg_str":""},{"text":"w1-","comment":"Subtract 1 to the byte at the current offset.","arg_str":""},{"text":"w1-","comment":"Subtract 9 to the byte at the current offset.","arg_str":" 9"}]}],"executable":false,"n_children":2,"modes":[],"children":[{"cmd":"w1+","type":"argv","summary":"Increment a byte","description":"Increment a byte at the current offset by 1 or <n>, if specified","args_str":" [<n>]","args":[{"type":"number","name":"n"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"w1-","type":"argv","summary":"Decrement a byte","description":"Decrement a byte at the current offset by 1 or <n>, if specified","args_str":" [<n>]","args":[{"type":"number","name":"n"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"w2","type":"group","summary":"Increment/decrement a word","description":"","args_str":"","args":[],"details":[{"name":"Examples","entries":[{"text":"w2+","comment":"Add 1 to the word at the current offset.","arg_str":""},{"text":"w2-","comment":"Subtract 1 to the word at the current offset.","arg_str":""},{"text":"w2-","comment":"Subtract 9 to the word at the current offset.","arg_str":" 9"}]}],"executable":false,"n_children":2,"modes":[],"children":[{"cmd":"w2+","type":"argv","summary":"Increment a word","description":"Increment a word at the current offset by 1 or <n>, if specified","args_str":" [<n>]","args":[{"type":"number","name":"n"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"w2-","type":"argv","summary":"Decrement a word","description":"Decrement a word at the current offset by 1 or <n>, if specified","args_str":" [<n>]","args":[{"type":"number","name":"n"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"w4","type":"group","summary":"Increment/decrement a dword","description":"","args_str":"","args":[],"details":[{"name":"Examples","entries":[{"text":"w4+","comment":"Add 1 to the dword at the current offset.","arg_str":""},{"text":"w4-","comment":"Subtract 1 to the dword at the current offset.","arg_str":""},{"text":"w4-","comment":"Subtract 9 to the dword at the current offset.","arg_str":" 9"}]}],"executable":false,"n_children":2,"modes":[],"children":[{"cmd":"w4+","type":"argv","summary":"Increment a dword","description":"Increment a dword at the current offset by 1 or <n>, if specified","args_str":" [<n>]","args":[{"type":"number","name":"n"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"w4-","type":"argv","summary":"Decrement a dword","description":"Decrement a dword at the current offset by 1 or <n>, if specified","args_str":" [<n>]","args":[{"type":"number","name":"n"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"w8","type":"group","summary":"Increment/decrement a qword","description":"","args_str":"","args":[],"details":[{"name":"Examples","entries":[{"text":"w8+","comment":"Add 1 to the qword at the current offset.","arg_str":""},{"text":"w8-","comment":"Subtract 1 to the qword at the current offset.","arg_str":""},{"text":"w8-","comment":"Subtract 9 to the qword at the current offset.","arg_str":" 9"}]}],"executable":false,"n_children":2,"modes":[],"children":[{"cmd":"w8+","type":"argv","summary":"Increment a qword","description":"Increment a qword at the current offset by 1 or <n>, if specified","args_str":" [<n>]","args":[{"type":"number","name":"n"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"w8-","type":"argv","summary":"Decrement a qword","description":"Decrement a qword at the current offset by 1 or <n>, if specified","args_str":" [<n>]","args":[{"type":"number","name":"n"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]}]},{"cmd":"w6","type":"group","summary":"Write base64 [d]ecoded or [e]ncoded string","description":"","args_str":"","args":[],"details":[{"name":"Examples","entries":[{"text":"w6d","comment":"Write the string \"HelloWorld\" (without quotes) at current offset.","arg_str":" SGVsbG9Xb3JsZAo="},{"text":"w6e","comment":"Write the string \"SGVsbG9Xb3JsZAo=\" (without quotes) at current offset.","arg_str":" 48656c6c6f576f726c64"}]}],"executable":false,"n_children":2,"modes":[],"children":[{"cmd":"w6d","type":"argv","summary":"Write the base64-decoded bytes","description":"Base64-Decode the string passed as argument and write it at the current offset.","args_str":" <base64>","args":[{"type":"string","name":"base64","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"w6e","type":"argv","summary":"Write the base64-encoded bytes","description":"Base64-Encode the hex string passed as argument and write it at the current offset","args_str":" <hexstring>","args":[{"type":"string","name":"hexstring","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"we","type":"group","summary":"Extend write operations (insert bytes instead of replacing)","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":3,"modes":[],"children":[{"cmd":"wen","type":"argv","summary":"Insert <len> null bytes at <addr> or current offset and extend the file at current offset","description":"","args_str":" <len> [<addr>]","args":[{"type":"expression","name":"len","required":true},{"type":"expression","name":"addr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wes","type":"argv","summary":"Shift <len> bytes at current offset left or right based on <dist>","description":"Shift the bytes at current offset left or right, based on the value of <dist>. Positive <dist> shifts the data right, negative <dist> shifts the data left. The amount of data to be shifted is either <len>, if specified, or the whole remaining file otherwise.","args_str":" <dist> [<len>]","args":[{"type":"expression","name":"dist","required":true},{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wex","type":"argv","summary":"Insert <hex_bytes> at <addr> or current offset and extend the file at current offset","description":"","args_str":" <bytes> [<addr>]","args":[{"type":"string","name":"bytes","required":true},{"type":"expression","name":"addr","is_last":true}],"details":[{"name":"Examples","entries":[{"text":"wex","comment":"Insert the characters \"ABC\" at the current offset and extend the file","arg_str":" 414243"}]}],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"wu","type":"argv","summary":"Apply unified hex patch (see output of cu)","description":"","args_str":" <file>","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wr","type":"argv","summary":"Write <len> random bytes","description":"","args_str":" <len>","args":[{"type":"expression","name":"len","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wc","type":"group","summary":"Write cache commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":7,"modes":["standard","json"],"children":[{"cmd":"wc","type":"argv_state","summary":"List all write changes in the cache","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"wc-","type":"argv","summary":"Remove write operation at current offset or in the given range","description":"","args_str":" [<from> [<to>]]","args":[{"type":"expression","name":"from"},{"type":"expression","name":"to","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wc-*","type":"argv","summary":"Reset the cache","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wc+","type":"argv","summary":"Commit cache from address <from> up to <to> or one blocksize","description":"","args_str":" <from> [<to>]","args":[{"type":"expression","name":"from","required":true},{"type":"expression","name":"to","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wci","type":"argv","summary":"Commit the cache","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wcp","type":"argv_state","summary":"List all write changes in the p-cache","description":"","args_str":" [<fd>]","args":[{"type":"number","name":"fd"}],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"wcpi","type":"argv","summary":"Commit p-cache for specified <fd> or current file","description":"","args_str":" [<fd>]","args":[{"type":"number","name":"fd"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"wz","type":"argv","summary":"Write zero-terminated string","description":"","args_str":" <string>","args":[{"type":"string","name":"string","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wf","type":"group","summary":"Write data from file, socket, offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":[],"children":[{"cmd":"wf","type":"argv","summary":"Write <size> bytes from <addr> into current offset","description":"","args_str":" <addr> <size>","args":[{"type":"expression","name":"addr","required":true},{"type":"expression","name":"size","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wfx","type":"argv","summary":"Exchange <size> bytes between <addr> and current offset","description":"","args_str":" <addr> <size>","args":[{"type":"expression","name":"addr","required":true},{"type":"expression","name":"size","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wff","type":"argv","summary":"Write data from <file> into current offset","description":"","args_str":" <file> [<size> [<offset>]]","args":[{"type":"filename","name":"file","required":true},{"type":"expression","name":"size"},{"type":"expression","name":"offset","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wfs","type":"argv","summary":"Write data from socket into current offset","description":"","args_str":" <host:port> [<size>]","args":[{"type":"string","name":"host:port","required":true},{"type":"expression","name":"size","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"ww","type":"argv","summary":"Write wide (16-bit) little-endian string","description":"","args_str":" <string>","args":[{"type":"string","name":"string","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wx","type":"group","summary":"Write hexadecimal data","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"wx","type":"argv","summary":"Write hexadecimal data <hex> into current offset","description":"","args_str":" <hex>","args":[{"type":"string","name":"hex","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wxf","type":"argv","summary":"Write hexadecimal data from file <file> into current offset","description":"","args_str":" <file|->","args":[{"type":"filename","name":"file|-","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"wa","type":"group","summary":"Write opcodes","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":[],"children":[{"cmd":"wa","type":"argv","summary":"Assemble instruction(s) and write bytes at current offset","description":"Assemble the <instructions> provided as argument considering the current architecture and bits in asm.arch/asm.bits and write the resulting bytes at the current offset.","args_str":" <instructions1> <instructions2> ...","args":[{"type":"string","name":"instructions","required":true,"is_array":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wai","type":"argv","summary":"Assemble instruction(s) and write bytes inside the current instruction","description":"Assemble the <instructions> provided as argument considering the current architecture and bits in asm.arch/asm.bits and write the resulting bytes \"inside\" the current instruction, by filling the remaining bytes of the old instruction with nop bytes.","args_str":" <instructions1> <instructions2> ...","args":[{"type":"string","name":"instructions","required":true,"is_array":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"waf","type":"argv","summary":"Assemble file and write bytes at current offset","description":"Assemble the assembly file <file> provided as argument considering the current architecture and bits in asm.arch/asm.bits and write the resulting bytes at the current offset.","args_str":" <file>","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wao","type":"argv","summary":"Write on the current opcode","description":"","args_str":" <op>","args":[{"type":"string","name":"op","required":true,"is_last":true}],"details":[{"name":"Operators","entries":[{"text":"wao","comment":"Make the current instruction a no operation","arg_str":" nop"},{"text":"wao","comment":"Assemble an infinite loop","arg_str":" jinf"},{"text":"wao","comment":"Make the current conditional instruction a jump-if-zero","arg_str":" jz"},{"text":"wao","comment":"Make the current conditional instruction a jump-if-not-zero","arg_str":" jnz"},{"text":"wao","comment":"Make the current instruction return 1","arg_str":" ret1"},{"text":"wao","comment":"Make the current instruction return 0","arg_str":" ret0"},{"text":"wao","comment":"Make the current instruction return -1","arg_str":" retn"},{"text":"wao","comment":"Make the current conditional instruction unconditional","arg_str":" nocj"},{"text":"wao","comment":"Make the current instruction a trap (e.g. int3 in x86)","arg_str":" trap"},{"text":"wao","comment":"Swap the condition of the current conditional instruction","arg_str":" recj"}]}],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"wb","type":"argv","summary":"Write in current block a hexstring cyclically","description":"","args_str":" <hex>","args":[{"type":"string","name":"hex","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wm","type":"group","summary":"Set binary mask hexpair to be used as cyclic write mask","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"wm","type":"argv","summary":"Set a write mask","description":"Set a write mask that is applied whenever a following write operation is performed. Data will be masked as if the first byte of data is in arithmetic AND (&) with the first byte of the mask, the second byte of data with the second byte of the mask, and so on.","args_str":" <hex_mask>","args":[{"type":"string","name":"hex_mask","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wm-","type":"argv","summary":"Remove the write mask","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"wo","type":"group","summary":"Write a block with a special operation","description":"","args_str":"","args":[],"details":[{"name":"Examples","entries":[{"text":"woa","comment":"Content before: 1122334455 ; Content after: 3142536475","arg_str":" 20"},{"text":"wos","comment":"Content before: 1122334455 ; Content after: f101132335","arg_str":" 2021"},{"text":"wo4","comment":"Content before: 1122334455667788; Content after: 4433221188776655","arg_str":""}]}],"executable":false,"n_children":15,"modes":[],"children":[{"cmd":"wo2","type":"argv","summary":"Swap the endianess of 2-bytes values in the current block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wo4","type":"argv","summary":"Swap the endianess of 4-bytes values in the current block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wo8","type":"argv","summary":"Swap the endianess of 8-bytes values in the current block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"woa","type":"argv","summary":"Add each existing byte in the block with the given <value>","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"woA","type":"argv","summary":"Bitwise-and each existing byte in the block with the given <value>","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wod","type":"argv","summary":"Divide each existing byte in the block with the given <value>","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wol","type":"argv","summary":"Bitwise-shift-left each existing byte in the block with the given <value>","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wom","type":"argv","summary":"Multiply each existing byte in the block with the given <value>","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"woo","type":"argv","summary":"Bitwise-or each existing byte in the block with the given <value>","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wor","type":"argv","summary":"Bitwise-shift-right each existing byte in the block with the given <value>","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wos","type":"argv","summary":"Subtract each existing byte in the block with the given <value>","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wox","type":"argv","summary":"Bitwise-xor each existing byte in the block with the given <value>","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"woe","type":"argv","summary":"Write a sequence repeatedly with values from <from> up to <to> in the block","description":"Write a sequence of data to fill the whole block at the current offset. The sequence is formed starting from <from> up to <to>, with an increment specified in <step>. Each value is written as a <value_size>-bytes value, according to the endianess specified in cfg.bigendian.","args_str":" <from> <to> <step>=1 <value_size>=1","args":[{"type":"number","name":"from","required":true},{"type":"number","name":"to","required":true},{"type":"number","name":"step","required":true,"default":"1"},{"type":"number","name":"value_size","required":true,"default":"1"}],"details":[{"name":"Examples","entries":[{"text":"woe","comment":"Write 010203010203010203","arg_str":" 1 3 1"},{"text":"woe","comment":"Write 010301030103010301","arg_str":" 1 4 2"},{"text":"woe","comment":"Write 010305020401030502","arg_str":" 1 5 2"},{"text":"woe","comment":"Write 01000200030001000200","arg_str":" 1 3 1 2"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"woD","type":"argv","summary":"Decrypt current block with given <algo>, <key> and optional <IV>","description":"","args_str":" <algo> <key> [<IV>]","args":[{"type":"string","name":"algo","required":true},{"type":"string","name":"key","required":true},{"type":"string","name":"IV","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"woE","type":"argv","summary":"Encrypt current block with given <algo>, <key> and optional <IV>","description":"","args_str":" <algo> <key> [<IV>]","args":[{"type":"string","name":"algo","required":true},{"type":"string","name":"key","required":true},{"type":"string","name":"IV","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"wD","type":"group","summary":"Write de Bruijn pattern","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"wD","type":"argv","summary":"Write a de Bruijn pattern of length <len> at the current offset","description":"","args_str":" <len>","args":[{"type":"expression","name":"len","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wD/","type":"argv","summary":"Returns the offset where <value> can be found in a de Bruijn pattern","description":"It search for a particular value in the pattern as returned by the `wD` command. <value> is assumed to be a number of as few bytes as necessary, in the endian specified by cfg.bigendian.","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"wd","type":"argv","summary":"Duplicate <len> bytes from <src> offset to current seek","description":"","args_str":" <src> <len>","args":[{"type":"expression","name":"src","required":true},{"type":"expression","name":"len","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ws","type":"argv","summary":"Write 1 byte for length and then the string","description":"","args_str":" <string>","args":[{"type":"string","name":"string","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"x","type":"argv_state","summary":"Alias for 'px' (print hexdump).","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"xc","type":"argv","summary":"Alias for 'pxc' (show hexdump with comments).","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"y","type":"group","summary":"Yank/paste bytes from/to memory","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":11,"modes":["standard","json","quiet"],"children":[{"cmd":"y","type":"argv_state","summary":"Yank bytes / Show yank contents","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"ye","type":"argv","summary":"Open cfg.editor to edit the clipboard","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"yf","type":"argv","summary":"Yank <len> bytes from file","description":"","args_str":" <len> <file>","args":[{"type":"expression","name":"len","required":true},{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"yfa","type":"argv","summary":"Yank whole file into clipboard","description":"","args_str":" <file>","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"yp","type":"argv","summary":"Print contents of clipboards as raw data","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ys","type":"argv","summary":"Print contents of clipboards as string","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"yt","type":"argv","summary":"Copy <len> bytes from current seek to <offset>","description":"","args_str":" <len> <offset>","args":[{"type":"expression","name":"len","required":true},{"type":"expression","name":"offset","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ywx","type":"argv","summary":"Yank from hexpairs string","description":"","args_str":" <string>","args":[{"type":"string","name":"string","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"yx","type":"argv","summary":"Print contents of clipboard in hexadecimal","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"yy","type":"argv","summary":"Paste <len> bytes from yank clipboard","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"yz","type":"argv","summary":"Copy NULL-terminated string into clipboard","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"|","type":"fake","summary":"Pipe help ('|')","description":"","args_str":"","args":[],"details":[{"name":"","entries":[{"text":"<cmd> |","comment":"Disable scr.html and scr.color","arg_str":""},{"text":"<cmd> |H","comment":"Enable scr.html, respect scr.color","arg_str":""},{"text":"<cmd> |","comment":"Pipe output of command to program","arg_str":" <program>"},{"text":"<cmd> |.","comment":"Alias for .<cmd>","arg_str":""}]}],"executable":false,"n_children":0,"modes":[],"children":[]},{"cmd":"~","type":"fake","summary":"Internal grep help ('~')","description":"","args_str":"","args":[],"details":[{"name":"Modifiers","entries":[{"text":"&","comment":"All words must match to grep the line","arg_str":""},{"text":"$[n]","comment":"Sort numerically / alphabetically the Nth column","arg_str":""},{"text":"$!","comment":"Sort in inverse order","arg_str":""},{"text":",","comment":"Token to define another keyword","arg_str":""},{"text":"+","comment":"Set the grep as the opposite of search.case_sensitive","arg_str":""},{"text":"^","comment":"Words must be placed at the beginning of line, after whitespace if any","arg_str":""},{"text":"<","comment":"Perform zoom operation on the buffer","arg_str":""},{"text":"!","comment":"Negate grep","arg_str":""},{"text":"?","comment":"Count number of matching lines","arg_str":""},{"text":"?.","comment":"Count number chars","arg_str":""},{"text":":s..e","comment":"Show lines s-e","arg_str":""},{"text":"..","comment":"Internal 'less'","arg_str":""},{"text":"...","comment":"Internal 'hud' (like V_)","arg_str":""},{"text":"{:","comment":"Human friendly indentation (yes, it's a smiley)","arg_str":""},{"text":"{:..","comment":"Less the output of {:","arg_str":""},{"text":"{:...","comment":"Hud the output of {:","arg_str":""},{"text":"{}","comment":"Json indentation","arg_str":""},{"text":"{}..","comment":"Less json indentation","arg_str":""},{"text":"{}...","comment":"Hud json indentation","arg_str":""},{"text":"{path}","comment":"Json path grep","arg_str":""}]},{"name":"EndModifiers","entries":[{"text":"$","comment":"Words must be placed at the end of line","arg_str":""}]},{"name":"Columns","entries":[{"text":"[n]","comment":"Show only columns n","arg_str":""},{"text":"[n-m]","comment":"Show column n to m","arg_str":""},{"text":"[n-]","comment":"Show all columns starting from column n","arg_str":""},{"text":"[i,j,k]","comment":"Show the columns i, j and k","arg_str":""}]},{"name":"Examples","entries":[{"text":"i","comment":"Show first line of 'i' output","arg_str":"~:0"},{"text":"i","comment":"Show from the second-last line to the last line of 'i' output","arg_str":"~:-2.."},{"text":"i","comment":"Show first three lines of 'i' output","arg_str":"~:..3"},{"text":"i","comment":"Show three lines of 'i' output starting from 2nd line","arg_str":"~:2..5"},{"text":"pd","comment":"Disasm and grep for mov","arg_str":"~mov"},{"text":"pi","comment":"Show only opcode","arg_str":"~[0]"},{"text":"i","comment":"Show lines ending with 0x400","arg_str":"~0x400$"}]}],"executable":false,"n_children":0,"modes":[],"children":[]}]}} +--cmd-catalog json +{"version":1,"generated_from":"runtime","root":{"cmd":"","type":"group","summary":"","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":52,"modes":[],"children":[{"cmd":"!","type":"group","summary":"Run command via system(3)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"!","type":"argv","summary":"Run command via system(3) with raw output. Grepping via '~' automatically forces use of '!!' instead.","description":"","args_str":"<command> [<args1> <args2> ...]","args":[{"type":"string","name":"command","nospace":true,"required":true},{"type":"string","name":"args","is_array":true}],"details":[{"name":"Examples","entries":[{"text":"!","comment":"Execute the 'ls' command via system(3)","arg_str":"ls"},{"text":"!","comment":"Execute the 'echo' command via system(3) and bash. It prints the content of the environment variable '$RZ_SIZE'.","arg_str":"bash -c \"echo $RZ_SIZE\""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"!!","type":"argv","summary":"Run command via system(3) and pipe its stdout to rizin","description":"","args_str":"<command> [<args1> <args2> ...]","args":[{"type":"string","name":"command","nospace":true,"required":true},{"type":"string","name":"args","is_array":true}],"details":[{"name":"Examples","entries":[{"text":"!!","comment":"Execute the 'ls' command via system(3) and grep for 'txt'. Note that 'ls' has different output if its stdout is piped.","arg_str":"ls~txt"}]}],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"#!","type":"argv","summary":"Run interpreter","description":"","args_str":"<interpreter-name> [<arg1> <arg2> ...]","args":[{"type":"string","name":"interpreter-name","nospace":true,"required":true},{"type":"string","name":"arg","is_array":true}],"details":[{"name":"Examples","entries":[{"text":"#!","comment":"Run python commandline","arg_str":"python"},{"text":"#!","comment":"Run foo.py python script","arg_str":"python foo.py"},{"text":"#!","comment":"Run foo.py python script and pass it arg1 as argument","arg_str":"python foo.py arg1"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"$","type":"group","summary":"Alias commands and strings","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"$","type":"argv","summary":"List all defined aliases / Define alias (see %$? for help on $variables)","description":"","args_str":"[alias[=cmd] [args...]]","args":[{"type":"string","name":"args","nospace":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"$","comment":"List all defined aliases","arg_str":""},{"text":"$","comment":"Alias for 'f foo @ 123'","arg_str":"foo:=123"},{"text":"$","comment":"Alias for 'fm $$-4 @ foo'","arg_str":"foo-=4"},{"text":"$","comment":"Alias for 'fm $$+4 @ foo'","arg_str":"foo+=4"},{"text":"$","comment":"Alias for 's foo' (note that command aliases can override flag resolution)","arg_str":"foo"},{"text":"$","comment":"Alias this base64 encoded text to be executed when $dis is called","arg_str":"dis=base64:cGRm"},{"text":"$","comment":"Alias this text to be printed when $dis is called","arg_str":"dis=$hello world"},{"text":"$","comment":"Open cfg.editor to set the new value for dis alias","arg_str":"dis=-"},{"text":"$","comment":"Create command - analyze to show function","arg_str":"dis=\"af;pdf\""},{"text":"$","comment":"Create command - rlangpipe script","arg_str":"test=\\#!pipe node /tmp/test.js"},{"text":"$","comment":"Undefine alias","arg_str":"dis="},{"text":"$","comment":"Execute the previously defined alias","arg_str":"dis"},{"text":"$","comment":"Show commands aliased by $dis","arg_str":"dis?"},{"text":"$","comment":"Show commands aliased by $dis, without a new line","arg_str":"dis?n"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"$*","type":"argv","summary":"List all the aliases as rizin commands in base64","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"$**","type":"argv","summary":"Same as above, but using plain text","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"%","type":"group","summary":"Math commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":30,"modes":["standard","json"],"children":[{"cmd":"%","type":"argv_state","summary":"Evaluate numerical expression <expr>","description":"","args_str":" <expr>","args":[{"type":"string","name":"expr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"%$","type":"argv","summary":"Print Rizin variables and their values","description":"","args_str":" [<var>]","args":[{"type":"string","name":"var","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%0","type":"argv","summary":"Set first tab as the current active tab","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%1","type":"argv","summary":"Set next tab as the current active tab","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%r","type":"argv","summary":"Generate a random number between <lowlimit> and <uplimit>","description":"","args_str":" <lowlimit> <uplimit>","args":[{"type":"expression","name":"lowlimit","required":true},{"type":"expression","name":"uplimit","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%b","type":"argv","summary":"Print <expr> in binary format","description":"","args_str":" <expr>","args":[{"type":"expression","name":"expr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%b64","type":"argv","summary":"Encode <str> in Base64","description":"","args_str":" <str>","args":[{"type":"string","name":"str","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"%b64","comment":"(SUxvdmVSaXppbgo=) Encodes given string into base64","arg_str":" ILoveRizin"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%b64-","type":"argv","summary":"Decode <str> from Base64","description":"","args_str":" <str>","args":[{"type":"string","name":"str","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"%b64- ","comment":"(ILoveRizin) Decodes given base64 string","arg_str":"SUxvdmVSaXppbgo="}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%btw","type":"argv","summary":"Check if <middle> number is between <first> and <last>","description":"","args_str":" <first> <middle> <last>","args":[{"type":"expression","name":"first","required":true},{"type":"expression","name":"middle","required":true},{"type":"expression","name":"last","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%B","type":"argv_state","summary":"Prints the search boundaries based on the search.in mode.","description":"There are multiple search modes in Rizin that can be listed using the command `e search.in=?`. This command can be used to get boundaries of those search modes.","args_str":"","args":[],"details":[{"name":"Examples","entries":[{"text":"%B ","comment":"Prints boundary of this file","arg_str":"@e:search.in=file"},{"text":"%Bt ","comment":"Prints boundaries of all io maps","arg_str":"@e:search.in=io.maps"}]}],"executable":true,"n_children":0,"modes":["standard","json","table"],"children":[]},{"cmd":"%h","type":"argv","summary":"Print hash value of string <str>","description":"","args_str":" <<str>>","args":[{"type":"string","name":"<str>","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"%h ","comment":"0x56b7215a -> hashed value","arg_str":"ILoveRizin"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%f","type":"argv","summary":"bitstring manipulation.","description":"Treat given string as bitstring and get selected characters from bitstring using given value. Bits that are flagged in value are used to get characters from given string. Bitstring is treated in big-endian format","args_str":" <value> <bitstring>","args":[{"type":"number","name":"value","required":true},{"type":"string","name":"bitstring","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"%f","comment":"LLO (00111b selected : big-endian bitstring)","arg_str":" 28 Hello"},{"text":"%f","comment":"LL (00110b selected : big-endian bitstring)","arg_str":" 12 Hello"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%o","type":"argv","summary":"Print <expr> in octal format","description":"","args_str":" <expr>","args":[{"type":"expression","name":"expr","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"%o","comment":"0173 in octal","arg_str":" 123"},{"text":"%o","comment":"0501 in octal","arg_str":" 321"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%u","type":"argv","summary":"Convert <expr> to K, M, G, T etc... units","description":"","args_str":" <expr>","args":[{"type":"expression","name":"expr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%v","type":"group","summary":"Show value commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":7,"modes":[],"children":[{"cmd":"%v","type":"argv","summary":"Show last expression ($?) or currently evaluated <expr>","description":"","args_str":" [<expr>]","args":[{"type":"expression","name":"expr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%vx","type":"argv","summary":"Show last expression ($?) or currently evaluated <expr> in hex","description":"","args_str":" [<expr>]","args":[{"type":"expression","name":"expr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%vi1","type":"argv","summary":"Show last expression ($?) or currently evaluated <expr> as 1 byte integer","description":"","args_str":" [<expr>]","args":[{"type":"expression","name":"expr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%vi2","type":"argv","summary":"Show last expression ($?) or currently evaluated <expr> as 2 bytes integer","description":"","args_str":" [<expr>]","args":[{"type":"expression","name":"expr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%vi4","type":"argv","summary":"Show last expression ($?) or currently evaluated <expr> as 4 bytes integer","description":"","args_str":" [<expr>]","args":[{"type":"expression","name":"expr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%vi8","type":"argv","summary":"Show last expression ($?) or currently evaluated <expr> as 8 bytes integer","description":"","args_str":" [<expr>]","args":[{"type":"expression","name":"expr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%vi","type":"argv","summary":"Show last expression ($?) or currently evaluated <expr> as integer","description":"","args_str":" [<expr>]","args":[{"type":"expression","name":"expr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"%=","type":"argv","summary":"Update $? (last evaluated expression) with <expr>, without printing anything","description":"","args_str":" <expr>","args":[{"type":"expression","name":"expr","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"%q","comment":"This will set $?. Then commands like %+, %-, etc. can be used to do some task by checking whether $? holds positive value or not.","arg_str":" 123"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%==","type":"argv","summary":"Compare strings <str1> and <str2> and set $? register to cmp result","description":"","args_str":" <str1> <str2>","args":[{"type":"string","name":"str1","required":true},{"type":"string","name":"str2","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"%==","comment":"$? will be set to 0 if these two strings are equal, otherwise some other positive value.","arg_str":" str1 str2"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%+","type":"argv","summary":"Execute command <cmd> if $? register is greater than 0","description":"","args_str":" <cmd>","args":[{"type":"command","name":"cmd","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"%=1; %+","comment":"Will display hexdump at current seek address","arg_str":" %%x"},{"text":"%=-2; %+","comment":"Won\"t do anything","arg_str":" %%x"},{"text":"%=0; %+","comment":"Won\"t do anything","arg_str":" %%x"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%-","type":"argv","summary":"Execute command <cmd> if $? register is less than 0","description":"","args_str":" <cmd>","args":[{"type":"command","name":"cmd","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"%=1; %-","comment":"Won\"t do anything","arg_str":" %%x"},{"text":"%=-2; %-","comment":"Will display hexdump at current seek address","arg_str":" %%x"},{"text":"%=0; %+","comment":"Won\"t do anything","arg_str":" %%x"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%!","type":"argv","summary":"Execute command <cmd> if $? is 0","description":"","args_str":" <cmd>","args":[{"type":"command","name":"cmd","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%%","type":"argv","summary":"Execute command <cmd> if $? is not 0","description":"","args_str":" <cmd>","args":[{"type":"command","name":"cmd","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%l","type":"argv_state","summary":"Calculate length of string <str>. Quiet mode stores value in `$?` register.","description":"","args_str":" <str>","args":[{"type":"string","name":"str","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","quiet"],"children":[]},{"cmd":"%X","type":"argv","summary":"Show evaluated expression <expr> in hex","description":"","args_str":" <expr>","args":[{"type":"expression","name":"expr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%x","type":"group","summary":"String/Numeric to hex manipulation commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"%x","type":"argv","summary":"ASCII string to hex string","description":"","args_str":" <astr>","args":[{"type":"string","name":"astr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%x+","type":"argv","summary":"Numerical expression to hex","description":"","args_str":" <expr>","args":[{"type":"expression","name":"expr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%x-","type":"argv","summary":"Hex string to ASCII string","description":"","args_str":" <hexnum>","args":[{"type":"expression","name":"hexnum","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"%s","type":"argv","summary":"Generate sequence of numbers from <start> to <stop> with <step> increments","description":"","args_str":" <start> <stop> <step>","args":[{"type":"expression","name":"start","required":true},{"type":"expression","name":"stop","required":true},{"type":"expression","name":"step","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%P","type":"argv","summary":"Convert physical to virtual address","description":"","args_str":" [<paddr>]","args":[{"type":"expression","name":"paddr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%p","type":"argv","summary":"Virtual to physical address conversion","description":"","args_str":" [<vaddr>]","args":[{"type":"expression","name":"vaddr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%_","type":"argv","summary":"HUD input","description":"","args_str":" <input>","args":[{"type":"string","name":"input","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%i","type":"group","summary":"Input commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":8,"modes":[],"children":[{"cmd":"%i","type":"argv","summary":"Input the <prompt> and save response in yank clipboard (`y` commands)","description":"","args_str":" <prompt>","args":[{"type":"string","name":"prompt","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%ie","type":"argv","summary":"Input the <prompt>, save response in yank clipboard (`y` commands), and print it","description":"","args_str":" <prompt>","args":[{"type":"string","name":"prompt","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%in","type":"argv","summary":"Input Yes/No <question> and store result in $? register (default No)","description":"","args_str":" [<question>]","args":[{"type":"string","name":"question","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%iy","type":"argv","summary":"Input Yes/No <question> and store result in $? register (default Yes)","description":"","args_str":" [<question>]","args":[{"type":"string","name":"question","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%ik","type":"argv","summary":"Input any key. Does nothing else.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%ip","type":"argv","summary":"Interactive HUD mode to find files in <path>","description":"","args_str":" [<path>]","args":[{"type":"string","name":"path","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%im","type":"argv","summary":"Display <msg> in console and wait for key","description":"","args_str":" <msg>","args":[{"type":"string","name":"msg","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"%if","type":"argv","summary":"Evaluate <expr>, store result in $? register and print true if <expr> != 0, false otherwise","description":"","args_str":" <expr>","args":[{"type":"expression","name":"expr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"%w","type":"argv","summary":"Get references of given address","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"&","type":"group","summary":"Manage tasks","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":7,"modes":["standard","json"],"children":[{"cmd":"&","type":"argv_modes","summary":"List all tasks / Run <cmd> in a new background task","description":"","args_str":" [<cmd>]","args":[{"type":"command","name":"cmd","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"&t","type":"argv","summary":"Run <cmd> in a new transient background task (auto-delete when it is finished)","description":"","args_str":" <cmd>","args":[{"type":"command","name":"cmd","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"&=","type":"argv","summary":"Show output of task <n>","description":"","args_str":" <n>","args":[{"type":"number","name":"n","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"&b","type":"argv","summary":"Break task <n>","description":"","args_str":" <n>","args":[{"type":"number","name":"n","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"&-","type":"argv","summary":"Delete task <n> or schedule for deletion when it is finished","description":"","args_str":" <n>","args":[{"type":"number","name":"n","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"&-*","type":"argv","summary":"Delete all done tasks","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"&&","type":"argv","summary":"Wait until task <n> is finished / all tasks are finished","description":"","args_str":" [<name>]","args":[{"type":"number","name":"name"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"(","type":"group","summary":"Manage scripting macros","description":"","args_str":"","args":[],"details":[{"name":"Examples","entries":[{"text":"(","comment":"List defined macros","arg_str":""},{"text":"(","comment":"Define a new macro 'foo', which executes `?` followed by `pd` when called.","arg_str":"foo; echo Disassemble 10 bytes at 0x10000; pd 10 @ 0x10000)"},{"text":"(","comment":"Define a new macro 'foo' with two arguments. ${a}/${b} are replaced before execution.","arg_str":"foo a b; echo Disassemble ${a} bytes at ${b}; pd ${a} @ ${b})"},{"text":"(-","comment":"Remove previously defined macro named 'foo'","arg_str":"foo"}]}],"executable":true,"n_children":6,"modes":["standard"],"children":[{"cmd":"(","type":"argv_state","summary":"List all defined macros","description":"Without any arguments, ( lists defined macros. Macros can be used to execute multiple commands under one name, by replacing some arguments. The argument replacement is done before executing the command, by simply replacing ${<arg-name>} in the body of the macro with the value passed when calling the macro.","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"(-","type":"argv","summary":"Remove a defined macro named <macro-name>","description":"","args_str":"<macro-name>","args":[{"type":"string","name":"macro-name","nospace":true,"required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"(","type":"inner","summary":"Add a new macro <macro-name>","description":"","args_str":"<macro-name> [<macro-arg0> <macro-arg1> ...][; <cmds>])[([<macro-call-arg0> <macro-call-arg1> ...])]","args":[],"details":[],"executable":false,"n_children":0,"modes":[],"children":[]},{"cmd":"(","type":"inner","summary":"Define a macro <macro-name> and call it with the arguments <macro-call-args>","description":"","args_str":"<macro-name> [<macro-arg0> <macro-arg1> ...][; <cmds>])[([<macro-call-arg0> <macro-call-arg1> ...])]","args":[],"details":[],"executable":false,"n_children":0,"modes":[],"children":[]},{"cmd":".(","type":"inner","summary":"Call macro <macro-name> with the arguments <macro-call-args>","description":"","args_str":"<macro-name> [<macro-call-arg0> <macro-call-arg1> ...])","args":[],"details":[],"executable":false,"n_children":0,"modes":[],"children":[]},{"cmd":"..(","type":"inner","summary":"Call macro <macro-name> multiple times with the arguments <macro-call-args>","description":"Call the same macro multiple time, based on the number of arguments provided. If a macro accepts N arguments, the first N arguments are passed to the first invocation of the macro, the second N arguments to the second invocation, and so on. An error is returned when the wrong number of arguments is passed.","args_str":"<macro-name> [<macro-call-arg0> <macro-call-arg1> ...])","args":[],"details":[],"executable":false,"n_children":0,"modes":[],"children":[]}]},{"cmd":"*","type":"argv","summary":"Pointer read/write data/values","description":"Read or write values at a given address. When the value is a hexstring, it is decoded and written as raw bytes. Otherwise, it is evaluated as an expression and written using the current endianness and bitness settings.","args_str":"<addr>[=<expr>|<hexstring>]","args":[{"type":"expression","name":"addr","required":true},{"type":"expression","name":"value","is_last":true}],"details":[{"name":"Examples","entries":[{"text":"*","comment":"write trap in entrypoint","arg_str":"entry0=cc"},{"text":"*","comment":"write 0x804800 with the current bitness, 10 bytes from the entrypoint","arg_str":"entry0+10=0x804800"},{"text":"*","comment":"write the 32-bits value read at the entrypoint to the current offset","arg_str":"$$=[entry0] @e:asm.bits=32"},{"text":"*","comment":"read the value contained at the entrypoint","arg_str":"entry0"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":".","type":"group","summary":"Interpret commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":8,"modes":[],"children":[{"cmd":".","type":"argv","summary":"Repeat last executed command backward / Interpret the output of the command as rizin commands","description":"","args_str":"[<cmd>]","args":[{"type":"command","name":"cmd","nospace":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":". ","type":"argv","summary":"Interpret script","description":"","args_str":"<file.rz>","args":[{"type":"filename","name":"file.rz","nospace":true,"required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"...","type":"argv","summary":"Repeat last executed command forward (same as \\\\n)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"..","type":"argv","summary":"Run the output of the execution of a script as rizin commands","description":"","args_str":" <file>","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":".-","type":"argv","summary":"Open cfg.editor and interpret tmp file","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":".*","type":"argv","summary":"Same as #!pipe open cfg.editor and interpret tmp file","description":"","args_str":" <file>","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":".(","type":"argv","summary":"Call macro","description":"","args_str":"<macro-name> [<macro-arg1> <macro-arg2> ...])","args":[{"type":"macro","name":"macro-name","nospace":true,"required":true},{"type":"raw","name":"macro-arg","is_array":true},{"type":"fake","name":")"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"..(","type":"argv","summary":"Call macro multiple times","description":"Call a macro multiple times with arguments taken n at a time, where n is the number of macro arguments","args_str":"<macro-name> [<set1-arg1> <set1-arg2> ...] [<set2-arg1> <set2-arg2> ...] ...)","args":[{"type":"macro","name":"macro-name","nospace":true,"required":true},{"type":"raw","name":"macro-arg-set","is_array":true},{"type":"fake","name":")"}],"details":[{"name":"Example","entries":[{"text":"(","comment":"Define wv2 macro with word($0) and addr($1) args","arg_str":"wv2 word addr; wv2 $0 @ $1)"},{"text":"..(","comment":"Write 2 words at 2 different addresses","arg_str":"wv2 128 0x804800 256 0x804900)"}]}],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"/","type":"group","summary":"Search for bytes, regexps, patterns, ..","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":18,"modes":[],"children":[{"cmd":"/+","type":"argv_modes","summary":"Construct the string with chunks.","description":"","args_str":" </bin/sh>","args":[{"type":"string","name":"/bin/sh","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/a","type":"group","summary":"Assemble the instruction and search its bytes.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":16,"modes":["standard","json","quiet","table"],"children":[{"cmd":"/a","type":"argv_state","summary":"Assemble the instruction and search its bytes.","description":"","args_str":" <asm-text>","args":[{"type":"string","name":"asm-text","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/a1","type":"argv_modes","summary":"Find valid assembly generated by changing only the nth byte","description":"","args_str":" <number>","args":[{"type":"string","name":"number","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/aI","type":"argv_modes","summary":"Search for infinite loop instructions (jmp $$)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/aa","type":"argv_modes","summary":"Linearly find aproximated assembly (case insensitive strstr)","description":"","args_str":" <asm-text>","args":[{"type":"string","name":"asm-text","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/ac","type":"argv_modes","summary":"Same as /aa, but case-sensitive","description":"","args_str":" <asm-text>","args":[{"type":"string","name":"asm-text","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/ad","type":"argv_modes","summary":"Match ins1 followed by ins2 in linear disasm","description":"","args_str":" <mnem;mov>","args":[{"type":"string","name":"mnem;mov","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/ad/","type":"argv","summary":"Search for regex instruction 'ins1' followed by regex 'ins2'","description":"","args_str":" <ins1;ins2>","args":[{"type":"string","name":"ins1;ins2","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"/ad/a","type":"argv","summary":"Search for every byte instruction that matches regexp 'instr'","description":"","args_str":" <instr>","args":[{"type":"string","name":"instr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"/ae","type":"argv_modes","summary":"Search for esil expressions matching substring","description":"","args_str":" <esil>","args":[{"type":"string","name":"esil","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/af","type":"group","summary":"Search for instruction of specific family (afl=list","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json"],"children":[{"cmd":"/af","type":"argv_modes","summary":"Search for instruction of specific family (afl=list","description":"","args_str":" <family>","args":[{"type":"string","name":"family","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/afl","type":"argv","summary":"Search for instruction of specific family. List mode.","description":"","args_str":" <family>","args":[{"type":"string","name":"family","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"/ai","type":"argv_modes","summary":"Find all the instructions using that immediate (in range)","description":"","args_str":" <0x300> [<0x500>]","args":[{"type":"string","name":"0x300","required":true},{"type":"string","name":"0x500","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/al","type":"argv_modes","summary":"Same as aoml, list all opcodes","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/am","type":"argv_modes","summary":"Search for specific instructions of specific mnemonic","description":"","args_str":" <opcode>","args":[{"type":"string","name":"opcode","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/ao","type":"argv_modes","summary":"Search for instruction 'instr' (in all offsets)","description":"","args_str":" <instr>","args":[{"type":"string","name":"instr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/as","type":"group","summary":"Search for syscalls (See /at swi and /af priv)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json"],"children":[{"cmd":"/as","type":"argv_modes","summary":"Search for syscalls (See /at swi and /af priv)","description":"","args_str":" [<type>]","args":[{"type":"string","name":"type","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/asl","type":"argv","summary":"Search for syscalls (See /at swi and /af priv). List mode.","description":"","args_str":" [<type>]","args":[{"type":"string","name":"type","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"/at","type":"group","summary":"Search for instructions of given type","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json"],"children":[{"cmd":"/at","type":"argv_modes","summary":"Search for instructions of given type","description":"","args_str":" [<type>]","args":[{"type":"string","name":"type","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/atl","type":"argv","summary":"Search for instructions of given type. List mode.","description":"","args_str":" [<type>]","args":[{"type":"string","name":"type","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]}]},{"cmd":"/c","type":"group","summary":"Cryptographic material search.","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":4,"modes":[],"children":[{"cmd":"/ch","type":"argv_state","summary":"Search for blocks that have the same hash.","description":"","args_str":" <algo> <hash> <block_size>=256","args":[{"type":"string","name":"algo","required":true},{"type":"string","name":"hash","required":true},{"type":"number","name":"block_size","required":true,"default":"256"}],"details":[{"name":"Usage example","entries":[{"text":"/ch","comment":"MD5 hash search within blocks of 512 bytes.","arg_str":" md5 0bc8f8c426b74ffaedac8330a7464014 512"}]},{"name":"Tip","entries":[{"text":"","comment":"The command 'Lh' gives you a list of supported hash plugins.","arg_str":""},{"text":"","comment":"Use /ce and /cef for entropy search.","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/ce","type":"argv_state","summary":"Search for blocks above an entropy level.","description":"","args_str":" <min_entropy> <max_entropy>=8.0 <block_size>=256","args":[{"type":"number","name":"min_entropy","required":true},{"type":"number","name":"max_entropy","required":true,"default":"8.0"},{"type":"number","name":"block_size","required":true,"default":"256"}],"details":[{"name":"Usage example","entries":[{"text":"/ce","comment":"Find 512 byte long blocks with an entropy between 2.5 and 7.4 (inclusive min & max).","arg_str":" 2.5 7.4 512"}]}],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/cef","type":"argv_state","summary":"Search for blocks above an fractional entropy level.","description":"","args_str":" <min_entropy> <max_entropy>=1.0 <block_size>=256","args":[{"type":"number","name":"min_entropy","required":true},{"type":"number","name":"max_entropy","required":true,"default":"1.0"},{"type":"number","name":"block_size","required":true,"default":"256"}],"details":[{"name":"Usage example","entries":[{"text":"/cef","comment":"Find 512 byte long blocks with a fractional entropy between 0.3 and 0.8 (inclusive min & max).","arg_str":" 0.3 0.8 512"}]}],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/cm","type":"argv_state","summary":"Search cryptographic material.","description":"","args_str":" <type>=all","args":[{"type":"choice","name":"type","required":true,"default":"all","choices":["all","aes128","aes192","aes256","sm4be","sm4le","rsa","ecc","safecurves","x509"]}],"details":[{"name":"Types","entries":[{"text":"aes128","comment":"Searches for expanded AES 128 keys.","arg_str":""},{"text":"aes192","comment":"Searches for expanded AES 192 keys.","arg_str":""},{"text":"aes256","comment":"Searches for expanded AES 256 keys.","arg_str":""},{"text":"sm4be","comment":"Searches for expanded SM4 keys (big-endian).","arg_str":""},{"text":"sm4le","comment":"Searches for expanded SM4 keys (little-endian).","arg_str":""},{"text":"rsa","comment":"Searches for DER/BER encoded RSA keys (see RFC 3447).","arg_str":""},{"text":"ecc","comment":"Searches for DER/BER encoded ECC keys (see RFC 5915).","arg_str":""},{"text":"safecurves","comment":"Searches for DER/BER encoded SafeCurves keys (see RFC 8410).","arg_str":""},{"text":"x509","comment":"Searches for DER/BER encoded X.509 certificates.","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]}]},{"cmd":"/C","type":"group","summary":"Search, List, Query for COP Gadgets","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":7,"modes":["standard","json","quiet","table"],"children":[{"cmd":"/C","type":"argv_state","summary":"List COP Gadgets","description":"","args_str":" [<filter-by-string>]","args":[{"type":"string","name":"filter-by-string","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/C-","type":"argv","summary":"Clear COP gadget cache","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"/C/","type":"argv_state","summary":"List COP Gadgets [regular expression]","description":"","args_str":" [<filter-by-regex>]","args":[{"type":"string","name":"filter-by-regex","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/Ck","type":"argv_state","summary":"Query COP Gadgets by providing constraints","description":"","args_str":" <key>[=<val>] [<key>[=<val>] ...]]","args":[{"type":"string","name":"key=value","required":true,"is_last":true}],"details":[{"name":"Constraint types","entries":[{"text":"reg=const","comment":"Find gadgets that set a register to a constant value","arg_str":""},{"text":"reg=reg","comment":"Find gadgets that copy one register to another","arg_str":""},{"text":"reg=reg OP const","comment":"Find gadgets with register and constant arithmetic","arg_str":""},{"text":"reg=reg OP reg","comment":"Find gadgets with register-register operations","arg_str":""}]},{"name":"Supported operations","entries":[{"text":"+ - * / %","comment":"Arithmetic operations (add, sub, mul, div, mod)","arg_str":""},{"text":"& | ^","comment":"Bitwise operations (AND, OR, XOR)","arg_str":""},{"text":"<< >>","comment":"Shift operations (left, right)","arg_str":""}]},{"name":"Compound operators","entries":[{"text":"reg++ or reg--","comment":"Increment or decrement register","arg_str":""},{"text":"reg+=val, reg-=val","comment":"Compound assignment operators","arg_str":""}]},{"name":"Usage example","entries":[{"text":"Find gadgets setting rax to 0","comment":"/Ck rax=0","arg_str":""},{"text":"Find gadgets copying rbx to rax","comment":"/Ck rax=rbx","arg_str":""},{"text":"Find gadgets with rax = rbx + 8","comment":"/Ck rax=rbx+8","arg_str":""},{"text":"Find gadgets with multiple constraints","comment":"/Ck rax=0,rbx=rcx","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/Cg","type":"argv_state","summary":"Gadget detail info","description":"","args_str":" [<Gadget address>]","args":[{"type":"string","name":"Gadget address","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long"],"children":[]},{"cmd":"/Cs","type":"argv_state","summary":"Search cop gadgets given stack changes","description":"","args_str":" <Stack changes>","args":[{"type":"string","name":"Stack changes","required":true,"is_last":true}],"details":[{"name":"Usage example","entries":[{"text":"Search COP gadgets with less than 0x200 stack changes","comment":"/Cs \"<0x200\"","arg_str":""},{"text":"Search COP gadgets with 0x100 stack changes","comment":"/Cs =0x100","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/Cl","type":"argv_state","summary":"Search cop gadgets given gadget size","description":"","args_str":" <Gadget size>","args":[{"type":"string","name":"Gadget size","required":true,"is_last":true}],"details":[{"name":"Usage example","entries":[{"text":"Search COP gadgets with the size less than 0x20","comment":"/Cl \"<0x20\"","arg_str":""},{"text":"Search COP gadgets with the size 0x10","comment":"/Cl =0x10","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"/d","type":"argv_modes","summary":"Search for a deltified sequence of bytes.","description":"","args_str":" <101112>","args":[{"type":"string","name":"101112","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/F","type":"argv_state","summary":"Search the content of a file.","description":"","args_str":" <file> [<offset> [<size>]]","args":[{"type":"string","name":"file","required":true},{"type":"string","name":"offset"},{"type":"string","name":"size","is_last":true}],"details":[{"name":"Arguments","entries":[{"text":"<file>","comment":"The file containing the data to search.","arg_str":""},{"text":"<offset>","comment":"Offset into <file> to read the search data from.","arg_str":""},{"text":"<size>","comment":"Number of bytes to read from the <file>.","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/J","type":"group","summary":"Search, List, Query for JOP Gadgets","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":7,"modes":["standard","json","quiet","table"],"children":[{"cmd":"/J","type":"argv_state","summary":"List JOP Gadgets","description":"","args_str":" [<filter-by-string>]","args":[{"type":"string","name":"filter-by-string","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/J-","type":"argv","summary":"Clear JOP gadget cache","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"/J/","type":"argv_state","summary":"List JOP Gadgets [regular expression]","description":"","args_str":" [<filter-by-regex>]","args":[{"type":"string","name":"filter-by-regex","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/Jk","type":"argv_state","summary":"Query JOP Gadgets by providing constraints","description":"","args_str":" <key>[=<val>] [<key>[=<val>] ...]]","args":[{"type":"string","name":"key=value","required":true,"is_last":true}],"details":[{"name":"Constraint types","entries":[{"text":"reg=const","comment":"Find gadgets that set a register to a constant value","arg_str":""},{"text":"reg=reg","comment":"Find gadgets that copy one register to another","arg_str":""},{"text":"reg=reg OP const","comment":"Find gadgets with register and constant arithmetic","arg_str":""},{"text":"reg=reg OP reg","comment":"Find gadgets with register-register operations","arg_str":""}]},{"name":"Supported operations","entries":[{"text":"+ - * / %","comment":"Arithmetic operations (add, sub, mul, div, mod)","arg_str":""},{"text":"& | ^","comment":"Bitwise operations (AND, OR, XOR)","arg_str":""},{"text":"<< >>","comment":"Shift operations (left, right)","arg_str":""}]},{"name":"Compound operators","entries":[{"text":"reg++ or reg--","comment":"Increment or decrement register","arg_str":""},{"text":"reg+=val, reg-=val","comment":"Compound assignment operators","arg_str":""}]},{"name":"Usage example","entries":[{"text":"Find gadgets setting rax to 0","comment":"/Jk rax=0","arg_str":""},{"text":"Find gadgets copying rbx to rax","comment":"/Jk rax=rbx","arg_str":""},{"text":"Find gadgets with rax = rbx + 8","comment":"/Jk rax=rbx+8","arg_str":""},{"text":"Find gadgets with multiple constraints","comment":"/Jk rax=0,rbx=rcx","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/Jg","type":"argv_state","summary":"Gadget detail info","description":"","args_str":" [<Gadget address>]","args":[{"type":"string","name":"Gadget address","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long"],"children":[]},{"cmd":"/Js","type":"argv_state","summary":"Search jop gadgets given stack changes","description":"","args_str":" <Stack changes>","args":[{"type":"string","name":"Stack changes","required":true,"is_last":true}],"details":[{"name":"Usage example","entries":[{"text":"Search JOP gadgets with less than 0x200 stack changes","comment":"/Js \"<0x200\"","arg_str":""},{"text":"Search JOP gadgets with 0x100 stack changes","comment":"/Js =0x100","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/Jl","type":"argv_state","summary":"Search JOP gadgets given gadget size","description":"","args_str":" <Gadget size>","args":[{"type":"string","name":"Gadget size","required":true,"is_last":true}],"details":[{"name":"Usage example","entries":[{"text":"Search JOP gadgets with the size less than 0x20","comment":"/Jl \"<0x20\"","arg_str":""},{"text":"Search JOP gadgets with the size 0x10","comment":"/Jl =0x10","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"/o","type":"argv_modes","summary":"Show offset of n instructions backward.","description":"","args_str":" [<n>]","args":[{"type":"string","name":"n","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/O","type":"argv_modes","summary":"Same as /o, but with a different fallback if analysis cannot be used.","description":"","args_str":" [<n>]","args":[{"type":"string","name":"n","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/p","type":"argv_state","summary":"Search for pattern of given size.","description":"","args_str":" <patternsize>","args":[{"type":"string","name":"patternsize","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/P","type":"argv_state","summary":"Search similar blocks.","description":"","args_str":" <patternsize>","args":[{"type":"number","name":"patternsize","required":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/g","type":"group","summary":"Search for all graph paths A to B.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json"],"children":[{"cmd":"/g","type":"argv_state","summary":"Search for all graph paths A to B (does not follow calls).","description":"","args_str":" <from> <to>","args":[{"type":"expression","name":"from","required":true},{"type":"expression","name":"to","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/gg","type":"argv_state","summary":"Search for all graph paths A to B (follows calls, see `search.count` and `analysis.depth`).","description":"","args_str":" <from> <to>","args":[{"type":"expression","name":"from","required":true},{"type":"expression","name":"to","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"/m","type":"group","summary":"Magic constants search.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json","quiet","table"],"children":[{"cmd":"/m","type":"argv_state","summary":"Magic constants search.","description":"","args_str":" [<magic-file>]","args":[{"type":"string","name":"magic-file","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/mb","type":"argv","summary":"Search recognized RzBin headers.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"/r","type":"group","summary":"Reference search.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":6,"modes":[],"children":[{"cmd":"/r","type":"argv","summary":"Reference search.","description":"","args_str":" <address>","args":[{"type":"string","name":"address","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"/ra","type":"argv","summary":"Search all references.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"/rc","type":"argv","summary":"Search call references.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"/rr","type":"argv","summary":"Search read references.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"/rw","type":"argv","summary":"Search write references.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"/rx","type":"argv","summary":"Search execute references.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"/R","type":"group","summary":"Search, List, Query for ROP Gadgets","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":7,"modes":["standard","json","quiet","table"],"children":[{"cmd":"/R","type":"argv_state","summary":"List ROP Gadgets","description":"","args_str":" [<filter-by-string>]","args":[{"type":"string","name":"filter-by-string","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/R-","type":"argv","summary":"Clear ROP gadget cache","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"/R/","type":"argv_state","summary":"List ROP Gadgets [regular expression]","description":"","args_str":" [<filter-by-regex>]","args":[{"type":"string","name":"filter-by-regex","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/Rk","type":"argv_state","summary":"Query ROP Gadgets by providing constraints","description":"","args_str":" <key>[=<val>] [<key>[=<val>] ...]]","args":[{"type":"string","name":"key=value","required":true,"is_last":true}],"details":[{"name":"Constraint types","entries":[{"text":"reg=const","comment":"Find gadgets that set a register to a constant value","arg_str":""},{"text":"reg=reg","comment":"Find gadgets that copy one register to another","arg_str":""},{"text":"reg=reg OP const","comment":"Find gadgets with register and constant arithmetic","arg_str":""},{"text":"reg=reg OP reg","comment":"Find gadgets with register-register operations","arg_str":""}]},{"name":"Supported operations","entries":[{"text":"+ - * / %","comment":"Arithmetic operations (add, sub, mul, div, mod)","arg_str":""},{"text":"& | ^","comment":"Bitwise operations (AND, OR, XOR)","arg_str":""},{"text":"<< >>","comment":"Shift operations (left, right)","arg_str":""}]},{"name":"Compound operators","entries":[{"text":"reg++ or reg--","comment":"Increment or decrement register","arg_str":""},{"text":"reg+=val, reg-=val","comment":"Compound assignment operators","arg_str":""}]},{"name":"Usage example","entries":[{"text":"Find gadgets setting rax to 0","comment":"/Rk rax=0","arg_str":""},{"text":"Find gadgets copying rbx to rax","comment":"/Rk rax=rbx","arg_str":""},{"text":"Find gadgets with rax = rbx + 8","comment":"/Rk rax=rbx+8","arg_str":""},{"text":"Find gadgets with multiple constraints","comment":"/Rk rax=0,rbx=rcx","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/Rg","type":"argv_state","summary":"Gadget detail info","description":"","args_str":" [<Gadget address>]","args":[{"type":"string","name":"Gadget address","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long"],"children":[]},{"cmd":"/Rs","type":"argv_state","summary":"Search rop gadgets given stack changes","description":"","args_str":" <Stack changes>","args":[{"type":"string","name":"Stack changes","required":true,"is_last":true}],"details":[{"name":"Usage example","entries":[{"text":"Search ROP gadgets with less than 0x200 stack changes","comment":"/Rs \"<0x200\"","arg_str":""},{"text":"Search ROP gadgets with 0x100 stack changes","comment":"/Rs =0x100","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"/Rl","type":"argv_state","summary":"Search rop gadgets given gadget size","description":"","args_str":" <Gadget size>","args":[{"type":"string","name":"Gadget size","required":true,"is_last":true}],"details":[{"name":"Usage example","entries":[{"text":"Search ROP gadgets with the size less than 0x20","comment":"/Rl \"<0x20\"","arg_str":""},{"text":"Search ROP gadgets with the size 0x10","comment":"/Rl =0x10","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"/v","type":"group","summary":"Value search.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":9,"modes":["standard","json","quiet","table"],"children":[{"cmd":"/v","type":"argv_state","summary":"Value search.","description":"","args_str":" <bytes> <range1> <range2> ...","args":[{"type":"choice","name":"bytes","required":true,"choices":["1","2le","4le","8le","2be","4be","8be","2a","4a","8a"]},{"type":"string","name":"range","required":true,"is_array":true}],"details":[{"name":"Arguments","entries":[{"text":"bytes","comment":"Value byte width and endianess.","arg_str":""},{"text":"range","comment":"One or multiple ranges of values. Can be single values or range descriptions. Must be wrapped in '\"'.","arg_str":""}]},{"name":"Usage example","entries":[{"text":"/v","comment":"Search 512 represented in 4 bytes big endian order.","arg_str":" 4be 512"},{"text":"/v","comment":"Search values in the closed range '[0x80000000,0x80001000]' represented in 8 bytes little endian order.","arg_str":" 8le \"[0x80000000,0x80001000]\""},{"text":"/v","comment":"Search values in the open range '(0x1000,0xff0)' represented in 2 bytes order of cfg.bigendian.","arg_str":" 2a \"(0x1000,0xff0)\""},{"text":"/v","comment":"Search values in the right open range '[0x20,0x10)', value '0x55' and closed range values '[0xf0,0xff]' represented in 1 byte.","arg_str":" 1 \"[0x20,0x10)\", 0x55, \"[0xf0,0xff]\""}]}],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/v1","type":"argv_state","summary":"Value search - Alias for /v 1 <value>.","description":"","args_str":" <value>","args":[{"type":"number","name":"value","required":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/v2","type":"argv_state","summary":"Value search - Alias for /v 2a <value>.","description":"","args_str":" <value>","args":[{"type":"number","name":"value","required":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/v4","type":"argv_state","summary":"Value search - Alias for /v 4a <value>.","description":"","args_str":" <value>","args":[{"type":"number","name":"value","required":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/v8","type":"argv_state","summary":"Value search - Alias for /v 8a <value>.","description":"","args_str":" <value>","args":[{"type":"number","name":"value","required":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/V1","type":"argv_state","summary":"Value search - Alias for /v 1 [<min_value>,<max_value>].","description":"","args_str":" <min_value> <max_value>","args":[{"type":"number","name":"min_value","required":true},{"type":"number","name":"max_value","required":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/V2","type":"argv_state","summary":"Value search - Alias for /v 2a [<min_value>,<max_value>].","description":"","args_str":" <min_value> <max_value>","args":[{"type":"number","name":"min_value","required":true},{"type":"number","name":"max_value","required":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/V4","type":"argv_state","summary":"Value search - Alias for /v 4a [<min_value>,<max_value>].","description":"","args_str":" <min_value> <max_value>","args":[{"type":"number","name":"min_value","required":true},{"type":"number","name":"max_value","required":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/V8","type":"argv_state","summary":"Value search - Alias for /v 8a [<min_value>,<max_value>].","description":"","args_str":" <min_value> <max_value>","args":[{"type":"number","name":"min_value","required":true},{"type":"number","name":"max_value","required":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]}]},{"cmd":"/x","type":"group","summary":"Raw hexadecimal search.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json","quiet","table"],"children":[{"cmd":"/x","type":"argv_state","summary":"Raw hexadecimal search.","description":"","args_str":" <pattern>","args":[{"type":"string","name":"pattern","required":true,"is_last":true}],"details":[{"name":"Usage example","entries":[{"text":"Hexadecimal search for the exact bytes 'ffcc33'.","comment":"/x ffcc33","arg_str":""},{"text":"Hexadecimal search for the byte pattern 'ff..33.0.'. The '.' is a wildcard for 4bits.","comment":"/x ff..33.0","arg_str":""},{"text":"Hexadecimal search of the bytes with mask. Pattern: '<resulting bytes>:<mask>'","comment":"/x ffd0:ff43","arg_str":""},{"text":"Hexadecimal search with an odd number of nibbles.","comment":"'aabbc' is equivalent to '.aabbc'","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"/xr","type":"argv_state","summary":"Regex bytes search.","description":"","args_str":" <regex_pattern>","args":[{"type":"string","name":"regex_pattern","required":true,"is_last":true}],"details":[{"name":"Usage examples","entries":[{"text":" Bytes are prefixed with a 'x'. Search exact match '\\x99\\x0a'.","comment":"/xr x99x0a","arg_str":""},{"text":"Search 2-8 NUL bytes, then '\\x99' and '\\x0a'","comment":"/xr x00{2,8}x99x0a","arg_str":""},{"text":"A '.' matches one byte. Search matches: '\\x72\\xNN\\x00'. '\\xNN' can appear 0-1 times.","comment":"/xr x72.?x00","arg_str":""},{"text":"Using simple ASCII is allowed. Search matches: '\\x61\\x41'","comment":"/xr aA","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]}]},{"cmd":"/z","type":"group","summary":"String search.","description":"","args_str":"","args":[],"details":[{"name":"Encodings","entries":[{"text":"ascii","comment":"ASCII encoding","arg_str":""},{"text":"8bit","comment":"8bit encoding. Alias: ASCII","arg_str":""},{"text":"mutf8","comment":"mutf8 encoding","arg_str":""},{"text":"utf8","comment":"UTF-8 encoding","arg_str":""},{"text":"utf16le","comment":"UTF-16 little endian encoding","arg_str":""},{"text":"utf32le","comment":"UTF-32 little endian encoding","arg_str":""},{"text":"utf16be","comment":"UTF-16 big endian encoding","arg_str":""},{"text":"utf32be","comment":"UTF-32 big endian encoding","arg_str":""},{"text":"ibm037","comment":"ibm037 encoding. Alias: cp037, ebcdic-cp-us, ebcdic-cp-ca, ebcdic-cp-wt, ebcdic-cp-nl, csIBM037","arg_str":""},{"text":"ibm290","comment":"ibm290 encoding. Alias: cp290, EBCDIC-JP-kana, csIBM290","arg_str":""},{"text":"ebcdices","comment":"EBCDIC-ES encoding. Alias: csEBCDICES","arg_str":""},{"text":"ebcdicuk","comment":"EBCDIC-UK encoding. Alias: csEBCDICUK","arg_str":""},{"text":"ebcdicus","comment":"EBCDIC-US encoding. Alias: csEBCDICUS","arg_str":""}]},{"name":"Regex Flags","entries":[{"text":"l","comment":"Default. Literal string comparison. Ignores all meta-characters.","arg_str":""},{"text":"i","comment":"Caseless (equivalent: PCRE2_CASELESS)","arg_str":""},{"text":"r","comment":"Regular expression.","arg_str":""},{"text":"e","comment":"Extended regular expression.","arg_str":""},{"text":"m","comment":"Multiline regular expression (equivalent flag: PCRE2_MULTILINE)","arg_str":""},{"text":"d","comment":"Dot matches any one character, without exception (equivalent flag: PCRE2_DOTALL)","arg_str":""}]},{"name":"Examples","entries":[{"text":"/z","comment":"Search the exact string \"(ABC*)\".","arg_str":" (ABC*)"},{"text":"/z","comment":"Search the exact string \"(ABC*)D\" but case insensitive.","arg_str":" (ABC*)D li"},{"text":"/z","comment":"Search the regular expression \"\\d\\sC*\\w\" but case insensitive.","arg_str":" \\\\d\\\\sC*\\\\w ri"},{"text":"/z","comment":"Search the extended regular expression \"и.{3}м\" but case insensitive.","arg_str":" \"и.{3}м\" ei"}]}],"executable":true,"n_children":1,"modes":["standard","json","quiet","table"],"children":[{"cmd":"/z","type":"argv_state","summary":"String search.","description":"","args_str":" <pattern> <regex_flags>=l <encoding>=settings","args":[{"type":"string","name":"pattern","required":true},{"type":"string","name":"regex_flags","required":true,"default":"l"},{"type":"choice","name":"encoding","required":true,"default":"settings","choices":["ascii","8bit","mutf8","utf8","utf16le","utf32le","utf16be","utf32be","ibm037","ibm290","ebcdices","ebcdicuk","ebcdicus","guess"]}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]}]}]},{"cmd":":","type":"fake","summary":"Command specifiers (table-output only for now)","description":"","args_str":"","args":[],"details":[{"name":"Table format specifiers (<table_spec>)","entries":[{"text":"<col>/sort/rev","comment":"Sort table by column <col> in reverse order.","arg_str":""},{"text":"<col>/sortlen/rev","comment":"Sort table by column <col> length in reverse order.","arg_str":""},{"text":"<col>/cols[/<col2>[/<col3>...]]","comment":"Show only specified columns in the table.","arg_str":""},{"text":"<col>","comment":"Show only column <col> (it must not have the same name as an output format specifier).","arg_str":""},{"text":"<col>/gt/<val>","comment":"Grep rows where column <col> is greater than <val>.","arg_str":""},{"text":"<col>/ge/<val>","comment":"Grep rows where column <col> is greater than or equal to <val>.","arg_str":""},{"text":"<col>/lt/<val>","comment":"Grep rows where column <col> is less than <val>.","arg_str":""},{"text":"<col>/le/<val>","comment":"Grep rows where column <col> is less than or equal to <val>.","arg_str":""},{"text":"<col>/eq/<val>","comment":"Grep rows where column <col> is equal to <val>.","arg_str":""},{"text":"<col>/ne/<val>","comment":"Grep rows where column <col> is not equal to <val>.","arg_str":""},{"text":"<col|*>/uniq","comment":"Only get the first row where column <col> or all columns are unique.","arg_str":""},{"text":"*/page/<n_page>/<page_size>","comment":"Show <page_size> rows starting from the page number <n_page>.","arg_str":""},{"text":"*/head/<n_rows>","comment":"Show the first <n_rows> rows.","arg_str":""},{"text":"*/tail/<n_rows>","comment":"Show the last <n_rows> rows.","arg_str":""},{"text":"<col>/str/<value>","comment":"Grep rows where string <value> is a substring of column <col>.","arg_str":""},{"text":"<col>/strlen/<value>","comment":"Grep rows where the length of column <col> is <value>.","arg_str":""},{"text":"<col>/minlen/<value>","comment":"Grep rows where the length of column <col> is greater than <value>.","arg_str":""},{"text":"<col>/maxlen/<value>","comment":"Grep rows where the length of column <col> is less than <value>.","arg_str":""},{"text":"<col>/sum/<value>","comment":"Sum all the values of column <col>.","arg_str":""}]},{"name":"Output format specifiers (<output_spec>)","entries":[{"text":"csv","comment":"Print the table in CSV format.","arg_str":""},{"text":"json","comment":"Print the table in JSON format.","arg_str":""},{"text":"fancy","comment":"Print the table in a nice form with borders and headers.","arg_str":""},{"text":"simple","comment":"Print the table in a simple form, only with headers.","arg_str":""},{"text":"quiet","comment":"Print the table in a simple form, without headers.","arg_str":""}]},{"name":"Examples","entries":[{"text":"aflt","comment":"Show only the address, name and number of basic blocks of the identified functions with more than 1 block but less than 10, sorted decrementally by number of blocks.","arg_str":":addr/cols/name/nbbs:nbbs/sort/dec:nbbs/gt/1:nbbs/lt/10:fancy"}]}],"executable":false,"n_children":0,"modes":[],"children":[]},{"cmd":"<","type":"argv","summary":"Push escaped string into the RzCons.readChar (pressed keys) buffer","description":"","args_str":" <characters>","args":[{"type":"string","name":"characters","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"< ppq; <command>","comment":"Equivalent to running <command> and pressing the keys: p, p, q.","arg_str":""},{"text":"< \\n; <command>","comment":"As above, but '\\n' is equivalent to pressing <enter>.","arg_str":""}]},{"name":"Escape sequences","entries":[{"text":"\\n","comment":"newline (0x0a).","arg_str":""},{"text":"\\b","comment":"backspace (0x08).","arg_str":""},{"text":"\\t","comment":"horizontal tab (0x09).","arg_str":""},{"text":"\\v","comment":"vertical tab (0x0b).","arg_str":""},{"text":"\\f","comment":"new page (0x0c).","arg_str":""},{"text":"\\r","comment":"carriage return (0x0d).","arg_str":""},{"text":"\\xHH","comment":"Raw byte 0xHH (in hexadecimal).","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":">","type":"fake","summary":"Redirection help ('>')","description":"","args_str":"","args":[],"details":[{"name":"","entries":[{"text":"<cmd> >","comment":"Redirect STDOUT of <cmd> to <file> or save it to an alias (see $?)","arg_str":" <file>|<$alias>"},{"text":"<cmd> 2>","comment":"Redirect STDERR of <cmd> to <file> or save it to an alias (see $?)","arg_str":" <file>|<$alias>"},{"text":"<cmd> H>","comment":"Redirect HTML output of <cmd> to <file> or save it to an alias (see $?)","arg_str":" <file>|<$alias>"}]}],"executable":false,"n_children":0,"modes":[],"children":[]},{"cmd":"?*","type":"group","summary":"Search help commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":["standard","json"],"children":[{"cmd":"?*","type":"argv_modes","summary":"Search help","description":"","args_str":" [<search_cmd>]","args":[{"type":"string","name":"search_cmd"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"?**","type":"group","summary":"Search command and setting summaries.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"?**","type":"argv","summary":"Search command summaries interactively (alias for ?*~...).","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"?**e","type":"argv","summary":"Search settings interactively (alias for el~...).","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"?***","type":"argv","summary":"Search command summaries and their extended help interactively.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"?+j","type":"argv","summary":"Export full command catalog as JSON","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"@","type":"fake","summary":"'@' help, temporary modifiers, applied left-to-right","description":"","args_str":"","args":[],"details":[{"name":"","entries":[{"text":"<cmd> @ ","comment":"Temporary seek to <addr>","arg_str":"<addr>"},{"text":"<cmd> @ ","comment":"Temporary partial address seek (see s..)","arg_str":"..<addr>"},{"text":"<cmd> @!","comment":"Temporary change the block size","arg_str":"<blocksize>"},{"text":"<cmd> @(","comment":"Temporary set from and to for commands supporting ranges","arg_str":"<from> <to>)"},{"text":"<cmd> @a:","comment":"Temporary set arch and bits, if specified","arg_str":"<arch>[:<bits>]"},{"text":"<cmd> @b:","comment":"Temporary set asm.bits","arg_str":"<bits>"},{"text":"<cmd> @B:","comment":"Temporary seek to nth instruction in current basic block (negative numbers too)","arg_str":"<nth>"},{"text":"<cmd> @e:","comment":"Temporary change eval vars (multiple vars separated by comma)","arg_str":"<k>=<v>[,<k>=<v>]"},{"text":"<cmd> @f:","comment":"Temporary replace block with file contents","arg_str":"<file>"},{"text":"<cmd> @F:","comment":"Temporary change flag space","arg_str":"<flagspace>"},{"text":"<cmd> @i:","comment":"Temporary seek to the Nth relative instruction","arg_str":"<nth.op>"},{"text":"<cmd> @k:","comment":"Temporary seek at value of sdb key `key`","arg_str":"<key>"},{"text":"<cmd> @o:","comment":"Temporary switch to another fd","arg_str":"<fd>"},{"text":"<cmd> @r:","comment":"Temporary seek to register value","arg_str":"<reg>"},{"text":"<cmd> @s:","comment":"Temporary replace block with string","arg_str":"<string>"},{"text":"<cmd> @v:","comment":"Temporary replace block with value, written according to asm.bits and cfg.bigendian","arg_str":"<value>"},{"text":"<cmd> @x:","comment":"Temporary replace block with hexstring","arg_str":"<hexstring>"}]}],"executable":false,"n_children":0,"modes":[],"children":[]},{"cmd":"@@","type":"fake","summary":"'@@' help, iterators","description":"","args_str":"","args":[],"details":[{"name":"","entries":[{"text":"<cmd> @@.","comment":"Run <cmd> over the offsets specified in <file>, one per line","arg_str":" <file>"},{"text":"<cmd> @@=","comment":"Run <cmd> over the listed addresses","arg_str":"<addr1> [<addr2> ...]"},{"text":"<cmd> @@@=","comment":"Run <cmd> over the listed addresses and set the proper block size","arg_str":"<addr1> <blksz1> [<addr2> <blksz2> ...]"},{"text":"<cmd> @@/","comment":"Run <cmd> over the search results of /<search-cmd>","arg_str":"<search-cmd>"},{"text":"<cmd> @@c:","comment":"Run <cmd> on all addresses in the output of <cmd2>","arg_str":"<cmd2>"},{"text":"<cmd> @@@c:","comment":"Run <cmd> on all addresses/blocksizes in the output of <cmd2>, similar to @@@=","arg_str":"<cmd2>"},{"text":"<cmd> @@C","comment":"Run <cmd> over all comments matching <glob>. <glob> may contain `*` to indicate multiple chars. If not specified all comments are considered.","arg_str":"[:<glob>]"},{"text":"<cmd> @@dbt[abs]","comment":"Run <cmd> on every backtrace address, bp or sp","arg_str":""},{"text":"<cmd> @@t","comment":"Run <cmd> over all threads","arg_str":""},{"text":"<cmd> @@b","comment":"Run <cmd> over all basic blocks of the current function","arg_str":""},{"text":"<cmd> @@i","comment":"Run <cmd> over all instructions of the current basic block","arg_str":""},{"text":"<cmd> @@ii","comment":"Run <cmd> over all imports","arg_str":""},{"text":"<cmd> @@iS","comment":"Run <cmd> over all sections","arg_str":""},{"text":"<cmd> @@iSS","comment":"Run <cmd> over all segments","arg_str":""},{"text":"<cmd> @@is","comment":"Run <cmd> over all symbols","arg_str":""},{"text":"<cmd> @@iz","comment":"Run <cmd> over all strings","arg_str":""},{"text":"<cmd> @@f","comment":"Run <cmd> over all flags matching <glob>. <glob> may contain `*` to indicate multiple chars. If not specified all flags are considered.","arg_str":"[:<glob>]"},{"text":"<cmd> @@F","comment":"Run <cmd> over all functions matching <glob>. <glob> may contain `*` to indicate multiple chars. If not specified all functions are considered.","arg_str":"[:<glob>]"},{"text":"<cmd> @@om","comment":"Run <cmd> over all iomap (see `om`)","arg_str":""},{"text":"<cmd> @@dm","comment":"Run <cmd> over all debug maps (see `dm`)","arg_str":""},{"text":"<cmd> @@r","comment":"Run <cmd> over all registers","arg_str":""},{"text":"<cmd> @@s:","comment":"Run <cmd> on all addresses starting from <from> and going up to <to> (excluded), with a step <step>.","arg_str":"<from> <to> <step>"}]}],"executable":false,"n_children":0,"modes":[],"children":[]},{"cmd":"_","type":"argv","summary":"Print last output","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"a","type":"group","summary":"Analysis commands","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":25,"modes":[],"children":[{"cmd":"aa","type":"group","summary":"Analysis commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":20,"modes":[],"children":[{"cmd":"aa","type":"argv","summary":"Analyze all flags starting with sym. and entry","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aaa","type":"argv","summary":"Analyze all calls, references, emulation and applies signatures","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aaaa","type":"argv","summary":"Experimental analysis","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aac","type":"group","summary":"Analysis function calls commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"aac","type":"argv","summary":"Analyze function calls","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aaci","type":"argv","summary":"Analyze all function calls to imports","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"aaC","type":"argv","summary":"Analysis classes from RzBin","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aad","type":"argv","summary":"Analyze data references to code","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aae","type":"group","summary":"Analysis commands using ESIL","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"aae","type":"argv","summary":"Analyze references with ESIL","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[{"name":"Examples","entries":[{"text":"aae","comment":"analyze ranges given by analysis.in","arg_str":""},{"text":"aae","comment":"analyze the whole section","arg_str":" $SS @ $S"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aaef","type":"argv","summary":"Analyze references with ESIL in all functions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"aaf","type":"group","summary":"Analysis function commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":[],"children":[{"cmd":"aaf","type":"argv","summary":"Analyze all functions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aafe","type":"argv","summary":"Analyze all functions using ESIL","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aafr","type":"argv","summary":"Analyze all consecutive functions in section","description":"","args_str":" <length>","args":[{"type":"number","name":"length","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aaft","type":"argv","summary":"Performs recursive type matching in all functions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"aai","type":"argv_state","summary":"Print preformed analysis details","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"aaj","type":"argv","summary":"Analyze all unresolved jumps","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aal","type":"group","summary":"Language specific analysis commands","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":3,"modes":[],"children":[{"cmd":"aalg","type":"argv","summary":"Recover and analyze all Golang functions and strings","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aalor","type":"argv","summary":"Analyze all Objective-C references from selector usages to their implementations","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aalos","type":"argv","summary":"Recover all Objective-C selector stub names (__objc_stubs section contents)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"aan","type":"group","summary":"Automatic rename functions commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"aan","type":"argv","summary":"Renames all functions based on their strings or calls","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aanr","type":"argv","summary":"Renames all functions which does not return","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"aap","type":"argv","summary":"Analyze all preludes","description":"","args_str":"","args":[],"details":[{"name":"Search a custom prelude","entries":[{"text":"e analysis.prelude='90AEF630'","comment":"Set new prelude","arg_str":""},{"text":"aap","comment":"Search for 90AEF630 and create a new function","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aar","type":"argv","summary":"Analyze xrefs in current section or by n_bytes","description":"","args_str":" [<n_bytes>]","args":[{"type":"number","name":"n_bytes"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aas","type":"argv","summary":"Analyze only the symbols","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aaS","type":"argv","summary":"Analyze only the flags starting as sym.* and entry*","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aat","type":"argv","summary":"Analyze all/given function to convert immediate to linked structure offsets","description":"","args_str":" [<func_name>]","args":[{"type":"function","name":"func_name"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aaT","type":"argv","summary":"Prints commands to create functions after a trap call","description":"","args_str":" [<n_bytes>]","args":[{"type":"number","name":"n_bytes"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aau","type":"argv","summary":"Print memory areas not covered by functions","description":"","args_str":" [<min_len>]","args":[{"type":"number","name":"min_len"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aav","type":"argv_state","summary":"Analyze values referencing a specific section or map","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]}]},{"cmd":"ad","type":"group","summary":"Analyze data","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":[],"children":[{"cmd":"ad","type":"argv","summary":"Analyze <count> data words with <depth>","description":"","args_str":" [<count> [<depth> [<wordsize>]]]","args":[{"type":"expression","name":"count"},{"type":"expression","name":"depth"},{"type":"expression","name":"wordsize","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"adf","type":"argv","summary":"Analyze data in function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"adfg","type":"argv","summary":"Analyze data in function gaps","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"adk","type":"argv","summary":"Analyze data kind (code, text, data, invalid, etc)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"adt","type":"argv","summary":"Analyze data trampolines","description":"","args_str":" <minimum>=0 <maximum>=0","args":[{"type":"expression","name":"minimum","required":true,"default":"0"},{"type":"expression","name":"maximum","required":true,"is_last":true,"default":"0"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"af","type":"group","summary":"Analyze Functions commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":24,"modes":[],"children":[{"cmd":"af","type":"argv","summary":"Analyze functions recursively (honors `analysis.calls`)","description":"","args_str":" [<name>]","args":[{"type":"string","name":"name","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afr","type":"argv","summary":"Analyze functions recursively","description":"","args_str":" [<name>]","args":[{"type":"string","name":"name","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"af+","type":"argv","summary":"Hand craft a function (requires `afb+`)","description":"","args_str":" <name> [<type>]","args":[{"type":"string","name":"name","required":true},{"type":"choice","name":"type","choices":["l","i","s"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"af-","type":"argv","summary":"Delete function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"af-*","type":"argv","summary":"Delete all function analysis data","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afj","type":"argv","summary":"Analyze function jumptable","description":"","args_str":" <tbl_addr> <elements>","args":[{"type":"expression","name":"tbl_addr","required":true},{"type":"expression","name":"elements","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afa","type":"argv","summary":"Analyze function arguments in a call","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afal","type":"argv","summary":"Analyze function arguments in a call (honors `dbg.funcarg`)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afb","type":"group","summary":"Basic blocks commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":10,"modes":["standard","json","quiet","table"],"children":[{"cmd":"afb","type":"argv_state","summary":"List basic blocks of function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"afb+","type":"argv","summary":"Add basic block by hand","description":"","args_str":" <fcn_addr> <addr> <size> [<jump> [<fail>]]","args":[{"type":"expression","name":"fcn_addr","required":true},{"type":"expression","name":"addr","required":true},{"type":"expression","name":"size","required":true},{"type":"expression","name":"jump"},{"type":"expression","name":"fail","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afb-","type":"argv","summary":"Remove basic block from function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afb-*","type":"argv","summary":"Remove all basic blocks from function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afbe","type":"argv","summary":"Add basic-block edge for switch-cases","description":"","args_str":" <switch_addr> <case_addr>","args":[{"type":"expression","name":"switch_addr","required":true},{"type":"expression","name":"case_addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afbet","type":"argv","summary":"Set basic-block switch-case enum type","description":"","args_str":" <switch_addr> <enum_name>","args":[{"type":"expression","name":"switch_addr","required":true},{"type":"unknown","name":"enum_name","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afbr","type":"argv","summary":"Show addresses of instructions which leave the function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afb=","type":"argv","summary":"Display ascii-art bars for basic block regions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afbi","type":"argv_state","summary":"Print single basic block information","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","long","table"],"children":[]},{"cmd":"afbc","type":"argv","summary":"Set a color for the basic block at a given address","description":"","args_str":" <addr> <color>","args":[{"type":"expression","name":"addr","required":true},{"type":"expression","name":"color","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"afB","type":"argv","summary":"Set asm.bits for the current function","description":"","args_str":" <bits>","args":[{"type":"number","name":"bits","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afs","type":"group","summary":"Function signatures commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":["standard","json"],"children":[{"cmd":"afs","type":"argv_modes","summary":"Get/Set function signature at current address","description":"","args_str":" [<signature>]","args":[{"type":"string","name":"signature","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"afsb","type":"argv_state","summary":"Outputs the function signature bytes, mask and search mask at current address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"afs!","type":"argv","summary":"Set function signature at current address by using the editor","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afsr","type":"argv","summary":"Change type for current function","description":"","args_str":" <type>","args":[{"type":"string","name":"type","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"afo","type":"argv_modes","summary":"Show address of current function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"afu","type":"argv","summary":"Resize and analyze function from current address until addr","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afx","type":"argv_state","summary":"List function references","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"afS","type":"argv","summary":"Set stack frame size for function at current address","description":"","args_str":" <size>","args":[{"type":"expression","name":"size","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afv","type":"group","summary":"Manipulate arguments/variables in a function","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":14,"modes":[],"children":[{"cmd":"afvl","type":"argv_state","summary":"List all variables and arguments of the current function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long","table"],"children":[]},{"cmd":"afv=","type":"argv","summary":"List function variables and arguments with disasm refs","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afv-","type":"argv","summary":"Remove all variables/arguments or just the specified one","description":"","args_str":" <varname|*>","args":[{"type":"unknown","name":"varname|*","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afva","type":"argv","summary":"Analyze function arguments/locals","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afvd","type":"argv","summary":"Display the value of arguments/variables","description":"","args_str":" [<varname>]","args":[{"type":"unknown","name":"varname"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afvf","type":"argv","summary":"Show BP relative stackframe variables","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afvn","type":"argv","summary":"Rename argument/variable in current function","description":"","args_str":" <new_name> [<old_name>]","args":[{"type":"string","name":"new_name","required":true},{"type":"unknown","name":"old_name"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afvR","type":"argv","summary":"List addresses where vars are accessed (READ)","description":"","args_str":" [<varname>]","args":[{"type":"unknown","name":"varname"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afvW","type":"argv","summary":"List addresses where vars are accessed (WRITE)","description":"","args_str":" [<varname>]","args":[{"type":"unknown","name":"varname"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afvt","type":"argv","summary":"Change type for given argument/local","description":"","args_str":" <varname> <type>","args":[{"type":"unknown","name":"varname","required":true},{"type":"string","name":"type","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afvc","type":"group","summary":"Read/change value constraints of arguments/locals","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":["standard","json"],"children":[{"cmd":"afvc","type":"argv_state","summary":"List value constraints of all variables / of the given one","description":"","args_str":" [<varname>]","args":[{"type":"unknown","name":"varname"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"afvcs","type":"argv","summary":"Set value constraints of a variable (e.g. afvcs var0 \">0,<=9\")","description":"","args_str":" <varname> <constraints>","args":[{"type":"unknown","name":"varname","required":true},{"type":"string","name":"constraints","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afvc-","type":"argv","summary":"Remove all value constraints of a variable","description":"","args_str":" <varname>","args":[{"type":"unknown","name":"varname","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"afvx","type":"group","summary":"Show argument/variable xrefs in a function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":["standard","json"],"children":[{"cmd":"afvx","type":"argv_modes","summary":"Show function variable xrefs (same as afvR+afvW)","description":"","args_str":" [<varname>]","args":[{"type":"unknown","name":"varname"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"afvxa","type":"argv_modes","summary":"Show function argument xrefs","description":"","args_str":" [<varname>]","args":[{"type":"unknown","name":"varname"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"afvxv","type":"argv_modes","summary":"Show function local variable xrefs","description":"","args_str":" [<varname>]","args":[{"type":"unknown","name":"varname"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"afvs","type":"group","summary":"Manipulate stack-based arguments/locals","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":["standard","json"],"children":[{"cmd":"afvs","type":"argv_state","summary":"List stack-based arguments and locals / Define a new one","description":"","args_str":" [<delta> <name> [<type>]]","args":[{"type":"expression","name":"delta"},{"type":"string","name":"name","required":true},{"type":"string","name":"type","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"afvs-","type":"argv","summary":"Delete argument/local with the given name","description":"","args_str":" <varname>","args":[{"type":"unknown","name":"varname","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afvs-*","type":"argv","summary":"Delete all arguments/locals","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afvsg","type":"argv","summary":"Define var get reference","description":"","args_str":" <delta> <addr>","args":[{"type":"expression","name":"delta","required":true},{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afvss","type":"argv","summary":"Define var set reference","description":"","args_str":" <delta> <addr>","args":[{"type":"expression","name":"delta","required":true},{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"afvr","type":"group","summary":"Manipulate register-based arguments/locals","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":["standard","json"],"children":[{"cmd":"afvr","type":"argv_state","summary":"List register-based arguments and locals / Define a new one","description":"","args_str":" [<reg> <name> [<type>]]","args":[{"type":"string","name":"reg"},{"type":"string","name":"name","required":true},{"type":"string","name":"type","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"afvr-","type":"argv","summary":"Delete register-based argument/local with the given name","description":"","args_str":" <varname>","args":[{"type":"unknown","name":"varname","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afvr-*","type":"argv","summary":"Delete all register-based arguments/locals","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afvrg","type":"argv","summary":"Define register-based arguments and locals get references","description":"","args_str":" <reg> <addr>","args":[{"type":"string","name":"reg","required":true},{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afvrs","type":"argv","summary":"Define register-based arguments and locals set references","description":"","args_str":" <reg> <addr>","args":[{"type":"string","name":"reg","required":true},{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]}]},{"cmd":"afl","type":"group","summary":"List functions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":6,"modes":["standard","json","quiet","long","table"],"children":[{"cmd":"afl","type":"argv_state","summary":"List all functions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","long","table"],"children":[]},{"cmd":"afl.","type":"argv","summary":"List functions in current seek","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aflc","type":"argv","summary":"Display count of all functions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afl+","type":"argv","summary":"Display sum of all functions sizes","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aflm","type":"argv_state","summary":"List calls of all functions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"afl=","type":"argv","summary":"Display ascii-art bars with function ranges","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"afi","type":"group","summary":"Show/edit function information","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":["standard","json","table"],"children":[{"cmd":"afi","type":"argv_state","summary":"Show information of functions in current seek","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","table"],"children":[]},{"cmd":"afii","type":"group","summary":"Show/add/delete imports used in function in current seek","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"afii","type":"argv","summary":"Show/add imports used in function in current seek","description":"","args_str":" [<import>]","args":[{"type":"string","name":"import","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afii-","type":"argv","summary":"Delete imports used in function in current seek","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"afis","type":"group","summary":"Show opcode statistic in function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","table"],"children":[{"cmd":"afis","type":"argv_state","summary":"Enumerate unique opcodes/opcode families/opcode types in function","description":"","args_str":" [<mode>]","args":[{"type":"choice","name":"mode","choices":["family","type"]}],"details":[],"executable":true,"n_children":0,"modes":["standard","table"],"children":[]},{"cmd":"afisa","type":"argv_state","summary":"Enumerate unique opcodes/opcode families/opcode types in all functions","description":"","args_str":" [<mode>]","args":[{"type":"choice","name":"mode","choices":["family","type"]}],"details":[],"executable":true,"n_children":0,"modes":["table"],"children":[]}]}]},{"cmd":"afn","type":"group","summary":"Analyze function names","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"afn","type":"argv","summary":"Rename function at current seek","description":"","args_str":" <new name>","args":[{"type":"string","name":"new name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afna","type":"argv","summary":"Suggest a name for the function in current seek","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afns","type":"argv_state","summary":"Print all strings referenced by the function in current seek","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"aft","type":"argv","summary":"Type matching analysis for the function in current seek","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afM","type":"argv","summary":"Print functions map","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afm","type":"argv","summary":"Merge two functions","description":"","args_str":" <addr>","args":[{"type":"function","name":"addr","required":true}],"details":[{"name":"","entries":[{"text":"afm 0xbeef @ 0x42","comment":"Merge function at address 0xbeef to function at address 0x42","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afc","type":"group","summary":"Calling convention","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":[],"children":[{"cmd":"afc","type":"argv","summary":"Set/Get calling convention for current function","description":"","args_str":" [<convention>]","args":[{"type":"string","name":"convention","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afcl","type":"argv_modes","summary":"List all available calling conventions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","sdb","long"],"children":[]},{"cmd":"afco","type":"argv","summary":"Open Calling Convention sdb profile from given path","description":"","args_str":" <db_path>","args":[{"type":"filename","name":"db_path","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"afcr","type":"argv_state","summary":"Show register usage for the current function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"afd","type":"argv","summary":"Show function + delta for given offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"aF","type":"argv","summary":"Analyze function non-recursively","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aeC","type":"argv","summary":"appcall in esil","description":"","args_str":" <args1> <args2> ...","args":[{"type":"number","name":"args","required":true,"is_array":true}],"details":[{"name":"Examples","entries":[{"text":"aeC","comment":"Call sym._add(1,2)","arg_str":" 1 2 @ sym._add"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aec","type":"group","summary":"continue until ^C","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":6,"modes":[],"children":[{"cmd":"aec","type":"argv","summary":"Continue until exception","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aecb","type":"argv","summary":"Continue back until breakpoint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aecs","type":"argv","summary":"Continue until syscall","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aecc","type":"argv","summary":"Continue until call","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aecu","type":"argv","summary":"Continue until address","description":"","args_str":" <addr>","args":[{"type":"number","name":"addr","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aecue","type":"argv","summary":"Continue until esil expression","description":"","args_str":" <expr>","args":[{"type":"string","name":"expr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"aei","type":"group","summary":"ESIL VM state","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":[],"children":[{"cmd":"aei","type":"argv","summary":"initialize ESIL VM state","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aei-","type":"argv","summary":"deinitialize ESIL VM state","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aeip","type":"argv","summary":"initialize ESIL program counter to curseek","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aeim","type":"group","summary":"ESIL VM stack","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"aeim","type":"argv","summary":"initialize ESIL VM stack","description":"","args_str":" [<addr> [<size> [<name>]]]","args":[{"type":"number","name":"addr"},{"type":"number","name":"size"},{"type":"string","name":"name","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aeim-","type":"argv","summary":"remove ESIL VM stack","description":"","args_str":" [<addr> [<size> [<name>]]]","args":[{"type":"number","name":"addr"},{"type":"number","name":"size"},{"type":"string","name":"name","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aeimp","type":"argv","summary":"initialize ESIL VM stack to \"aeim.stack\" or ?","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]}]},{"cmd":"aes","type":"group","summary":"ESIL emulated debugger step","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":7,"modes":[],"children":[{"cmd":"aes","type":"argv","summary":"perform emulated debugger step","description":"","args_str":" [<N>]","args":[{"type":"expression","name":"N","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aesp","type":"argv","summary":"evaluate N instr from core->offset","description":"","args_str":" <N>","args":[{"type":"expression","name":"N","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aesb","type":"argv","summary":"step back","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aeso","type":"argv","summary":"step over","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aesou","type":"argv","summary":"step over until given address","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aess","type":"group","summary":"step skip","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"aess","type":"argv","summary":"step skip (in case of CALL, just skip, instead of step into)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aessu","type":"argv","summary":"step skip (in case of CALL, just skip, instead of step into)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aessue","type":"argv","summary":"step skip (in case of CALL, just skip, instead of step into)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"aesu","type":"group","summary":"step until","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"aesu","type":"argv","summary":"step until given address","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aesue","type":"argv","summary":"step until esil expression match","description":"","args_str":" <esil>","args":[{"type":"string","name":"esil","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aesuo","type":"argv","summary":"step until given opcode type","description":"","args_str":" <optype1> <optype2> ...","args":[{"type":"string","name":"optype","required":true,"is_array":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]}]},{"cmd":"aets","type":"group","summary":"ESIL Trace session","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":2,"modes":[],"children":[{"cmd":"aets+","type":"argv","summary":"Start ESIL trace session","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aets-","type":"argv","summary":"Stop ESIL trace session","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"aez","type":"group","summary":"RzIL Emulation","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":6,"modes":[],"children":[{"cmd":"aezi","type":"argv","summary":"Initialize the RzIL Virtual Machine at the current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aezs","type":"argv","summary":"Step N instructions within the RzIL Virtual Machine","description":"","args_str":" [<n_times>]","args":[{"type":"number","name":"n_times"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aezse","type":"argv_modes","summary":"Step N instructions within the RzIL VM and output VM changes (read & write)","description":"","args_str":" [<n_times>]","args":[{"type":"number","name":"n_times"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"aezsu","type":"argv","summary":"Step until PC equals given address","description":"","args_str":" <address>","args":[{"type":"expression","name":"address","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aezsue","type":"argv","summary":"Step until PC equals given address and output VM changes (read & write)","description":"","args_str":" <address>","args":[{"type":"expression","name":"address","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aezv","type":"argv_modes","summary":"Print or modify the current status of the RzIL Virtual Machine","description":"","args_str":" [<var_name> [<number>]]","args":[{"type":"string","name":"var_name"},{"type":"expression","name":"number","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]}]},{"cmd":"ag","type":"group","summary":"Analysis graph commands","description":"","args_str":"","args":[],"details":[{"name":"Formats","entries":[{"text":"ascii","comment":"Ascii art","arg_str":""},{"text":"cmd","comment":"rizin commands","arg_str":""},{"text":"dot","comment":"Graphviz dot","arg_str":""},{"text":"gml","comment":"Graph Modelling Language","arg_str":""},{"text":"json","comment":"json","arg_str":""},{"text":"json_disasm","comment":"json formatted disassembly","arg_str":""},{"text":"sdb","comment":"SDB key-value","arg_str":""},{"text":"interactive","comment":"Interactive ascii art","arg_str":""}]}],"executable":false,"n_children":19,"modes":[],"children":[{"cmd":"aga","type":"argv","summary":"Data reference graph","description":"","args_str":" <format>=ascii","args":[{"type":"choice","name":"format","required":true,"default":"ascii","choices":["ascii","cmd","dot","gml","json","json_disasm","sdb","interactive"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"agA","type":"argv","summary":"Global data references graph","description":"","args_str":" <format>=ascii","args":[{"type":"choice","name":"format","required":true,"default":"ascii","choices":["ascii","cmd","dot","gml","json","json_disasm","sdb","interactive"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"agc","type":"argv","summary":"Function callgraph","description":"","args_str":" <format>=ascii","args":[{"type":"choice","name":"format","required":true,"default":"ascii","choices":["ascii","cmd","dot","gml","json","json_disasm","sdb","interactive"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"agC","type":"argv","summary":"Global callgraph","description":"","args_str":" <format>=ascii","args":[{"type":"choice","name":"format","required":true,"default":"ascii","choices":["ascii","cmd","dot","gml","json","json_disasm","sdb","interactive"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"agCi","type":"argv","summary":"Inter-procedual control flow graph","description":"","args_str":" <format>=ascii","args":[{"type":"choice","name":"format","required":true,"default":"ascii","choices":["ascii","cmd","dot","gml","json","json_disasm","sdb","interactive"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"agF","type":"argv","summary":"Control flow graph (without calls)","description":"","args_str":" <format>=ascii","args":[{"type":"choice","name":"format","required":true,"default":"ascii","choices":["ascii","cmd","dot","gml","json","json_disasm","sdb","interactive"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"agf","type":"argv","summary":"Basic blocks function graph","description":"","args_str":" <format>=ascii","args":[{"type":"choice","name":"format","required":true,"default":"ascii","choices":["ascii","cmd","dot","gml","json","json_disasm","sdb","interactive"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"agi","type":"argv","summary":"Imports graph","description":"","args_str":" <format>=ascii","args":[{"type":"choice","name":"format","required":true,"default":"ascii","choices":["ascii","cmd","dot","gml","json","json_disasm","sdb","interactive"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"agr","type":"argv","summary":"References graph","description":"","args_str":" <format>=ascii","args":[{"type":"choice","name":"format","required":true,"default":"ascii","choices":["ascii","cmd","dot","gml","json","json_disasm","sdb","interactive"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"agR","type":"argv","summary":"Global references graph","description":"","args_str":" <format>=ascii","args":[{"type":"choice","name":"format","required":true,"default":"ascii","choices":["ascii","cmd","dot","gml","json","json_disasm","sdb","interactive"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ags","type":"argv","summary":"Normal graph","description":"","args_str":" <format>=ascii","args":[{"type":"choice","name":"format","required":true,"default":"ascii","choices":["ascii","cmd","dot","gml","json","json_disasm","sdb","interactive"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"agl","type":"argv","summary":"Line graph","description":"","args_str":" <format>=ascii","args":[{"type":"choice","name":"format","required":true,"default":"ascii","choices":["ascii","cmd","dot","gml","json","json_disasm","sdb","interactive"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"agx","type":"argv","summary":"Cross-references graph","description":"","args_str":" <format>=ascii","args":[{"type":"choice","name":"format","required":true,"default":"ascii","choices":["ascii","cmd","dot","gml","json","json_disasm","sdb","interactive"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"agI","type":"argv","summary":"RzIL graph of the instruction at the current offset.","description":"","args_str":" <format>=ascii","args":[{"type":"choice","name":"format","required":true,"default":"ascii","choices":["ascii","cmd","dot","gml","json","json_disasm","sdb","interactive"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"agg","type":"argv","summary":"Custom graph","description":"","args_str":" <format>=ascii","args":[{"type":"choice","name":"format","required":true,"default":"ascii","choices":["ascii","cmd","dot","gml","json","json_disasm","sdb","interactive"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ag-","type":"argv","summary":"Clear the custom graph","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"agn","type":"group","summary":"Managing custom graph nodes","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"agn","type":"argv","summary":"Add a node to the custom graph","description":"","args_str":" <title> [<body>]","args":[{"type":"string","name":"title","required":true},{"type":"string","name":"body","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"agn-","type":"argv","summary":"Remove a node from the custom graph","description":"","args_str":" <title>","args":[{"type":"string","name":"title","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"age","type":"group","summary":"Managing custom graph edges","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"age","type":"argv","summary":"Add an edge to the custom graph","description":"","args_str":" <title1> <title2>","args":[{"type":"string","name":"title1","required":true},{"type":"string","name":"title2","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"age-","type":"argv","summary":"Remove an edge from the custom graph","description":"","args_str":" <title1> <title2>","args":[{"type":"string","name":"title1","required":true},{"type":"string","name":"title2","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"agw","type":"argv","summary":"Write to path or display graph image (see graph.gv.format)","description":"","args_str":" <graphtype>=dataref <path> [-global]","args":[{"type":"choice","name":"graphtype","required":true,"default":"dataref","choices":["dataref","funcall","diff","funblock","import","ref","line","xref","custom"]},{"type":"string","name":"path","required":true},{"type":"option","name":"global","is_option":true}],"details":[{"name":"Graph Type","entries":[{"text":"dataref","comment":"Data reference graph","arg_str":""},{"text":"funcall","comment":"Function call graph","arg_str":""},{"text":"diff","comment":"Diff graph","arg_str":""},{"text":"funblock","comment":"Function basic block graph","arg_str":""},{"text":"import","comment":"Imports graph","arg_str":""},{"text":"ref","comment":"References graph","arg_str":""},{"text":"line","comment":"Line graph","arg_str":""},{"text":"xref","comment":"Cross references graph","arg_str":""},{"text":"custom","comment":"Custom made graph","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"ar","type":"group","summary":"Emulation Registers","description":"","args_str":"","args":[],"details":[{"name":"Register Filter","entries":[{"text":"ar","comment":"Show a sensible default selection of registers","arg_str":""},{"text":"ar","comment":"Show a single register","arg_str":" rax"},{"text":"ar","comment":"Show 16 bits wide gpr registers","arg_str":" 16"},{"text":"ar","comment":"Show registers of type xmm (see `arT` for possible types)","arg_str":" xmm"},{"text":"ar","comment":"Show the register with the given role (see `arR` for possible roles)","arg_str":" PC"},{"text":"ar","comment":"Show all registers available","arg_str":" all"}]}],"executable":true,"n_children":15,"modes":["standard","json","quiet","table"],"children":[{"cmd":"ar","type":"argv_state","summary":"Show registers with their values, or assign one (`ar reg=value`)","description":"","args_str":" [<filter> [= <value>]]","args":[{"type":"unknown","name":"filter","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"ar=","type":"argv","summary":"Show registers in columns","description":"","args_str":" [<filter>]","args":[{"type":"unknown","name":"filter"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"arr","type":"argv_modes","summary":"Show register references (telescoping)","description":"","args_str":" [<filter>]","args":[{"type":"unknown","name":"filter"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"ari","type":"argv","summary":"Show register grouped by their values","description":"","args_str":" [<filter>]","args":[{"type":"unknown","name":"filter"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"arA","type":"argv_modes","summary":"Show values of default function argument registers (A0, A1, A2, ...) with telescoping","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"arcc","type":"argv","summary":"Show calling convention defined by registers","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ard","type":"argv","summary":"Show register differences from previous contents","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aro","type":"argv_state","summary":"Show previous register contents","description":"","args_str":" [<filter>]","args":[{"type":"unknown","name":"filter","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"arF","type":"argv","summary":"Show fpu registers","description":"","args_str":" [<register> [= <value>]]","args":[{"type":"string","name":"reg","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"arf","type":"group","summary":"Show commands for setting registers as flags","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"arf","type":"argv","summary":"Show commands for setting registers as flags","description":"","args_str":" [<filter>]","args":[{"type":"unknown","name":"filter"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"arf-","type":"argv","summary":"Show commands for unsetting flags from `arf`","description":"","args_str":" [<filter>]","args":[{"type":"unknown","name":"filter"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"ara","type":"group","summary":"Register arena commands (underlying binary data)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":8,"modes":[],"children":[{"cmd":"ara","type":"argv","summary":"Show all currently allocated register arenas","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ara+","type":"argv","summary":"Push a new set of arenas to the stack","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ara-","type":"argv","summary":"Pop a set of arenas from the stack","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"araS","type":"argv","summary":"Show number of stack elements","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aras","type":"argv","summary":"Swap last two register arenas on the stack","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ara0","type":"argv","summary":"Reset the specified or all arena contents to 0","description":"","args_str":" [<type>]","args":[{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"arab","type":"argv","summary":"Display hexdump of given arena (or gpr if none given)","description":"","args_str":" [<type>]","args":[{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"araw","type":"argv","summary":"Write hexadecimal data <hex> into the given arena (or gpr if none given)","description":"","args_str":" <hex> [<type>]","args":[{"type":"string","name":"hex","required":true},{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"arp","type":"group","summary":"Register profile commands (defining available registers)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":["standard","json"],"children":[{"cmd":"arp","type":"argv_state","summary":"Show the current register profile","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"arpc","type":"argv","summary":"Show register profile comments","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"arpo","type":"argv","summary":"Load a new register profile from file","description":"","args_str":" <file>","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"arpg","type":"argv","summary":"Convert gdb profile from the given file to rizin register profile","description":"","args_str":" <file>","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"arc","type":"argv","summary":"Conditional flags (aliases to processor flags)","description":"","args_str":"","args":[],"details":[{"name":"Basic","entries":[{"text":"eq","comment":"equal","arg_str":""},{"text":"ne","comment":"not equal","arg_str":""},{"text":"cf","comment":"carry flag set","arg_str":""},{"text":"neg","comment":"negative value (has sign)","arg_str":""},{"text":"of","comment":"overflow","arg_str":""}]},{"name":"Unsigned","entries":[{"text":"hi","comment":"higher","arg_str":""},{"text":"he","comment":"higher or equal","arg_str":""},{"text":"lo","comment":"lower","arg_str":""},{"text":"loe","comment":"lower or equal","arg_str":""}]},{"name":"Signed","entries":[{"text":"gt","comment":"greater","arg_str":""},{"text":"ge","comment":"greater or equal","arg_str":""},{"text":"lt","comment":"less","arg_str":""},{"text":"le","comment":"less or equal","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"arT","type":"argv","summary":"List all register types","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"arR","type":"argv","summary":"List all register roles","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"ai","type":"group","summary":"analysis/address information/imports","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json"],"children":[{"cmd":"ai","type":"argv_state","summary":"show address information","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"aii","type":"group","summary":"global import (like afii, but global)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard"],"children":[{"cmd":"aii","type":"argv_state","summary":"list/add global import (like afii, but global)","description":"","args_str":" [<namespace>]","args":[{"type":"string","name":"namespace","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"aii-","type":"argv_state","summary":"delete all global imports","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]}]}]},{"cmd":"av","type":"group","summary":"C++ vtables and RTTI","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":8,"modes":["standard","json"],"children":[{"cmd":"av","type":"argv_modes","summary":"search for vtables in data sections and show results","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"avD","type":"argv","summary":"Mark objects and devirtualize calls to virtual functions for function at the current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"avg","type":"group","summary":"Global variables","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":9,"modes":[],"children":[{"cmd":"avgl","type":"argv_state","summary":"show/list global variables","description":"","args_str":" [<var_name>]","args":[{"type":"unknown","name":"var_name"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"avga","type":"argv","summary":"add global variable manually","description":"","args_str":" <var_name> <type>","args":[{"type":"string","name":"var_name","required":true},{"type":"unknown","name":"type","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"avgd","type":"argv","summary":"delete the global variable at the addr","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"avgm","type":"argv","summary":"delete global variable with name","description":"","args_str":" <name>","args":[{"type":"unknown","name":"name","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"avgn","type":"argv","summary":"rename the global variable","description":"","args_str":" <old_var_name> <new_var_name>","args":[{"type":"unknown","name":"old_var_name","required":true},{"type":"string","name":"new_var_name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"avgp","type":"argv","summary":"print the global variable value","description":"","args_str":" <name>","args":[{"type":"unknown","name":"name","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"avgt","type":"argv","summary":"change the global variable type","description":"","args_str":" <var_name> <type>","args":[{"type":"unknown","name":"var_name","required":true},{"type":"unknown","name":"type","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"avgx","type":"argv_state","summary":"print all xrefs to the global variable","description":"","args_str":" <name>","args":[{"type":"unknown","name":"name","required":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"avgc","type":"group","summary":"Read/change value constraints of global variables","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":["standard","json"],"children":[{"cmd":"avgc","type":"argv_state","summary":"List value constraints of all globals / of the given one","description":"","args_str":" [<var_name>]","args":[{"type":"unknown","name":"var_name"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"avgcs","type":"argv","summary":"Set value constraints of a global variable (e.g. avgcs g \">0,<=9\")","description":"","args_str":" <var_name> <constraints>","args":[{"type":"unknown","name":"var_name","required":true},{"type":"string","name":"constraints","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"avgc-","type":"argv","summary":"Remove all value constraints of a global variable","description":"","args_str":" <var_name>","args":[{"type":"unknown","name":"var_name","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]}]},{"cmd":"avr","type":"argv_modes","summary":"try to parse RTTI at vtable addr (see analysis.cpp.abi)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"avra","type":"argv_modes","summary":"search for vtables and try to parse RTTI at each of them","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"avrr","type":"argv","summary":"recover class info from all findable RTTI (see ac)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"avrD","type":"argv","summary":"demangle a class name from RTTI","description":"","args_str":" <classname>","args":[{"type":"string","name":"classname","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"avx","type":"argv_state","summary":"Show the addresses of calls to the virtual function.","description":"","args_str":" <virtual function name>","args":[{"type":"string","name":"virtual function name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","table"],"children":[]}]},{"cmd":"ax","type":"group","summary":"Cross references (xrefs)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":13,"modes":[],"children":[{"cmd":"ax","type":"argv","summary":"Add custom xref to addr from current seek","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"axc","type":"argv","summary":"Add generic code xref to addr from current seek","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"axC","type":"argv","summary":"Add call code xref to addr from current seek","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"axd","type":"argv","summary":"Add data xref to addr from current seek","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"axs","type":"argv","summary":"Add string xref to addr from current seek","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"axl","type":"argv_state","summary":"List all xrefs","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"axt","type":"argv_state","summary":"List xrefs to current seek","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","long"],"children":[]},{"cmd":"axf","type":"argv_state","summary":"List xrefs from current seek","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"axtg","type":"argv","summary":"Display commands to generate graphs according to xrefs","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ax-","type":"argv","summary":"Delete xrefs to addr","description":"","args_str":" <addr> [<from>]","args":[{"type":"expression","name":"addr","required":true},{"type":"expression","name":"from","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ax-*","type":"argv","summary":"Delete all xrefs","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"axm","type":"argv","summary":"Copy xrefs pointing to addr to also point to curseek","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"axg","type":"argv_state","summary":"Show xrefs graph to reach function at current seek","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"ah","type":"group","summary":"Analysis hints","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":36,"modes":[],"children":[{"cmd":"ahl","type":"argv_state","summary":"List all analysis hints","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"ahl.","type":"argv_state","summary":"List analysis hints at current seek","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"ah-","type":"argv","summary":"Delete analysis hints in region starting from current seek","description":"","args_str":" [<size>]","args":[{"type":"number","name":"size"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ah-*","type":"argv","summary":"Delete all analysis hints","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aha","type":"argv","summary":"Set arch hint","description":"","args_str":" <arch>","args":[{"type":"string","name":"arch","required":true,"is_last":true}],"details":[{"name":"","entries":[{"text":"aha ppc @ 0x42","comment":"Force arch ppc for all addresses >= 0x42 or until the next hint","arg_str":""},{"text":"aha 0 @ 0x84","comment":"Disable the effect of arch hints for all addresses >= 0x84 or until the next hint","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aha-","type":"argv","summary":"Delete arch hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahb","type":"argv","summary":"Set bits hint","description":"","args_str":" <bits>","args":[{"type":"number","name":"bits","required":true}],"details":[{"name":"","entries":[{"text":"ahb 16 @ 0x42","comment":"Force 16bit for all addresses >= 0x42 or until the next hint","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahb-","type":"argv","summary":"Delete bits hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahh","type":"argv","summary":"Set highlight hint","description":"","args_str":"","args":[],"details":[{"name":"","entries":[{"text":"ahh @ 0x804840","comment":"Highlight this address offset in disasm","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahh-","type":"argv","summary":"Delete highlight hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahc","type":"argv","summary":"Set jump/call address hint","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[{"name":"","entries":[{"text":"ahc ","comment":"Replace call/jump address with 0x804840","arg_str":"0x804840"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahc-","type":"argv","summary":"Delete jump/call address hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahe","type":"argv","summary":"Set ESIL string hint","description":"","args_str":" <string>","args":[{"type":"string","name":"string","required":true,"is_last":true}],"details":[{"name":"","entries":[{"text":"ahe ","comment":"Replace ESIL VM analysis string","arg_str":"\"3,eax,+=\""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahe-","type":"argv","summary":"Delete ESIL string hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahd","type":"argv","summary":"Set opcode hint","description":"","args_str":" <opcode>","args":[{"type":"string","name":"opcode","required":true,"is_last":true}],"details":[{"name":"","entries":[{"text":"ahd ","comment":"Replace opcode string","arg_str":"\"foo a0,33\""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahd-","type":"argv","summary":"Delete opcode hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahs","type":"argv","summary":"Set opcode size hint","description":"","args_str":" <size>","args":[{"type":"expression","name":"size","required":true,"is_last":true}],"details":[{"name":"","entries":[{"text":"ahs ","comment":"Set opcode size=4","arg_str":"4"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahs-","type":"argv","summary":"Delete opcode size hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahf","type":"argv","summary":"Set fallback address hint","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[{"name":"","entries":[{"text":"ahf ","comment":"Replace fallback address for call with 0x804840","arg_str":"0x804840"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahf-","type":"argv","summary":"Delete fallback address hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahF","type":"argv","summary":"Set stackframe size hint","description":"","args_str":" <size>","args":[{"type":"number","name":"size","required":true}],"details":[{"name":"","entries":[{"text":"ahF ","comment":"Set stackframe size to 0x10","arg_str":"0x10"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahF-","type":"argv","summary":"Delete stackframe size hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahS","type":"argv","summary":"Set asm syntax hint","description":"","args_str":" <string>","args":[{"type":"string","name":"string","required":true,"is_last":true}],"details":[{"name":"","entries":[{"text":"ahS ","comment":"Set asm.syntax=jz for opcode at current seek","arg_str":"jz"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahS-","type":"argv","summary":"Delete asm syntax hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahp","type":"argv","summary":"Set pointer hint","description":"","args_str":" <pointer>","args":[{"type":"expression","name":"pointer","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahp-","type":"argv","summary":"Delete pointer hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahr","type":"argv","summary":"Set function return value hint","description":"","args_str":" <return>","args":[{"type":"expression","name":"return","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahr-","type":"argv","summary":"Delete function return value hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahv","type":"argv","summary":"Set opcode value hint","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[{"name":"","entries":[{"text":"ahv ","comment":"Change opcode's value field (useful to set jmptbl sizes in jmp rax)","arg_str":"val"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahv-","type":"argv","summary":"Delete opcode value hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aho","type":"argv","summary":"Set opcode type hint","description":"","args_str":" <string>","args":[{"type":"string","name":"string","required":true,"is_last":true}],"details":[{"name":"","entries":[{"text":"aho ","comment":"Change opcode type to <call>","arg_str":"call"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aho-","type":"argv","summary":"Delete opcode type hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahi","type":"group","summary":"Manage immediate operand hints","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":["standard"],"children":[{"cmd":"ahi","type":"argv_modes","summary":"Set immediate base hint","description":"","args_str":" <type> [<nword>]","args":[{"type":"choice","name":"type","required":true,"choices":["2","8","10","10u","16","b","o","h","i","p","S","s"]},{"type":"number","name":"nword"}],"details":[{"name":"","entries":[{"text":"ahi ","comment":"Set numeric <base> (2, 8, 10, 16)","arg_str":"<base>"},{"text":"ahi 10|d","comment":"Set base to signed decimal (10), sign bit should depend on receiver size","arg_str":""},{"text":"ahi 10u|du","comment":"Set base to unsigned decimal (11)","arg_str":""},{"text":"ahi b","comment":"Set base to binary (2)","arg_str":""},{"text":"ahi o","comment":"Set base to octal (8)","arg_str":""},{"text":"ahi h","comment":"Set base to hexadecimal (16)","arg_str":""},{"text":"ahi i","comment":"Set base to IP address (32)","arg_str":""},{"text":"ahi p","comment":"Set base to htons(port) (3)","arg_str":""},{"text":"ahi S","comment":"Set base to syscall (80)","arg_str":""},{"text":"ahi s","comment":"Set base to string (1)","arg_str":""}]},{"name":"Set base of the N-th immediate (indexing starts from 0)","entries":[{"text":"ahi 16 1","comment":"Set base of the 1-st immediate to hexadecimal","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"ahi-","type":"argv","summary":"Delete immediate base hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahie","type":"argv","summary":"Set enum type hint for operand","description":"","args_str":" <enum> [<nword>]","args":[{"type":"unknown","name":"enum","required":true},{"type":"number","name":"nword"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahie-","type":"argv","summary":"Delete enum type hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"aht","type":"argv","summary":"Set structure offset hint","description":"","args_str":" <struct.member>","args":[{"type":"string","name":"struct.member","required":true,"is_last":true}],"details":[{"name":"","entries":[{"text":"aht ","comment":"Replace immediate with <struct.member>","arg_str":"struct.member"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aht-","type":"argv","summary":"Delete structure offset hint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ahts","type":"argv","summary":"List all matching structure offsets","description":"","args_str":" <offset>","args":[{"type":"expression","name":"offset","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"ac","type":"group","summary":"Classes","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":9,"modes":[],"children":[{"cmd":"ac","type":"argv","summary":"Add class","description":"","args_str":" <class_name>","args":[{"type":"string","name":"class_name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ac-","type":"argv","summary":"Delete class","description":"","args_str":" <class_name>","args":[{"type":"string","name":"class_name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"acn","type":"argv","summary":"Rename class","description":"","args_str":" <class_name> <new_name>","args":[{"type":"string","name":"class_name","required":true},{"type":"string","name":"new_name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"acl","type":"argv_state","summary":"List all classes","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long"],"children":[]},{"cmd":"aci","type":"argv_state","summary":"Show information of class","description":"","args_str":" <class_name>","args":[{"type":"string","name":"class_name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long"],"children":[]},{"cmd":"acg","type":"argv","summary":"Print inheritance ascii graph","description":"","args_str":" <class_name>","args":[{"type":"string","name":"class_name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"acm","type":"group","summary":"Class methods","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"acm","type":"argv","summary":"Add/edit method","description":"","args_str":" <class_name> <method_name> <offset> [<vtable_offset>]","args":[{"type":"string","name":"class_name","required":true},{"type":"string","name":"method_name","required":true},{"type":"number","name":"offset","required":true},{"type":"number","name":"vtable_offset"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"acm-","type":"argv","summary":"Delete method","description":"","args_str":" <class_name> <method_name>","args":[{"type":"string","name":"class_name","required":true},{"type":"string","name":"method_name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"acmn","type":"argv","summary":"Rename method","description":"","args_str":" <class_name> <method_name> <new_method_name>","args":[{"type":"string","name":"class_name","required":true},{"type":"string","name":"method_name","required":true},{"type":"string","name":"new_method_name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"acb","type":"group","summary":"Base classes","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"acb","type":"argv","summary":"Add base class","description":"","args_str":" <class_name> <base_class_name> [<offset>]","args":[{"type":"string","name":"class_name","required":true},{"type":"string","name":"base_class_name","required":true},{"type":"number","name":"offset"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"acb-","type":"argv","summary":"Delete base class","description":"","args_str":" <class_name> <base_class_name>","args":[{"type":"string","name":"class_name","required":true},{"type":"string","name":"base_class_name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"acbl","type":"argv","summary":"List base classes","description":"","args_str":" <class_name>","args":[{"type":"string","name":"class_name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"acv","type":"group","summary":"Class vtable","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":[],"children":[{"cmd":"acv","type":"argv","summary":"Add vtable address to class","description":"","args_str":" <class_name> <addr> [<offset> [<size>]]","args":[{"type":"string","name":"class_name","required":true},{"type":"expression","name":"addr","required":true},{"type":"expression","name":"offset"},{"type":"expression","name":"size","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"acv-","type":"argv","summary":"Delete vtable by id","description":"","args_str":" <class_name> <vtable_id>","args":[{"type":"string","name":"class_name","required":true},{"type":"string","name":"vtable_id","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"acvl","type":"argv","summary":"List class vtables","description":"","args_str":" <class_name>","args":[{"type":"string","name":"class_name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"acvf","type":"argv","summary":"Lookup function address on vtable offset","description":"","args_str":" <offset> [<class_name>]","args":[{"type":"expression","name":"offset","required":true},{"type":"string","name":"class_name","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]}]},{"cmd":"a8","type":"argv_state","summary":"Analyze bytes","description":"","args_str":" <hexpairs>","args":[{"type":"string","name":"hexpairs","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"aO","type":"group","summary":"Analyze next block as instructions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":["standard","json"],"children":[{"cmd":"aO","type":"argv_state","summary":"Analyze next block as instructions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"aOe","type":"argv","summary":"Analyze the esil of next block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aOd","type":"argv","summary":"Print the description of next block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aOs","type":"argv","summary":"Print the total instruction size of next block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"ao","type":"group","summary":"Analyze N instructions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":9,"modes":["standard","json"],"children":[{"cmd":"ao","type":"argv_state","summary":"Analyze next N instructions","description":"","args_str":" [<n_instructions>]","args":[{"type":"number","name":"n_instructions"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"aos","type":"argv","summary":"Print the total size of next N instructions","description":"","args_str":" [<n_instructions>]","args":[{"type":"number","name":"n_instructions"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aoe","type":"argv","summary":"Print the esil of next N instructions","description":"","args_str":" [<n_instructions>]","args":[{"type":"number","name":"n_instructions"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aoi","type":"group","summary":"Print the RzIL of next N instructions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"aoi","type":"argv","summary":"Print the RzIL of next N instructions","description":"","args_str":" [<n_instructions>]","args":[{"type":"number","name":"n_instructions"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aoip","type":"argv","summary":"Pretty print the RzIL of next N instructions","description":"","args_str":" [<n_instructions>]","args":[{"type":"number","name":"n_instructions"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"aod","type":"argv","summary":"Describe opcode for asm.arch","description":"","args_str":" [<opcode>]","args":[{"type":"string","name":"opcode","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aoda","type":"argv","summary":"Describe all opcode for asm.arch","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aoc","type":"argv","summary":"Analyze which op could be executed in [cycles]","description":"","args_str":" [<cycles>]","args":[{"type":"number","name":"cycles"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aom","type":"argv","summary":"convert between mnemonic/id for asm.arch","description":"","args_str":" <mne_or_id>","args":[{"type":"string","name":"mne_or_id","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aoma","type":"argv","summary":"List mnemonics for asm.arch","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"an","type":"argv_state","summary":"Show/rename/create whatever flag/function is used at addr","description":"","args_str":" [<name>]","args":[{"type":"string","name":"name","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"ab","type":"group","summary":"Basic blocks","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":3,"modes":[],"children":[{"cmd":"abi","type":"argv_state","summary":"Show basic block information in current seek","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long"],"children":[]},{"cmd":"abl","type":"argv_state","summary":"List all basic blocks","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","long","table"],"children":[]},{"cmd":"abt","type":"argv_state","summary":"Find paths from current seek to the given address","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"as","type":"group","summary":"Syscalls","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":6,"modes":[],"children":[{"cmd":"as","type":"argv","summary":"Show syscall and arguments","description":"","args_str":" [<syscall>]","args":[{"type":"number","name":"syscall"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"asl","type":"argv_state","summary":"List syscalls","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"asca","type":"argv","summary":"Dump syscall info into .asm file","description":"","args_str":" [<syscall>]","args":[{"type":"string","name":"syscall","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"asc","type":"argv","summary":"Dump syscall info into .h file","description":"","args_str":" [<syscall>]","args":[{"type":"string","name":"syscall","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"asn","type":"argv","summary":"Returns the syscall number by the name","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"asr","type":"argv","summary":"Returns the syscall name by the number","description":"","args_str":" <number>","args":[{"type":"number","name":"number","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"aL","type":"group","summary":"List all asm/analysis plugins (e asm.arch=?)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json"],"children":[{"cmd":"aL","type":"argv_state","summary":"List all asm/analysis plugins (e asm.arch=?) or CPU details for a plugin.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"aLc","type":"argv","summary":"Shows the CPU details for a specific plugin.","description":"","args_str":" <plugin_name>","args":[{"type":"string","name":"plugin_name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"ae","type":"group","summary":"ESIL analysis commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":9,"modes":[],"children":[{"cmd":"ae","type":"argv","summary":"Analyze all flags starting with sym. and entry","description":"","args_str":" <expr>","args":[{"type":"string","name":"expr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aeH","type":"argv","summary":"Show ESIL help.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aeb","type":"argv","summary":"Emulate current block with ESIL.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aepc","type":"argv","summary":"Set ESIL PC to given address.","description":"","args_str":" <addr>","args":[{"type":"number","name":"addr","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aek","type":"group","summary":"SDB queries on ESIL info (emulation statistics).","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"aek","type":"argv","summary":"Perform sdb query on ESIL info.","description":"","args_str":" <query>=123*","args":[{"type":"string","name":"query","required":true,"is_last":true,"default":"123*"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aek-","type":"argv","summary":"Resets the ESIL info sdb instance.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"aex","type":"argv","summary":"Emulate the instruction encoded in the given bytes with ESIL.","description":"","args_str":" <bytes>","args":[{"type":"string","name":"bytes","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aef","type":"group","summary":"Emulate functions with ESIL.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"aef","type":"argv","summary":"Emulate the function at given or current offset with ESIL.","description":"","args_str":" [<addr>]","args":[{"type":"number","name":"addr"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aefa","type":"argv","summary":"Emulate function at given or current offset to find arguments with ESIL.","description":"","args_str":" [<addr>]","args":[{"type":"number","name":"addr"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"ael","type":"group","summary":"ESIL interrupt commands.","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":2,"modes":[],"children":[{"cmd":"aeli","type":"argv","summary":"List ESIL interrupts or load them from the given shared object.","description":"","args_str":" [<file>]","args":[{"type":"string","name":"file","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"aelir","type":"argv","summary":"Remove ESIL interrupt and free it if needed.","description":"","args_str":" <interrupt number>","args":[{"type":"number","name":"interrupt number","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"aea","type":"group","summary":"ESIL emulation to retrieve arguments.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":1,"modes":["standard","json"],"children":[{"cmd":"aea","type":"argv_modes","summary":"Show register and memory access of the next [len] instructions or bytes.","description":"","args_str":" <len>=0 <type>=d [<A>]","args":[{"type":"number","name":"len","required":true,"default":"0"},{"type":"choice","name":"type","required":true,"default":"d","choices":["d","*","r","w","n","b","f"]},{"type":"option","name":"A"}],"details":[{"name":"Flag","entries":[{"text":"A","comment":"Interpret the [len] parameter as number of bytes. Not as number of instructions.","arg_str":""}]},{"name":"Options","entries":[{"text":"*","comment":"Create mem.* flags for memory accesses.","arg_str":""},{"text":"r","comment":"Show regs read in N instructions.","arg_str":""},{"text":"w","comment":"Show regs written in N instructions.","arg_str":""},{"text":"n","comment":"Show regs not written in N instructions.","arg_str":""},{"text":"b","comment":"Show regs used in current basic block. The [len] parameter, if not 0, is interpreted as address.","arg_str":""},{"text":"f","comment":"Show regs used in current function.","arg_str":""},{"text":"d","comment":"Show memory and register access.","arg_str":""}]},{"name":"Legend","entries":[{"text":"I","comment":"input registers (read before being set)","arg_str":""},{"text":"A","comment":"all regs accessed","arg_str":""},{"text":"R","comment":"register values read","arg_str":""},{"text":"W","comment":"registers written","arg_str":""},{"text":"N","comment":"read but never written","arg_str":""},{"text":"V","comment":"values","arg_str":""},{"text":"@R","comment":"memreads","arg_str":""},{"text":"@W","comment":"memwrites","arg_str":""},{"text":"NOTE:","comment":"mem{reads,writes} with PIC only fetch the offset","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]}]}]},{"cmd":"B","type":"argv_state","summary":"Computes the possibles firmware locations in memory a.k.a basefind (CPU intensive)","description":"","args_str":" [<pointer_bits>]","args":[{"type":"choice","name":"pointer_bits","choices":["32","64"]}],"details":[{"name":"Settings of this command","entries":[{"text":"Check out the settings for this command with 'el basefind.'","comment":"","arg_str":""}]}],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]},{"cmd":"b","type":"group","summary":"Display or change the block size","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":["standard","json"],"children":[{"cmd":"b","type":"argv_state","summary":"Set/Get current block size","description":"","args_str":" [<num>]","args":[{"type":"expression","name":"num","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"b-","type":"argv","summary":"Decrease current block size","description":"","args_str":" <num>","args":[{"type":"expression","name":"num","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"b+","type":"argv","summary":"Increase current block size","description":"","args_str":" <num>","args":[{"type":"expression","name":"num","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"bf","type":"argv","summary":"Set block size to flag size","description":"","args_str":" <flag>","args":[{"type":"unknown","name":"flag","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"bm","type":"argv","summary":"Set/Get max block size","description":"","args_str":" [<num>]","args":[{"type":"expression","name":"num","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"C","type":"group","summary":"Code metadata (comments, format, hints, ..)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":13,"modes":["standard","json","long"],"children":[{"cmd":"C","type":"argv_state","summary":"List all meta information","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long"],"children":[]},{"cmd":"C.","type":"argv_state","summary":"Show all meta information at current address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long"],"children":[]},{"cmd":"C-","type":"argv","summary":"Remove meta information at current address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"C-*","type":"argv","summary":"Remove all meta information","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"CC","type":"group","summary":"Manipulate the comments","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":10,"modes":[],"children":[{"cmd":"CC","type":"argv","summary":"Append comment","description":"","args_str":" <text>","args":[{"type":"string","name":"text","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"CCl","type":"argv_state","summary":"List all comments","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long"],"children":[]},{"cmd":"CC.","type":"argv","summary":"Show comment at the current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"CC+","type":"argv","summary":"Append comment at current address","description":"","args_str":" <text>","args":[{"type":"string","name":"text","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"CC-","type":"argv","summary":"Remove comment at current address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"CC-*","type":"argv","summary":"Remove all comments","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"CCF","type":"argv","summary":"Show / Set comment file","description":"","args_str":" [<file>]","args":[{"type":"filename","name":"file"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"CCe","type":"argv","summary":"Edit comment using `cfg.editor`","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"CCf","type":"group","summary":"List comments in function at current address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":["standard","json","long"],"children":[{"cmd":"CCf","type":"argv_state","summary":"List all comments","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long"],"children":[]},{"cmd":"CCf-","type":"argv","summary":"Remove all comments from the current function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"CCf-*","type":"argv","summary":"Remove all comments from all functions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"CCu","type":"argv","summary":"Add unique comment","description":"","args_str":" <text>","args":[{"type":"string","name":"text","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"CS","type":"group","summary":"Manage metainformation spaces","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":[],"children":[{"cmd":"CS","type":"argv","summary":"Create new metaspace","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"CSl","type":"argv_state","summary":"List all metaspaces","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"CS-","type":"argv","summary":"Remove metaspace","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"CS-*","type":"argv","summary":"Remove all metaspaces","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"CSr","type":"argv","summary":"Rename the metaspace","description":"","args_str":" <oldname> <newname>","args":[{"type":"string","name":"oldname","required":true},{"type":"string","name":"newname","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"Cf","type":"group","summary":"Manage the format string metainformation","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":[],"children":[{"cmd":"Cf","type":"argv","summary":"Set the format string to the current address","description":"","args_str":" <size> <format>","args":[{"type":"expression","name":"size","required":true},{"type":"string","name":"format","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Cfl","type":"argv_state","summary":"List all format marks","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"Cf-","type":"argv","summary":"Remove format string from the current address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Cf-*","type":"argv","summary":"Remove all format string marks","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"Cd","type":"group","summary":"Manage the raw data metainformation","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":[],"children":[{"cmd":"Cd","type":"argv","summary":"Set the \"data\" mark to the current address","description":"","args_str":" <size> [<repeat>]","args":[{"type":"expression","name":"size","required":true},{"type":"expression","name":"repeat","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Cdl","type":"argv_state","summary":"List all \"data\" marks","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"Cd.","type":"argv","summary":"Show the data mark at the current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Cd-","type":"argv","summary":"Remove the data mark from the current address","description":"","args_str":" [<size> [<repeat>]]","args":[{"type":"expression","name":"size"},{"type":"expression","name":"repeat","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Cd-*","type":"argv","summary":"Remove all data marks","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"Ch","type":"group","summary":"Manage the \"hidden\" mark metainformation","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":[],"children":[{"cmd":"Ch","type":"argv","summary":"Set the \"hidden\" mark to the current address","description":"When \"hidden\" mark is set for some memory region, it's not shown in the disassembly output","args_str":" <size>","args":[{"type":"expression","name":"size","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Chl","type":"argv_state","summary":"List all \"hidden\" marks","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"Ch-","type":"argv","summary":"Remove the \"hidden\" mark from the current address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Ch-*","type":"argv","summary":"Remove all \"hidden\" marks","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"Cm","type":"group","summary":"Manage the \"magic\" mark metainformation","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":[],"children":[{"cmd":"Cm","type":"argv","summary":"Set the magic to the current address","description":"","args_str":" <size> <format>","args":[{"type":"expression","name":"size","required":true},{"type":"string","name":"format","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Cml","type":"argv_state","summary":"List all magic marks","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"Cm-","type":"argv","summary":"Remove the magic mark from the current address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Cm-*","type":"argv","summary":"Remove all magic marks","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"Cs","type":"group","summary":"Manipulate string metainformation","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":10,"modes":[],"children":[{"cmd":"Cs","type":"argv","summary":"Add string (autodetects the encoding)","description":"","args_str":" [<size>]","args":[{"type":"expression","name":"size","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Csl","type":"argv_state","summary":"List all strings","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"Cs.","type":"argv_state","summary":"Show string at the current address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","long"],"children":[]},{"cmd":"Cs-","type":"argv","summary":"Remove string","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Cs-*","type":"argv","summary":"Remove all strings","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Csp","type":"argv","summary":"Add Pascal-style string with the size","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Cs8","type":"argv","summary":"Add UTF-8 string","description":"","args_str":" [<size>]","args":[{"type":"expression","name":"size","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Csb","type":"argv","summary":"Add ASCII/8-bit string","description":"","args_str":" [<size>]","args":[{"type":"expression","name":"size","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Csw","type":"argv","summary":"Add wide 2-byte (UTF-16) string","description":"","args_str":" [<size>]","args":[{"type":"expression","name":"size","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"CsW","type":"argv","summary":"Add wide 4-byte (UTF-32) string","description":"","args_str":" [<size>]","args":[{"type":"expression","name":"size","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"Ct","type":"group","summary":"Manage the type metainformation","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":[],"children":[{"cmd":"Ct","type":"argv","summary":"Set the type comment to the current address","description":"","args_str":" [<text>]","args":[{"type":"string","name":"text","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Ctl","type":"argv_state","summary":"List all type comments","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"Ct-","type":"argv","summary":"Remove the type mark from the current address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Ct-*","type":"argv","summary":"Remove all type marks","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Ct.","type":"argv","summary":"Show the type mark at the current address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"Cv","type":"group","summary":"Add comments to the vars or arguments","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":6,"modes":[],"children":[{"cmd":"Cv","type":"argv","summary":"Add comment for the variable","description":"","args_str":" <name> <text>","args":[{"type":"string","name":"name","required":true},{"type":"string","name":"text","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Cv-","type":"argv","summary":"Remove comment from the variable","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Cve","type":"argv","summary":"Edit comment using `cfg.editor`","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Cvl","type":"argv_state","summary":"List all comments for all barguments and variables","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"Cvr","type":"argv_state","summary":"List all comments for all register-based arguments and variables","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"Cvs","type":"argv_state","summary":"List all comments for all stack-based arguments and variables","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]}]},{"cmd":"c","type":"group","summary":"Compare block with given data","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":12,"modes":["standard","json"],"children":[{"cmd":"c","type":"argv_state","summary":"Compare an escaped <string> with data at current offset","description":"","args_str":" <string>","args":[{"type":"string","name":"string","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"c1","type":"argv","summary":"Compare 8-bit data at current offset with the data at <addr>","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ca","type":"argv_state","summary":"Compare <n> bytes of data at <addr> with the data at current offset","description":"","args_str":" <addr> <n>","args":[{"type":"expression","name":"addr","required":true},{"type":"number","name":"n","required":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"cb","type":"argv_state","summary":"Compare <n> (up to 8) bytes at current offset with a number <num>","description":"","args_str":" <num> <n>","args":[{"type":"expression","name":"num","required":true},{"type":"number","name":"n","required":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"cc","type":"argv","summary":"Compare hexdump of data of block size at <addr> with the data at current offset","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ccc","type":"argv","summary":"Show different lines between hexdump of a block of data at <addr> wth the data at current offset","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ccd","type":"argv","summary":"Compare disassembly of block size at <addr> and at the current offset","description":"","args_str":" [<addr>]","args":[{"type":"expression","name":"addr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"cf","type":"argv_state","summary":"Compare the contents of <file> with the data at current offset","description":"","args_str":" <file>","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"cu","type":"group","summary":"Unified diff commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":6,"modes":[],"children":[{"cmd":"cu","type":"argv","summary":"Compare data at <offset> with the current offset","description":"","args_str":" <offset>","args":[{"type":"expression","name":"offset","required":true,"is_last":true}],"details":[{"name":"Applying patches","entries":[{"text":"Apply unified hex patch","comment":"cu <offset> > file; wu file","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"cu1","type":"argv","summary":"Compare bytes at <offset> with the current offset","description":"","args_str":" <offset>","args":[{"type":"expression","name":"offset","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"cu2","type":"argv","summary":"Compare words (16-bit) at <offset> with the current offset","description":"","args_str":" <offset>","args":[{"type":"expression","name":"offset","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"cu4","type":"argv","summary":"Compare dwords (32-bit) at <offset> with the current offset","description":"","args_str":" <offset>","args":[{"type":"expression","name":"offset","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"cu8","type":"argv","summary":"Compare qwords (64-bit) at <offset> with the current offset","description":"","args_str":" <offset>","args":[{"type":"expression","name":"offset","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"cud","type":"argv","summary":"Compare disassembly at <offset> with the current offset","description":"","args_str":" <offset>","args":[{"type":"expression","name":"offset","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"cw","type":"group","summary":"Compare watcher commands","description":"","args_str":"","args":[],"details":[{"name":"Compare memory locations and check if there is a difference","entries":[{"text":"cw 32 'pD 32' @ 0x1234","comment":"Adds a memory region watcher of 32 bytes at 0x1234, where it executes the command 'pD 32'.","arg_str":""},{"text":"cwl","comment":"Lists all the memory region watchers and notifies of any changes","arg_str":""},{"text":"cwx @ 0x1234","comment":"Removes the memory region watchers at 0x1234","arg_str":""}]}],"executable":true,"n_children":5,"modes":[],"children":[{"cmd":"cw","type":"argv","summary":"Add a memory watcher of size <sz> and command <cmd> at current offset","description":"","args_str":" <sz> <cmd>","args":[{"type":"number","name":"sz","required":true},{"type":"command","name":"cmd","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"cwl","type":"argv_modes","summary":"List all compare watchers","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"cwr","type":"argv","summary":"Reset/revert watcher at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"cwu","type":"argv","summary":"Update watcher at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"cwx","type":"argv","summary":"Remove watcher at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"cx","type":"argv_state","summary":"Compare data at current offset with a hexpair string <hexpair> (also return in $?)","description":"","args_str":" <hexpair>","args":[{"type":"string","name":"hexpair","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"cX","type":"argv_state","summary":"Compare hexdump of data of block size at <addr> with the data at current offset using hexdiff output","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"d","type":"group","summary":"Debugger commands","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":17,"modes":[],"children":[{"cmd":"db","type":"group","summary":"Breakpoints commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":20,"modes":[],"children":[{"cmd":"db","type":"argv","summary":"Add breakpoint at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbl","type":"argv_state","summary":"List all breakpoints","description":"","args_str":"","args":[],"details":[{"name":"Apply a command to all breakpoints","entries":[{"text":"Disable all the breakpoints","comment":"dbd @@c:dblq","arg_str":""},{"text":"Enable all the breakpoints","comment":"dbe @@c:dblq","arg_str":""},{"text":"Toggle all the breakpoints","comment":"dbs @@c:dblq","arg_str":""}]}],"executable":true,"n_children":0,"modes":["json","quiet"],"children":[]},{"cmd":"dbH","type":"argv","summary":"Add hardware breakpoint at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"db-","type":"argv","summary":"Remove breakpoint at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"db-*","type":"argv","summary":"Remove all breakpoints","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"db.","type":"argv","summary":"Show breakpoint info at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbc","type":"argv","summary":"Set a command <cmd> to be run when the breakpoint at the current offset is hit","description":"","args_str":" <cmd>","args":[{"type":"command","name":"cmd","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbC","type":"argv","summary":"Make the breakpoint at the current offset conditional, and hit only when <cmd> evaluates to 0","description":"","args_str":" <cmd>","args":[{"type":"command","name":"cmd","required":true,"is_last":true}],"details":[{"name":"Usage example","entries":[{"text":"Example of a condition","comment":"%v rax-0x0","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbd","type":"argv","summary":"Disable breakpoint at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbe","type":"argv","summary":"Enable breakpoint at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbs","type":"argv","summary":"Toggle breakpoint at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbf","type":"argv","summary":"Put a breakpoint into every no-return function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbm","type":"argv","summary":"Add a breakpoint at an offset from a module's base","description":"","args_str":" <module> <offset>","args":[{"type":"string","name":"module","required":true},{"type":"expression","name":"offset","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbn","type":"argv","summary":"Show name of current breakpoint / Set name for current breakpoint","description":"","args_str":" [<name>]","args":[{"type":"string","name":"name","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbi","type":"group","summary":"Breakpoint index commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":11,"modes":[],"children":[{"cmd":"dbi","type":"argv","summary":"Show breakpoint index at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbil","type":"argv","summary":"List breakpoints indexes","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbi-","type":"argv","summary":"Remove breakpoint by index","description":"","args_str":" <idx>","args":[{"type":"expression","name":"idx","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbix","type":"argv","summary":"Set expression for breakpoint at given index","description":"","args_str":" <idx> <expr>","args":[{"type":"expression","name":"idx","required":true},{"type":"string","name":"expr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbic","type":"argv","summary":"Run a command at breakpoint index","description":"","args_str":" <idx> <cmd>","args":[{"type":"expression","name":"idx","required":true},{"type":"command","name":"cmd","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbie","type":"argv","summary":"Enable breakpoint by index","description":"","args_str":" <idx>","args":[{"type":"expression","name":"idx","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbid","type":"argv","summary":"Disable breakpoint by index","description":"","args_str":" <idx>","args":[{"type":"expression","name":"idx","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbis","type":"argv","summary":"Toggle breakpoint by index","description":"","args_str":" <idx>","args":[{"type":"expression","name":"idx","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbite","type":"argv","summary":"Enable breakpoint trace by index","description":"","args_str":" <idx>","args":[{"type":"expression","name":"idx","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbitd","type":"argv","summary":"Disable breakpoint trace by index","description":"","args_str":" <idx>","args":[{"type":"expression","name":"idx","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbits","type":"argv","summary":"Toggle breakpoint trace by index","description":"","args_str":" <idx>","args":[{"type":"expression","name":"idx","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"dbh","type":"argv","summary":"List archs which supports software breakpoints","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbt","type":"group","summary":"Backtrace commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":7,"modes":["standard","json","quiet","table"],"children":[{"cmd":"dbt","type":"argv_state","summary":"Display backtrace based on dbg.btdepth and dbg.btalgo","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"dbt=","type":"argv","summary":"Display backtrace in one line (see dbt= s and dbt= b for sp or bp)","description":"","args_str":" [<s/b>]","args":[{"type":"string","name":"s/b","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbtv","type":"argv","summary":"Display backtrace with local vars if any","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbta","type":"argv","summary":"Display ascii-art representation of the stack backtrace","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbte","type":"argv","summary":"Enable breakpoint trace at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbtd","type":"argv","summary":"Disable breakpoint trace at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbts","type":"argv","summary":"Toggle breakpoint trace at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"dbx","type":"argv","summary":"View expression for all the breakpoints / Set expression for breakpoint at current offset","description":"","args_str":" [<expr>]","args":[{"type":"string","name":"expr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbw","type":"argv","summary":"Add watchpoint at current offset","description":"","args_str":" <perm> [<size>]","args":[{"type":"choice","name":"perm","required":true,"choices":["r","w","rw"]},{"type":"expression","name":"size","is_last":true}],"details":[{"name":"Valid permission arguments","entries":[{"text":"r","comment":"read only","arg_str":""},{"text":"w","comment":"write only","arg_str":""},{"text":"rw","comment":"read-write","arg_str":""}]},{"name":"Example sizes","entries":[{"text":"1","comment":"watch only a single byte","arg_str":""},{"text":"2","comment":"watch a 16-bit value","arg_str":""},{"text":"4","comment":"watch a 32-bit value","arg_str":""},{"text":"8","comment":"watch a 64-bit value","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dbW","type":"argv","summary":"Set conditional breakpoint on a window message handler (only for Windows)","description":"","args_str":" <WM_DEFINE> [<handle/name>]","args":[{"type":"string","name":"WM_DEFINE","required":true},{"type":"string","name":"handle/name","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"dc","type":"group","summary":"Continue execution","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":13,"modes":[],"children":[{"cmd":"dc","type":"argv","summary":"Continue execution of all children","description":"","args_str":" [<pid>]","args":[{"type":"expression","name":"pid","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dcb","type":"argv","summary":"Continue back until breakpoint","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dcc","type":"argv","summary":"Continue until call (use step into)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dcco","type":"argv","summary":"Continue until call (use step out)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dccu","type":"argv","summary":"Continue until unknown call (call reg)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dce","type":"argv","summary":"Continue execution (pass exception to program) (Windows only)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dcf","type":"argv","summary":"Continue until fork","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dck","type":"argv","summary":"Continue sending signal to process","description":"","args_str":" <signal> [<pid>]","args":[{"type":"expression","name":"signal","required":true},{"type":"expression","name":"pid","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dcp","type":"argv","summary":"Continue until program code (mapped io section)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dcr","type":"argv","summary":"Continue until ret (uses step over)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dcs","type":"argv","summary":"Continue until syscall","description":"","args_str":" [<syscall>]","args":[{"type":"string","name":"syscall","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dct","type":"argv","summary":"Traptrace from curseek to len, no argument to list","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dcu","type":"argv","summary":"Debug continue until","description":"","args_str":" <address>=$$","args":[{"type":"expression","name":"address","required":true,"is_last":true,"default":"$$"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"dd","type":"group","summary":"Debug file descriptors commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":7,"modes":[],"children":[{"cmd":"dd","type":"argv","summary":"Open and map <file> given the path","description":"","args_str":" <file>","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dd-","type":"argv","summary":"Close the <fd> file descriptor","description":"","args_str":" <fd>","args":[{"type":"number","name":"fd","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ddl","type":"argv_state","summary":"List all file descriptors","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","table"],"children":[]},{"cmd":"dds","type":"argv","summary":"Seek given <fd> to the <offset>","description":"","args_str":" <fd> <offset>","args":[{"type":"number","name":"fd","required":true},{"type":"number","name":"offset","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ddd","type":"argv","summary":"Duplicate <fd_src> to <fd_dst>","description":"","args_str":" <fd_src> <fd_dst>","args":[{"type":"number","name":"fd_src","required":true},{"type":"number","name":"fd_dst","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ddr","type":"argv","summary":"Read <len> bytes from <fd> file at <offset>","description":"","args_str":" <fd> <offset> <len>","args":[{"type":"number","name":"fd","required":true},{"type":"number","name":"offset","required":true},{"type":"number","name":"len","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ddw","type":"argv","summary":"Write <len> bytes to <fd> file at <offset>","description":"","args_str":" <fd> <offset> <len>","args":[{"type":"number","name":"fd","required":true},{"type":"number","name":"offset","required":true},{"type":"number","name":"len","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"de","type":"group","summary":"Manage ESIL watchpoints","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":6,"modes":[],"children":[{"cmd":"de","type":"argv","summary":"Add ESIL watchpoint","description":"","args_str":" <perm> <kind> <expression>","args":[{"type":"string","name":"perm","required":true},{"type":"choice","name":"kind","required":true,"choices":["reg","mem"]},{"type":"string","name":"expression","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"de","comment":"Stop when reads RIP register","arg_str":"r reg rip"},{"text":"de","comment":"Stop when read or write in ADDR","arg_str":"rw mem ADDR"},{"text":"de","comment":"Stop when rdx register is modified","arg_str":"w r rdx"},{"text":"de","comment":"Stop when rip in range","arg_str":"x m FROM..TO"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"de-*","type":"argv","summary":"Remove all ESIL watchpoints","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"del","type":"argv_state","summary":"List all ESIL watchpoints","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","table"],"children":[]},{"cmd":"dec","type":"argv","summary":"Continue execution until matching expression","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"des","type":"argv","summary":"Step-in <N> instructions with ESIL","description":"","args_str":" <N>","args":[{"type":"number","name":"N","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"desu","type":"argv","summary":"Step until specified <address>","description":"","args_str":" <<address>>","args":[{"type":"expression","name":"<address>","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"dg","type":"argv","summary":"Generate core dump file","description":"","args_str":" [<filename>]","args":[{"type":"filename","name":"filename"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"do","type":"group","summary":"Debug (re)open commands","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":3,"modes":[],"children":[{"cmd":"dor","type":"argv","summary":"Set rz-run profile options (e dbg.profile)","description":"","args_str":" [<key>=<val> [<key>=<val> ...]]","args":[{"type":"evaluable_full","name":"key=val","required":true,"is_array":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"doe","type":"argv","summary":"Edit rz-run startup profile with $EDITOR","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"doc","type":"argv","summary":"Close debug session","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"ds","type":"group","summary":"Debug step commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":9,"modes":[],"children":[{"cmd":"ds","type":"argv","summary":"Step <num> instruction","description":"","args_str":" <num>=1","args":[{"type":"expression","name":"num","required":true,"is_last":true,"default":"1"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dsb","type":"argv","summary":"Step back <num> instruction","description":"","args_str":" <num>=1","args":[{"type":"expression","name":"num","required":true,"is_last":true,"default":"1"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dsf","type":"argv","summary":"Step until end of frame","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dsi","type":"argv","summary":"Continue until condition matches","description":"","args_str":" <cond>","args":[{"type":"string","name":"cond","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dsl","type":"argv","summary":"Step <num> source line","description":"","args_str":" <num>=1","args":[{"type":"expression","name":"num","required":true,"is_last":true,"default":"1"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dso","type":"argv","summary":"Step over <num> instructions","description":"","args_str":" <num>=1","args":[{"type":"expression","name":"num","required":true,"is_last":true,"default":"1"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dsp","type":"argv","summary":"Step into program (skip libs)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dss","type":"argv","summary":"Skip <num> step instructions","description":"","args_str":" <num>=1","args":[{"type":"expression","name":"num","required":true,"is_last":true,"default":"1"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dsu","type":"group","summary":"Debug step until commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":6,"modes":[],"children":[{"cmd":"dsu","type":"argv","summary":"Step until <addr>","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dsui","type":"argv","summary":"Step until an instruction that matches <instr>","description":"","args_str":" <instr>","args":[{"type":"string","name":"instr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dsuir","type":"argv","summary":"Step until an instruction that matches <regex>","description":"","args_str":" <regex>","args":[{"type":"string","name":"regex","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dsuo","type":"argv","summary":"Step until an instruction matches one of the <optype>s","description":"","args_str":" <optype1> <optype2> ...","args":[{"type":"string","name":"optype","required":true,"is_array":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dsue","type":"argv","summary":"Step until <esil> expression matches","description":"","args_str":" <esil>","args":[{"type":"string","name":"esil","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dsuf","type":"argv","summary":"Step until pc == <flag> matching name","description":"","args_str":" <flag>","args":[{"type":"unknown","name":"flag","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]}]},{"cmd":"dt","type":"group","summary":"Trace commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":11,"modes":[],"children":[{"cmd":"dt","type":"argv","summary":"Get trace info at the current address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dtl","type":"argv_state","summary":"List all traces","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","quiet"],"children":[]},{"cmd":"dtl=","type":"argv","summary":"List all traces in ascii art","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dt+","type":"argv","summary":"Add trace for address N times","description":"","args_str":" [<times>]","args":[{"type":"expression","name":"times","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dt++","type":"argv","summary":"Add trace for some address","description":"","args_str":" <addrs1> <addrs2> ...","args":[{"type":"expression","name":"addrs","required":true,"is_array":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dt-","type":"argv","summary":"Reset traces (instruction/calls)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dtc","type":"argv","summary":"Trace call/ret","description":"","args_str":" [<from> [<to> [<addr>]]]","args":[{"type":"expression","name":"from"},{"type":"expression","name":"to"},{"type":"expression","name":"addr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dte","type":"group","summary":"Esil trace logs","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":[],"children":[{"cmd":"dte","type":"argv","summary":"Esil trace log for a single instruction for that index log","description":"","args_str":" <idx>","args":[{"type":"expression","name":"idx","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dtel","type":"argv","summary":"Esil trace log for a single instruction","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dte-*","type":"argv","summary":"Delete all esil traces","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dtei","type":"argv","summary":"Esil trace log for a single instruction","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"dtg","type":"group","summary":"Graph call/ret trace","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard"],"children":[{"cmd":"dtg","type":"argv_modes","summary":"Graph call/ret trace","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"dtgi","type":"argv","summary":"Interactive debug trace","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"dts","type":"group","summary":"Debug trace session commands","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":5,"modes":[],"children":[{"cmd":"dts+","type":"argv","summary":"Start trace session","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dts-","type":"argv","summary":"Stop trace session","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dtst","type":"argv","summary":"Save trace sessions to disk","description":"","args_str":" <dir>","args":[{"type":"directory","name":"dir","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dtsf","type":"argv","summary":"Load trace sessions to disk","description":"","args_str":" <dir>","args":[{"type":"directory","name":"dir","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dtsm","type":"argv","summary":"List current memory map and hash","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"dtt","type":"argv","summary":"Select trace tag (no arg unsets)","description":"","args_str":" <tag>","args":[{"type":"string","name":"tag","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"di","type":"argv_state","summary":"Debug information","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"dk","type":"group","summary":"Debug signals management","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":[],"children":[{"cmd":"dk","type":"argv","summary":"Send signal to the child","description":"","args_str":" <signal>","args":[{"type":"number","name":"signal","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dkl","type":"argv_state","summary":"List all signal handlers of the child process","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"dkn","type":"argv","summary":"Resolve the name of signal given the number","description":"","args_str":" <signal>","args":[{"type":"number","name":"signal","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dkN","type":"argv","summary":"Resolve the signal number given the name","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dko","type":"argv","summary":"Set skip or continue options for a given signal","description":"","args_str":" <signal> <option>=reset","args":[{"type":"number","name":"signal","required":true},{"type":"choice","name":"option","required":true,"default":"reset","choices":["skip","continue","reset"]}],"details":[{"name":"Signal options","entries":[{"text":"skip","comment":"Do not enter into the signal handler","arg_str":""},{"text":"continue","comment":"Enter into the signal handler","arg_str":""},{"text":"reset","comment":"Remove all previously set signal options","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"dl","type":"group","summary":"Debug handler","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"dl","type":"argv","summary":"Set debugger handler","description":"","args_str":" <handler>","args":[{"type":"number","name":"handler","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dll","type":"argv_state","summary":"List debugger handler","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]}]},{"cmd":"dm","type":"group","summary":"Memory map commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":13,"modes":["standard","json","quiet","table"],"children":[{"cmd":"dm","type":"argv_state","summary":"List memory maps","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"dm+","type":"argv","summary":"Allocate <size> bytes at current offset","description":"","args_str":" <size>","args":[{"type":"expression","name":"size","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dm=","type":"argv","summary":"List memory maps of current process with ASCII art bars","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dm.","type":"argv_state","summary":"Show map name of current address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"dmm","type":"group","summary":"Module memory map commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json"],"children":[{"cmd":"dmm","type":"argv_state","summary":"List modules (libraries, binaries loaded in memory)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"dmm.","type":"argv_state","summary":"List memory map of current module","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"dm-","type":"argv","summary":"Deallocate memory map at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dmd","type":"group","summary":"Dump debug map regions to a file (from-to.dmp)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"dmd","type":"argv","summary":"Dump debug maps to <filename>","description":"","args_str":" [<filename>]","args":[{"type":"filename","name":"filename"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dmda","type":"argv","summary":"Dump all debug maps","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dmdw","type":"argv","summary":"Dump writable debug maps","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"dmh","type":"group","summary":"Heap commands","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":3,"modes":[],"children":[{"cmd":"dmhg","type":"group","summary":"Glibc heap commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":10,"modes":["standard","json","long"],"children":[{"cmd":"dmhg","type":"argv_state","summary":"List heap chunks of an arena","description":"","args_str":" [<malloc_state>]","args":[{"type":"expression","name":"malloc_state","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long"],"children":[]},{"cmd":"dmhga","type":"argv","summary":"List all the arenas","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dmhgb","type":"argv_modes","summary":"Display double linked list for bins in an arena.","description":"","args_str":" [<bin_num|bin_num:malloc_state>]","args":[{"type":"string","name":"bin_num|bin_num:malloc_state","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","graph"],"children":[]},{"cmd":"dmhgc","type":"argv","summary":"Get info about heap chunk at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dmhgd","type":"argv_modes","summary":"Display state of bins in an arena. <bin_type> can be tcache/fast/unsorted/small/large","description":"","args_str":" [<bin_type>]","args":[{"type":"choice","name":"bin_type","choices":["small","large","fast","unsorted","tcache"]}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"dmhgf","type":"argv","summary":"Display all parsed fastbins of main_arena's or a particular arena fastbinY instance","description":"","args_str":" [<fastbin_num|fastbin_num:malloc_state>]","args":[{"type":"string","name":"fastbin_num|fastbin_num:malloc_state","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dmhgg","type":"argv","summary":"Display heap graph of a particular arena","description":"","args_str":" [<malloc_state>]","args":[{"type":"expression","name":"malloc_state","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dmhgi","type":"argv","summary":"Display heap_info structure/structures for a given arena","description":"","args_str":" [<malloc_state>]","args":[{"type":"expression","name":"malloc_state","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dmhgm","type":"argv_modes","summary":"List all elements of struct malloc_state","description":"","args_str":" [<malloc_state>]","args":[{"type":"expression","name":"malloc_state","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"dmhgt","type":"argv","summary":"Display all parsed thread cache bins of all arena's tcache instance","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"dmhw","type":"group","summary":"Windows heap commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":["json","table"],"children":[{"cmd":"dmhw","type":"argv_state","summary":"List process heaps","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","table"],"children":[]},{"cmd":"dmhwb","type":"argv_state","summary":"List allocated heap blocks","description":"","args_str":" [<addr>]","args":[{"type":"expression","name":"addr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["json","table"],"children":[]},{"cmd":"dmhwbf","type":"argv","summary":"Create flags for each allocated heap block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"dmhj","type":"group","summary":"Jemalloc heap commands","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":5,"modes":[],"children":[{"cmd":"dmhja","type":"argv","summary":"Show all arenas created, or print arena_type structure for given arena.","description":"","args_str":" [<arena_addr>]","args":[{"type":"expression","name":"arena_addr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dmhjb","type":"argv","summary":"Show bin info for allocations.","description":"","args_str":" [<arena_addr> [<bin_info_addr>]]","args":[{"type":"expression","name":"arena_addr"},{"type":"expression","name":"bin_info_addr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dmhjc","type":"argv","summary":"Show all chunks created in all arenas, or show all chunks created for a given arena_t instance (jemalloc 4.5.0 only).","description":"","args_str":" [<arena_addr>]","args":[{"type":"expression","name":"arena_addr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dmhje","type":"argv","summary":"List all extents, or find extent for a specific malloc'd address (jemalloc 5.3.0 only)","description":"","args_str":" [<malloc_addr>]","args":[{"type":"expression","name":"malloc_addr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dmhjei","type":"argv","summary":"Display extent (edata_t) structure info for a given extent address (jemalloc 5.3.0 only)","description":"","args_str":" <extent_addr>","args":[{"type":"expression","name":"extent_addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]}]},{"cmd":"dmi","type":"group","summary":"List/Load symbols","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":["standard","json","quiet","quietest"],"children":[{"cmd":"dmi","type":"argv_state","summary":"List libraries and library symbols.","description":"","args_str":" [<lib_name> [<symbol_name>]]","args":[{"type":"string","name":"lib_name"},{"type":"string","name":"symbol_name","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","quietest"],"children":[]},{"cmd":"dmia","type":"argv_state","summary":"List all info of target library.","description":"","args_str":" [<lib_name>]","args":[{"type":"string","name":"lib_name","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","quietest"],"children":[]},{"cmd":"dmi.","type":"argv_state","summary":"List closest symbol to the current address.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","quietest"],"children":[]}]},{"cmd":"dml","type":"argv","summary":"Load contents of file into current map region","description":"","args_str":" <file>","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dmp","type":"argv","summary":"Change page at current offset with <size>, protection <perms> / Change dbg.map permissions to <perms>","description":"","args_str":" <perms> [<size>]","args":[{"type":"string","name":"perms","required":true},{"type":"expression","name":"size","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dmL","type":"argv","summary":"Allocate <size> bytes at current offset and promote to huge page","description":"","args_str":" <size>","args":[{"type":"expression","name":"size","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dmS","type":"argv_modes","summary":"List sections of target lib","description":"","args_str":" [<addr|libname> [<sectname>]]","args":[{"type":"string","name":"addr|libname"},{"type":"string","name":"sectname","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"dp","type":"group","summary":"List or attach to process or thread","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":12,"modes":["standard","json","table"],"children":[{"cmd":"dp","type":"argv_state","summary":"List current pid and children","description":"","args_str":" [<pid>]","args":[{"type":"expression","name":"pid","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","table"],"children":[]},{"cmd":"dpl","type":"argv_state","summary":"List all attachable pids","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","table"],"children":[]},{"cmd":"dpa","type":"argv","summary":"Attach to selected <pid>","description":"","args_str":" [<pid>]","args":[{"type":"expression","name":"pid","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dp-","type":"argv","summary":"Detach from selected <pid>","description":"","args_str":" [<pid>]","args":[{"type":"expression","name":"pid","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dp=","type":"argv","summary":"Select <pid>","description":"","args_str":" <pid>","args":[{"type":"expression","name":"pid","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dpc","type":"argv","summary":"Select forked pid (see dbg.forks)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dpc*","type":"argv","summary":"Display forked pid (see dbg.forks)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dpe","type":"argv","summary":"Show path to executable","description":"","args_str":" [<pid>]","args":[{"type":"expression","name":"pid","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dpf","type":"argv","summary":"Attach to pid like file fd","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dpk","type":"argv","summary":"Send <signal> to process <pid>","description":"","args_str":" <pid> [<signal>]","args":[{"type":"expression","name":"pid","required":true},{"type":"expression","name":"signal","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dpT","type":"argv_state","summary":"List threads of specified or current <pid>","description":"","args_str":" [<pid>]","args":[{"type":"expression","name":"pid","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","table"],"children":[]},{"cmd":"dpt=","type":"argv","summary":"Select <thread-id>","description":"","args_str":" <thread-id>","args":[{"type":"expression","name":"thread-id","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"dr","type":"group","summary":"CPU Registers","description":"","args_str":"","args":[],"details":[{"name":"Register Filter","entries":[{"text":"dr","comment":"Show a sensible default selection of registers","arg_str":""},{"text":"dr","comment":"Show a single register","arg_str":" rax"},{"text":"dr","comment":"Show 16 bits wide gpr registers","arg_str":" 16"},{"text":"dr","comment":"Show registers of type xmm (see `drT` for possible types)","arg_str":" xmm"},{"text":"dr","comment":"Show the register with the given role (see `drR` for possible roles)","arg_str":" PC"},{"text":"dr","comment":"Show all registers available","arg_str":" all"}]}],"executable":true,"n_children":16,"modes":["standard","json","quiet","table"],"children":[{"cmd":"dr","type":"argv_state","summary":"Show registers with their values, or assign registers (`dr reg1=value reg2=value`)","description":"","args_str":" [<filter1> [= <value>] <filter2> [= <value>] ...]","args":[{"type":"unknown","name":"filters","is_array":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"dr=","type":"argv","summary":"Show registers in columns","description":"","args_str":" [<filter>]","args":[{"type":"unknown","name":"filter"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"drr","type":"argv_modes","summary":"Show register references (telescoping)","description":"","args_str":" [<filter>]","args":[{"type":"unknown","name":"filter"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"dri","type":"argv","summary":"Show register grouped by their values","description":"","args_str":" [<filter>]","args":[{"type":"unknown","name":"filter"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"drA","type":"argv_modes","summary":"Show values of default function argument registers (A0, A1, A2, ...) with telescoping","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"drcc","type":"argv","summary":"Show calling convention defined by registers","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"drd","type":"argv","summary":"Show register differences from previous contents","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dro","type":"argv_state","summary":"Show previous register contents","description":"","args_str":" [<filter>]","args":[{"type":"unknown","name":"filter","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"drF","type":"argv","summary":"Show fpu registers","description":"","args_str":" [<register> [= <value>]]","args":[{"type":"string","name":"reg","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"drf","type":"group","summary":"Show commands for setting registers as flags","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"drf","type":"argv","summary":"Show commands for setting registers as flags","description":"","args_str":" [<filter>]","args":[{"type":"unknown","name":"filter"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"drf-","type":"argv","summary":"Show commands for unsetting flags from `drf`","description":"","args_str":" [<filter>]","args":[{"type":"unknown","name":"filter"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"dra","type":"group","summary":"Register arena commands (underlying binary data)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":8,"modes":[],"children":[{"cmd":"dra","type":"argv","summary":"Show all currently allocated register arenas","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dra+","type":"argv","summary":"Push a new set of arenas to the stack","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dra-","type":"argv","summary":"Pop a set of arenas from the stack","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"draS","type":"argv","summary":"Show number of stack elements","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dras","type":"argv","summary":"Swap last two register arenas on the stack","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dra0","type":"argv","summary":"Reset the specified or all arena contents to 0","description":"","args_str":" [<type>]","args":[{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"drab","type":"argv","summary":"Display hexdump of given arena (or gpr if none given)","description":"","args_str":" [<type>]","args":[{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"draw","type":"argv","summary":"Write hexadecimal data <hex> into the given arena (or gpr if none given)","description":"","args_str":" <hex> [<type>]","args":[{"type":"string","name":"hex","required":true},{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"drp","type":"group","summary":"Register profile commands (defining available registers)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":["standard","json"],"children":[{"cmd":"drp","type":"argv_state","summary":"Show the current register profile","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"drpc","type":"argv","summary":"Show register profile comments","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"drpo","type":"argv","summary":"Load a new register profile from file","description":"","args_str":" <file>","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"drpg","type":"argv","summary":"Convert gdb profile from the given file to rizin register profile","description":"","args_str":" <file>","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"drc","type":"argv","summary":"Conditional flags (aliases to processor flags)","description":"","args_str":"","args":[],"details":[{"name":"Basic","entries":[{"text":"eq","comment":"equal","arg_str":""},{"text":"ne","comment":"not equal","arg_str":""},{"text":"cf","comment":"carry flag set","arg_str":""},{"text":"neg","comment":"negative value (has sign)","arg_str":""},{"text":"of","comment":"overflow","arg_str":""}]},{"name":"Unsigned","entries":[{"text":"hi","comment":"higher","arg_str":""},{"text":"he","comment":"higher or equal","arg_str":""},{"text":"lo","comment":"lower","arg_str":""},{"text":"loe","comment":"lower or equal","arg_str":""}]},{"name":"Signed","entries":[{"text":"gt","comment":"greater","arg_str":""},{"text":"ge","comment":"greater or equal","arg_str":""},{"text":"lt","comment":"less","arg_str":""},{"text":"le","comment":"less or equal","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"drT","type":"argv","summary":"List all register types","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"drR","type":"argv","summary":"List all register roles","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"drx","type":"group","summary":"Show hardware breakpoint registers","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"drx","type":"argv","summary":"Show or modify hardware breakpoint registers","description":"","args_str":" [<number> <address> <length> <perms>]","args":[{"type":"number","name":"number"},{"type":"expression","name":"address","required":true},{"type":"number","name":"length","required":true},{"type":"string","name":"perms","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"drx-","type":"argv","summary":"Clear hardware breakpoint","description":"","args_str":" <number>","args":[{"type":"number","name":"number","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]}]},{"cmd":"dw","type":"argv","summary":"Block prompt until <pid> dies","description":"","args_str":" [<pid>]","args":[{"type":"number","name":"pid"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dW","type":"group","summary":"Windows process commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"dW","type":"argv","summary":"List process windows","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dWi","type":"argv","summary":"Identify window under cursor","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"dx","type":"group","summary":"Code injection commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":[],"children":[{"cmd":"dx","type":"argv","summary":"Inject opcodes","description":"","args_str":" <opcode>","args":[{"type":"string","name":"opcode","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"dx","comment":"Insert two 0x90 bytes (nop instruction on x86 platforms)","arg_str":" 9090"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dxa","type":"argv","summary":"Assemble code and inject","description":"","args_str":" <asm>","args":[{"type":"string","name":"asm","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"dxa","comment":"Assemble and insert 3 instructions","arg_str":" mov eax,6; mov ebx,0; int 0x80"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dxe","type":"argv","summary":"Compile RzEgg expression and inject","description":"","args_str":" <expression>","args":[{"type":"string","name":"expression","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dxr","type":"argv","summary":"Inject opcodes and restore state","description":"","args_str":" <opcode>","args":[{"type":"string","name":"opcode","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"dxs","type":"argv","summary":"Syscall injection","description":"","args_str":" <syscall>","args":[{"type":"string","name":"syscall","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"dxs","comment":"Inject the write() syscall with given arguments","arg_str":" write 1, 0x8048, 12"}]}],"executable":true,"n_children":0,"modes":[],"children":[]}]}]},{"cmd":"dex","type":"group","summary":"Core plugin to visualize dex class information","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":2,"modes":[],"children":[{"cmd":"dexs","type":"argv_state","summary":"prints the dex structure","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"dexe","type":"argv_state","summary":"prints the dex exported methods","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]}]},{"cmd":"e","type":"group","summary":"List/get/set config evaluable vars","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":9,"modes":[],"children":[{"cmd":"e","type":"argv","summary":"Get/Set value of config variable <key>","description":"","args_str":" <key>[=<val|?>] [<key>[=<val|?>] ...]]","args":[{"type":"evaluable_full","name":"key=value","required":true,"is_array":true}],"details":[{"name":"Examples","entries":[{"text":"e","comment":"Show current value of config variable `asm.bytes`","arg_str":" asm.bytes"},{"text":"e","comment":"Set config variable `asm.bytes` to `true`","arg_str":" asm.bytes=true"},{"text":"e","comment":"Show all possible values for config variable `search.in`","arg_str":" search.in=?"},{"text":"e","comment":"Show all possible values for config variable `search.in` together with description","arg_str":" search.in=??"},{"text":"e","comment":"Set asm.bytes to true and asm.offset to false","arg_str":" asm.bytes=true asm.offset=false"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"el","type":"argv_state","summary":"List config variables with their descriptions","description":"","args_str":" [<key>]","args":[{"type":"evaluable","name":"key"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","long","long_json"],"children":[]},{"cmd":"e-","type":"argv","summary":"Reset config variables","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"e!","type":"argv","summary":"Invert the boolean value of config variable <key>","description":"","args_str":" <key>","args":[{"type":"evaluable","name":"key","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ec","type":"group","summary":"Set color for given key (prompt, offset, ...)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":10,"modes":["standard","json"],"children":[{"cmd":"ec","type":"argv_state","summary":"List eval colors and keys","description":"","args_str":" [<key> [<color>]]","args":[{"type":"string","name":"key"},{"type":"string","name":"color","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"ecl","type":"argv","summary":"List colors with descriptions","description":"","args_str":"","args":[],"details":[{"name":"Color Palette Keys","entries":[{"text":"comment","comment":"Color for code comments","arg_str":""},{"text":"usrcmt","comment":"Color for user comments","arg_str":""},{"text":"args","comment":"Color for function arguments","arg_str":""},{"text":"fname","comment":"Color for function names","arg_str":""},{"text":"floc","comment":"Color for function locations","arg_str":""},{"text":"fline","comment":"Color for function lines","arg_str":""},{"text":"flag","comment":"Color for flags","arg_str":""},{"text":"label","comment":"Color for labels","arg_str":""},{"text":"help","comment":"Color for help messages","arg_str":""},{"text":"flow","comment":"Color for control flow","arg_str":""},{"text":"flow2","comment":"Color for control flow (alternative)","arg_str":""},{"text":"prompt","comment":"Color for prompt","arg_str":""},{"text":"offset","comment":"Color for offsets","arg_str":""},{"text":"input","comment":"Color for user input","arg_str":""},{"text":"invalid","comment":"Color for invalid instructions","arg_str":""},{"text":"other","comment":"Color for other elements","arg_str":""},{"text":"b0x00","comment":"Color for null bytes (0x00)","arg_str":""},{"text":"b0x7f","comment":"Color for 0x7f bytes","arg_str":""},{"text":"b0xff","comment":"Color for 0xff bytes","arg_str":""},{"text":"math","comment":"Color for math operations","arg_str":""},{"text":"bin","comment":"Color for binary information","arg_str":""},{"text":"btext","comment":"Color for text in binary","arg_str":""},{"text":"push","comment":"Color for push instructions","arg_str":""},{"text":"pop","comment":"Color for pop instructions","arg_str":""},{"text":"crypto","comment":"Color for crypto instructions","arg_str":""},{"text":"jmp","comment":"Color for jump instructions","arg_str":""},{"text":"cjmp","comment":"Color for conditional jumps","arg_str":""},{"text":"call","comment":"Color for call instructions","arg_str":""},{"text":"nop","comment":"Color for nop instructions","arg_str":""},{"text":"ret","comment":"Color for return instructions","arg_str":""},{"text":"trap","comment":"Color for trap/interrupt instructions","arg_str":""},{"text":"ucall","comment":"Color for unknown calls","arg_str":""},{"text":"ujmp","comment":"Color for unknown jumps","arg_str":""},{"text":"swi","comment":"Color for software interrupts","arg_str":""},{"text":"cmp","comment":"Color for compare instructions","arg_str":""},{"text":"reg","comment":"Color for registers","arg_str":""},{"text":"creg","comment":"Color for changed registers","arg_str":""},{"text":"num","comment":"Color for numbers","arg_str":""},{"text":"mov","comment":"Color for move instructions","arg_str":""},{"text":"func_var","comment":"Color for function variables","arg_str":""},{"text":"func_var_type","comment":"Color for function variable types","arg_str":""},{"text":"func_var_addr","comment":"Color for function variable addresses","arg_str":""},{"text":"widget_bg","comment":"Color for widget background","arg_str":""},{"text":"widget_sel","comment":"Color for selected widget","arg_str":""},{"text":"meta","comment":"Color for metadata","arg_str":""},{"text":"ai.read","comment":"Color for memory read access","arg_str":""},{"text":"ai.write","comment":"Color for memory write access","arg_str":""},{"text":"ai.exec","comment":"Color for executable memory","arg_str":""},{"text":"ai.seq","comment":"Color for sequential memory","arg_str":""},{"text":"ai.ascii","comment":"Color for ASCII in memory","arg_str":""},{"text":"graph.box","comment":"Color for graph box","arg_str":""},{"text":"graph.box2","comment":"Color for graph box (alternative 2)","arg_str":""},{"text":"graph.box3","comment":"Color for graph box (alternative 3)","arg_str":""},{"text":"graph.box4","comment":"Color for graph box (alternative 4)","arg_str":""},{"text":"graph.true","comment":"Color for true branch in graph","arg_str":""},{"text":"graph.false","comment":"Color for false branch in graph","arg_str":""},{"text":"graph.ujump","comment":"Color for unknown jump in graph","arg_str":""},{"text":"graph.current","comment":"Color for current node in graph","arg_str":""},{"text":"graph.traced","comment":"Color for traced node in graph","arg_str":""},{"text":"diff.unknown","comment":"Color for unknown diff","arg_str":""},{"text":"diff.new","comment":"Color for new diff","arg_str":""},{"text":"diff.match","comment":"Color for matched diff","arg_str":""},{"text":"diff.unmatch","comment":"Color for unmatched diff","arg_str":""},{"text":"gui.cflow","comment":"Color for GUI control flow","arg_str":""},{"text":"gui.dataoffset","comment":"Color for GUI data offset","arg_str":""},{"text":"gui.background","comment":"Color for GUI background","arg_str":""},{"text":"gui.alt_background","comment":"Color for GUI alternate background","arg_str":""},{"text":"gui.border","comment":"Color for GUI border","arg_str":""},{"text":"wordhl","comment":"Color for highlighted word","arg_str":""},{"text":"linehl","comment":"Color for highlighted line","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ecc","type":"argv","summary":"Show palette in CSS","description":"","args_str":" [<prefix>]","args":[{"type":"string","name":"prefix","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ecd","type":"argv","summary":"Set default palette","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ecH","type":"group","summary":"Highlight word or an instruction","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":6,"modes":["json"],"children":[{"cmd":"ecH","type":"argv_modes","summary":"List all the highlight rules","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json"],"children":[]},{"cmd":"ecHi","type":"argv","summary":"Highlight current instruction with the given color as background","description":"","args_str":" <color>","args":[{"type":"string","name":"color","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ecHw","type":"argv","summary":"Highlight the word with the given color as background","description":"","args_str":" <word> [<color>]","args":[{"type":"string","name":"word","required":true},{"type":"string","name":"color","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ecH.","type":"argv","summary":"Show highlight rule in current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ecH-*","type":"argv","summary":"Remove all highlights and hints","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ecH-","type":"argv","summary":"Remove all highlights on current instruction","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"ecr","type":"argv","summary":"Set random palette","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ecs","type":"argv","summary":"Set a colorful palette","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"eco","type":"group","summary":"Load the provided theme or list the available themes","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":["json","quiet"],"children":[{"cmd":"eco","type":"argv_state","summary":"List the available themes","description":"","args_str":" [<theme>]","args":[{"type":"choice","name":"theme","choices":["ayu","basic","behelit","bold","bright","cga","consonance","cutter","dark","darkda","default","defragger","durian","focus","gb","gentoo","lima","mars","matrix","monokai","nord","ogray","onedark","pink","rasta","sepia","smyck","solarized","tango","twilight","underwater","white","white2","xvilka","zenburn"]}],"details":[],"executable":true,"n_children":0,"modes":["json","quiet"],"children":[]},{"cmd":"eco.","type":"argv","summary":"Display current theme name","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ecoo","type":"argv","summary":"Reload current theme","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"ecp","type":"argv","summary":"Load previuos color theme","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ecn","type":"argv","summary":"Load next color theme","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"ee","type":"argv","summary":"Open editor to change the value of config variable <key>","description":"","args_str":" <key>","args":[{"type":"evaluable","name":"key","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"er","type":"argv","summary":"Set config variable <key> as read-only","description":"","args_str":" <key>","args":[{"type":"evaluable","name":"key","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"es","type":"argv","summary":"List all config variable spaces or sub-keys/sub-spaces if a <key> is provided","description":"","args_str":" [<key>]","args":[{"type":"evaluable","name":"key"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"et","type":"argv","summary":"Show type of given config variable <key>","description":"","args_str":" <key>","args":[{"type":"evaluable","name":"key","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"F","type":"group","summary":"FLIRT signature management","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":6,"modes":[],"children":[{"cmd":"Fc","type":"argv","summary":"Create a FLIRT file (.pat or .sig)","description":"","args_str":" <filename>","args":[{"type":"filename","name":"filename","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Fd","type":"argv","summary":"Open a FLIRT file (.pat or .sig) and dumps its contents","description":"","args_str":" <filename>","args":[{"type":"filename","name":"filename","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Fs","type":"argv","summary":"Open a FLIRT file (.pat or .sig) and tries to apply the signatures to the loaded binary","description":"","args_str":" <filename>","args":[{"type":"filename","name":"filename","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Ff","type":"argv","summary":"Outputs the flirt function signature info","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Fa","type":"argv","summary":"Apply signatures from sigdb","description":"","args_str":" [<filter>]","args":[{"type":"string","name":"filter","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Fl","type":"argv_state","summary":"Lists all available signatures in sigdb","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["table"],"children":[]}]},{"cmd":"f","type":"group","summary":"Manage flags","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":26,"modes":[],"children":[{"cmd":"f","type":"argv","summary":"Add the flag if there are no existing flags","description":"Adds the flag to the current offset only if no flag exists at this offset already.","args_str":" <name> [<size> [<comment>]]","args":[{"type":"string","name":"name","required":true},{"type":"number","name":"size"},{"type":"string","name":"comment","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"f+","type":"argv","summary":"Add the flag","description":"Add the flag like the 'f' command but in any case, even if one or multiple flags already exist.","args_str":" <name> [<size> [<comment>]]","args":[{"type":"string","name":"name","required":true},{"type":"number","name":"size"},{"type":"string","name":"comment","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"f.","type":"group","summary":"Local flags (per function)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":[],"children":[{"cmd":"f.","type":"argv","summary":"Add the local flag","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"f.-","type":"argv","summary":"Remove the local flag","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"f.l","type":"argv_state","summary":"List the local flags for the function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"f.l*","type":"argv_state","summary":"List the local flags for all functions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]}]},{"cmd":"f-","type":"argv","summary":"Remove the flag","description":"If the glob is supplied it removes just flag items matching the pattern. Otherwise, it removes all flags at the current offset.","args_str":" [<glob>]","args":[{"type":"string","name":"glob","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"f-*","type":"argv","summary":"Remove all flags","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fa","type":"argv","summary":"Alias a flag to evaluate an expression","description":"","args_str":" <name> <alias>","args":[{"type":"unknown","name":"name","required":true},{"type":"string","name":"alias","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fe","type":"argv","summary":"Check if flag exists","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ff","type":"argv","summary":"Distance in bytes to reach the next flag","description":"","args_str":" [<glob>]","args":[{"type":"string","name":"glob","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fg","type":"argv_state","summary":"Show the flag graph","description":"","args_str":" [<name>]","args":[{"type":"unknown","name":"name"}],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"fi","type":"argv_state","summary":"Show the flags in the block or custom range","description":"","args_str":" [<size>]","args":[{"type":"expression","name":"size","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"fl","type":"argv_state","summary":"List all flags","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"fl.","type":"argv_state","summary":"List all flags at the current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"fL","type":"argv","summary":"Show the flag length / Set the flag length","description":"","args_str":" [<size>]","args":[{"type":"number","name":"size"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fN","type":"argv","summary":"Show the realname of the flag / Set the realname of the flag","description":"","args_str":" [<name> [<realname>]]","args":[{"type":"unknown","name":"name"},{"type":"string","name":"realname","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fl=","type":"argv","summary":"List range bars with flag offsets and sizes","description":"","args_str":" [<glob>]","args":[{"type":"string","name":"glob","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fc","type":"argv","summary":"Set a color for the given flag / Show the color for the given flag","description":"","args_str":" <flag> [<color>]","args":[{"type":"unknown","name":"flag","required":true},{"type":"string","name":"color","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fC","type":"argv","summary":"Set a comment for the given flag / Show the comment for the given flag","description":"","args_str":" <name> [<comment>]","args":[{"type":"unknown","name":"name","required":true},{"type":"string","name":"comment","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fd","type":"group","summary":"Describe flag","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":["standard","json","table"],"children":[{"cmd":"fd","type":"argv_state","summary":"Describe flag + delta for the current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","table"],"children":[]},{"cmd":"fd.","type":"argv_state","summary":"Describe flags for the current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","table"],"children":[]},{"cmd":"fdw","type":"argv","summary":"Describe closest flag by string for the current offset","description":"","args_str":" <string>","args":[{"type":"string","name":"string","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"fm","type":"argv","summary":"Move a flag to the new address","description":"","args_str":" <newaddress>","args":[{"type":"expression","name":"newaddress","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fO","type":"argv","summary":"Flag as ordinals (sym.* func.* method.*)","description":"","args_str":" <glob>","args":[{"type":"string","name":"glob","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fr","type":"argv","summary":"Rename flag","description":"","args_str":" <old> <new>","args":[{"type":"unknown","name":"old","required":true},{"type":"string","name":"new","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fR","type":"argv","summary":"Relocate flags","description":"","args_str":" <from> <to> [<mask>]","args":[{"type":"expression","name":"from","required":true},{"type":"expression","name":"to","required":true},{"type":"number","name":"mask"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fs","type":"group","summary":"Manage flagspaces","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":7,"modes":[],"children":[{"cmd":"fs","type":"argv","summary":"Add the flagspace","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fsl","type":"argv_state","summary":"Display flagspaces","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"fs-","type":"argv","summary":"Remove the flagspace","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fs-*","type":"argv","summary":"Remove all flagspaces","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fsm","type":"argv","summary":"Move the flags at the current address to the current flagspace","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fsr","type":"argv","summary":"Rename the flag space","description":"","args_str":" <newname>","args":[{"type":"string","name":"newname","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fss","type":"group","summary":"Manage the flagspace stack","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":3,"modes":[],"children":[{"cmd":"fss+","type":"argv","summary":"Push the flagspace to the stack","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fss-","type":"argv","summary":"Pop the flagspace from the stack","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fssl","type":"argv_state","summary":"Display flagspace stack","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]}]},{"cmd":"ft","type":"group","summary":"Flag tags","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"ft","type":"argv","summary":"Set a list of words for the given tag","description":"","args_str":" <tag> <words>","args":[{"type":"string","name":"tag","required":true},{"type":"string","name":"words","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ftl","type":"argv_state","summary":"List all flag tags","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long"],"children":[]},{"cmd":"ftn","type":"argv","summary":"Find all matching flag names for the given tag","description":"","args_str":" <tag>","args":[{"type":"string","name":"tag","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"fz","type":"group","summary":"Flag zones","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":[],"children":[{"cmd":"fz","type":"argv","summary":"Add new flagzone with [name]","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fz-","type":"argv","summary":"Remove the flag zone with [name]","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fz-*","type":"argv","summary":"Remove all flagzones","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fz.","type":"argv","summary":"Show around flag zone context","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fzl","type":"argv_state","summary":"List all flag zones","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"fx","type":"argv","summary":"Show hexdump of flag:flagsize","description":"","args_str":" <name>","args":[{"type":"unknown","name":"name","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"g","type":"group","summary":"Generate shellcodes with rz_egg","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":9,"modes":[],"children":[{"cmd":"g","type":"argv","summary":"Compile the shellcode","description":"","args_str":" [<file>]","args":[{"type":"filename","name":"file"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"gc","type":"argv","summary":"Get/Set config option for shellcode / List all config options","description":"","args_str":" <key>[=<val>] [<key>[=<val>] ...]]","args":[{"type":"string","name":"key=value","is_array":true}],"details":[{"name":"Examples","entries":[{"text":"gc","comment":"Show current value of config variable `egg.encoder`","arg_str":" egg.encoder"},{"text":"gc","comment":"Set config variable `egg.encoder` to `xor`","arg_str":" egg.encoder=xor"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"gl","type":"argv","summary":"List shellcode and encoder plugins","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"gs","type":"argv","summary":"Compile syscall \"name(args)\"","description":"","args_str":" <name> [<args>]","args":[{"type":"string","name":"name","required":true},{"type":"string","name":"args","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"gi","type":"argv","summary":"Define the shellcode type","description":"","args_str":" <type>","args":[{"type":"string","name":"type","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"gp","type":"argv","summary":"Define padding for command","description":"","args_str":" <padding>","args":[{"type":"expression","name":"padding","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ge","type":"argv","summary":"Specify an encoder and a key","description":"","args_str":" <encoder> <key>","args":[{"type":"string","name":"encoder","required":true},{"type":"string","name":"key","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"gr","type":"argv","summary":"Reset the shellcode configuration","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"gS","type":"argv","summary":"Show the current configuration","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"H","type":"group","summary":"Rizin history commands.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"H","type":"argv","summary":"Shows the history in current session or executes an history command via its index.","description":"","args_str":" [<index>]","args":[{"type":"number","name":"index"}],"details":[{"name":"Examples","entries":[{"text":"H","comment":"Shows the current session history","arg_str":""},{"text":"H","comment":"Executes a history command with index value of 12","arg_str":" 12"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"H-","type":"argv","summary":"Clears the history in current session","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"H+","type":"argv","summary":"Saves the history of the current session","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"help","type":"argv","summary":"Generic help","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"i","type":"group","summary":"Get info about opened binary file","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":36,"modes":["json","quiet","table"],"children":[{"cmd":"i","type":"argv_state","summary":"Show info of current file","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]},{"cmd":"ia","type":"argv_state","summary":"Show a summary of all info (imports, exports, sections, etc.)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"iA","type":"argv_state","summary":"List archs","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]},{"cmd":"ic","type":"group","summary":"List classes, fields and methods","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":6,"modes":["json","quiet","quietest","table"],"children":[{"cmd":"ic","type":"argv_state","summary":"List classes","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","quietest","table"],"children":[]},{"cmd":"ica","type":"argv","summary":"Apply class flags at given address","description":"","args_str":" <class name>","args":[{"type":"string","name":"class name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"icc","type":"argv","summary":"Prints class, fields and methods as source code","description":"","args_str":" [<class name>]","args":[{"type":"string","name":"class name","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"icf","type":"argv_state","summary":"List class fields","description":"","args_str":" [<class name>]","args":[{"type":"string","name":"class name","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","quietest","table"],"children":[]},{"cmd":"icm","type":"argv_state","summary":"List class methods","description":"","args_str":" [<class name>]","args":[{"type":"string","name":"class name","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","quietest","table"],"children":[]},{"cmd":"ics","type":"argv","summary":"Generate type definitions from classes","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"iC","type":"argv_state","summary":"Show signature info (entitlements, ...)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"id","type":"group","summary":"Debug commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json","quiet"],"children":[{"cmd":"id","type":"argv_state","summary":"Show DWARF source lines information","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"idp","type":"group","summary":"PDB commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":["standard","json"],"children":[{"cmd":"idp","type":"argv_state","summary":"Load PDB file information","description":"","args_str":" [<file.pdb>]","args":[{"type":"filename","name":"file.pdb"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"idpi","type":"argv_state","summary":"Show PDB file information","description":"","args_str":" [<file.pdb>]","args":[{"type":"filename","name":"file.pdb"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"idpd","type":"argv_state","summary":"Download PDB file on remote server","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"idpx","type":"argv","summary":"Extracts a compressed PDB file to a folder","description":"","args_str":" <file.pdb> <output_dir>","args":[{"type":"filename","name":"file.pdb","required":true},{"type":"filename","name":"output_dir","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]}]},{"cmd":"iD","type":"group","summary":"Demangle symbol for given language","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"iD","type":"argv","summary":"Demangle symbol for given language","description":"","args_str":" <lang> <symbol>","args":[{"type":"choice","name":"lang","required":true,"choices":["java","msvc","objc","pascal","c++","rust","dlang"]},{"type":"string","name":"symbol","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"iDl","type":"argv_state","summary":"Lists the available demanglers","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]}]},{"cmd":"ie","type":"argv_state","summary":"List entrypoints","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]},{"cmd":"iee","type":"argv_state","summary":"List entries/exits functions (e.g. preinit, init, fini)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]},{"cmd":"iE","type":"group","summary":"List exports","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["json","quiet","table"],"children":[{"cmd":"iE","type":"argv_state","summary":"List exports (global symbols)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]},{"cmd":"iE.","type":"argv_state","summary":"List export at current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]}]},{"cmd":"ih","type":"argv_state","summary":"Show binary fields","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]},{"cmd":"iH","type":"argv_modes","summary":"Show binary structured data","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"ii","type":"argv_state","summary":"List imports","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]},{"cmd":"iI","type":"argv_state","summary":"Show binary info","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]},{"cmd":"ik","type":"argv","summary":"Query key-value database from RzBinObject","description":"","args_str":" [<sdb-query>]","args":[{"type":"string","name":"sdb-query","is_last":true}],"details":[{"name":"Examples","entries":[{"text":"ik","comment":"Show all key value pairs in the root namespace (same as 'ik *').","arg_str":""},{"text":"ik","comment":"Show all namespaces under root","arg_str":" **"},{"text":"ik","comment":"Show all key value pairs in the 'versioninfo/versym/' namespace.","arg_str":" versioninfo/versym/*"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"il","type":"argv_state","summary":"List libraries","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]},{"cmd":"iL","type":"argv_state","summary":"List all binary plugins loaded / Show plugin details","description":"","args_str":" [<plugin>]","args":[{"type":"string","name":"plugin","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"im","type":"argv_state","summary":"Show info about predefined memory allocation","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]},{"cmd":"iM","type":"argv_state","summary":"Show main address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]},{"cmd":"ir","type":"argv_state","summary":"List relocations","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]},{"cmd":"iR","type":"argv_state","summary":"List Resources","description":"","args_str":" [<digests1> <digests2> ...]","args":[{"type":"string","name":"digests","is_array":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","table"],"children":[]},{"cmd":"is","type":"argv_state","summary":"List symbols","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","quietest","table"],"children":[]},{"cmd":"is.","type":"argv_state","summary":"Current symbol","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]},{"cmd":"iS","type":"argv_state","summary":"List sections","description":"","args_str":" [<digests1> <digests2> ...]","args":[{"type":"string","name":"digests","is_array":true}],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]},{"cmd":"iS.","type":"argv_state","summary":"Current section","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","table"],"children":[]},{"cmd":"iS=","type":"argv","summary":"Show ascii-art color bars with the section ranges","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"iSS","type":"argv_state","summary":"List segments","description":"","args_str":" [<digests1> <digests2> ...]","args":[{"type":"string","name":"digests","is_array":true}],"details":[],"executable":true,"n_children":0,"modes":["json","table"],"children":[]},{"cmd":"iSS.","type":"argv_state","summary":"Current segment","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","table"],"children":[]},{"cmd":"iT","type":"argv_state","summary":"Show file hashes","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"iV","type":"argv_state","summary":"Display file version info","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"iw","type":"argv_state","summary":"Show try/catch blocks","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","table"],"children":[]},{"cmd":"ix","type":"argv_state","summary":"Display source file line info","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"ix.","type":"argv_state","summary":"Display source file line info at current address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"ixf","type":"argv_state","summary":"Display source file info","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"iz","type":"group","summary":"String commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":["json","quiet","quietest","table"],"children":[{"cmd":"iz","type":"argv_state","summary":"List strings","description":"Lists the strings; the behavior can be modified via str.search.*","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","quietest","table"],"children":[]},{"cmd":"izz","type":"argv_state","summary":"List strings in the whole binary","description":"Lists the strings of the whole binary; the behavior can be modified via str.search.*","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","quietest","table"],"children":[]},{"cmd":"iz-","type":"argv","summary":"Purge string at current address via bin.str.purge","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"izx","type":"argv_state","summary":"List all strings which have xrefs to them.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","quietest","table"],"children":[]}]},{"cmd":"iZ","type":"argv_state","summary":"Guess size of binary program","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"java","type":"group","summary":"Core plugin to visualize java class information","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":7,"modes":[],"children":[{"cmd":"javac","type":"argv_modes","summary":"prints the class structure","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"javaf","type":"argv_modes","summary":"prints the class fields","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"javai","type":"argv_modes","summary":"prints the class interfaces","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"javam","type":"argv_modes","summary":"prints the class methods","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"javap","type":"argv_modes","summary":"prints the class constant pool","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"javas","type":"argv","summary":"prints the class like a java source code","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"javar","type":"argv","summary":"resolves the class constant pool value at a given index","description":"","args_str":" <index>","args":[{"type":"number","name":"index","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"k","type":"group","summary":"Run query (SDB)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":[],"children":[{"cmd":"k","type":"argv","summary":"Get or set a value from the SDB.","description":"","args_str":" [<key>[=<val>]]","args":[{"type":"string","name":"key=value","is_last":true}],"details":[{"name":"Examples","entries":[{"text":"k","comment":"List all keys in root namespace.","arg_str":""},{"text":"k","comment":"List namespaces under root.","arg_str":" **"},{"text":"k","comment":"List namespaces under 'analysis'.","arg_str":" analysis/**"},{"text":"k","comment":"List key-value pairs under the 'analysis.meta' namespace.","arg_str":" analysis/meta/*"},{"text":"k","comment":"Show value of key 'meta.0x80404'.","arg_str":" analysis/meta/meta.0x80404"},{"text":"k","comment":"Show value of key 'foo'.","arg_str":" foo"},{"text":"k","comment":"Set key 'foo' to value 'bar'","arg_str":" foo=bar"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"kj","type":"argv","summary":"List all namespaces under 'analysis/' and sdb databases in JSON format (SDB).","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ks","type":"argv","summary":"Enter query shell (SDB).","description":"","args_str":" <namespace>","args":[{"type":"string","name":"namespace","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"kd","type":"argv","summary":"Dump namespace to file (SDB).","description":"","args_str":" <filename> <namespace>","args":[{"type":"filename","name":"filename","required":true},{"type":"string","name":"namespace","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ko","type":"argv","summary":"Load namespace from file (SDB).","description":"","args_str":" <filename> <namespace>","args":[{"type":"filename","name":"filename","required":true},{"type":"string","name":"namespace","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"L","type":"group","summary":"List, unload, load rizin plugins","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":12,"modes":[],"children":[{"cmd":"L","type":"argv","summary":"Load a plugin from file","description":"","args_str":" <plugin_file>","args":[{"type":"filename","name":"plugin_file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"L-","type":"argv","summary":"Unload a plugin from file","description":"","args_str":" <plugin_file>","args":[{"type":"filename","name":"plugin_file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Ll","type":"argv_state","summary":"List the lang plugins","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"La","type":"group","summary":"List the asm/analysis plugins","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json","quiet","table"],"children":[{"cmd":"La","type":"argv_state","summary":"List the arch plugins","description":"","args_str":" [<features>]","args":[{"type":"string","name":"features","is_last":true}],"details":[{"name":"Legend","entries":[{"text":"a","comment":"Analysis plugin","arg_str":""},{"text":"d","comment":"Disassembler plugin","arg_str":""},{"text":"A","comment":"Assembler plugin","arg_str":""},{"text":"e","comment":"ESIL Support","arg_str":""},{"text":"I","comment":"RzIL Support","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"Lac","type":"argv_state","summary":"List the cpus supported by the arch plugin","description":"","args_str":" <architecture>","args":[{"type":"string","name":"architecture","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"Lc","type":"argv_state","summary":"List the core plugins","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"LC","type":"argv_state","summary":"List the crypto plugins","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"Ld","type":"argv_state","summary":"List debug plugins / Set debug backend (e dbg.backend)","description":"","args_str":" [<handler>]","args":[{"type":"string","name":"handler","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"Lh","type":"argv_state","summary":"List the hash plugins","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"Li","type":"argv_state","summary":"List the bin plugins","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"Lo","type":"argv_state","summary":"List IO plugins / Register IO plugin from <path>","description":"","args_str":" [<path>]","args":[{"type":"filename","name":"path"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"Lp","type":"argv_state","summary":"List the parser plugins","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"LD","type":"argv_state","summary":"List the demanglers plugins (alias for iDl)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]}]},{"cmd":"m","type":"group","summary":"Manage marks","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":14,"modes":[],"children":[{"cmd":"m","type":"argv","summary":"Adds a mark if there are no existing marks.","description":"Adds the mark to the current offset only if no mark covers this offset already","args_str":" <name> <end> [<comment>]","args":[{"type":"string","name":"name","required":true},{"type":"number","name":"end","required":true},{"type":"string","name":"comment","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"m+","type":"argv","summary":"Add mark.","description":"Adds a mark at the current offset, replacing any existing mark with the same name.","args_str":" <name> <end> [<comment>]","args":[{"type":"string","name":"name","required":true},{"type":"number","name":"end","required":true},{"type":"string","name":"comment","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"m-","type":"argv","summary":"Remove mark.","description":"Removes marks by name. If <regex_pattern> is given, only marks whose name matches the regex are removed. Otherwise, all marks covering the current offset are removed.","args_str":" [<regex_pattern>]","args":[{"type":"string","name":"regex_pattern","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"m-*","type":"argv","summary":"Remove all marks.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ml","type":"argv_state","summary":"List all marks.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"ml.","type":"argv_state","summary":"List all marks containing the current offset.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"mc","type":"argv","summary":"Set a color for the given mark / Show the color for the given mark.","description":"","args_str":" <name> [<color>]","args":[{"type":"unknown","name":"name","required":true},{"type":"string","name":"color","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"mC","type":"argv","summary":"Set a comment for the given mark. If no comment is given, it shows the current one for the mark.","description":"","args_str":" <name> [<comment>]","args":[{"type":"unknown","name":"name","required":true},{"type":"string","name":"comment","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"mr","type":"argv","summary":"Rename mark.","description":"","args_str":" <old> <new>","args":[{"type":"unknown","name":"old","required":true},{"type":"string","name":"new","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"mN","type":"argv","summary":"Show the realname of the mark / Set the realname of the mark.","description":"Each mark has two identifiers. <name> is the unique, escaped identifier used internally by Rizin. <realname> is the original, unescaped name, kept as given by the user.","args_str":" <name> [<realname>]","args":[{"type":"unknown","name":"name","required":true},{"type":"string","name":"realname","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"mm","type":"argv","summary":"Move a mark to new a location.","description":"","args_str":" <name> <new_start> <new_end>","args":[{"type":"unknown","name":"name","required":true},{"type":"expression","name":"new_start","required":true},{"type":"expression","name":"new_end","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"mf","type":"argv","summary":"Distance in bytes to reach the starting of mark from the current offset.","description":"","args_str":" <regex_pattern>","args":[{"type":"string","name":"regex_pattern","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"md","type":"group","summary":"Describe mark.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":1,"modes":["standard","json","table"],"children":[{"cmd":"md","type":"argv_state","summary":"Describe marks at the current offset or a named mark with distance from the offset.","description":"Displays information about marks. Without arguments, it describes all marks that contain the current offset. With a <name> argument, it shows details of that mark and the distance in bytes from the current offset to reach the mark. If the mark begins after the current offset, it shows <name> - <bytes> (distance from current offset to start of the mark). If the mark ends before the current offset, it shows <name> + <bytes> (distance from current offset to the end of the mark).","args_str":" [<name>]","args":[{"type":"unknown","name":"name"}],"details":[{"name":"Usage example","entries":[{"text":"md","comment":"Describe all marks containing the current offset","arg_str":""},{"text":"md foo","comment":"Describe the mark named 'foo' and show distance from current offset to reach 'foo' in bytes","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json","table"],"children":[]}]},{"cmd":"mi","type":"argv_state","summary":"Show marks in the current block or in the next <size> bytes.","description":"","args_str":" [<size>]","args":[{"type":"expression","name":"size","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]}]},{"cmd":"o","type":"group","summary":"Open files and handle opened files","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":18,"modes":[],"children":[{"cmd":"o","type":"argv","summary":"Open <file>","description":"","args_str":" <file> [<addr> [<perm>]]","args":[{"type":"filename","name":"file","required":true},{"type":"expression","name":"addr"},{"type":"string","name":"perm","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"o+","type":"argv","summary":"Open <file> in write mode","description":"","args_str":" <file> [<addr> [<perm>]]","args":[{"type":"filename","name":"file","required":true},{"type":"expression","name":"addr"},{"type":"string","name":"perm","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ol","type":"argv_state","summary":"List opened files","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"ol.","type":"argv_state","summary":"Show currently opened file","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"o-","type":"argv","summary":"Close file descriptor","description":"","args_str":" <fd>","args":[{"type":"number","name":"fd","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"o--","type":"argv","summary":"Close all files","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"oc","type":"argv","summary":"Close all opened files and open <file>, like relaunching rizin","description":"","args_str":" <file>","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"oC","type":"argv","summary":"Open a 'malloc://<len>' file, copying the bytes from current offset","description":"","args_str":" <len>","args":[{"type":"expression","name":"len","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"on","type":"group","summary":"Open files without parsing binary info","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"on","type":"argv","summary":"Open <file> without parsing binary info","description":"","args_str":" <file> [<addr> [<perm>]]","args":[{"type":"filename","name":"file","required":true},{"type":"expression","name":"addr"},{"type":"string","name":"perm","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"on+","type":"argv","summary":"Open <file> in write mode, without parsing binary info","description":"","args_str":" <file> [<addr> [<perm>]]","args":[{"type":"filename","name":"file","required":true},{"type":"expression","name":"addr"},{"type":"string","name":"perm","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"oo","type":"group","summary":"Reopen current file","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":10,"modes":[],"children":[{"cmd":"oo","type":"argv","summary":"Reopen current file or file <fd>","description":"","args_str":" [<fd>]","args":[{"type":"number","name":"fd"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"oo+","type":"argv","summary":"Reopen current file or file <fd> in write mode","description":"","args_str":" [<fd>]","args":[{"type":"number","name":"fd"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"oob","type":"argv","summary":"Reopen current file and reload binary information","description":"","args_str":" [<baddr>]","args":[{"type":"expression","name":"baddr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ooc","type":"argv","summary":"Reopen current file as if restarting rizin","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ood","type":"group","summary":"Reopen current file in debug mode","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"ood","type":"argv","summary":"Reopen current file in debug mode","description":"","args_str":" [<args1> <args2> ...]","args":[{"type":"string","name":"args","is_array":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"oodf","type":"argv","summary":"Open <uri> in debug mode","description":"","args_str":" <uri> [<addr>]","args":[{"type":"string","name":"uri","required":true},{"type":"expression","name":"addr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"oodr","type":"argv","summary":"Reopen current file in debug mode with given rz-run directives","description":"","args_str":" <rz-run-directives>","args":[{"type":"string","name":"rz-run-directives","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"oom","type":"argv","summary":"Reopen curent file in malloc://","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"oon","type":"argv","summary":"Reopen curent file without loading binary information","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"oon+","type":"argv","summary":"Reopen curent file in write-mode without loading binary information","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"oonn","type":"argv","summary":"Reopen curent file without loading binary information but with header flags","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"oonn+","type":"argv","summary":"Reopen curent file in write-mode without loading binary information but with header flags","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"oL","type":"argv_state","summary":"List all IO plugins / Register IO plugin from <path>","description":"","args_str":" [<path>]","args":[{"type":"filename","name":"path"}],"details":[],"executable":true,"n_children":0,"modes":["json","quiet","table"],"children":[]},{"cmd":"o=","type":"argv","summary":"List opened files in ASCII-art bars","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"oa","type":"argv","summary":"Specify <arch> and <bits> for the file <filename> or the current one if none is specified","description":"","args_str":" <arch> <bits> [<filename>]","args":[{"type":"string","name":"arch","required":true},{"type":"expression","name":"bits","required":true},{"type":"filename","name":"filename"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ob","type":"group","summary":"Handle binary files","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":11,"modes":[],"children":[{"cmd":"ob","type":"argv","summary":"Switch to binary file with the given <id>","description":"","args_str":" <id>","args":[{"type":"number","name":"id","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"obo","type":"argv","summary":"Switch to binary file with the given <fd>","description":"","args_str":" <fd>","args":[{"type":"number","name":"fd","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ob-","type":"argv","summary":"Delete binary file with the given <id>","description":"","args_str":" <id>","args":[{"type":"number","name":"id","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ob-*","type":"argv","summary":"Delete all binary files","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"obl","type":"argv_state","summary":"List opened binary files","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"obl=","type":"argv","summary":"List opened binary files in ASCII art","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ob.","type":"argv","summary":"Show id of binary file current address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"oba","type":"argv","summary":"Open binary file for current file and load binary info with baseaddr at current offset","description":"","args_str":" <loadaddr>=0","args":[{"type":"expression","name":"loadaddr","required":true,"is_last":true,"default":"0"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"obf","type":"argv","summary":"Load binary info for the given file or current one with baseaddr at current offset","description":"","args_str":" [<file>]","args":[{"type":"filename","name":"file"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"obs","type":"argv","summary":"Select the binary version for the specified architecture from the fat binary.","description":"","args_str":" [<arch>]","args":[{"type":"string","name":"arch","is_last":true}],"details":[{"name":"Examples","entries":[{"text":"obs","comment":"List all architectures the fat binary supports contains.","arg_str":""},{"text":"obs sparc","comment":"Select and load the binary for Sparc","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"obR","type":"argv","summary":"Reload the current buffer for setting of the bin (use once only)","description":"","args_str":" <baddr>=0","args":[{"type":"expression","name":"baddr","required":true,"is_last":true,"default":"0"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"ou","type":"argv","summary":"Use specified <fd>","description":"","args_str":" <fd>","args":[{"type":"number","name":"fd","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"op","type":"group","summary":"Select prioritized file","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":[],"children":[{"cmd":"op","type":"argv","summary":"Prioritize file with file descriptor <fd>","description":"","args_str":" <fd>","args":[{"type":"number","name":"fd","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"opn","type":"argv","summary":"Prioritize next file in the list","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"opp","type":"argv","summary":"Prioritize previous file in the list","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"opr","type":"argv","summary":"Prioritize next file in the list (go back to first if on the last)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"om","type":"group","summary":"Handle IO maps","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":15,"modes":[],"children":[{"cmd":"om","type":"argv","summary":"Create a new map","description":"","args_str":" <fd> <vaddr> [<size> [<paddr> [<flags> [<name>]]]]","args":[{"type":"number","name":"fd","required":true},{"type":"expression","name":"vaddr","required":true},{"type":"expression","name":"size"},{"type":"expression","name":"paddr"},{"type":"string","name":"flags"},{"type":"string","name":"name","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"oml","type":"argv_state","summary":"List maps of all file descriptor or only the specified <fd>","description":"","args_str":" [<fd>]","args":[{"type":"number","name":"fd"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","quietest","table"],"children":[]},{"cmd":"oml.","type":"argv_state","summary":"Show map at the current offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","quietest","table"],"children":[]},{"cmd":"oml=","type":"argv","summary":"List IO maps in ASCII art","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"om-","type":"argv","summary":"Remove the IO map with corresponding <id>","description":"","args_str":" <id>","args":[{"type":"number","name":"id","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"om-*","type":"argv","summary":"Remove all IO maps","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"oma","type":"argv","summary":"Create a IO map covering all VA for given <fd> or current one if not provided","description":"","args_str":" [<fd>]","args":[{"type":"number","name":"fd"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"omb","type":"argv","summary":"Relocate map with corresponding <id> to <addr>","description":"","args_str":" <id> <addr>","args":[{"type":"number","name":"id","required":true},{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"omb.","type":"argv","summary":"Relocate map at current offset to <addr>","description":"","args_str":" <addr>","args":[{"type":"expression","name":"addr","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"omf","type":"argv","summary":"Change flags/perms for map with given <id> or current one","description":"","args_str":" <flags> [<id>]","args":[{"type":"string","name":"flags","required":true},{"type":"number","name":"id"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"omfg","type":"argv","summary":"Change flags/perms for all maps","description":"Update flags of all maps. If <flags> starts with a +, the specified flags are added to the maps. If <flags> starts with a -, the specified flags are removed from the maps. Otherwise, the exact <flags> are set for each map.","args_str":" <flags>","args":[{"type":"string","name":"flags","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"omm","type":"argv","summary":"Create default map for given <fd> or current one","description":"","args_str":" [<fd>]","args":[{"type":"number","name":"fd"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"omn","type":"group","summary":"Handle maps names","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":[],"children":[{"cmd":"omn","type":"argv","summary":"Set name of map which spans current seek","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"omn-","type":"argv","summary":"Delete name of map which spans current seek","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"omni","type":"argv","summary":"Set name of map with map <id>","description":"","args_str":" <id> <name>","args":[{"type":"number","name":"id","required":true},{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"omni-","type":"argv","summary":"Delete name of map with map <id>","description":"","args_str":" <id>","args":[{"type":"number","name":"id","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"omr","type":"argv","summary":"Resize map with corresponding <id>","description":"","args_str":" <id> <newsize>","args":[{"type":"number","name":"id","required":true},{"type":"expression","name":"newsize","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"omp","type":"group","summary":"Prioritize maps","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":[],"children":[{"cmd":"omp","type":"argv","summary":"Prioritize map with the corresponding id","description":"","args_str":" <id>","args":[{"type":"number","name":"id","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ompb","type":"argv","summary":"Prioritize maps of the bin associated with the binid","description":"","args_str":" <fd>","args":[{"type":"number","name":"fd","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ompd","type":"argv","summary":"Deprioritize map with the corresponding id","description":"","args_str":" <id>","args":[{"type":"number","name":"id","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ompf","type":"argv","summary":"Prioritize map by fd","description":"","args_str":" <fd>","args":[{"type":"number","name":"fd","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]}]},{"cmd":"ox","type":"argv","summary":"Exchange the descs of <fd> and <fdx> and keep the mapping","description":"","args_str":" <fd> <fdx>","args":[{"type":"number","name":"fd","required":true},{"type":"number","name":"fdx","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"P","type":"group","summary":"Project management","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":3,"modes":[],"children":[{"cmd":"Ps","type":"argv","summary":"Save a project","description":"","args_str":" [<project.rzdb>]","args":[{"type":"filename","name":"project.rzdb"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Po","type":"argv","summary":"Open a project","description":"","args_str":" <project.rzdb>","args":[{"type":"filename","name":"project.rzdb","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Poo","type":"argv","summary":"Open a project on top of currently loaded binaries","description":"","args_str":" <project.rzdb>","args":[{"type":"filename","name":"project.rzdb","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p","type":"group","summary":"Print commands","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":30,"modes":[],"children":[{"cmd":"p2","type":"argv","summary":"Print 8x8 2bpp tiles.","description":"","args_str":" [<n>]","args":[{"type":"expression","name":"n","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p8","type":"group","summary":"Print 8bit hexpair list of bytes.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json"],"children":[{"cmd":"p8","type":"argv_state","summary":"Print 8bit hexpair list of bytes.","description":"","args_str":" [<n>]","args":[{"type":"expression","name":"n","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"p8f","type":"argv","summary":"Print 8bit hexpair list of bytes in function (linear).","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"pb","type":"argv_modes","summary":"Print bitstream of <n> bits, skipping the first <skip> bits.","description":"","args_str":" <n> <skip>=0","args":[{"type":"expression","name":"n","required":true},{"type":"expression","name":"skip","required":true,"is_last":true,"default":"0"}],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"pB","type":"argv_modes","summary":"Print bitstream of <n> bytes","description":"","args_str":" <n>","args":[{"type":"expression","name":"n","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"pa","type":"group","summary":"Print (dis)assembly of given hexpairs/assembly","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":["standard"],"children":[{"cmd":"pa","type":"argv_modes","summary":"Print hexpairs of the given assembly expression","description":"","args_str":" <assembly>","args":[{"type":"string","name":"assembly","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"pae","type":"argv_modes","summary":"Print ESIL expression of the given assembly expression","description":"","args_str":" <assembly>","args":[{"type":"string","name":"assembly","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"pad","type":"argv_modes","summary":"Print assembly expression from hexpairs (alias for pix)","description":"","args_str":" <hexpair>","args":[{"type":"string","name":"hexpair","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"pade","type":"argv_modes","summary":"Print ESIL expression from hexpairs","description":"","args_str":" <hexpair>","args":[{"type":"string","name":"hexpair","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]}]},{"cmd":"pc","type":"group","summary":"Print bytes as code byte arrays.","description":"","args_str":"","args":[],"details":[{"name":"Useful modifiers","entries":[{"text":"pch @e:cfg.bigendian=<true|false>","comment":"Change endianness for pch, pcw and pcd commands","arg_str":""},{"text":"pc @! <n>","comment":"Change the N of bytes (i.e. block size).","arg_str":""}]},{"name":"Example of usages","entries":[{"text":"pch @! 64 @e:cfg.bigendian=true","comment":"Generate a C 32 bits array in big endian format, using 64 bytes","arg_str":""},{"text":"pcp 1024","comment":"Generate a Python byte array of size 1024","arg_str":""},{"text":"pcj 10","comment":"Generate a JSON bytes array of size 10","arg_str":""}]}],"executable":true,"n_children":18,"modes":[],"children":[{"cmd":"pc","type":"argv","summary":"Generate a C/C++ byte array.","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pch","type":"argv","summary":"Generate a C/C++ 16 bits array.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pcw","type":"argv","summary":"Generate a C/C++ 32 bits array.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pcd","type":"argv","summary":"Generate a C/C++ 64 bits array.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pca","type":"argv","summary":"Generate a byte array in GAS assembly.","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pcA","type":"argv","summary":"Generate a byte array in GAS assembly with instructions in comments.","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pcb","type":"argv","summary":"Generate a bash script with the byte array.","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pcg","type":"argv","summary":"Generate a Golang byte array.","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pcJ","type":"argv","summary":"Generate a Java byte array.","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pcj","type":"argv","summary":"Generate a JSON byte array.","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pck","type":"argv","summary":"Generate a Kotlin byte array.","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pcn","type":"argv","summary":"Generate a NodeJS buffer.","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pco","type":"argv","summary":"Generate a Objective-C/C++ byte array.","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pcp","type":"argv","summary":"Generate a Python byte array.","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pcr","type":"argv","summary":"Generate a Rust byte array.","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pcs","type":"argv","summary":"Generate a Swift byte array.","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pcy","type":"argv","summary":"Generate a Yara match pattern.","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pc*","type":"argv","summary":"Generate a rizin commands for writing the byte array.","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"pD","type":"argv_state","summary":"Disassemble N bytes (can be negative)","description":"","args_str":" [<n_bytes>]","args":[{"type":"expression","name":"n_bytes","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"pC","type":"group","summary":"Print disassembly in columns","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":6,"modes":[],"children":[{"cmd":"pCd","type":"argv","summary":"Print <len> lines of instructions disassembly in columns","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pCD","type":"argv","summary":"Print <len> lines of the debug registers and stack in columns","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pCa","type":"argv","summary":"Print <len> lines of annotated hexdump in columns","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pCA","type":"argv","summary":"Print <len> lines of op analysis color map in columns","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pCx","type":"argv","summary":"Print <len> lines of hexdump in columns","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pCw","type":"argv","summary":"Print <len> lines of 4-byte integer hexdump in columns","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"pd","type":"group","summary":"Print Disassembly","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":13,"modes":["standard","json","quiet","table"],"children":[{"cmd":"pd","type":"argv_state","summary":"Disassemble N instructions (can be negative)","description":"","args_str":" [<n_instrs>]","args":[{"type":"expression","name":"n_instrs","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"pda","type":"group","summary":"Disassemble all possible opcodes (byte per byte)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json","quiet"],"children":[{"cmd":"pda","type":"argv_state","summary":"Disassemble all possible opcodes (byte per byte)","description":"","args_str":" [<n_bytes>]","args":[{"type":"expression","name":"n_bytes","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"pda=","type":"argv","summary":"Disassemble all possible opcodes (treeview)","description":"","args_str":" [<n_bytes>]","args":[{"type":"expression","name":"n_bytes","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"pdb","type":"group","summary":"Disassemble basic block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json"],"children":[{"cmd":"pdb","type":"argv_state","summary":"Disassemble basic block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pdbJ","type":"argv_state","summary":"Disassemble basic block as json containing the printed text","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]}]},{"cmd":"pdC","type":"argv","summary":"Prints the comments found in N instructions","description":"","args_str":" [<n_instrs>]","args":[{"type":"expression","name":"n_instrs","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pde","type":"argv_state","summary":"Disassemble N instructions following execution flow from current PC","description":"","args_str":" [<n_instrs>]","args":[{"type":"expression","name":"n_instrs","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","quietest"],"children":[]},{"cmd":"pdf","type":"group","summary":"Disassemble a function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json"],"children":[{"cmd":"pdf","type":"argv_state","summary":"Disassemble a function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pdfs","type":"argv","summary":"Disassemble a function and outputs the summary of it.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"pdJ","type":"argv_state","summary":"Disassemble N instructions as json containing the printed text","description":"","args_str":" [<n_instrs>]","args":[{"type":"expression","name":"n_instrs","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"pdk","type":"argv","summary":"Disassemble all methods of a class","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pdl","type":"argv_state","summary":"Disassemble N instructions and prints its sizes","description":"","args_str":" [<n_instrs>]","args":[{"type":"expression","name":"n_instrs","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pdp","type":"argv_state","summary":"Disassemble instructions and follows pointers to read ropchains","description":"","args_str":" [<limit>]","args":[{"type":"number","name":"limit"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"pdr","type":"group","summary":"Disassemble recursively across the function graph","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json"],"children":[{"cmd":"pdr","type":"argv_state","summary":"Disassemble recursively across the function graph","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pdr.","type":"argv_state","summary":"Disassemble recursively across the function graph (from current basic block)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"pdR","type":"argv_state","summary":"Disassemble recursively the block size bytes without analyzing functions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"pds","type":"group","summary":"Summarize N bytes or current block or a function (strings, calls, jumps, refs)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"pds","type":"argv","summary":"Summarize N bytes","description":"","args_str":" [<n_bytes>]","args":[{"type":"expression","name":"n_bytes","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pdsf","type":"argv","summary":"Summarize the current function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pdsb","type":"argv","summary":"Summarize current block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]}]},{"cmd":"pf","type":"group","summary":"Print formatted data","description":"","args_str":"","args":[],"details":[{"name":"Sized integers (lowercase=LE UPPER=BE)","entries":[{"text":"x1 / x2 / x4 / x8","comment":"hex unsigned, N bytes","arg_str":""},{"text":"d1 / d2 / d4 / d8","comment":"decimal signed, N bytes","arg_str":""},{"text":"u1 / u2 / u4 / u8","comment":"decimal unsigned, N bytes","arg_str":""},{"text":"o1 / o2 / o4 / o8","comment":"octal, N bytes","arg_str":""},{"text":"b1 / b2 / b4 / b8","comment":"binary, N bytes","arg_str":""},{"text":"n1 / n2 / n4 / n8","comment":"hex unsigned, N bytes; endian comes from the active pf parsing context (set by pf -e, by a parent V/B's e=..., or by the embedding caller), not from the spec's case; useful when the byte order isn't fixed in the format itself (file headers with an endian marker, embedded protocols, serialised records)","arg_str":""},{"text":"f2 / f4 / f8","comment":"IEEE 754 float, 2/4/8 bytes (half/single/double)","arg_str":""}]},{"name":"Special scalars","entries":[{"text":"c","comment":"single byte rendered as character","arg_str":""},{"text":"p / p2 / p4 / p8","comment":"pointer: bare p uses ctx.bits (2/4/8 bytes); p2/p4/p8 force the width","arg_str":""},{"text":"Q","comment":"uint128_t (16 bytes, byte-sequential)","arg_str":""},{"text":"r","comment":"raw hex byte dump (count via [N])","arg_str":""},{"text":"U / L","comment":"ULEB128 / SLEB128 (variable length)","arg_str":""}]},{"name":"Strings (encoding-aware)","entries":[{"text":"z","comment":"inline NUL-terminated string","arg_str":""},{"text":"z(utf16le)","comment":"encoding override (utf8, utf16le, utf16be, utf32le, utf32be, ibm037, ebcdic_us, ...)","arg_str":""},{"text":"z[N]","comment":"length-prefixed string, N-byte prefix (1/2/4/8), length is in characters","arg_str":""},{"text":"z(utf16le)[2b]","comment":"length prefix in BYTES (MS BSTR style); suffix 'b' switches the unit","arg_str":""},{"text":"s","comment":"pointer to NUL-terminated string (dereferences via read_at)","arg_str":""}]},{"name":"Timestamps (parameterised)","entries":[{"text":"t(unix32) / T(unix32)","comment":"wire format inside the parens; case selects LE/BE","arg_str":""},{"text":"supported formats","comment":"unix32, unix64, unixms, unixus, unixns, filetime (alias ntfs), dos, hfs, oletime, webkit, cocoa","arg_str":""}]},{"name":"Typed composites","entries":[{"text":"E (enum_type)","comment":"4-byte enum, name resolved via typedb","arg_str":""},{"text":"B (bitfield_type)","comment":"4-byte bitfield, name resolved via typedb","arg_str":""},{"text":"B4(R=1,W=2,X=4)","comment":"inline bitfield with named flags (size = 1/2/4/8 byte BN)","arg_str":""},{"text":"? (struct_type)","comment":"nested struct, name resolved via typedb","arg_str":""},{"text":"0...","comment":"leading '0' marks the format as a union (all fields share offset 0)","arg_str":""}]},{"name":"DSL extensions","entries":[{"text":"@N","comment":"align cursor up to next N-byte boundary (no value, no name)","arg_str":""},{"text":":N","comment":"read N bits (1..64) from packed bitstream; MSB-first by default","arg_str":""},{"text":":N< / :N>","comment":"explicit bit order: < = LSB-first, > = MSB-first","arg_str":""},{"text":"G","comment":"16-byte GUID/UUID, mixed-endian (MS) layout by default","arg_str":""},{"text":"G(le) / G(be)","comment":"GUID layout: G(le) is LE on D1/D2/D3 (D4 stays raw, effectively the MS layout); G(be) is RFC 4122 BE","arg_str":""},{"text":"V(t=u1,l=u2,d=table)","comment":"TLV record; t=tag, l=length, e=le/be, h=v/l/a (len covers value / len+value / tag+len+value), d=dispatch table","arg_str":""},{"text":"v(N) / v(N,lsb) / v(N,msb)","comment":"bitvector: N individual bits (1..4096) exposed as separate 0/1 scalars; consumes ceil(N/8) bytes; bytes are always shown low-address to high; within each byte the default (msb) prints bit 7 first through bit 0, while lsb flips that to bit 0 first through bit 7","arg_str":""},{"text":"[@field_name]T","comment":"array whose length comes from an earlier scalar field","arg_str":""}]},{"name":"Skip / repeat / pointers","entries":[{"text":".","comment":"skip 1 byte; [N]. skips N bytes","arg_str":""},{"text":"3...","comment":"leading integer repeats the whole format N times","arg_str":""},{"text":"{N}...","comment":"alternate repeat syntax","arg_str":""},{"text":"*T","comment":"field is a pointer to T (dereferenced via read_at)","arg_str":""},{"text":"[N]T","comment":"fixed-size array of N elements of T","arg_str":""}]},{"name":"Examples","entries":[{"text":"pf 'x4 d2 u8 z magic ver size name'","comment":"header with hex u32, signed s16, unsigned u64, NUL-terminated string","arg_str":""},{"text":"pf 'B4(R=1,W=2,X=4,KERN=0x100) perms'","comment":"inline bitfield with named flags","arg_str":""},{"text":"pf 'u1 [@count] x4 count items'","comment":"u8 count, then that many u32 hex values","arg_str":""},{"text":"pf 'z(utf16le)[2b] bstr'","comment":"BSTR-style: 2-byte length prefix counting bytes, UTF-16 LE body","arg_str":""},{"text":"pf ':1 :7 x4 flag rest tail'","comment":"bit-level: 1 bit then 7 bits, then 4 bytes","arg_str":""},{"text":"pf 'G(be) uuid'","comment":"RFC 4122 big-endian UUID","arg_str":""},{"text":"pf 'V(t=u1,l=u2,d=usb_desc) record'","comment":"TLV dispatched via the 'usb_desc' tag-to-format table","arg_str":""},{"text":"pf 't(filetime) created'","comment":"8-byte Windows FILETIME timestamp","arg_str":""},{"text":"pf '3 0x4d4 a b'","comment":"repeat 3 times, union with fields x4 and d4","arg_str":""},{"text":"pf '? (mytype) field'","comment":"nested struct of typedb format 'mytype'","arg_str":""}]},{"name":"Notes","entries":[{"text":"bit order","comment":":N defaults to MSB-first (matches DWARF and most network protocols); use <N for LSB-first","arg_str":""},{"text":"endian via case","comment":"lowercase specifier = little-endian, UPPERCASE = big-endian","arg_str":""},{"text":"context endian","comment":"n1/n2/n4/n8 take the active pf parsing context's current endian setting, not the spec's case","arg_str":""},{"text":"skip vs alignment","comment":"'.' / '[N].' skip an exact number of bytes; '@N' pads to the next N-byte boundary","arg_str":""},{"text":"deprecation","comment":"bare-letter codes (b, C, d, f, F, i, o, q, t, T, w, x, X, Z) still parse with a one-time warning; use the sized or parenthesised forms in new code","arg_str":""},{"text":"pf 'X2D4u8 bigWord beef qword'","comment":"BE u16, BE s32, LE u64 -- one of every endianness/sign combination","arg_str":""},{"text":"pfn foo 'rr (eax)reg1 (eip)reg2'","comment":"Create object foo referencing two registers","arg_str":""},{"text":"pf 't(unix32)t(unix32) troll plop'","comment":"Print two unix-epoch (32-bit) timestamps with labels 'troll' and 'plop'","arg_str":""}]}],"executable":true,"n_children":12,"modes":["standard","json","quiet"],"children":[{"cmd":"pf","type":"argv_state","summary":"Show data using given format string","description":"","args_str":" <format>","args":[{"type":"string","name":"format","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"pf-","type":"argv","summary":"Remove named format","description":"","args_str":" <formatname>","args":[{"type":"unknown","name":"formatname","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pf-*","type":"argv","summary":"Remove all named formats","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pfa","type":"argv","summary":"Apply format string at given address and define flags for each field","description":"","args_str":" <format>","args":[{"type":"unknown","name":"format","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pfc","type":"argv","summary":"Show data using given format string with C syntax","description":"","args_str":" <format>","args":[{"type":"unknown","name":"format","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pfd","type":"argv","summary":"Show data using given format string as DOT","description":"","args_str":" <format>","args":[{"type":"unknown","name":"format","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pf.","type":"argv_state","summary":"Show data using given named format","description":"","args_str":" [<formatname>]","args":[{"type":"unknown","name":"formatname","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"pfn","type":"argv","summary":"List named formats/Print named format string/Define a new named format","description":"","args_str":" [<formatname> [<formatstring>]]","args":[{"type":"unknown","name":"formatname"},{"type":"string","name":"formatstring","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pfo","type":"argv","summary":"Load a Format Definition File (FDF)","description":"","args_str":" [<file>]","args":[{"type":"unknown","name":"file","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pfs","type":"argv","summary":"Print the size of format in bytes","description":"","args_str":" <format>","args":[{"type":"unknown","name":"format","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pfv","type":"argv","summary":"Print the value for named format","description":"","args_str":" <format>","args":[{"type":"unknown","name":"format","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pfw","type":"argv","summary":"Write data using given format string","description":"","args_str":" <format> [<value>]","args":[{"type":"unknown","name":"format","required":true},{"type":"string","name":"value","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"pF","type":"group","summary":"Deserializes ASN.1, PKCS, X509, ProtoBuf, AXML, etc.. formats","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":6,"modes":[],"children":[{"cmd":"pFa","type":"group","summary":"Deserializes the ASN.1 DER structure from the current block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard"],"children":[{"cmd":"pFa","type":"argv_modes","summary":"Deserializes the ASN.1 DER structure from the current block as a hexdump.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"pFas","type":"argv_state","summary":"Deserializes the ASN.1 DER structure from the current block as a structured data format.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]}]},{"cmd":"pFb","type":"group","summary":"Deserializes raw protobuf from current block as a hexdump.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"pFb","type":"argv","summary":"Deserializes raw protobuf from current block as a hexdump.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pFbv","type":"argv","summary":"Deserializes raw protobuf from current block as a hexdump(verbose).","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"pFp","type":"argv_state","summary":"Deserializes PKCS7 from current block as a structured data format.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pFx","type":"argv_state","summary":"Deserializes X.509 from current block as a structured data format.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pF8","type":"argv_state","summary":"Deserializes PKCS#8 private keys from current block as a structured data format.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pFA","type":"argv","summary":"Deserializes Android Binary XML from current block as XML format.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"ph","type":"group","summary":"Print hash/message digest or entropy","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"ph","type":"argv","summary":"Prints a hash/message digest or entropy (use @! to change the block size)","description":"","args_str":" <algo>","args":[{"type":"string","name":"algo","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"phl","type":"argv_state","summary":"Lists all the supported algorithms","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]}]},{"cmd":"pi","type":"group","summary":"Print instructions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":10,"modes":[],"children":[{"cmd":"pi","type":"argv","summary":"Disassemble and print <N> instructions","description":"","args_str":" [<N>]","args":[{"type":"expression","name":"N","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pia","type":"argv","summary":"Print all possible opcodes (byte by byte)","description":"","args_str":" [<N>]","args":[{"type":"expression","name":"N","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pib","type":"argv","summary":"Print all instructions in a basic block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pie","type":"argv","summary":"Print offset and ESIL expression","description":"","args_str":" [<N>]","args":[{"type":"expression","name":"N","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pif","type":"argv_state","summary":"Print all instructions at the current function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pifc","type":"argv_state","summary":"Print only call instructions at the current function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pir","type":"argv_state","summary":"Print instructions using recursive disassembly algorithm","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pir.","type":"argv_state","summary":"Print instructions using recursive disassembly algorithm from the current position","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"piu","type":"argv_state","summary":"Print all instructions until first ret/jmp","description":"","args_str":" [<limit>]","args":[{"type":"expression","name":"limit","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","quiet"],"children":[]},{"cmd":"pix","type":"argv_modes","summary":"Print assembly expression from hexpairs (alias for pad)","description":"","args_str":" <hexpair>","args":[{"type":"string","name":"hexpair","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]}]},{"cmd":"pI","type":"group","summary":"Print instructions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"pI","type":"argv","summary":"Disassemble and print <N> bytes","description":"","args_str":" [<N>]","args":[{"type":"expression","name":"N","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pIf","type":"argv","summary":"Print all instructions at the current function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"pj","type":"argv","summary":"Parse, format and print JSON at current offset.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pl","type":"group","summary":"Print RzIL","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":2,"modes":[],"children":[{"cmd":"plf","type":"argv","summary":"Print RzIL of the function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"plF","type":"argv","summary":"Print unicode RzIL of the function at current seek.","description":"Prints the RzIL of the function at current seek using unicode special characters. This command requires 'scr.utf8=true', use 'plf' for plain ASCII output.","args_str":"","args":[],"details":[{"name":"General","entries":[{"text":"Set","comment":"Set (assign) y to x.","arg_str":" x ← y"},{"text":"Let","comment":"Let binding (expression-scoped).","arg_str":" (x = exp body)"},{"text":"ITE","comment":"If-Then-Else (ITE).","arg_str":" (cond ↠ x y)"},{"text":"Jump","comment":"Jump to dst.","arg_str":" ↷ dst"},{"text":"Goto","comment":"Goto label l.","arg_str":" @ l"},{"text":"Branch","comment":"Branch (Conditional).","arg_str":" (cond ⅄ true_eff false_eff)"},{"text":"Repeat","comment":"Repeat eff until cond is true.","arg_str":" (cond ⟳ eff)"},{"text":"Empty","comment":"Empty RzIL op.","arg_str":" {}"},{"text":"NOP","comment":"No operation.","arg_str":" ɴᴏᴘ"},{"text":"Blk","comment":"A sequence of deff (data effect) and ceff (control effect) with label l.","arg_str":" (l: deff ceff)"},{"text":"Unk","comment":"Unknown operation, usually represents an error.","arg_str":" ?"}]},{"name":"Bitvector","entries":[{"text":"Bitv","comment":"Bitvector literal x with length n.","arg_str":" xₙ"},{"text":"Cast","comment":"Cast x to length n with fill bit b.","arg_str":" (x ≈ₙ b)"},{"text":"Msb","comment":"Most significant bit of x.","arg_str":" ↑x"},{"text":"Lsb","comment":"Least significant bit of x.","arg_str":" ↓x"},{"text":"Append","comment":"Concatenate (append) hi with lo.","arg_str":" (hi ⊚ lo)"},{"text":"Is_zero","comment":"Check if x is zero.","arg_str":" x ≡ 0"},{"text":"Lognot","comment":"Logical NOT of x.","arg_str":" ~x"},{"text":"Neg","comment":"Arithmetic negation of x.","arg_str":" −x"},{"text":"Add","comment":"Arithmetic addition of x and y.","arg_str":" (x + y)"},{"text":"Sub","comment":"Arithmetic subtraction of x and y.","arg_str":" (x - y)"},{"text":"Mul","comment":"Arithmetic multiplication of x and y.","arg_str":" (x * y)"},{"text":"Div","comment":"Arithmetic division of x and y.","arg_str":" (x / y)"},{"text":"Sdiv","comment":"Signed division of x and y.","arg_str":" (x /⁺ y)"},{"text":"Mod","comment":"Unsigned modulo of x and y.","arg_str":" (x % y)"},{"text":"Smod","comment":"Signed modulo of x and y.","arg_str":" (x %⁺ y)"},{"text":"Logand","comment":"Bitwise AND between x and y.","arg_str":" (x & y)"},{"text":"Logor","comment":"Bitwise OR between x and y.","arg_str":" (x | y)"},{"text":"Logxor","comment":"Bitwise XOR between x and y.","arg_str":" (x ⊕ y)"},{"text":"Lshift","comment":"Left shift x by y bits with fill bit b.","arg_str":" (x ≪ y b)"},{"text":"Rshift","comment":"Right shift x by y bits with fill bit b.","arg_str":" (x ≫ y b)"},{"text":"Eq","comment":"x equals y.","arg_str":" (x ≡ y)"},{"text":"Sle","comment":"x is less than or equal to y (Unsigned).","arg_str":" (x ≦ y)"},{"text":"Ule","comment":"x is less than or equal to y (Signed).","arg_str":" (x ≦⁺ y)"}]},{"name":"Boolean","entries":[{"text":"False","comment":"Boolean literal false.","arg_str":" ⊥"},{"text":"True","comment":"Boolean literal true.","arg_str":" ⊤"},{"text":"Boolnot","comment":"Boolean NOT of x.","arg_str":" ¬x"},{"text":"Boolor","comment":"Boolean OR between x and y.","arg_str":" (x ∨ y)"},{"text":"Booland","comment":"Boolean AND between x and y.","arg_str":" (x ∧ y)"},{"text":"Boolxor","comment":"Boolean XOR between x and y.","arg_str":" (x ⊻ y)"}]},{"name":"Floating Point","entries":[{"text":"Float","comment":"Bitvector literal n interpreted as a float of size n with optional superscript d showing a decimal representation.","arg_str":" n.fᵈₙ"},{"text":"Fbits","comment":"Bitvector representation of float x.","arg_str":" ꜰʙ x"},{"text":"Fneg","comment":"Floating-point negation of x.","arg_str":" −x"},{"text":"Fadd","comment":"Floating-point addition of x and y with rounding mode r.","arg_str":" (r x + y)"},{"text":"Fsub","comment":"Floating-point subtraction of x and y with rounding mode r.","arg_str":" (r x - y)"},{"text":"Fmul","comment":"Floating-point multiplication of x and y with rounding mode r.","arg_str":" (r x * y)"},{"text":"Fdiv","comment":"Floating-point division x and y with rounding mode r.","arg_str":" (r x / y)"},{"text":"Fmod","comment":"Floating-point modulo of x and y with rounding mode r.","arg_str":" (r x % y)"},{"text":"Fmad","comment":"Floating-point multiply-add of x, y and z with rounding mode r.","arg_str":" (r x * y + z)"},{"text":"Fabs","comment":"Absolute value of x.","arg_str":" |x|"},{"text":"Fsucc","comment":"Floating-point successor of x.","arg_str":" ⌊x"},{"text":"Fpred","comment":"Floating-point predecessor of x.","arg_str":" ⌋x"},{"text":"Fexcept","comment":"Floating-point exception e on x.","arg_str":" e ᴇ x"},{"text":"Fcast int","comment":"Cast x to unsigned integer of size n with rounding mode r and optional subscript d.","arg_str":" (x ꜰ≈ɪᵈₙ r)"},{"text":"Fcast sint","comment":"Cast x to signed integer of size n with rounding mode r and optional subscript d.","arg_str":" (x ꜰ≈ɪ⁺ᵈₙ r)"},{"text":"Fcast float","comment":"Cast x to unsigned float of size n with rounding mode r and optional subscript d.","arg_str":" (x ꜰ≈ꜰᵈₙ r)"},{"text":"Fcast sfloat","comment":"Cast x to signed float of size n with rounding mode r and optional subscript d.","arg_str":" (x ꜰ≈ꜰ⁺ᵈₙ r)"},{"text":"Fconvert","comment":"Convert rounding mode of x to r and its size to n.","arg_str":" (x ≅ᵈₙ r)"},{"text":"Fround","comment":"Round x to integral value using rounding mode r and optional subscript d.","arg_str":" (r ⭂ x)"},{"text":"Fsqrt","comment":"Square root of x using rounding mode r.","arg_str":" (r ²√ x)"},{"text":"Frsqrt","comment":"Inverse square root of x using rounding mode r.","arg_str":" (r ¹/√ x)"},{"text":"Frootn","comment":"x to the power 1/n using rounding mode r, where n is integer.","arg_str":" (r n ⁿ√ x)"},{"text":"Fpow","comment":"x to the power y using rounding mode r.","arg_str":" (r x ˰ y)"},{"text":"Fpown","comment":"x to the power n using rounding mode r, where n is integer.","arg_str":" (r x ˰ⁿ n)"},{"text":"Forder","comment":"Float ordering comparison between x and y.","arg_str":" (x ≷ y)"},{"text":"Frequal","comment":"Float rounding mode equality check between r1 and r2.","arg_str":" (r1 ≡ r2)"},{"text":"Is_fzero","comment":"Check if x is zero.","arg_str":" x ≡ 0"},{"text":"Is_nan","comment":"Check if x is Not-a-Number.","arg_str":" x ≡ ɴаɴ"},{"text":"Is_inf","comment":"Check if x is infine.","arg_str":" x ≡ ∞"},{"text":"Is_finite","comment":"Check if x is finite.","arg_str":" x ≢ ∞"},{"text":"Is_fpos","comment":"Check if x is positive.","arg_str":" x > 0"},{"text":"Is_fneg","comment":"Check if x is negative.","arg_str":" x < 0"},{"text":"Fcompound","comment":"Float compound operator between x and n using rounding mode r, where n is integer.","arg_str":" (r x ∪ n)"},{"text":"Fhypot","comment":"Float hypotenuse.","arg_str":" (r x ∠ y)"}]},{"name":"Memory","entries":[{"text":"Load","comment":"Load n bits from address a of memory index m.","arg_str":" (ʟᴅₘ n a)"},{"text":"Store","comment":"Store v to address a of memory index m.","arg_str":" (ꜱᴛₘ v a)"}]}],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"pp","type":"group","summary":"Print patterns","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":10,"modes":[],"children":[{"cmd":"pp0","type":"argv","summary":"Print buffer filled with zeroes","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pp1","type":"argv","summary":"Print incremental byte pattern (honor lower bits of current address and block size)","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pp2","type":"argv","summary":"Print incremental word pattern","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pp4","type":"argv","summary":"Print incremental dword pattern","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pp8","type":"argv","summary":"Print incremental qword pattern","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ppa","type":"argv","summary":"Print Latin alphabet pattern","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ppd","type":"argv","summary":"Print De Brujin pattern","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ppd/","type":"argv","summary":"Return the offset where <value> appears in the default De Bruijn pattern","description":"Honors cfg.bigendian to interpret <value> before searching through the ppd pattern","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ppf","type":"argv","summary":"Print buffer filled with 0xFF","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ppn","type":"argv","summary":"Print numeric pin pattern","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"pt","type":"group","summary":"Print timestamps","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":[],"children":[{"cmd":"pt","type":"argv","summary":"Print UNIX epoch time (32 bit `cfg.bigendian`, since January 1, 1970)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pt.","type":"argv","summary":"Print the current time","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ptd","type":"argv","summary":"Print MS-DOS time (32 bit `cfg.bigendian`, since January 1, 1980)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pth","type":"argv","summary":"Print Mac HFS time (32 bit `cfg.bigendian`, since January 1, 1904)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ptn","type":"argv","summary":"Print NTFS time (64 bit `cfg.bigendian`, since January 1, 1601)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"pk","type":"argv","summary":"Print cryptographic key in randomart","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pK","type":"argv","summary":"Print cryptographic key in randomart mosaic","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pm","type":"argv_modes","summary":"Search magics and print the long description of them.","description":"","args_str":" [<file/directory>]","args":[{"type":"string","name":"file/directory","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"po","type":"group","summary":"Print operation applied on the data","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":12,"modes":[],"children":[{"cmd":"po2","type":"argv","summary":"2-byte endian swap","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"po4","type":"argv","summary":"4-byte endian swap","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"po8","type":"argv","summary":"8-byte endian swap","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"poa","type":"argv","summary":"Apply addition","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"poA","type":"argv","summary":"Apply AND operation","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pod","type":"argv","summary":"Apply division operation","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pol","type":"argv","summary":"Apply shift left operation","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pom","type":"argv","summary":"Apply multiplication operation","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"poo","type":"argv","summary":"Apply OR operation","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"por","type":"argv","summary":"Apply shift right operation","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pos","type":"argv","summary":"Apply subtraction operation","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pox","type":"argv","summary":"Apply XOR operation","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"pr","type":"group","summary":"Print raw bytes in different representations","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":[],"children":[{"cmd":"pr","type":"argv","summary":"Print raw bytes","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"prc","type":"argv","summary":"Print bytes as colors in palette","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"prg","type":"group","summary":"Print uncompressed data","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"prg","type":"argv","summary":"gunzip block and print","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"prgv","type":"argv","summary":"Show consumed bytes and output size","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"prx","type":"argv","summary":"Printable chars with real offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"prz","type":"argv","summary":"Print raw zero-terminated string","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"ps","type":"group","summary":"Print string at the current offset.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":13,"modes":["standard","json"],"children":[{"cmd":"ps","type":"argv_modes","summary":"Print the string at the current offset in the block.","description":"","args_str":" <encoding>=settings <delimiter>=null","args":[{"type":"choice","name":"encoding","required":true,"default":"settings","choices":["settings","guess","ascii","utf8","utf16le","utf32le","utf16be","utf32be","ibm037","ibm290","ebcdices","ebcdicuk","ebcdicus"]},{"type":"choice","name":"delimiter","required":true,"default":"null","choices":["null","block","unprintable"]}],"details":[{"name":"Value details","entries":[{"text":"String length","comment":"The string length depends on the block size. You need to change it via 'b <size-in-bytes>' if your string is too short.","arg_str":""},{"text":"encoding=settings","comment":"Use encoding from 'str.encoding' option.","arg_str":""},{"text":"delimeter=null","comment":"Prints until first NUL code point. Non-printable characters are escaped.","arg_str":""},{"text":"delimeter=unprintable","comment":"Prints until the first non-printable code point. This includes '\\n', '\\t' etc.","arg_str":""},{"text":"delimeter=block","comment":"Print whole block as string (don't stop at non-printable or NUL character).","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"ps+","type":"argv_modes","summary":"Print libc++ std::string (same-endian, ascii, zero-terminated)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"psb","type":"argv_modes","summary":"Print all the strings in current block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","quiet"],"children":[]},{"cmd":"psc","type":"argv_modes","summary":"Generate a C/C++ string","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"psi","type":"argv_modes","summary":"Print the first string in the current block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"psp","type":"argv_modes","summary":"Print the pascal string at the current offset","description":"","args_str":" <bits>=8","args":[{"type":"choice","name":"bits","required":true,"default":"8","choices":["8","16","32","64"]}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pss","type":"argv_modes","summary":"Print string at the current offset in screen (wrap width)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"psu","type":"argv_modes","summary":"Print buffer as a utf8 string (alias for 'ps utf8 null').","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"psm","type":"argv_modes","summary":"Print buffer as a utf16be string (alias for 'ps utf16be null').","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"psM","type":"argv_modes","summary":"Print buffer as a utf32be string (alias for 'ps utf32be null').","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"psn","type":"argv_modes","summary":"Print string with escaped new lines","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"psw","type":"argv_modes","summary":"Print buffer as a utf16le string (alias for 'ps utf16le null').","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"psW","type":"argv_modes","summary":"Print buffer as a utf32le string (alias for 'ps utf32le null').","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"pv","type":"group","summary":"Print bytes based on current bitness and endianness","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":["standard","json"],"children":[{"cmd":"pv","type":"argv_state","summary":"print bytes","description":"","args_str":" [<repeat>]","args":[{"type":"number","name":"repeat"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pv1","type":"argv_state","summary":"print 1 byte","description":"","args_str":" [<repeat>]","args":[{"type":"number","name":"repeat"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pv2","type":"argv_state","summary":"print 2 bytes","description":"","args_str":" [<repeat>]","args":[{"type":"number","name":"repeat"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pv4","type":"argv_state","summary":"print 4 bytes","description":"","args_str":" [<repeat>]","args":[{"type":"number","name":"repeat"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pv8","type":"argv_state","summary":"print 8 bytes","description":"","args_str":" [<repeat>]","args":[{"type":"number","name":"repeat"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"px","type":"group","summary":"Show hexdump","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":24,"modes":["standard","json"],"children":[{"cmd":"px","type":"argv_state","summary":"show hexdump","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pxF","type":"argv_state","summary":"Print formatted bytes.","description":"","args_str":" <number>=1 <format>=x <width>=a","args":[{"type":"expression","name":"number","required":true,"default":"1"},{"type":"choice","name":"format","required":true,"default":"x","choices":["o","d","x","f","i","s"]},{"type":"choice","name":"width","required":true,"default":"a","choices":["b","h","w","d","a"]}],"details":[{"name":"number","entries":[{"text":"","comment":"Number of elements to print.","arg_str":""}]},{"name":"format","entries":[{"text":"o","comment":"Octal","arg_str":""},{"text":"d","comment":"Decimal","arg_str":""},{"text":"x","comment":"Hex","arg_str":""},{"text":"f","comment":"Float - Alias for: 'pf ffff...' (<number> times 'f'. <width> is ignored).","arg_str":""},{"text":"i","comment":"Instruction - Alias for: 'pdq <number> !@ <number * width>'.","arg_str":""},{"text":"s","comment":"String - Alias for: 'psb !@ <number * width>'.","arg_str":""}]},{"name":"width","entries":[{"text":"b","comment":"Byte = 1 bytes","arg_str":""},{"text":"h","comment":"Half word = 2 bytes","arg_str":""},{"text":"w","comment":"Word = 4 bytes","arg_str":""},{"text":"d","comment":"Double word = 8 bytes","arg_str":""},{"text":"a","comment":"Architecture width as bytes.","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pxa","type":"argv","summary":"show annotated hexdump","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pxA","type":"argv_state","summary":"show op analysis color map","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","long"],"children":[]},{"cmd":"pxb","type":"argv","summary":"dump bits in hexdump form","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pxc","type":"argv","summary":"show hexdump with comments","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pxd","type":"group","summary":"show signed integer dump","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":["standard","json"],"children":[{"cmd":"pxd","type":"argv_state","summary":"show 1-byte integer dump","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pxdh","type":"argv_state","summary":"show 2-bytes integer dump","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pxdw","type":"argv_state","summary":"show 4-bytes integer dump","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pxdq","type":"argv_state","summary":"show 8-bytes integer dump","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"pxe","type":"argv","summary":"emoji hexdump! :)","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pxf","type":"argv","summary":"show hexdump of current function","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pxi","type":"argv","summary":"HexII compact binary representation","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pxr","type":"group","summary":"show hexword references","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":["standard","json","quiet","table"],"children":[{"cmd":"pxr","type":"argv_state","summary":"show hexword references","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"pxr1","type":"argv_state","summary":"show hexword references","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"pxr2","type":"argv_state","summary":"show hexword references with hexdump","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"pxr4","type":"argv_state","summary":"show hexword references with hexdump","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]},{"cmd":"pxr8","type":"argv_state","summary":"show hexword references with hexdump","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet","table"],"children":[]}]},{"cmd":"pxs","type":"argv","summary":"show hexadecimal in sparse mode","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pxt","type":"argv_state","summary":"show delta pointer table in rizin commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pxx","type":"argv","summary":"show <N> bytes of hex-less hexdump","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pxX","type":"argv","summary":"show <N> words of hex-less hexdump","description":"","args_str":" [<N>]","args":[{"type":"expression","name":"N","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"px0","type":"argv","summary":"8bit hexpair list of bytes until zero byte","description":"","args_str":" [<N>]","args":[{"type":"expression","name":"N","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pxh","type":"argv_state","summary":"show 2-bytes hexadecimal integers dump","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pxH","type":"argv_state","summary":"show 2-bytes hexadecimal integers dump, one per line","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pxw","type":"argv_state","summary":"show 4-bytes hexadecimal integers dump","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pxW","type":"argv_state","summary":"show 4-bytes hexadecimal integers dump, one per line","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pxq","type":"argv_state","summary":"show 8-bytes hexadecimal integers dump","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pxQ","type":"argv_state","summary":"show 8-bytes hexadecimal integers dump, one per line","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"pxo","type":"argv","summary":"show 1-byte octal integers dump","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pxl","type":"argv_state","summary":"display <N> lines of hexdump","description":"","args_str":" [<N>]","args":[{"type":"expression","name":"N","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]}]},{"cmd":"p6","type":"group","summary":"Base64 decoding/encoding","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":2,"modes":[],"children":[{"cmd":"p6e","type":"argv_modes","summary":"Base64 encoding","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"p6d","type":"argv_modes","summary":"Base64 decoding","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]}]},{"cmd":"pu","type":"group","summary":"URL-encoded strings","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"pu","type":"argv","summary":"Print <N> bytes as URL-encoded UTF-8 string","description":"","args_str":" [<N>]","args":[{"type":"expression","name":"N","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"puw","type":"argv","summary":"Print <N> bytes as URL-encoded UTF-16 string","description":"","args_str":" [<N>]","args":[{"type":"expression","name":"N","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pu0","type":"argv","summary":"Print <N> bytes as URL-encoded string and stop at zero","description":"","args_str":" [<N>]","args":[{"type":"expression","name":"N","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p-","type":"group","summary":"Blocks information representation as a horisontal bar and summary","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":["standard","json"],"children":[{"cmd":"p-","type":"argv_state","summary":"Show horisontal bar of metadata in file boundaries","description":"","args_str":" [<width>]","args":[{"type":"expression","name":"width","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"p-e","type":"argv","summary":"Show horisontal bar of entropy per block in file boundaries","description":"","args_str":" [<width>]","args":[{"type":"expression","name":"width","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p-h","type":"argv_state","summary":"Show statistics table about blocks in the file","description":"","args_str":" [<depth>]","args":[{"type":"expression","name":"depth","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["table"],"children":[]}]},{"cmd":"p=","type":"group","summary":"Blocks information representation as a histogram","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":21,"modes":[],"children":[{"cmd":"p=","type":"argv","summary":"Show a vertical histogram of bytes in current block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=d","type":"argv","summary":"Show a summary of min/max/number of unique bytes in the current block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=2","type":"argv","summary":"Show progress bars of int16 values","description":"","args_str":" [<step>]","args":[{"type":"expression","name":"step","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=0","type":"argv","summary":"Show a vertical histogram of 0x00 bytes per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=F","type":"argv","summary":"Show a vertical histogram of 0xFF bytes per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=a","type":"argv","summary":"Show a vertical histogram of basic blocks per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=A","type":"argv","summary":"Show a vertical histogram of statistical maps per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=c","type":"argv","summary":"Show a vertical histogram of calls per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=e","type":"argv","summary":"Show a vertical histogram of entropy per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=C","type":"argv","summary":"Show a vertical histogram of chi-square (vs uniform) per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=I","type":"argv","summary":"Show a vertical histogram of index of coincidence per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=M","type":"argv","summary":"Show a vertical histogram of min-entropy per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=S","type":"argv","summary":"Show a vertical histogram of serial correlation per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=r","type":"argv_state","summary":"Print rising and falling entropy.","description":"","args_str":" [<rising_threshold> [<falling_threshold>]]","args":[{"type":"expression","name":"rising_threshold"},{"type":"expression","name":"falling_threshold","is_last":true}],"details":[{"name":"Default values","entries":[{"text":"","comment":"Default rising threshold is 0.95 and falling threshold is 0.85","arg_str":""}]}],"executable":true,"n_children":0,"modes":["standard","json","quiet","long","table"],"children":[]},{"cmd":"p=i","type":"argv","summary":"Show a vertical histogram of invalid instructions per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=j","type":"argv","summary":"Show a vertical histogram of jumps and conditional jumps per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=m","type":"argv","summary":"Show a vertical histogram of number of flags and marks per each block","description":"","args_str":" [<blocks>]","args":[{"type":"expression","name":"blocks","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=p","type":"argv","summary":"Show a vertical histogram of printable bytes per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=s","type":"argv","summary":"Show a vertical histogram of syscalls and privileged instructions per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p=z","type":"argv","summary":"Show a vertical histogram of number of chars in strings per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==","type":"group","summary":"Blocks information representation as a horizontal histogram","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":18,"modes":[],"children":[{"cmd":"p==","type":"argv","summary":"Show a horizontal histogram of bytes in current block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==v","type":"argv","summary":"Show a visual horizontal histogram of bytes in current block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==0","type":"group","summary":"Show a horizontal histogram of 0x00 bytes per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"p==0","type":"argv","summary":"Show a horizontal histogram of 0x00 bytes per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==0v","type":"argv","summary":"Show a interactive horizontal histogram of 0x00 bytes per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p==F","type":"group","summary":"Show a horizontal histogram of 0xFF bytes per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"p==F","type":"argv","summary":"Show a horizontal histogram of 0xFF bytes per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==Fv","type":"argv","summary":"Show a interactive horizontal histogram of 0xFF bytes per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p==a","type":"group","summary":"Show a horizontal histogram of basic blocks per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"p==a","type":"argv","summary":"Show a horizontal histogram of basic blocks per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==av","type":"argv","summary":"Show a interactive horizontal histogram of basic blocks per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p==A","type":"group","summary":"Show a horizontal histogram of statistical maps per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"p==A","type":"argv","summary":"Show a horizontal histogram of statistical maps per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==Av","type":"argv","summary":"Show a interactive horizontal histogram of statistical maps per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p==c","type":"group","summary":"Show a horizontal histogram of calls per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"p==c","type":"argv","summary":"Show a horizontal histogram of calls per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==cv","type":"argv","summary":"Show a interactive horizontal histogram of calls per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p==e","type":"group","summary":"Show a horizontal histogram of entropy per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"p==e","type":"argv","summary":"Show a horizontal histogram of entropy per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==ev","type":"argv","summary":"Show a interactive horizontal histogram of entropy per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p==C","type":"group","summary":"Show a horizontal histogram of chi-square (vs uniform) per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"p==C","type":"argv","summary":"Show a horizontal histogram of chi-square (vs uniform) per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==Cv","type":"argv","summary":"Show a interactive horizontal histogram of chi-square (vs uniform) per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p==I","type":"group","summary":"Show a horizontal histogram of index of coincidence per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"p==I","type":"argv","summary":"Show a horizontal histogram of index of coincidence per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==Iv","type":"argv","summary":"Show a interactive horizontal histogram of index of coincidence per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p==M","type":"group","summary":"Show a horizontal histogram of min-entropy per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"p==M","type":"argv","summary":"Show a horizontal histogram of min-entropy per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==Mv","type":"argv","summary":"Show a interactive horizontal histogram of min-entropy per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p==S","type":"group","summary":"Show a horizontal histogram of serial correlation per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"p==S","type":"argv","summary":"Show a horizontal histogram of serial correlation per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==Sv","type":"argv","summary":"Show a interactive horizontal histogram of serial correlation per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p==i","type":"group","summary":"Show a horizontal histogram of invalid instructions per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"p==i","type":"argv","summary":"Show a horizontal histogram of invalid instructions per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==iv","type":"argv","summary":"Show a interactive horizontal histogram of invalid instructions per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p==j","type":"group","summary":"Show a horizontal histogram of jumps and conditional jumps per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"p==j","type":"argv","summary":"Show a horizontal histogram of jumps and conditional jumps per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==jv","type":"argv","summary":"Show a interactive horizontal histogram of jumps and conditional jumps per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p==m","type":"group","summary":"Show a horizontal histogram of number of flags and marks per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"p==m","type":"argv","summary":"Show a horizontal histogram of number of flags and marks per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==mv","type":"argv","summary":"Show a interactive horizontal histogram of number of flags and marks per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p==p","type":"group","summary":"Show a horizontal histogram of printable bytes per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"p==p","type":"argv","summary":"Show a horizontal histogram of printable bytes per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==pv","type":"argv","summary":"Show a interactive horizontal histogram of printable bytes per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p==s","type":"group","summary":"Show a horizontal histogram of syscalls and privileged instructions per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"p==s","type":"argv","summary":"Show a horizontal histogram of syscalls and privileged instructions per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==sv","type":"argv","summary":"Show a interactive horizontal histogram of syscalls and privileged instructions per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"p==z","type":"group","summary":"Show a horizontal histogram of number of chars in strings per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"p==z","type":"argv","summary":"Show a horizontal histogram of number of chars in strings per each block","description":"","args_str":" [<blocks> [<totalsize> [<skip>]]]","args":[{"type":"expression","name":"blocks"},{"type":"expression","name":"totalsize"},{"type":"expression","name":"skip","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"p==zv","type":"argv","summary":"Show a interactive horizontal histogram of number of chars in strings per each block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]}]}]}]},{"cmd":"q","type":"group","summary":"Quit rizin","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":[],"children":[{"cmd":"q","type":"argv","summary":"Quit rizin","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"q!","type":"argv","summary":"Force quit rizin","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"q!!","type":"argv","summary":"Force quit rizin without saving history","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"q","type":"inner","summary":"Quit rizin and choose to kill the process and save projects","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":2,"modes":[],"children":[{"cmd":"qy","type":"group","summary":"Quit rizin by killing the process and and choose to save the projects or not","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":2,"modes":[],"children":[{"cmd":"qyy","type":"argv","summary":"Quit rizin by killing the process and saving the project","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"qyn","type":"argv","summary":"Quit rizin by killing the process and not saving the project","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"qn","type":"group","summary":"Quit rizin by not killing the process and choose to save the projects or not","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":2,"modes":[],"children":[{"cmd":"qnn","type":"argv","summary":"Quit rizin by not killing the process and not saving the project","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"qny","type":"argv","summary":"Quit rizin by not killing the process and saving the project","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]}]}]},{"cmd":"R","type":"group","summary":"Connect with other instances of rizin","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":11,"modes":[],"children":[{"cmd":"R","type":"argv","summary":"List all open connections / Exec <cmd> at remote <fd>","description":"","args_str":" [[<fd>] <cmd>]","args":[{"type":"number","name":"fd"},{"type":"command","name":"cmd","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"R<","type":"argv","summary":"Send output of local <cmd> to remote <fd>","description":"","args_str":" [<fd> <cmd>]","args":[{"type":"number","name":"fd"},{"type":"command","name":"cmd","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"R!","type":"argv","summary":"Run command via rz_io_system","description":"","args_str":" <cmd>","args":[{"type":"command","name":"cmd","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"R+","type":"argv","summary":"Connect to remote host:port","description":"","args_str":" <[proto://]host:port>","args":[{"type":"string","name":"[proto://]host:port","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"R-","type":"argv","summary":"remove all hosts or host 'fd'","description":"","args_str":" [<fd>]","args":[{"type":"number","name":"fd"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"R=","type":"argv","summary":"Open remote session with host 'fd', 'q' to quit","description":"","args_str":" <fd>","args":[{"type":"number","name":"fd","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"R!=","type":"argv","summary":"Enable remote cmd mode, sending commands to remote <fd> server","description":"","args_str":" <fd>=0","args":[{"type":"number","name":"fd","required":true,"default":"0"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"R=!","type":"argv","summary":"Disable remote cmd mode","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Rg","type":"group","summary":"Start the gdbserver","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"Rg","type":"argv","summary":"Start the gdbserver.","description":"","args_str":" <port> <file> [<args>]","args":[{"type":"number","name":"port","required":true},{"type":"string","name":"file","required":true},{"type":"string","name":"args","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Rg!","type":"argv","summary":"Start the gdbserver with debug protocol messages (like gdbserver --remote-debug).","description":"","args_str":" <port> <file> [<args>]","args":[{"type":"number","name":"port","required":true},{"type":"string","name":"file","required":true},{"type":"string","name":"args","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"Rh","type":"group","summary":"HTTP webserver commands.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"Rh","type":"argv","summary":"Start the HTTP webserver in foreground.","description":"","args_str":" <launch_browser>=no","args":[{"type":"choice","name":"launch_browser","required":true,"default":"no","choices":["yes","no"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Rh*","type":"argv","summary":"Restart the HTTP webserver in foreground.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Rh--","type":"argv","summary":"Stop the HTTP webserver in foreground.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"Rt","type":"argv","summary":"Start the tcp server","description":"","args_str":" <[host:]port> [<cmd>]","args":[{"type":"string","name":"[host:]port","required":true},{"type":"command","name":"cmd","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"r","type":"group","summary":"Resize file","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":["standard","json"],"children":[{"cmd":"r","type":"argv_state","summary":"Resize file / Display file size","description":"","args_str":" [<size>]","args":[{"type":"expression","name":"size","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"r-","type":"argv","summary":"Remove num bytes, move following data down","description":"","args_str":" <num>","args":[{"type":"expression","name":"num","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"r+","type":"argv","summary":"Insert num bytes, move following data up","description":"","args_str":" <num>","args":[{"type":"expression","name":"num","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"rb","type":"argv","summary":"Rebase all flags, binary information, breakpoints, and analysis","description":"","args_str":" <oldbase>","args":[{"type":"expression","name":"oldbase","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"rh","type":"argv","summary":"Display size in human-friendly format","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"s","type":"group","summary":"Seek commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":17,"modes":[],"children":[{"cmd":"s","type":"argv","summary":"Print current address / Seek to address","description":"","args_str":" [<addr>]","args":[{"type":"expression","name":"addr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"spad","type":"argv","summary":"Print current address with <n> padded zeros (defaults to 8)","description":"","args_str":" [<n>]","args":[{"type":"number","name":"n"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"s.","type":"argv","summary":"Seek honoring a base from core->offset","description":"","args_str":" <hex_offset>","args":[{"type":"number","name":"hex_offset","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"sd","type":"argv","summary":"Seek to a delta relative to current offset","description":"","args_str":" <delta>","args":[{"type":"number","name":"delta","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"s--","type":"argv","summary":"Seek blocksize bytes backward (/=n)","description":"","args_str":" [<n>]","args":[{"type":"number","name":"n"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"s++","type":"argv","summary":"Seek blocksize bytes forward (/=n)","description":"","args_str":" [<n>]","args":[{"type":"number","name":"n"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"sh","type":"group","summary":"Seek history commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":["standard","json"],"children":[{"cmd":"sh","type":"argv_state","summary":"List undo seek history","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"shr","type":"argv","summary":"Go to position before the last undo (forward in history)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"shu","type":"argv","summary":"Go to last seek in seek history (back in history)","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"sh-","type":"argv","summary":"Clear seek history","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"sa","type":"argv","summary":"Seek to current offset (or <addr>) aligned to <align>","description":"","args_str":" <align> [<addr>]","args":[{"type":"number","name":"align","required":true},{"type":"expression","name":"addr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"sb","type":"argv","summary":"Seek aligned to bb start","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"sf","type":"argv","summary":"Seek to next function / Seek to specific function","description":"","args_str":" [<fcn>]","args":[{"type":"function","name":"fcn"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"sf.","type":"argv","summary":"Seek to the beginning of current function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"sg","type":"argv","summary":"Seek to begin of section/file","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"sG","type":"argv","summary":"Seek to end of section/file","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"sn","type":"argv","summary":"Seek to next location of the given <type> or scr.nkey otherwise","description":"<type> and scr.nkey can be one of \"opcodes\", \"function\", \"hit\", \"flags\".","args_str":" [<type>]","args":[{"type":"choice","name":"type","choices":["opcodes","function","hit","flags"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"sp","type":"argv","summary":"Seek to prev location","description":"<type> and scr.nkey can be one of \"opcodes\", \"function\", \"hit\", \"flags\".","args_str":" [<type>]","args":[{"type":"choice","name":"type","choices":["opcodes","function","hit","flags"]}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"so","type":"argv","summary":"Seek to <n> next opcodes","description":"","args_str":" [<n>]","args":[{"type":"number","name":"n"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"sr","type":"argv","summary":"Seek to register","description":"","args_str":" <reg>","args":[{"type":"string","name":"reg","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"shell","type":"group","summary":"Common shell commands","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":28,"modes":[],"children":[{"cmd":"ascii","type":"argv","summary":"Print ASCII table","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"cat","type":"argv","summary":"Print contents of <file>","description":"","args_str":" <file>","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"cd","type":"argv","summary":"Change directory to <dir>","description":"","args_str":" [<dir>]","args":[{"type":"directory","name":"dir"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"clear","type":"argv","summary":"Clear screen/console","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"clippy","type":"argv","summary":"echo but with a comic","description":"","args_str":" [<strs1> <strs2> ...]","args":[{"type":"string","name":"strs","is_array":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"cls","type":"argv","summary":"clear","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"cp","type":"argv","summary":"Copy <src> file to <dst>","description":"","args_str":" <src> <dst>","args":[{"type":"filename","name":"src","required":true},{"type":"string","name":"dst","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"date","type":"argv","summary":"Get current date","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"diff","type":"argv","summary":"Compare <A> file with <B>","description":"","args_str":" <A> <B>","args":[{"type":"filename","name":"A","required":true},{"type":"filename","name":"B","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"echo","type":"argv","summary":"Display a line of text","description":"","args_str":" [<strs1> <strs2> ...]","args":[{"type":"string","name":"strs","is_array":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"env","type":"argv","summary":"Get/set environment variables","description":"","args_str":" [<varname>[=<varvalue>]]","args":[{"type":"environment_variable","name":"varname"},{"type":"string","name":"varvalue","is_last":true}],"details":[{"name":"Examples","entries":[{"text":"env","comment":"List all environment variables","arg_str":""},{"text":"env","comment":"Print value of SHELL variable","arg_str":" SHELL"},{"text":"env","comment":"Set TMPDIR to \"/tmp\"","arg_str":" TMPDIR=/tmp"}]},{"name":"Environment","entries":[{"text":"RZ_FILE","comment":"currently opened file name","arg_str":""},{"text":"RZ_OFFSET","comment":"current offset (64bit value)","arg_str":""},{"text":"RZ_BSIZE","comment":"block size","arg_str":""},{"text":"RZ_ENDIAN","comment":"'big' or 'little'","arg_str":""},{"text":"RZ_IOVA","comment":"is io.va true? virtual addressing (1,0)","arg_str":""},{"text":"RZ_DEBUG","comment":"debug mode enabled? (1,0)","arg_str":""},{"text":"RZ_SIZE","comment":"file size","arg_str":""},{"text":"RZ_ARCH","comment":"value of asm.arch","arg_str":""},{"text":"RZ_BITS","comment":"arch reg size (8, 16, 32, 64)","arg_str":""},{"text":"RZ_BIN_LANG","comment":"assume this lang to demangle","arg_str":""},{"text":"RZ_BIN_DEMANGLE","comment":"demangle or not","arg_str":""},{"text":"RZ_BIN_PDBSERVER","comment":"e pdb.server","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"exit","type":"argv","summary":"Exit Rizin","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"flush","type":"argv","summary":"Flush console","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"fortune","type":"argv","summary":"Show the random fortune message","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"inittime","type":"argv","summary":"Print init time values","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ls","type":"argv","summary":"List files and directories","description":"","args_str":" [-e -q -l -j] <dir/file>","args":[{"type":"option","name":"e","is_option":true},{"type":"option","name":"q","is_option":true},{"type":"option","name":"l","is_option":true},{"type":"option","name":"j","is_option":true},{"type":"filename","name":"path"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"mkdir","type":"argv","summary":"Create a directory <dir>","description":"","args_str":" [-p] <dir>","args":[{"type":"option","name":"p","is_option":true},{"type":"string","name":"dir","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"mv","type":"argv","summary":"Move <src> file to <dst>","description":"","args_str":" <src> <dst>","args":[{"type":"filename","name":"src","required":true},{"type":"string","name":"dst","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pkill","type":"argv","summary":"Kill process by name","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"pwd","type":"argv","summary":"Show the present working directory","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"rm","type":"argv","summary":"Remove <file>","description":"","args_str":" <file>","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"sleep","type":"argv","summary":"Sleep for <seconds> seconds","description":"","args_str":" <seconds>","args":[{"type":"number","name":"seconds","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"sort","type":"argv","summary":"Sort the contents of <file> or from piped input","description":"","args_str":" [<file>]","args":[{"type":"filename","name":"file"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"time","type":"argv","summary":"Calculate time taken to run a command","description":"","args_str":" <cmd>","args":[{"type":"command","name":"cmd","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"uname","type":"argv","summary":"Provide system info","description":"","args_str":" [-r]","args":[{"type":"option","name":"r","is_option":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"uniq","type":"argv","summary":"List unique strings in <filename> or from piped input","description":"","args_str":" [<filename>]","args":[{"type":"filename","name":"filename"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ver","type":"group","summary":"Show version information","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":["standard","json","quiet"],"children":[{"cmd":"ver","type":"argv_state","summary":"Show version info","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"vernum","type":"argv","summary":"Show numeric version","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"vermajor","type":"argv","summary":"Show major version","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"verminor","type":"argv","summary":"Show minor version","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"verpatch","type":"argv","summary":"Show patch version","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"which","type":"argv","summary":"Which shell command","description":"","args_str":" <command>","args":[{"type":"string","name":"command","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"t","type":"group","summary":"Types, noreturn, signatures, C parser and more","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":16,"modes":["standard","json","long"],"children":[{"cmd":"t","type":"argv_modes","summary":"List all types / Show type information","description":"When <type> is provided, the pf-format for the given type is provided, otherwise all types are listed.","args_str":" [<type>]","args":[{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long"],"children":[]},{"cmd":"t-","type":"argv","summary":"Remove the type","description":"","args_str":" <type>","args":[{"type":"unknown","name":"type","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"t-*","type":"argv","summary":"Remove all types","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"tc","type":"group","summary":"List loaded types in C format","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"tc","type":"argv","summary":"List loaded types in C format with newlines","description":"","args_str":" [<type>]","args":[{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"tcd","type":"argv","summary":"List loaded types in C format without newlines","description":"","args_str":" [<type>]","args":[{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"tcc","type":"group","summary":"Manage calling convention types","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":["standard","json","sdb","long"],"children":[{"cmd":"tcc","type":"argv_modes","summary":"List all calling conventions","description":"","args_str":" [<type>]","args":[{"type":"string","name":"type","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","sdb","long"],"children":[]},{"cmd":"tcc-","type":"argv","summary":"Remove the calling convention","description":"","args_str":" <type>","args":[{"type":"string","name":"type","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"tcc-*","type":"argv","summary":"Remove all calling conventions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]}]},{"cmd":"td","type":"group","summary":"Define types from a C definition or a pf format string","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"td","type":"argv","summary":"Define type from C definition","description":"","args_str":" <type>","args":[{"type":"string","name":"type","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"tdf","type":"argv","summary":"Define a type from a pf format string or a saved pf.<name>","description":"","args_str":" <name> <format>","args":[{"type":"string","name":"name","required":true},{"type":"string","name":"format","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"tdf","comment":"define struct rgba from an inline pf format","arg_str":" rgba \"x1x1x1x1 r g b a\""},{"text":"tdf","comment":"define a type from the saved pf.elf_header format","arg_str":" elf_header elf_header"}]}],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"te","type":"group","summary":"List loaded enums","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":5,"modes":["standard","json"],"children":[{"cmd":"te","type":"argv_modes","summary":"List loaded enums / Show enum member","description":"","args_str":" [<enum> [<value>]]","args":[{"type":"unknown","name":"enum"},{"type":"string","name":"value","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"teb","type":"argv","summary":"Show enum bitfield","description":"","args_str":" <enum> <field>","args":[{"type":"unknown","name":"enum","required":true},{"type":"string","name":"field","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"tec","type":"argv","summary":"Show enum in the C output format","description":"","args_str":" [<enum>]","args":[{"type":"unknown","name":"enum"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ted","type":"argv","summary":"Show enum in the C output format without newlines","description":"","args_str":" [<enum>]","args":[{"type":"unknown","name":"enum"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"tef","type":"argv","summary":"Find enum and member by the member value","description":"","args_str":" <value>","args":[{"type":"string","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"tf","type":"group","summary":"List loaded functions definitions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":["standard","json"],"children":[{"cmd":"tf","type":"argv_modes","summary":"List loaded function definitions / Show function signature","description":"","args_str":" [<type>]","args":[{"type":"string","name":"type","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"tf-","type":"argv","summary":"Remove the function type by name","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"tf-*","type":"argv","summary":"Remove all function types","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"tfc","type":"argv","summary":"Show or set function calling convention","description":"","args_str":" <name> [<cc>]","args":[{"type":"string","name":"name","required":true},{"type":"string","name":"cc","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"tn","type":"group","summary":"Manage noreturn function attributes and marks","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":["standard","json"],"children":[{"cmd":"tn","type":"argv_modes","summary":"List all noreturn references / Add a noreturn function","description":"","args_str":" [<name>]","args":[{"type":"string","name":"name","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"tn-","type":"argv","summary":"Remove the noreturn reference","description":"","args_str":" <name1> <name2> ...","args":[{"type":"string","name":"name","required":true,"is_array":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"tn-*","type":"argv","summary":"Remove all noreturn references","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"to","type":"group","summary":"Open C header file and load types from it","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"to","type":"argv","summary":"Open C header file and load types from it","description":"","args_str":" <file>","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"toe","type":"argv","summary":"Open cfg.editor to edit type","description":"","args_str":" <type>","args":[{"type":"unknown","name":"type","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"tos","type":"argv","summary":"Open SDB file and load types from it","description":"","args_str":" <file>","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"tp","type":"group","summary":"Print formatted type casted to the address","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"tp","type":"argv","summary":"Print formatted type casted to the address or variable","description":"","args_str":" <type> [<address>]","args":[{"type":"unknown","name":"type","required":true},{"type":"string","name":"address","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"tpv","type":"argv","summary":"Print formatted type casted to the value","description":"","args_str":" <type> [<value>]","args":[{"type":"unknown","name":"type","required":true},{"type":"string","name":"value","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"tpx","type":"argv","summary":"Print formatted type casted to the hexadecimal sequence","description":"","args_str":" <type> <hexpairs>","args":[{"type":"unknown","name":"type","required":true},{"type":"string","name":"hexpairs","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"tr","type":"argv","summary":"Rename a type and update every type and function type that references it","description":"","args_str":" <old> <new>","args":[{"type":"unknown","name":"old","required":true},{"type":"string","name":"new","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"tr","comment":"rename the type struct_a to struct_b, updating all its users","arg_str":" struct_a struct_b"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ts","type":"group","summary":"List loaded structures","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":["standard","json","long"],"children":[{"cmd":"ts","type":"argv_modes","summary":"List loaded structures / Show pf format string for given structure","description":"","args_str":" [<type>]","args":[{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long"],"children":[]},{"cmd":"tsc","type":"argv","summary":"Show structure in the C output format with newlines","description":"","args_str":" [<type>]","args":[{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"tsd","type":"argv","summary":"Show structure in the C output format without newlines","description":"","args_str":" [<type>]","args":[{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"tt","type":"group","summary":"List loaded typedefs","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":["standard","json"],"children":[{"cmd":"tt","type":"argv_modes","summary":"List loaded typedefs / Show name for given type alias","description":"","args_str":" [<type>]","args":[{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"ttc","type":"argv","summary":"Show typedef in the C output format","description":"","args_str":" [<type>]","args":[{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"tu","type":"group","summary":"List loaded unions","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":["standard","json","long"],"children":[{"cmd":"tu","type":"argv_modes","summary":"List loaded unions / Show pf format string for given union","description":"","args_str":" [<type>]","args":[{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long"],"children":[]},{"cmd":"tuc","type":"argv","summary":"Show union in the C output format with newlines","description":"","args_str":" [<type>]","args":[{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"tud","type":"argv","summary":"Show union in the C output format without newlines","description":"","args_str":" [<type>]","args":[{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"tx","type":"group","summary":"Type xrefs","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":[],"children":[{"cmd":"tx","type":"argv","summary":"List functions using the type","description":"","args_str":" [<type>]","args":[{"type":"unknown","name":"type"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"txf","type":"argv","summary":"List all types used in the function","description":"","args_str":" [<address>]","args":[{"type":"string","name":"address","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"txg","type":"argv","summary":"Render the type xrefs graph","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"txl","type":"argv","summary":"List all types used by any function","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"tk","type":"group","summary":"Manage the typeclasses of types","description":"Typeclasses classify atomic types by the general kind of value they hold, independently of their concrete name or size, so the analysis can pick a suitable type generically (for example any signed integer). The available typeclasses are Num (any number), Integral (any integer), Floating (any floating point number), Address (integer types used to work with pointers), Signed Integral and Unsigned Integral (the signed and unsigned subclasses of Integral) and None (the most generic one, used when no specific typeclass applies).","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"tk","type":"argv","summary":"Show the typeclass of the given type","description":"","args_str":" <type>","args":[{"type":"unknown","name":"type","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"tkl","type":"argv_modes","summary":"List all typeclasses, or the types belonging to each of them","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json","long","table"],"children":[]},{"cmd":"tks","type":"argv","summary":"Set the typeclass of a type","description":"","args_str":" <type> <typeclass>","args":[{"type":"unknown","name":"type","required":true},{"type":"string","name":"typeclass","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"tks","comment":"treat the int type as the Floating typeclass","arg_str":" int Floating"},{"text":"tks","comment":"set a typeclass whose name contains a space (quote it)","arg_str":" int \"Signed Integral\""}]}],"executable":true,"n_children":0,"modes":[],"children":[]}]}]},{"cmd":"V","type":"group","summary":"Interactive mode","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":8,"modes":[],"children":[{"cmd":"V","type":"argv","summary":"Enter interactive visual mode","description":"Use Rizin (mostly) without shell. Scrolling disassembly, debugging, searching or graph views. All with a few keyboard shortcuts.","args_str":" [<key-sequence>]","args":[{"type":"string","name":"key-sequence","is_last":true}],"details":[{"name":"Parameters","entries":[{"text":"V","comment":"The <key-sequence> argument is a string of keys to press directly after entering the visual mode. See 'VH' or 'VHH' for a full list of valid keys.","arg_str":" <key_sequence>"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"VH","type":"argv","summary":"Show most common keys shortcuts of the visual mode.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"VHH","type":"argv","summary":"Show all keys shortcuts of the visual mode.","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Vp","type":"argv","summary":"Enter interactive visual mode and select next mode (alias for 'V p').","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Vpp","type":"argv","summary":"Enter interactive visual mode and select the mode after next (alias for 'V pp').","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Vv","type":"argv","summary":"Enter interactive visual mode and select the view management (alias for 'V v').","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"Ve","type":"argv","summary":"Enter interactive visual mode and select the configurations toggle (alias for 'V e').","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"VV","type":"argv","summary":"Enter interactive visual mode and select the function graph (alias for 'V V').","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"v","type":"group","summary":"Interactive panel mode","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":3,"modes":[],"children":[{"cmd":"v","type":"argv","summary":"Enter interactive panel mode","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"vl","type":"argv","summary":"Load panel layout","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"vs","type":"argv","summary":"Store panel layout","description":"","args_str":" <name>","args":[{"type":"string","name":"name","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"w","type":"group","summary":"Write commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":21,"modes":[],"children":[{"cmd":"w","type":"argv","summary":"Write string","description":"","args_str":" <string>","args":[{"type":"string","name":"string","required":true,"is_last":true}],"details":[{"name":"Examples","entries":[{"text":"w","comment":"Write the chars '1', '2', '3' and a newline","arg_str":" 123\\n"},{"text":"w","comment":"Write the chars 'a', 'b', a NUL, 'c', 'd' and another NUL","arg_str":" ab\\0cd\\0"}]},{"name":"Escape sequences","entries":[{"text":"\\0","comment":"NUL (0x0)","arg_str":""},{"text":"\\a","comment":"Bell (0x7)","arg_str":""},{"text":"\\b","comment":"Backspace (0x8)","arg_str":""},{"text":"\\e","comment":"Escape (0x1b)","arg_str":""},{"text":"\\f","comment":"Form feed (0xc)","arg_str":""},{"text":"\\n","comment":"Newline (0xa)","arg_str":""},{"text":"\\r","comment":"Carriage return (0xd)","arg_str":""},{"text":"\\t","comment":"Tab (0x9)","arg_str":""},{"text":"\\v","comment":"Vertical tab (0xb)","arg_str":""},{"text":"\\\\","comment":"Backslash ('\\')","arg_str":""},{"text":"\\xhh","comment":"Byte in hexadecimal","arg_str":""},{"text":"\\nnn","comment":"Byte in octal (eg. \\033 for the escape char)","arg_str":""}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wB","type":"group","summary":"Set or unset bits with given value","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"wB","type":"argv","summary":"Set bits with given value","description":"Set the bits that are set in the value passed as arguments. 0 bits in the value argument are ignored, while the others are set at the current offset.","args_str":" <value>","args":[{"type":"number","name":"value","required":true}],"details":[{"name":"Examples","entries":[{"text":"wB","comment":"Sets the 5th bit at current offset, leaving all other bits intact.","arg_str":" 0x20"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wB-","type":"argv","summary":"Unset bits with given value","description":"Unset the bits that are set in the value passed as arguments. 0 bits in the value argument are ignored, while the others are unset at the current offset","args_str":" <value>","args":[{"type":"number","name":"value","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"wv","type":"group","summary":"Write value of given size","description":"","args_str":"","args":[],"details":[{"name":"Examples","entries":[{"text":"wv","comment":"Write the value 0xdeadbeef at current offset","arg_str":" 0xdeadbeef"},{"text":"wv2","comment":"Write the word 0xdead at current offset","arg_str":" 0xdead"},{"text":"wv1","comment":"Write the byte 0xde at current offset","arg_str":" 0xde"}]}],"executable":true,"n_children":5,"modes":[],"children":[{"cmd":"wv","type":"argv","summary":"Write value as 4-bytes/8-bytes based on value","description":"Write the number passed as argument at the current offset as a 4 - bytes value or 8 - bytes value if the input is bigger than UT32_MAX, respecting the cfg.bigendian variable","args_str":" <value>","args":[{"type":"number","name":"value","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wv1","type":"argv","summary":"Write value of 1 byte","description":"Write the number passed as argument at the current offset as 1 - byte, respecting the cfg.bigendian variable","args_str":" <value>","args":[{"type":"number","name":"value","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wv2","type":"argv","summary":"Write value of 2 byte","description":"Write the number passed as argument at the current offset as 2 - bytes, respecting the cfg.bigendian variable","args_str":" <value>","args":[{"type":"number","name":"value","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wv4","type":"argv","summary":"Write value of 4 byte","description":"Write the number passed as argument at the current offset as 4 - bytes, respecting the cfg.bigendian variable","args_str":" <value>","args":[{"type":"number","name":"value","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wv8","type":"argv","summary":"Write value of 8 byte","description":"Write the number passed as argument at the current offset as 8 - bytes, respecting the cfg.bigendian variable","args_str":" <value>","args":[{"type":"number","name":"value","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"w0","type":"argv","summary":"Write <len> bytes with value 0x00","description":"Fill <len> bytes starting from the current offset with the value 0.","args_str":" <len>","args":[{"type":"number","name":"len","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"w","type":"inner","summary":"Increment/decrement byte, word, ...","description":"","args_str":" [<n>]","args":[],"details":[],"executable":false,"n_children":4,"modes":[],"children":[{"cmd":"w1","type":"group","summary":"Increment/decrement a byte","description":"","args_str":"","args":[],"details":[{"name":"Examples","entries":[{"text":"w1+","comment":"Add 1 to the byte at the current offset.","arg_str":""},{"text":"w1-","comment":"Subtract 1 to the byte at the current offset.","arg_str":""},{"text":"w1-","comment":"Subtract 9 to the byte at the current offset.","arg_str":" 9"}]}],"executable":false,"n_children":2,"modes":[],"children":[{"cmd":"w1+","type":"argv","summary":"Increment a byte","description":"Increment a byte at the current offset by 1 or <n>, if specified","args_str":" [<n>]","args":[{"type":"number","name":"n"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"w1-","type":"argv","summary":"Decrement a byte","description":"Decrement a byte at the current offset by 1 or <n>, if specified","args_str":" [<n>]","args":[{"type":"number","name":"n"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"w2","type":"group","summary":"Increment/decrement a word","description":"","args_str":"","args":[],"details":[{"name":"Examples","entries":[{"text":"w2+","comment":"Add 1 to the word at the current offset.","arg_str":""},{"text":"w2-","comment":"Subtract 1 to the word at the current offset.","arg_str":""},{"text":"w2-","comment":"Subtract 9 to the word at the current offset.","arg_str":" 9"}]}],"executable":false,"n_children":2,"modes":[],"children":[{"cmd":"w2+","type":"argv","summary":"Increment a word","description":"Increment a word at the current offset by 1 or <n>, if specified","args_str":" [<n>]","args":[{"type":"number","name":"n"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"w2-","type":"argv","summary":"Decrement a word","description":"Decrement a word at the current offset by 1 or <n>, if specified","args_str":" [<n>]","args":[{"type":"number","name":"n"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"w4","type":"group","summary":"Increment/decrement a dword","description":"","args_str":"","args":[],"details":[{"name":"Examples","entries":[{"text":"w4+","comment":"Add 1 to the dword at the current offset.","arg_str":""},{"text":"w4-","comment":"Subtract 1 to the dword at the current offset.","arg_str":""},{"text":"w4-","comment":"Subtract 9 to the dword at the current offset.","arg_str":" 9"}]}],"executable":false,"n_children":2,"modes":[],"children":[{"cmd":"w4+","type":"argv","summary":"Increment a dword","description":"Increment a dword at the current offset by 1 or <n>, if specified","args_str":" [<n>]","args":[{"type":"number","name":"n"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"w4-","type":"argv","summary":"Decrement a dword","description":"Decrement a dword at the current offset by 1 or <n>, if specified","args_str":" [<n>]","args":[{"type":"number","name":"n"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"w8","type":"group","summary":"Increment/decrement a qword","description":"","args_str":"","args":[],"details":[{"name":"Examples","entries":[{"text":"w8+","comment":"Add 1 to the qword at the current offset.","arg_str":""},{"text":"w8-","comment":"Subtract 1 to the qword at the current offset.","arg_str":""},{"text":"w8-","comment":"Subtract 9 to the qword at the current offset.","arg_str":" 9"}]}],"executable":false,"n_children":2,"modes":[],"children":[{"cmd":"w8+","type":"argv","summary":"Increment a qword","description":"Increment a qword at the current offset by 1 or <n>, if specified","args_str":" [<n>]","args":[{"type":"number","name":"n"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"w8-","type":"argv","summary":"Decrement a qword","description":"Decrement a qword at the current offset by 1 or <n>, if specified","args_str":" [<n>]","args":[{"type":"number","name":"n"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]}]},{"cmd":"w6","type":"group","summary":"Write base64 [d]ecoded or [e]ncoded string","description":"","args_str":"","args":[],"details":[{"name":"Examples","entries":[{"text":"w6d","comment":"Write the string \"HelloWorld\" (without quotes) at current offset.","arg_str":" SGVsbG9Xb3JsZAo="},{"text":"w6e","comment":"Write the string \"SGVsbG9Xb3JsZAo=\" (without quotes) at current offset.","arg_str":" 48656c6c6f576f726c64"}]}],"executable":false,"n_children":2,"modes":[],"children":[{"cmd":"w6d","type":"argv","summary":"Write the base64-decoded bytes","description":"Base64-Decode the string passed as argument and write it at the current offset.","args_str":" <base64>","args":[{"type":"string","name":"base64","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"w6e","type":"argv","summary":"Write the base64-encoded bytes","description":"Base64-Encode the hex string passed as argument and write it at the current offset","args_str":" <hexstring>","args":[{"type":"string","name":"hexstring","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"we","type":"group","summary":"Extend write operations (insert bytes instead of replacing)","description":"","args_str":"","args":[],"details":[],"executable":false,"n_children":3,"modes":[],"children":[{"cmd":"wen","type":"argv","summary":"Insert <len> null bytes at <addr> or current offset and extend the file at current offset","description":"","args_str":" <len> [<addr>]","args":[{"type":"expression","name":"len","required":true},{"type":"expression","name":"addr","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wes","type":"argv","summary":"Shift <len> bytes at current offset left or right based on <dist>","description":"Shift the bytes at current offset left or right, based on the value of <dist>. Positive <dist> shifts the data right, negative <dist> shifts the data left. The amount of data to be shifted is either <len>, if specified, or the whole remaining file otherwise.","args_str":" <dist> [<len>]","args":[{"type":"expression","name":"dist","required":true},{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wex","type":"argv","summary":"Insert <hex_bytes> at <addr> or current offset and extend the file at current offset","description":"","args_str":" <bytes> [<addr>]","args":[{"type":"string","name":"bytes","required":true},{"type":"expression","name":"addr","is_last":true}],"details":[{"name":"Examples","entries":[{"text":"wex","comment":"Insert the characters \"ABC\" at the current offset and extend the file","arg_str":" 414243"}]}],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"wu","type":"argv","summary":"Apply unified hex patch (see output of cu)","description":"","args_str":" <file>","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wr","type":"argv","summary":"Write <len> random bytes","description":"","args_str":" <len>","args":[{"type":"expression","name":"len","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wc","type":"group","summary":"Write cache commands","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":7,"modes":["standard","json"],"children":[{"cmd":"wc","type":"argv_state","summary":"List all write changes in the cache","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"wc-","type":"argv","summary":"Remove write operation at current offset or in the given range","description":"","args_str":" [<from> [<to>]]","args":[{"type":"expression","name":"from"},{"type":"expression","name":"to","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wc-*","type":"argv","summary":"Reset the cache","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wc+","type":"argv","summary":"Commit cache from address <from> up to <to> or one blocksize","description":"","args_str":" <from> [<to>]","args":[{"type":"expression","name":"from","required":true},{"type":"expression","name":"to","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wci","type":"argv","summary":"Commit the cache","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wcp","type":"argv_state","summary":"List all write changes in the p-cache","description":"","args_str":" [<fd>]","args":[{"type":"number","name":"fd"}],"details":[],"executable":true,"n_children":0,"modes":["standard"],"children":[]},{"cmd":"wcpi","type":"argv","summary":"Commit p-cache for specified <fd> or current file","description":"","args_str":" [<fd>]","args":[{"type":"number","name":"fd"}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"wz","type":"argv","summary":"Write zero-terminated string","description":"","args_str":" <string>","args":[{"type":"string","name":"string","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wf","type":"group","summary":"Write data from file, socket, offset","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":[],"children":[{"cmd":"wf","type":"argv","summary":"Write <size> bytes from <addr> into current offset","description":"","args_str":" <addr> <size>","args":[{"type":"expression","name":"addr","required":true},{"type":"expression","name":"size","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wfx","type":"argv","summary":"Exchange <size> bytes between <addr> and current offset","description":"","args_str":" <addr> <size>","args":[{"type":"expression","name":"addr","required":true},{"type":"expression","name":"size","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wff","type":"argv","summary":"Write data from <file> into current offset","description":"","args_str":" <file> [<size> [<offset>]]","args":[{"type":"filename","name":"file","required":true},{"type":"expression","name":"size"},{"type":"expression","name":"offset","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wfs","type":"argv","summary":"Write data from socket into current offset","description":"","args_str":" <host:port> [<size>]","args":[{"type":"string","name":"host:port","required":true},{"type":"expression","name":"size","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"ww","type":"argv","summary":"Write wide (16-bit) little-endian string","description":"","args_str":" <string>","args":[{"type":"string","name":"string","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wx","type":"group","summary":"Write hexadecimal data","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"wx","type":"argv","summary":"Write hexadecimal data <hex> into current offset","description":"","args_str":" <hex>","args":[{"type":"string","name":"hex","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wxf","type":"argv","summary":"Write hexadecimal data from file <file> into current offset","description":"","args_str":" <file|->","args":[{"type":"filename","name":"file|-","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"wa","type":"group","summary":"Write opcodes","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":4,"modes":[],"children":[{"cmd":"wa","type":"argv","summary":"Assemble instruction(s) and write bytes at current offset","description":"Assemble the <instructions> provided as argument considering the current architecture and bits in asm.arch/asm.bits and write the resulting bytes at the current offset.","args_str":" <instructions1> <instructions2> ...","args":[{"type":"string","name":"instructions","required":true,"is_array":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wai","type":"argv","summary":"Assemble instruction(s) and write bytes inside the current instruction","description":"Assemble the <instructions> provided as argument considering the current architecture and bits in asm.arch/asm.bits and write the resulting bytes \"inside\" the current instruction, by filling the remaining bytes of the old instruction with nop bytes.","args_str":" <instructions1> <instructions2> ...","args":[{"type":"string","name":"instructions","required":true,"is_array":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"waf","type":"argv","summary":"Assemble file and write bytes at current offset","description":"Assemble the assembly file <file> provided as argument considering the current architecture and bits in asm.arch/asm.bits and write the resulting bytes at the current offset.","args_str":" <file>","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wao","type":"argv","summary":"Write on the current opcode","description":"","args_str":" <op>","args":[{"type":"string","name":"op","required":true,"is_last":true}],"details":[{"name":"Operators","entries":[{"text":"wao","comment":"Make the current instruction a no operation","arg_str":" nop"},{"text":"wao","comment":"Assemble an infinite loop","arg_str":" jinf"},{"text":"wao","comment":"Make the current conditional instruction a jump-if-zero","arg_str":" jz"},{"text":"wao","comment":"Make the current conditional instruction a jump-if-not-zero","arg_str":" jnz"},{"text":"wao","comment":"Make the current instruction return 1","arg_str":" ret1"},{"text":"wao","comment":"Make the current instruction return 0","arg_str":" ret0"},{"text":"wao","comment":"Make the current instruction return -1","arg_str":" retn"},{"text":"wao","comment":"Make the current conditional instruction unconditional","arg_str":" nocj"},{"text":"wao","comment":"Make the current instruction a trap (e.g. int3 in x86)","arg_str":" trap"},{"text":"wao","comment":"Swap the condition of the current conditional instruction","arg_str":" recj"}]}],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"wb","type":"argv","summary":"Write in current block a hexstring cyclically","description":"","args_str":" <hex>","args":[{"type":"string","name":"hex","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wm","type":"group","summary":"Set binary mask hexpair to be used as cyclic write mask","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"wm","type":"argv","summary":"Set a write mask","description":"Set a write mask that is applied whenever a following write operation is performed. Data will be masked as if the first byte of data is in arithmetic AND (&) with the first byte of the mask, the second byte of data with the second byte of the mask, and so on.","args_str":" <hex_mask>","args":[{"type":"string","name":"hex_mask","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wm-","type":"argv","summary":"Remove the write mask","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"wo","type":"group","summary":"Write a block with a special operation","description":"","args_str":"","args":[],"details":[{"name":"Examples","entries":[{"text":"woa","comment":"Content before: 1122334455 ; Content after: 3142536475","arg_str":" 20"},{"text":"wos","comment":"Content before: 1122334455 ; Content after: f101132335","arg_str":" 2021"},{"text":"wo4","comment":"Content before: 1122334455667788; Content after: 4433221188776655","arg_str":""}]}],"executable":false,"n_children":15,"modes":[],"children":[{"cmd":"wo2","type":"argv","summary":"Swap the endianess of 2-bytes values in the current block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wo4","type":"argv","summary":"Swap the endianess of 4-bytes values in the current block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wo8","type":"argv","summary":"Swap the endianess of 8-bytes values in the current block","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"woa","type":"argv","summary":"Add each existing byte in the block with the given <value>","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"woA","type":"argv","summary":"Bitwise-and each existing byte in the block with the given <value>","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wod","type":"argv","summary":"Divide each existing byte in the block with the given <value>","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wol","type":"argv","summary":"Bitwise-shift-left each existing byte in the block with the given <value>","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wom","type":"argv","summary":"Multiply each existing byte in the block with the given <value>","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"woo","type":"argv","summary":"Bitwise-or each existing byte in the block with the given <value>","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wor","type":"argv","summary":"Bitwise-shift-right each existing byte in the block with the given <value>","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wos","type":"argv","summary":"Subtract each existing byte in the block with the given <value>","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wox","type":"argv","summary":"Bitwise-xor each existing byte in the block with the given <value>","description":"","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"woe","type":"argv","summary":"Write a sequence repeatedly with values from <from> up to <to> in the block","description":"Write a sequence of data to fill the whole block at the current offset. The sequence is formed starting from <from> up to <to>, with an increment specified in <step>. Each value is written as a <value_size>-bytes value, according to the endianess specified in cfg.bigendian.","args_str":" <from> <to> <step>=1 <value_size>=1","args":[{"type":"number","name":"from","required":true},{"type":"number","name":"to","required":true},{"type":"number","name":"step","required":true,"default":"1"},{"type":"number","name":"value_size","required":true,"default":"1"}],"details":[{"name":"Examples","entries":[{"text":"woe","comment":"Write 010203010203010203","arg_str":" 1 3 1"},{"text":"woe","comment":"Write 010301030103010301","arg_str":" 1 4 2"},{"text":"woe","comment":"Write 010305020401030502","arg_str":" 1 5 2"},{"text":"woe","comment":"Write 01000200030001000200","arg_str":" 1 3 1 2"}]}],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"woD","type":"argv","summary":"Decrypt current block with given <algo>, <key> and optional <IV>","description":"","args_str":" <algo> <key> [<IV>]","args":[{"type":"string","name":"algo","required":true},{"type":"string","name":"key","required":true},{"type":"string","name":"IV","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"woE","type":"argv","summary":"Encrypt current block with given <algo>, <key> and optional <IV>","description":"","args_str":" <algo> <key> [<IV>]","args":[{"type":"string","name":"algo","required":true},{"type":"string","name":"key","required":true},{"type":"string","name":"IV","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"wD","type":"group","summary":"Write de Bruijn pattern","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":2,"modes":[],"children":[{"cmd":"wD","type":"argv","summary":"Write a de Bruijn pattern of length <len> at the current offset","description":"","args_str":" <len>","args":[{"type":"expression","name":"len","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"wD/","type":"argv","summary":"Returns the offset where <value> can be found in a de Bruijn pattern","description":"It search for a particular value in the pattern as returned by the `wD` command. <value> is assumed to be a number of as few bytes as necessary, in the endian specified by cfg.bigendian.","args_str":" <value>","args":[{"type":"expression","name":"value","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"wd","type":"argv","summary":"Duplicate <len> bytes from <src> offset to current seek","description":"","args_str":" <src> <len>","args":[{"type":"expression","name":"src","required":true},{"type":"expression","name":"len","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ws","type":"argv","summary":"Write 1 byte for length and then the string","description":"","args_str":" <string>","args":[{"type":"string","name":"string","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"x","type":"argv_state","summary":"Alias for 'px' (print hexdump).","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json"],"children":[]},{"cmd":"xc","type":"argv","summary":"Alias for 'pxc' (show hexdump with comments).","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"y","type":"group","summary":"Yank/paste bytes from/to memory","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":11,"modes":["standard","json","quiet"],"children":[{"cmd":"y","type":"argv_state","summary":"Yank bytes / Show yank contents","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":["standard","json","quiet"],"children":[]},{"cmd":"ye","type":"argv","summary":"Open cfg.editor to edit the clipboard","description":"","args_str":"","args":[],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"yf","type":"argv","summary":"Yank <len> bytes from file","description":"","args_str":" <len> <file>","args":[{"type":"expression","name":"len","required":true},{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"yfa","type":"argv","summary":"Yank whole file into clipboard","description":"","args_str":" <file>","args":[{"type":"filename","name":"file","required":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"yp","type":"argv","summary":"Print contents of clipboards as raw data","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ys","type":"argv","summary":"Print contents of clipboards as string","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"yt","type":"argv","summary":"Copy <len> bytes from current seek to <offset>","description":"","args_str":" <len> <offset>","args":[{"type":"expression","name":"len","required":true},{"type":"expression","name":"offset","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"ywx","type":"argv","summary":"Yank from hexpairs string","description":"","args_str":" <string>","args":[{"type":"string","name":"string","required":true,"is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"yx","type":"argv","summary":"Print contents of clipboard in hexadecimal","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"yy","type":"argv","summary":"Paste <len> bytes from yank clipboard","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]},{"cmd":"yz","type":"argv","summary":"Copy NULL-terminated string into clipboard","description":"","args_str":" [<len>]","args":[{"type":"expression","name":"len","is_last":true}],"details":[],"executable":true,"n_children":0,"modes":[],"children":[]}]},{"cmd":"|","type":"fake","summary":"Pipe help ('|')","description":"","args_str":"","args":[],"details":[{"name":"","entries":[{"text":"<cmd> |","comment":"Disable scr.html and scr.color","arg_str":""},{"text":"<cmd> |H","comment":"Enable scr.html, respect scr.color","arg_str":""},{"text":"<cmd> |","comment":"Pipe output of command to program","arg_str":" <program>"},{"text":"<cmd> |.","comment":"Alias for .<cmd>","arg_str":""}]}],"executable":false,"n_children":0,"modes":[],"children":[]},{"cmd":"~","type":"fake","summary":"Internal grep help ('~')","description":"","args_str":"","args":[],"details":[{"name":"Modifiers","entries":[{"text":"&","comment":"All words must match to grep the line","arg_str":""},{"text":"$[n]","comment":"Sort numerically / alphabetically the Nth column","arg_str":""},{"text":"$!","comment":"Sort in inverse order","arg_str":""},{"text":",","comment":"Token to define another keyword","arg_str":""},{"text":"+","comment":"Set the grep as the opposite of search.case_sensitive","arg_str":""},{"text":"^","comment":"Words must be placed at the beginning of line, after whitespace if any","arg_str":""},{"text":"<","comment":"Perform zoom operation on the buffer","arg_str":""},{"text":"!","comment":"Negate grep","arg_str":""},{"text":"?","comment":"Count number of matching lines","arg_str":""},{"text":"?.","comment":"Count number chars","arg_str":""},{"text":":s..e","comment":"Show lines s-e","arg_str":""},{"text":"..","comment":"Internal 'less'","arg_str":""},{"text":"...","comment":"Internal 'hud' (like V_)","arg_str":""},{"text":"{:","comment":"Human friendly indentation (yes, it's a smiley)","arg_str":""},{"text":"{:..","comment":"Less the output of {:","arg_str":""},{"text":"{:...","comment":"Hud the output of {:","arg_str":""},{"text":"{}","comment":"Json indentation","arg_str":""},{"text":"{}..","comment":"Less json indentation","arg_str":""},{"text":"{}...","comment":"Hud json indentation","arg_str":""},{"text":"{path}","comment":"Json path grep","arg_str":""}]},{"name":"EndModifiers","entries":[{"text":"$","comment":"Words must be placed at the end of line","arg_str":""}]},{"name":"Columns","entries":[{"text":"[n]","comment":"Show only columns n","arg_str":""},{"text":"[n-m]","comment":"Show column n to m","arg_str":""},{"text":"[n-]","comment":"Show all columns starting from column n","arg_str":""},{"text":"[i,j,k]","comment":"Show the columns i, j and k","arg_str":""}]},{"name":"Examples","entries":[{"text":"i","comment":"Show first line of 'i' output","arg_str":"~:0"},{"text":"i","comment":"Show from the second-last line to the last line of 'i' output","arg_str":"~:-2.."},{"text":"i","comment":"Show first three lines of 'i' output","arg_str":"~:..3"},{"text":"i","comment":"Show three lines of 'i' output starting from 2nd line","arg_str":"~:2..5"},{"text":"pd","comment":"Disasm and grep for mov","arg_str":"~mov"},{"text":"pi","comment":"Show only opcode","arg_str":"~[0]"},{"text":"i","comment":"Show lines ending with 0x400","arg_str":"~0x400$"}]}],"executable":false,"n_children":0,"modes":[],"children":[]}]}} +EOF +RUN + NAME=no-nl-at-eof script FILE== CMDS=!rizin -i scripts/no-nl-at-eof.rz -Nq = diff --git a/test/unit/test_cmd.c b/test/unit/test_cmd.c index 13a871dfc86..8dbfc460480 100644 --- a/test/unit/test_cmd.c +++ b/test/unit/test_cmd.c @@ -738,6 +738,48 @@ bool test_foreach_cmdname(void) { mu_end; } +typedef struct cmd_desc_visit_state_t { + const char *pre[5]; + const char *post[5]; + size_t n_pre; + size_t n_post; +} CmdDescVisitState; + +static void foreach_tree_pre_cb(RZ_UNUSED RzCmd *cmd, const RzCmdDesc *desc, void *user) { + CmdDescVisitState *state = user; + state->pre[state->n_pre++] = desc->name; +} + +static void foreach_tree_post_cb(RZ_UNUSED RzCmd *cmd, const RzCmdDesc *desc, void *user) { + CmdDescVisitState *state = user; + state->post[state->n_post++] = desc->name; +} + +bool test_foreach_tree_pre_post(void) { + RzCmd *cmd = rz_cmd_new(NULL, false); + RzCmdDesc *root = rz_cmd_get_root(cmd); + RzCmdDesc *a_cd = rz_cmd_desc_group_new(cmd, root, "a", NULL, NULL, &fake_help); + RzCmdDesc *ab_cd = rz_cmd_desc_group_new(cmd, a_cd, "ab", NULL, NULL, &fake_help); + rz_cmd_desc_argv_new(cmd, ab_cd, "abd", zd_handler, &fake_help); + RzCmdDesc *ac_cd = rz_cmd_desc_group_new(cmd, a_cd, "ac", NULL, NULL, &fake_help); + rz_cmd_desc_argv_new(cmd, ac_cd, "ace", zd_handler, &fake_help); + + CmdDescVisitState state = { 0 }; + rz_cmd_desc_foreach_tree_from(cmd, a_cd, foreach_tree_pre_cb, foreach_tree_post_cb, &state); + + const char *exp_pre[] = { "a", "ab", "abd", "ac", "ace" }; + const char *exp_post[] = { "abd", "ab", "ace", "ac", "a" }; + mu_assert_eq(state.n_pre, RZ_ARRAY_SIZE(exp_pre), "pre callback count"); + mu_assert_eq(state.n_post, RZ_ARRAY_SIZE(exp_post), "post callback count"); + for (size_t i = 0; i < RZ_ARRAY_SIZE(exp_pre); i++) { + mu_assert_streq(state.pre[i], exp_pre[i], "pre callback order"); + mu_assert_streq(state.post[i], exp_post[i], "post callback order"); + } + + rz_cmd_free(cmd); + mu_end; +} + bool test_foreach_cmdname_begin(void) { RzCmd *cmd = rz_cmd_new(NULL, false); RzCmdDesc *root = rz_cmd_get_root(cmd); @@ -1479,6 +1521,7 @@ int all_tests() { mu_run_test(test_cmd_argv_state); mu_run_test(test_cmd_group_argv_modes); mu_run_test(test_foreach_cmdname); + mu_run_test(test_foreach_tree_pre_post); mu_run_test(test_foreach_cmdname_begin); mu_run_test(test_arg_escaping); mu_run_test(test_double_quoted_arg_escaping);