Remove asm.bb (asm.bb.line -> asm.lines.bb, asm.bb.middle -> asm.bbmiddle) ##core

* The old asm.lines.bb has been renamed to asm.lines.jmp
* Theres asm.middle, asm.bbmiddle and asm.flags.middle, will be good to clarify
This commit is contained in:
pancake 2021-02-10 01:40:17 +01:00 committed by pancake
parent 993a88f4cd
commit 8fd0290881
17 changed files with 130 additions and 99 deletions

View File

@ -2095,7 +2095,7 @@ static char *get_body(RCore *core, ut64 addr, int size, int opts) {
}
r_config_hold (hc, "asm.lines", "asm.bytes",
"asm.cmt.col", "asm.marks", "asm.offset",
"asm.comments", "asm.cmt.right", "asm.bb.line", NULL);
"asm.comments", "asm.cmt.right", "asm.lines.bb", NULL);
const bool o_comments = r_config_get_i (core->config, "graph.comments");
const bool o_cmtright = r_config_get_i (core->config, "graph.cmtright");
const bool o_bytes = r_config_get_i (core->config, "graph.bytes");
@ -2117,7 +2117,7 @@ static char *get_body(RCore *core, ut64 addr, int size, int opts) {
const char *cmd = (opts & BODY_SUMMARY)? "pds": "pD";
// configure options
r_config_set_i (core->config, "asm.bb.line", false);
r_config_set_i (core->config, "asm.lines.bb", false);
r_config_set_i (core->config, "asm.lines", false);
r_config_set_i (core->config, "asm.cmt.col", 0);
r_config_set_i (core->config, "asm.marks", false);
@ -2125,7 +2125,7 @@ static char *get_body(RCore *core, ut64 addr, int size, int opts) {
r_config_set_i (core->config, "asm.comments", (opts & BODY_SUMMARY) || o_comments);
r_config_set_i (core->config, "asm.bytes",
(opts & (BODY_SUMMARY | BODY_OFFSETS)) || o_bytes || o_flags_in_bytes);
r_config_set_i (core->config, "asm.bb.middle", false);
r_config_set_i (core->config, "asm.bbmiddle", false);
core->print->cur_enabled = false;
if (opts & BODY_OFFSETS || opts & BODY_SUMMARY || o_graph_offset) {

View File

@ -3282,11 +3282,10 @@ R_API int r_core_config_init(RCore *core) {
SETDESC (n, "Realign disassembly if there is a flag in the middle of an instruction");
SETCB ("asm.flags.real", "false", &cb_flag_realnames,
"Show flags' unfiltered realnames instead of names, except realnames from demangling");
SETBPREF ("asm.bb.line", "false", "Show empty line after every basic block");
SETBPREF ("asm.bb.middle", "true", "Realign disassembly if a basic block starts in the middle of an instruction");
SETBPREF ("asm.lbytes", "true", "Align disasm bytes to left");
SETBPREF ("asm.lines", "true", "Show ASCII-art lines at disassembly");
SETBPREF ("asm.lines.bb", "true", "Show flow lines at jumps");
SETBPREF ("asm.lines.jmp", "true", "Show flow lines at jumps");
SETBPREF ("asm.lines.bb", "false", "Show empty line after every basic block");
SETBPREF ("asm.lines.call", "false", "Enable call lines");
SETBPREF ("asm.lines.ret", "false", "Show separator lines after ret");
SETBPREF ("asm.lines.out", "true", "Show out of block lines");
@ -3297,6 +3296,7 @@ R_API int r_core_config_init(RCore *core) {
SETICB ("asm.sub.varmin", 0x100, &cb_asmsubvarmin, "Minimum value to substitute in instructions (asm.sub.var)");
SETCB ("asm.sub.tail", "false", &cb_asmsubtail, "Replace addresses with prefix .. syntax");
SETBPREF ("asm.middle", "false", "Allow disassembling jumps in the middle of an instruction");
SETBPREF ("asm.bbmiddle", "true", "Realign disassembly if a basic block starts in the middle of an instruction");
SETBPREF ("asm.noisy", "true", "Show comments considered noisy but possibly useful");
SETBPREF ("asm.offset", "true", "Show offsets in disassembly");
SETBPREF ("hex.offset", "true", "Show offsets in hex-dump");

View File

@ -4128,7 +4128,7 @@ static void __printPattern(RCore *core, const char *_input) {
static void pr_bb(RCore *core, RAnalFunction *fcn, RAnalBlock *b, bool emu, ut64 saved_gp, ut8 *saved_arena, char p_type, bool fromHere) {
bool show_flags = r_config_get_i (core->config, "asm.flags");
const char *orig_bb_middle = r_config_get (core->config, "asm.bb.middle");
const char *orig_bb_middle = r_config_get (core->config, "asm.bbmiddle");
core->anal->gp = saved_gp;
if (fromHere) {
if (b->addr < core->offset) {
@ -4153,11 +4153,11 @@ static void pr_bb(RCore *core, RAnalFunction *fcn, RAnalBlock *b, bool emu, ut64
if (b->parent_stackptr != INT_MAX) {
core->anal->stackptr = b->parent_stackptr;
}
r_config_set_i (core->config, "asm.bb.middle", false);
r_config_set_i (core->config, "asm.bbmiddle", false);
p_type == 'D'
? r_core_cmdf (core, "pD %"PFMT64u" @0x%"PFMT64x, b->size, b->addr)
: r_core_cmdf (core, "pI %"PFMT64u" @0x%"PFMT64x, b->size, b->addr);
r_config_set (core->config, "asm.bb.middle", orig_bb_middle);
r_config_set (core->config, "asm.bbmiddle", orig_bb_middle);
if (b->jump != UT64_MAX) {
if (b->jump > b->addr) {
@ -4319,8 +4319,8 @@ static void disasm_recursive(RCore *core, ut64 addr, int count, char type_print)
static void func_walk_blocks(RCore *core, RAnalFunction *f, char input, char type_print, bool fromHere) {
RListIter *iter;
RAnalBlock *b = NULL;
const char *orig_bb_middle = r_config_get (core->config, "asm.bb.middle");
r_config_set_i (core->config, "asm.bb.middle", false);
const char *orig_bb_middle = r_config_get (core->config, "asm.bbmiddle");
r_config_set_i (core->config, "asm.bbmiddle", false);
PJ *pj = NULL;
// XXX: hack must be reviewed/fixed in code analysis
@ -4361,7 +4361,7 @@ static void func_walk_blocks(RCore *core, RAnalFunction *f, char input, char typ
r_cons_printf ("%s\n", pj_string (pj));
pj_free (pj);
} else {
bool asm_lines = r_config_get_i (core->config, "asm.lines.bb");
bool asm_lines = r_config_get_i (core->config, "asm.lines.jmp");
bool emu = r_config_get_i (core->config, "asm.emu");
ut64 saved_gp = 0;
ut8 *saved_arena = NULL;
@ -4370,7 +4370,7 @@ static void func_walk_blocks(RCore *core, RAnalFunction *f, char input, char typ
saved_gp = core->anal->gp;
saved_arena = r_reg_arena_peek (core->anal->reg);
}
r_config_set_i (core->config, "asm.lines.bb", 0);
r_config_set_i (core->config, "asm.lines.jmp", 0);
r_list_foreach (f->bbs, iter, b) {
pr_bb (core, f, b, emu, saved_gp, saved_arena, type_print, fromHere);
}
@ -4382,9 +4382,9 @@ static void func_walk_blocks(RCore *core, RAnalFunction *f, char input, char typ
}
}
core->anal->stackptr = saved_stackptr;
r_config_set_i (core->config, "asm.lines.bb", asm_lines);
r_config_set_i (core->config, "asm.lines.jmp", asm_lines);
}
r_config_set (core->config, "asm.bb.middle", orig_bb_middle);
r_config_set (core->config, "asm.bbmiddle", orig_bb_middle);
}
static inline char cmd_pxb_p(char input) {
@ -5438,8 +5438,8 @@ static int cmd_print(void *data, const char *input) {
if (f && input[2] == 'j') { // "pdfj"
RAnalBlock *b;
ut32 fcn_size = r_anal_function_realsize (f);
const char *orig_bb_middle = r_config_get (core->config, "asm.bb.middle");
r_config_set_i (core->config, "asm.bb.middle", false);
const char *orig_bb_middle = r_config_get (core->config, "asm.bbmiddle");
r_config_set_i (core->config, "asm.bbmiddle", false);
pj = pj_new ();
if (!pj) {
break;
@ -5467,7 +5467,7 @@ static int cmd_print(void *data, const char *input) {
r_cons_printf ("%s\n", pj_string (pj));
pj_free (pj);
pd_result = 0;
r_config_set (core->config, "asm.bb.middle", orig_bb_middle);
r_config_set (core->config, "asm.bbmiddle", orig_bb_middle);
} else if (f) {
ut64 linearsz = r_anal_function_linear_size (f);
ut64 realsz = r_anal_function_realsize (f);

View File

@ -624,7 +624,7 @@ static RDisasmState * ds_init(RCore *core) {
ds->atabsonce = r_config_get_i (core->config, "asm.tabs.once");
ds->atabsoff = r_config_get_i (core->config, "asm.tabs.off");
ds->midflags = r_config_get_i (core->config, "asm.flags.middle");
ds->midbb = r_config_get_i (core->config, "asm.bb.middle");
ds->midbb = r_config_get_i (core->config, "asm.bbmiddle");
ds->midcursor = r_config_get_i (core->config, "asm.midcursor");
ds->decode = r_config_get_i (core->config, "asm.decode");
core->parser->pseudo = ds->pseudo = r_config_get_i (core->config, "asm.pseudo");
@ -649,7 +649,7 @@ static RDisasmState * ds_init(RCore *core) {
ds->asm_types = r_config_get_i (core->config, "asm.types");
ds->foldxrefs = r_config_get_i (core->config, "asm.xrefs.fold");
ds->show_lines = r_config_get_i (core->config, "asm.lines");
ds->show_lines_bb = ds->show_lines ? r_config_get_i (core->config, "asm.lines.bb") : false;
ds->show_lines_bb = ds->show_lines ? r_config_get_i (core->config, "asm.lines.jmp") : false;
ds->linesright = r_config_get_i (core->config, "asm.lines.right");
ds->show_indent = r_config_get_i (core->config, "asm.indent");
ds->indent_space = r_config_get_i (core->config, "asm.indentspace");
@ -668,7 +668,7 @@ static RDisasmState * ds_init(RCore *core) {
ds->asm_describe = r_config_get_i (core->config, "asm.describe");
ds->show_offset = r_config_get_i (core->config, "asm.offset");
ds->show_offdec = r_config_get_i (core->config, "asm.decoff");
ds->show_bbline = r_config_get_i (core->config, "asm.bb.line");
ds->show_bbline = r_config_get_i (core->config, "asm.lines.bb");
ds->show_section = r_config_get_i (core->config, "asm.section");
ds->show_section_col = r_config_get_i (core->config, "asm.section.col");
ds->show_section_perm = r_config_get_i (core->config, "asm.section.perm");
@ -6361,7 +6361,7 @@ R_API int r_core_disasm_pdi_with_buf(RCore *core, ut64 address, ut8 *buf, ut32 n
r_cons_break_push (NULL, NULL);
r_core_seek (core, address, false);
int midflags = r_config_get_i (core->config, "asm.flags.middle");
int midbb = r_config_get_i (core->config, "asm.bb.middle");
int midbb = r_config_get_i (core->config, "asm.bbmiddle");
bool asmmarks = r_config_get_i (core->config, "asm.marks");
r_config_set_b (core->config, "asm.marks", false);
i = 0;

View File

@ -4199,7 +4199,7 @@ R_API void r_core_visual_disasm_up(RCore *core, int *cols) {
R_API void r_core_visual_disasm_down(RCore *core, RAsmOp *op, int *cols) {
int midflags = r_config_get_i (core->config, "asm.flags.middle");
const bool midbb = r_config_get_i (core->config, "asm.bb.middle");
const bool midbb = r_config_get_i (core->config, "asm.bbmiddle");
RAnalFunction *f = NULL;
f = r_anal_get_fcn_in (core->anal, core->offset, 0);
op->size = 1;

View File

@ -42,7 +42,7 @@ RUN
NAME=use java prototypes command to print methods and fields
FILE=malloc://4096
CMDS=e asm.comments=false ; e asm.cmt.flgrefs=false ; e scr.color=false ; e asm.lines.bb=false ; e asm.xrefs=false ; wx cafebabe0000002f004008002208003a08003c0700310700360700370700380700390900040019090004001c090004001d0a000400170a000400180a0006001e0a0006001f0a000600200a000700160a0007001a0a0007001b0a000700210a000800160c002e00250c0031002b0c0031002c0c003100300c003200260c0032002a0c003300300c003400300c003500270c003b00230c003d00280c003e002401000001000328294901001428294c6a6176612f6c616e672f537472696e673b01000328295601001b2843294c6a6176612f6c616e672f537472696e674275666665723b01000428492943010016284949294c6a6176612f6c616e672f537472696e673b010026284c6a6176612f6c616e672f537472696e673b294c6a6176612f6c616e672f537472696e673b01002c284c6a6176612f6c616e672f537472696e673b294c6a6176612f6c616e672f537472696e674275666665723b010038284c6a6176612f6c616e672f537472696e673b4c6a6176612f6c616e672f537472696e673b294c6a6176612f6c616e672f537472696e673b01004a284c6a6176612f6c616e672f537472696e673b4c6a6176612f6c616e672f537472696e673b4c6a6176612f6c616e672f537472696e673b294c6a6176612f6c616e672f537472696e673b0100083c636c696e69743e0100063c696e69743e010004436f64650100124c6a6176612f6c616e672f537472696e673b01000161010006617070656e6401000162010001630100066368617241740100136a6176612f6c616e672f457863657074696f6e0100106a6176612f6c616e672f537472696e670100166a6176612f6c616e672f537472696e674275666665720100106a6176612f7574696c2f566563746f720100086b77696373356a650100066c656e6774680100086f736d666e73656e010009737562737472696e67010008746f537472696e67010008537461636b4d617000310004000800000003000a003100300000000a003300300000000a00340030000000050001002e00250001002f0000001100010001000000052ab70015b1000000000009003100290001002f0000002300030001000000172ab20009b2000ab8000db3000b2ab2000bb8000c594bb000000000000a0031002c0001002f000000dc00040005000000572ab6000f3b12014e04360415049900442db6000f1aa20036bb000759b700112db600132bb600132cb60013b600144cbb000759b700112db600132b031008b60010b60013b600144ea7ffc8033604a7ffbda70004572db00001000b0051005400050001003f0000006b0006000b0005010700060700060700060100000010000501070006070006070006010000004b000501070006070006070006010000005100050107000607000607000601000000540005010700060700060700060100010700050055000501070006070006070006010000000a0031002b0001002f000000bc000400040000003dbb000759b700114d043e1d990029033e1d2ab6000fa2001a2c2a1db6000e2b1db6000e8292b6001257840301a7ffe4033ea7ffd9a70004572cb60014b00001000a0034003700050001003f000000650006000a000407000607000607000701000000100004070006070006070007010000002f00040700060700060700070100000034000407000607000607000701000000370004070006070006070007010001070005003800040700060700060700070100000008002d00250001002f0000001c00010000000000101202b300091203b3000a1201b3000bb1000000000000 ; ib ; af ; java prototypes m ; java prototypes f
CMDS=e asm.comments=false ; e asm.cmt.flgrefs=false ; e scr.color=false ; e asm.lines.jmp=false ; e asm.xrefs=false ; wx cafebabe0000002f004008002208003a08003c0700310700360700370700380700390900040019090004001c090004001d0a000400170a000400180a0006001e0a0006001f0a000600200a000700160a0007001a0a0007001b0a000700210a000800160c002e00250c0031002b0c0031002c0c003100300c003200260c0032002a0c003300300c003400300c003500270c003b00230c003d00280c003e002401000001000328294901001428294c6a6176612f6c616e672f537472696e673b01000328295601001b2843294c6a6176612f6c616e672f537472696e674275666665723b01000428492943010016284949294c6a6176612f6c616e672f537472696e673b010026284c6a6176612f6c616e672f537472696e673b294c6a6176612f6c616e672f537472696e673b01002c284c6a6176612f6c616e672f537472696e673b294c6a6176612f6c616e672f537472696e674275666665723b010038284c6a6176612f6c616e672f537472696e673b4c6a6176612f6c616e672f537472696e673b294c6a6176612f6c616e672f537472696e673b01004a284c6a6176612f6c616e672f537472696e673b4c6a6176612f6c616e672f537472696e673b4c6a6176612f6c616e672f537472696e673b294c6a6176612f6c616e672f537472696e673b0100083c636c696e69743e0100063c696e69743e010004436f64650100124c6a6176612f6c616e672f537472696e673b01000161010006617070656e6401000162010001630100066368617241740100136a6176612f6c616e672f457863657074696f6e0100106a6176612f6c616e672f537472696e670100166a6176612f6c616e672f537472696e674275666665720100106a6176612f7574696c2f566563746f720100086b77696373356a650100066c656e6774680100086f736d666e73656e010009737562737472696e67010008746f537472696e67010008537461636b4d617000310004000800000003000a003100300000000a003300300000000a00340030000000050001002e00250001002f0000001100010001000000052ab70015b1000000000009003100290001002f0000002300030001000000172ab20009b2000ab8000db3000b2ab2000bb8000c594bb000000000000a0031002c0001002f000000dc00040005000000572ab6000f3b12014e04360415049900442db6000f1aa20036bb000759b700112db600132bb600132cb60013b600144cbb000759b700112db600132b031008b60010b60013b600144ea7ffc8033604a7ffbda70004572db00001000b0051005400050001003f0000006b0006000b0005010700060700060700060100000010000501070006070006070006010000004b000501070006070006070006010000005100050107000607000607000601000000540005010700060700060700060100010700050055000501070006070006070006010000000a0031002b0001002f000000bc000400040000003dbb000759b700114d043e1d990029033e1d2ab6000fa2001a2c2a1db6000e2b1db6000e8292b6001257840301a7ffe4033ea7ffd9a70004572cb60014b00001000a0034003700050001003f000000650006000a000407000607000607000701000000100004070006070006070007010000002f00040700060700060700070100000034000407000607000607000701000000370004070006070006070007010001070005003800040700060700060700070100000008002d00250001002f0000001c00010000000000101202b300091203b3000a1201b3000bb1000000000000 ; ib ; af ; java prototypes m ; java prototypes f
EXPECT=<<EOF
public void <init> (); // @0x02eb
public static java.lang.String a (java.lang.String); // @0x030a
@ -61,7 +61,7 @@ CMDS=<<EOF
e asm.comments=false
e asm.cmt.flgrefs=false
e scr.color=false
e asm.lines.bb=false
e asm.lines.jmp=false
e asm.xrefs=false
wx cafebabe0000002f004008002208003a08003c0700310700360700370700380700390900040019090004001c090004001d0a000400170a000400180a0006001e0a0006001f0a000600200a000700160a0007001a0a0007001b0a000700210a000800160c002e00250c0031002b0c0031002c0c003100300c003200260c0032002a0c003300300c003400300c003500270c003b00230c003d00280c003e002401000001000328294901001428294c6a6176612f6c616e672f537472696e673b01000328295601001b2843294c6a6176612f6c616e672f537472696e674275666665723b01000428492943010016284949294c6a6176612f6c616e672f537472696e673b010026284c6a6176612f6c616e672f537472696e673b294c6a6176612f6c616e672f537472696e673b01002c284c6a6176612f6c616e672f537472696e673b294c6a6176612f6c616e672f537472696e674275666665723b010038284c6a6176612f6c616e672f537472696e673b4c6a6176612f6c616e672f537472696e673b294c6a6176612f6c616e672f537472696e673b01004a284c6a6176612f6c616e672f537472696e673b4c6a6176612f6c616e672f537472696e673b4c6a6176612f6c616e672f537472696e673b294c6a6176612f6c616e672f537472696e673b0100083c636c696e69743e0100063c696e69743e010004436f64650100124c6a6176612f6c616e672f537472696e673b01000161010006617070656e6401000162010001630100066368617241740100136a6176612f6c616e672f457863657074696f6e0100106a6176612f6c616e672f537472696e670100166a6176612f6c616e672f537472696e674275666665720100106a6176612f7574696c2f566563746f720100086b77696373356a650100066c656e6774680100086f736d666e73656e010009737562737472696e67010008746f537472696e67010008537461636b4d617000310004000800000003000a003100300000000a003300300000000a00340030000000050001002e00250001002f0000001100010001000000052ab70015b1000000000009003100290001002f0000002300030001000000172ab20009b2000ab8000db3000b2ab2000bb8000c594bb000000000000a0031002c0001002f000000dc00040005000000572ab6000f3b12014e04360415049900442db6000f1aa20036bb000759b700112db600132bb600132cb60013b600144cbb000759b700112db600132b031008b60010b60013b600144ea7ffc8033604a7ffbda70004572db00001000b0051005400050001003f0000006b0006000b0005010700060700060700060100000010000501070006070006070006010000004b000501070006070006070006010000005100050107000607000607000601000000540005010700060700060700060100010700050055000501070006070006070006010000000a0031002b0001002f000000bc000400040000003dbb000759b700114d043e1d990029033e1d2ab6000fa2001a2c2a1db6000e2b1db6000e8292b6001257840301a7ffe4033ea7ffd9a70004572cb60014b00001000a0034003700050001003f000000650006000a000407000607000607000701000000100004070006070006070007010000002f00040700060700060700070100000034000407000607000607000701000000370004070006070006070007010001070005003800040700060700060700070100000008002d00250001002f0000001c00010000000000101202b300091203b3000a1201b3000bb1000000000000
ib
@ -135,7 +135,7 @@ CMDS=<<EOF
e asm.comments=false
e asm.cmt.flgrefs=false
e scr.color=false
e asm.lines.bb=false
e asm.lines.jmp=false
e asm.xrefs=false
wx cafebabe0000002f004008002208003a08003c0700310700360700370700380700390900040019090004001c090004001d0a000400170a000400180a0006001e0a0006001f0a000600200a000700160a0007001a0a0007001b0a000700210a000800160c002e00250c0031002b0c0031002c0c003100300c003200260c0032002a0c003300300c003400300c003500270c003b00230c003d00280c003e002401000001000328294901001428294c6a6176612f6c616e672f537472696e673b01000328295601001b2843294c6a6176612f6c616e672f537472696e674275666665723b01000428492943010016284949294c6a6176612f6c616e672f537472696e673b010026284c6a6176612f6c616e672f537472696e673b294c6a6176612f6c616e672f537472696e673b01002c284c6a6176612f6c616e672f537472696e673b294c6a6176612f6c616e672f537472696e674275666665723b010038284c6a6176612f6c616e672f537472696e673b4c6a6176612f6c616e672f537472696e673b294c6a6176612f6c616e672f537472696e673b01004a284c6a6176612f6c616e672f537472696e673b4c6a6176612f6c616e672f537472696e673b4c6a6176612f6c616e672f537472696e673b294c6a6176612f6c616e672f537472696e673b0100083c636c696e69743e0100063c696e69743e010004436f64650100124c6a6176612f6c616e672f537472696e673b01000161010006617070656e6401000162010001630100066368617241740100136a6176612f6c616e672f457863657074696f6e0100106a6176612f6c616e672f537472696e670100166a6176612f6c616e672f537472696e674275666665720100106a6176612f7574696c2f566563746f720100086b77696373356a650100066c656e6774680100086f736d666e73656e010009737562737472696e67010008746f537472696e67010008537461636b4d617000310004000800000003000a003100300000000a003300300000000a00340030000000050001002e00250001002f0000001100010001000000052ab70015b1000000000009003100290001002f0000002300030001000000172ab20009b2000ab8000db3000b2ab2000bb8000c594bb000000000000a0031002c0001002f000000dc00040005000000572ab6000f3b12014e04360415049900442db6000f1aa20036bb000759b700112db600132bb600132cb60013b600144cbb000759b700112db600132b031008b60010b60013b600144ea7ffc8033604a7ffbda70004572db00001000b0051005400050001003f0000006b0006000b0005010700060700060700060100000010000501070006070006070006010000004b000501070006070006070006010000005100050107000607000607000601000000540005010700060700060700060100010700050055000501070006070006070006010000000a0031002b0001002f000000bc000400040000003dbb000759b700114d043e1d990029033e1d2ab6000fa2001a2c2a1db6000e2b1db6000e8292b6001257840301a7ffe4033ea7ffd9a70004572cb60014b00001000a0034003700050001003f000000650006000a000407000607000607000701000000100004070006070006070007010000002f00040700060700060700070100000034000407000607000607000701000000370004070006070006070007010001070005003800040700060700060700070100000008002d00250001002f0000001c00010000000000101202b300091203b3000a1201b3000bb1000000000000
ib;af;
@ -159,7 +159,7 @@ CMDS=<<EOF
e asm.comments=false
e asm.cmt.flgrefs=false
e scr.color=false
e asm.lines.bb=false
e asm.lines.jmp=false
e asm.xrefs=false
wx cafebabe0000002f004008002208003a08003c0700310700360700370700380700390900040019090004001c090004001d0a000400170a000400180a0006001e0a0006001f0a000600200a000700160a0007001a0a0007001b0a000700210a000800160c002e00250c0031002b0c0031002c0c003100300c003200260c0032002a0c003300300c003400300c003500270c003b00230c003d00280c003e002401000001000328294901001428294c6a6176612f6c616e672f537472696e673b01000328295601001b2843294c6a6176612f6c616e672f537472696e674275666665723b01000428492943010016284949294c6a6176612f6c616e672f537472696e673b010026284c6a6176612f6c616e672f537472696e673b294c6a6176612f6c616e672f537472696e673b01002c284c6a6176612f6c616e672f537472696e673b294c6a6176612f6c616e672f537472696e674275666665723b010038284c6a6176612f6c616e672f537472696e673b4c6a6176612f6c616e672f537472696e673b294c6a6176612f6c616e672f537472696e673b01004a284c6a6176612f6c616e672f537472696e673b4c6a6176612f6c616e672f537472696e673b4c6a6176612f6c616e672f537472696e673b294c6a6176612f6c616e672f537472696e673b0100083c636c696e69743e0100063c696e69743e010004436f64650100124c6a6176612f6c616e672f537472696e673b01000161010006617070656e6401000162010001630100066368617241740100136a6176612f6c616e672f457863657074696f6e0100106a6176612f6c616e672f537472696e670100166a6176612f6c616e672f537472696e674275666665720100106a6176612f7574696c2f566563746f720100086b77696373356a650100066c656e6774680100086f736d666e73656e010009737562737472696e67010008746f537472696e67010008537461636b4d617000310004000800000003000a003100300000000a003300300000000a00340030000000050001002e00250001002f0000001100010001000000052ab70015b1000000000009003100290001002f0000002300030001000000172ab20009b2000ab8000db3000b2ab2000bb8000c594bb000000000000a0031002c0001002f000000dc00040005000000572ab6000f3b12014e04360415049900442db6000f1aa20036bb000759b700112db600132bb600132cb60013b600144cbb000759b700112db600132b031008b60010b60013b600144ea7ffc8033604a7ffbda70004572db00001000b0051005400050001003f0000006b0006000b0005010700060700060700060100000010000501070006070006070006010000004b000501070006070006070006010000005100050107000607000607000601000000540005010700060700060700060100010700050055000501070006070006070006010000000a0031002b0001002f000000bc000400040000003dbb000759b700114d043e1d990029033e1d2ab6000fa2001a2c2a1db6000e2b1db6000e8292b6001257840301a7ffe4033ea7ffd9a70004572cb60014b00001000a0034003700050001003f000000650006000a000407000607000607000701000000100004070006070006070007010000002f00040700060700060700070100000034000407000607000607000701000000370004070006070006070007010001070005003800040700060700060700070100000008002d00250001002f0000001c00010000000000101202b300091203b3000a1201b3000bb1000000000000
ib;af;
@ -190,7 +190,7 @@ e asm.calls=false
e asm.comments=false
e asm.cmt.flgrefs=false
e scr.color=false
e asm.lines.bb=false
e asm.lines.jmp=false
e asm.xrefs=false
e asm.flags.middle=0
wx cafebabe00000033001707000201001b7261646172655f746573745f63617365732f6368616c6c656e67650700040100106a6176612f6c616e672f4f626a6563740100063c696e69743e010003282956010004436f64650a000300090c0005000601000f4c696e654e756d6265725461626c650100124c6f63616c5661726961626c655461626c650100047468697301001d4c7261646172655f746573745f63617365732f6368616c6c656e67653b01001573696d706c655f636173655f73746d745f3476616c01000328294901000169010001490100016a0100016b01000d537461636b4d61705461626c6501000a536f7572636546696c6501000e6368616c6c656e67652e6a617661002100010003000000000002000100050006000100070000002f00010001000000052ab70008b100000002000a00000006000100000003000b0000000c000100000005000c000d00000008000e000f00010007000000c10002000300000048033b033ca7003c1a08703d1caa0000000000003200000000000000030000002000000026000000320000002c840202a70011840203a7000b840209a70005033c1a100aa1ffc41bac00000003000a0000002a000a000000050004000600070007000b0008002c00090032000a0038000b003e000c004000060046000f000b0000002000030002004600100011000000040044001200110001000b00350013001100020014000000110006fd00070101fc002401050505fa000100010015000000020016

View File

@ -289,7 +289,7 @@ CMDS=<<EOF
e asm.arch=x86
e asm.bits=32
e asm.os=linux
e asm.lines.bb=false
e asm.lines.jmp=false
e asm.lines.out=false
e asm.bytes=false
e asm.indentspace=0
@ -456,7 +456,7 @@ e asm.os=linux
e asm.emu=true
e asm.bytes=0
e asm.cmt.col=20
e asm.lines.bb=false
e asm.lines.jmp=false
pd 20~write,exit
EOF
EXPECT=<<EOF
@ -475,7 +475,7 @@ e asm.emu=true
e emu.write=true
e asm.bytes=0
e asm.cmt.col=20
e asm.lines.bb=false
e asm.lines.jmp=false
aeim
s 0x00402ade
pd 4~printf

View File

@ -1332,7 +1332,7 @@ FILE=bins/mach0/mac-ls
CMDS=<<EOF
s 0x1000039b6
af
e asm.lines.bb=false
e asm.lines.jmp=false
e asm.lines.fcn=false
e asm.stackptr=true
pdr~0x100003b27[1]
@ -1364,7 +1364,7 @@ e asm.arch = x86
e asm.bits=64
e scr.color = false
e io.va=0
e asm.lines.bb=0
e asm.lines.jmp=0
e asm.bytes=0
e asm.cmt.right=10
wx 488b3541100000
@ -1386,7 +1386,7 @@ e asm.arch = x86
e asm.bits=64
e scr.color = false
e io.va=1
e asm.lines.bb=0
e asm.lines.jmp=0
e asm.bytes=0
e asm.cmt.right=10
wx 488b3541100000
@ -2385,7 +2385,7 @@ RUN
NAME=refs with aar
FILE=bins/elf/crackme
CMDS=<<EOF
e asm.lines.bb=false
e asm.lines.jmp=false
e asm.lines.fcn=false
aar
pd 1 @0x400730
@ -2407,7 +2407,7 @@ RUN
NAME=refs with afr
FILE=bins/elf/crackme
CMDS=<<EOF
e asm.lines.bb=false
e asm.lines.jmp=false
e asm.lines.fcn=false
e anal.jmp.cref=true
aa
@ -2432,7 +2432,7 @@ NAME=cjmp data refs with aar
FILE=malloc://10000
CMDS=<<EOF
e asm.arch=8051
e asm.lines.bb=false
e asm.lines.jmp=false
e asm.lines.fcn=false
wx 307401000022
aar
@ -2448,7 +2448,7 @@ NAME=cjmp data refs with afr
FILE=malloc://10000
CMDS=<<EOF
e asm.arch=8051
e asm.lines.bb=false
e asm.lines.jmp=false
e asm.lines.fcn=false
wx 307401000022
aa
@ -2520,10 +2520,10 @@ afi
?e
afb
?e
e asm.bb.middle=true
e asm.bbmiddle=true
pdf
?e
e asm.bb.middle=false
e asm.bbmiddle=false
pdf
EOF
EXPECT=<<EOF
@ -2573,10 +2573,10 @@ CMDS=<<EOF
e asm.arch=x86
e asm.bits=64
e anal.nopskip=false
e asm.bb.middle=true
e asm.bbmiddle=true
e anal.jmp.mid=true
e io.cache=true
"(show_fcn bin; wx $0; af-*; af; afi; ?e; afb; ?e; pdr; ?e; agf; ?e; e asm.bb.middle=true; pdf; ?e; e asm.bb.middle=false; pdf)"
"(show_fcn bin; wx $0; af-*; af; afi; ?e; afb; ?e; pdr; ?e; agf; ?e; e asm.bbmiddle=true; pdf; ?e; e asm.bbmiddle=false; pdf)"
.(show_fcn b8210000c1ebfdbb2c000000cc)
?e
.(show_fcn b8210000c1ebfdbb2c000000ebf6)
@ -3042,7 +3042,7 @@ e asm.emu=true
e emu.write=true
e asm.bytes=0
e asm.cmt.col=20
e asm.lines.bb=false
e asm.lines.jmp=false
e io.cache=true
aeim
s 0x00402aee
@ -3063,7 +3063,7 @@ e asm.emu=true
e emu.write=true
e asm.bytes=0
e asm.cmt.col=20
e asm.lines.bb=false
e asm.lines.jmp=false
e asm.lines.fcn=false
aa
aeim

View File

@ -2,7 +2,7 @@ NAME=att subrel
FILE=bins/mach0/mac-ls
CMDS=<<EOF
e asm.syntax=att
e asm.lines.bb=0
e asm.lines.jmp=0
e asm.bytes=0
e asm.comments=false
pd 20
@ -40,7 +40,7 @@ CMDS=<<EOF
af
e asm.syntax=att
e asm.var=0
e asm.lines.bb=0
e asm.lines.jmp=0
e asm.bytes=0
e asm.comments=false
pd 20
@ -78,7 +78,7 @@ CMDS=<<EOF
aa; s main
e asm.syntax=att
e asm.var=0
e asm.lines.bb=0
e asm.lines.jmp=0
e asm.bytes=0
e asm.comments=false
pdf
@ -106,7 +106,7 @@ CMDS=<<EOF
aa; s main
e asm.syntax=att
e asm.var=0
e asm.lines.bb=0
e asm.lines.jmp=0
e asm.bytes=0
e asm.comments=false
e asm.sub.varonly=false

View File

@ -172,7 +172,7 @@ CMDS=<<EOF
e asm.arch=x86
e asm.bits=32
e scr.utf8=0
e asm.lines.bb=1
e asm.lines.jmp=1
e asm.comments=0
wx 803d1ca0040833740ceb1c83c004a318a0088ffd2a118a00408b1085d275eb
pd 12~?=

View File

@ -408,7 +408,7 @@ e asm.calls=false
e asm.comments=false
e asm.cmtflgrefs=false
e scr.color=false
e asm.lines.bb=false
e asm.lines.jmp=false
e asm.xrefs=false
wx cafebabe00000032003a070002010014546573745661726961626c6553776974636855700700040100106a6176612f6c616e672f4f626a6563740100063c696e69743e010003282956010004436f64650a000300090c0005000601000f4c696e654e756d6265725461626c650100124c6f63616c5661726961626c655461626c65010004746869730100164c546573745661726961626c6553776974636855703b010014546573744d756c7469706c655661726961626c650a001000120700110100116a6176612f6c616e672f496e74656765720c0013001401000776616c75654f660100162849294c6a6176612f6c616e672f496e74656765723b0800160100067472796f6e65090018001a0700190100106a6176612f6c616e672f53797374656d0c001b001c0100036f75740100154c6a6176612f696f2f5072696e7453747265616d3b07001e0100176a6176612f6c616e672f537472696e674275696c646572080020010011417474656d7074696e67207072696e74200a001d00220c00050023010015284c6a6176612f6c616e672f537472696e673b29560a001d00250c00260027010006617070656e6401002d284c6a6176612f6c616e672f537472696e673b294c6a6176612f6c616e672f537472696e674275696c6465723b0a001d00290c002a002b010008746f537472696e6701001428294c6a6176612f6c616e672f537472696e673b0a002d002f07002e0100136a6176612f696f2f5072696e7453747265616d0c003000230100057072696e74010001690100134c6a6176612f6c616e672f496e74656765723b01000170010001490100016b0100124c6a6176612f6c616e672f537472696e673b0100016a01000a536f7572636546696c65010019546573745661726961626c6553776974636855702e6a617661002100010003000000000002000100050006000100070000002f00010001000000052ab70008b100000002000a00000006000100000002000b0000000c000100000005000c000d00000008000e0006000100070000008100040004000000251064b8000f4b10643c12154d033eb20017bb001d59121fb700212cb60024b60028b6002cb100000002000a0000001a0006000000040006000500090006000c0007000e000800240009000b0000002a00040006001f0031003200000009001c003300340001000c0019003500360002000e001700370034000300010038000000020039
ib

View File

@ -113,7 +113,7 @@ CMDS=<<EOF
e asm.arch=x86
e asm.bits=64
wx 90
e asm.lines.bb=0
e asm.lines.jmp=0
b 1
pd
pd 1
@ -131,7 +131,7 @@ e asm.bits=64
e asm.arch = x86
e anal.arch = x86
wx b8ffffffff
e asm.lines.bb=0
e asm.lines.jmp=0
pd 1
EOF
EXPECT=<<EOF
@ -144,7 +144,7 @@ FILE=malloc://128
CMDS=<<EOF
e asm.arch=x86
e asm.bits=64
e asm.lines.bb=0
e asm.lines.jmp=0
pd@x:90
EOF
EXPECT=<<EOF
@ -191,7 +191,7 @@ e asm.bits=64
aaaa
e asm.pseudo=true
e asm.offset=false
e asm.lines.bb=false
e asm.lines.jmp=false
e asm.marks=false
e asm.nbytes=0
e asm.comments=false
@ -522,7 +522,7 @@ CMDS=<<EOF
e asm.arch=x86
e asm.bits=64
wx 488d85c0f9ffff488985b8f9ffff4585f6
e asm.lines.bb = false
e asm.lines.jmp = false
e asm.lbytes = true
e asm.nbytes = 6
pd 3
@ -558,7 +558,7 @@ e asm.sub.rel=false
e asm.arch=x86
e asm.bits=64
wx 488d0502000000
e asm.lines.bb=false
e asm.lines.jmp=false
e asm.comments=false
pd 1
e asm.sub.rel=true
@ -577,7 +577,7 @@ e anal.vars.stackname=true
e asm.arch=x86
e asm.bits=64
e asm.sub.var=true
e asm.lines.bb=false
e asm.lines.jmp=false
e asm.bytes=false
e asm.comments=false
e asm.lines.fcn=false
@ -1194,7 +1194,7 @@ CMDS=<<EOF
aa; s main
e asm.syntax=att
e asm.var=0
e asm.lines.bb=0
e asm.lines.jmp=0
e asm.bytes=0
e asm.comments=false
pdf
@ -1238,7 +1238,7 @@ CMDS=<<EOF
e asm.arch=x86
e asm.bits=64
wx 9090
e asm.lines.bb=0
e asm.lines.jmp=0
pdJ 2
EOF
EXPECT=<<EOF
@ -1252,7 +1252,7 @@ CMDS=<<EOF
e asm.arch=x86
e asm.bits=64
wx 90
e asm.lines.bb=0
e asm.lines.jmp=0
CCu base64:dGVzdAo=
pdJ 1
CCu base64:dGVzdCAid2l0aCBxdW90ZXMiCg==
@ -1562,7 +1562,7 @@ NAME=pd @B
FILE=-
CMDS=<<EOF
e asm.functions=false
e asm.lines.bb=false
e asm.lines.jmp=false
e asm.comments=false
e scr.color=0
e asm.arch=x86
@ -1582,12 +1582,12 @@ EXPECT=<<EOF
EOF
RUN
NAME=asm.bb.line
NAME=asm.lines.bb
FILE=bins/elf/analysis/ls2
CMDS=<<EOF
e scr.utf8=false
e scr.color=0
e asm.bb.line=true
e asm.lines.bb=true
e asm.comments=false
s main
af
@ -1612,12 +1612,43 @@ EXPECT=<<EOF
EOF
RUN
NAME=asm.lines.bb with asm.sections
BROKEN=1
FILE=bins/elf/analysis/ls2
CMDS=<<EOF
e scr.utf8=false
e scr.color=0
e asm.section=true
e asm.lines.bb=true
e asm.comments=false
s main
af
s 0x0040294b
pd 10
EOF
EXPECT=<<EOF
| 0x0040294b c6059ea72100. mov byte [0x0061d0f0], 0
| 0x00402952 83f802 cmp eax, 2
| ,=< 0x00402955 0f8483080000 je 0x4031de
| | |
| | 0x0040295b 83f803 cmp eax, 3
| ,==< 0x0040295e 742f je 0x40298f
| || |
| || 0x00402960 83e801 sub eax, 1
| ,===< 0x00402963 7405 je 0x40296a
| ||| |
| ||| 0x00402965 e8b6f8ffff call sym.imp.abort
| ||| |
| `---> 0x0040296a bf01000000 mov edi, 1
| || 0x0040296f e80cf9ffff call sym.imp.isatty
EOF
RUN
NAME=pd @a overwrites anal hints
FILE=bins/elf/analysis/ls-linux64
CMDS=<<EOF
e asm.comments=false
e asm.functions=false
e asm.lines.bb=false
e asm.lines.jmp=false
e asm.flags=false
ahb 16
aha arm

View File

@ -379,10 +379,10 @@ EXPECT=<<EOF
EOF
RUN
NAME=asm.bb.line fcnline glitches fix, bblines btw bb & non-bb
NAME=asm.lines.bb fcnline glitches fix, bblines btw bb & non-bb
FILE=bins/elf/before-after-main
CMDS=<<EOF
e asm.bb.line=true
e asm.lines.bb=true
e asm.bytes=false
e asm.comments=false
e asm.fcnsig=false
@ -422,13 +422,13 @@ EXPECT=<<EOF
EOF
RUN
# asm.bb.line with no analysis is not supported, since backward jump targets
# asm.lines.bb with no analysis is not supported, since backward jump targets
# can't be determined completely without analysis of the whole function
# (assuming no jumps from outside the function into the middle)
NAME=asm.bb.line no-anal
NAME=asm.lines.bb no-anal
FILE=bins/elf/lab2
CMDS=<<EOF
e asm.bb.line=true
e asm.lines.bb=true
e asm.bytes=false
e asm.comments=false
e io.cache=true
@ -452,11 +452,11 @@ EXPECT=<<EOF
EOF
RUN
NAME=asm.bb.line glitch fix (#12516)
NAME=asm.lines.bb glitch fix (#12516)
FILE=bins/elf/ls
CMDS=<<EOF
e anal.vars.stackname=true
e asm.bb.line=true
e asm.lines.bb=true
e asm.bytes=false
e asm.comments=false
e io.cache=true

View File

@ -1,7 +1,7 @@
NAME=pd call sym bug
FILE=bins/mach0/hello-objc-arm
CMDS=<<EOF
e asm.lines.bb=0
e asm.lines.jmp=0
e asm.bytes=0
e asm.comments=0
s sym.static_int_Test::callMeNot__
@ -45,7 +45,7 @@ RUN
NAME=pd call sym bug
FILE=bins/mach0/hello-objc-arm
CMDS=<<EOF
e asm.lines.bb=0
e asm.lines.jmp=0
e asm.bytes=0
e asm.comments=0
s sym.static_int_Test::callMeNot
@ -65,7 +65,7 @@ s 0x5e50
e asm.bits=32
af; afn eip
pd 1 @ 0x5f16~:0
e asm.lines.bb=0
e asm.lines.jmp=0
e asm.bytes=0
e asm.comments=0
EOF
@ -82,7 +82,7 @@ s 0x5e50
e asm.bits=64
af; afn eip
pd 1 @ 0x5f16~:0
e asm.lines.bb=0
e asm.lines.jmp=0
e asm.bytes=0
e asm.comments=0
EOF
@ -98,7 +98,7 @@ s 0x5e50
e asm.bits=64
af; afn rip
pd 1 @ 0x5f16~:0
e asm.lines.bb=0
e asm.lines.jmp=0
e asm.bytes=0
e asm.comments=0
EOF
@ -112,7 +112,7 @@ FILE=malloc://128
CMDS=<<EOF
e asm.arch=x86
e asm.bits=32
e asm.lines.bb=false
e asm.lines.jmp=false
e asm.comments=false
pD@x:8d15d0830408
EOF
@ -175,14 +175,14 @@ mov r9, rdx
EOF
RUN
NAME=indent asm.lines.fcn=0, asm.lines.bb=1 for issue 9316
NAME=indent asm.lines.fcn=0, asm.lines.jmp=1 for issue 9316
FILE=-
CMDS=<<EOF
e asm.arch=x86
e asm.bits=64
af+ 0 test
e asm.lines.fcn=0
e asm.lines.bb=1
e asm.lines.jmp=1
pd 2
EOF
EXPECT=<<EOF
@ -192,14 +192,14 @@ EXPECT=<<EOF
EOF
RUN
NAME=indent asm.lines.fcn=1, asm.lines.bb=0 for issue 9316
NAME=indent asm.lines.fcn=1, asm.lines.jmp=0 for issue 9316
FILE=-
CMDS=<<EOF
e asm.arch=x86
e asm.bits=64
af+ 0 test
e asm.lines.fcn=1
e asm.lines.bb=0
e asm.lines.jmp=0
pd 2
EOF
EXPECT=<<EOF

View File

@ -47,7 +47,7 @@ EXPECT=<<EOF
EOF
RUN
NAME=pdrj and pirj ignore asm.bb.middle
NAME=pdrj and pirj ignore asm.bbmiddle
FILE=-
CMDS=<<EOF
e asm.arch=x86
@ -57,7 +57,7 @@ e anal.jmp.mid=true
e io.cache=true
wx 0f1f440000b8210000c1ebfdbb2c000000ebf0
af
e asm.bb.middle=true
e asm.bbmiddle=true
?e
pdr
?e

View File

@ -5,7 +5,7 @@ e asm.tabs=8
e asm.arch=x86
e asm.bits=64
e asm.comments=false
e asm.lines.bb=0
e asm.lines.jmp=false
wx 410fb744245883f80c
pd 2
EOF

View File

@ -1,4 +1,4 @@
NAME=asm.bb.middle disasm
NAME=asm.bbmiddle disasm
FILE=bins/pe/cmd_adf_sample0.exe
CMDS=<<EOF
e anal.vars.stackname=true
@ -7,10 +7,10 @@ e asm.comments=false
e asm.var=false
s 0x560e67
af
e asm.bb.middle=true
e asm.bbmiddle=true
pD 0x560eb3-$$
?e
e asm.bb.middle=false
e asm.bbmiddle=false
pD 0x560eb3-$$
EOF
EXPECT=<<EOF
@ -82,7 +82,7 @@ EXPECT=<<EOF
EOF
RUN
NAME=asm.bb.middle json
NAME=asm.bbmiddle json
FILE=-
CMDS=<<EOF
e asm.arch=x86
@ -95,17 +95,17 @@ af
?e
?e ----1----
?e
e asm.bb.middle=true
e asm.bbmiddle=true
pDj 19~{}
?e
?e ----2----
?e
e asm.bb.middle=false
e asm.bbmiddle=false
pDj 19~{}
?e
?e ----3----
?e
e asm.bb.middle=true
e asm.bbmiddle=true
pdfj~{}
EOF
EXPECT=<<EOF
@ -520,7 +520,7 @@ EXPECT=<<EOF
EOF
RUN
NAME=asm.bb.middle and pdi
NAME=asm.bbmiddle and pdi
FILE=-
CMDS=<<EOF
e asm.arch=x86
@ -530,10 +530,10 @@ e anal.jmp.mid=true
e io.cache=true
wx 0f1f440000b8210000c1ebfdbb2c000000ebf0
af
e asm.bb.middle=true
e asm.bbmiddle=true
pdi 6
?e
e asm.bb.middle=false
e asm.bbmiddle=false
pdi 6
EOF
EXPECT=<<EOF
@ -555,7 +555,7 @@ EXPECT=<<EOF
EOF
RUN
NAME=asm.bb.middle and pif
NAME=asm.bbmiddle and pif
FILE=-
CMDS=<<EOF
e asm.arch=x86
@ -565,10 +565,10 @@ e anal.jmp.mid=true
e io.cache=true
wx 0f1f440000b8210000c1ebfdbb2c000000ebf0
af
e asm.bb.middle=true
e asm.bbmiddle=true
pif
?e
e asm.bb.middle=false
e asm.bbmiddle=false
pif
EOF
EXPECT=<<EOF
@ -587,14 +587,14 @@ jmp 3
EOF
RUN
NAME=asm.bb.middle and asm.flags.middle
NAME=asm.bbmiddle and asm.flags.middle
FILE=bins/pe/cmd_adf_sample0.exe
CMDS=<<EOF
e asm.bytes=true
e asm.xrefs=false
s 0x560e67
af
e asm.bb.middle=true
e asm.bbmiddle=true
e asm.flags.middle=2
f sym.dummy @ 0x560e7d
pd 2 @ 0x560e7a