Replace "" with ' in more * subcommands, wip deprecation for safetiness ##shell

This commit is contained in:
pancake 2024-10-10 18:37:03 +02:00 committed by GitHub
parent 9bd991dfb4
commit 7073d534b2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
25 changed files with 387 additions and 392 deletions

View File

@ -30,7 +30,7 @@ char *r2_asmjs_cmd(void *kore, const char *cmd) {
} }
static void wget_cb(const char *f) { static void wget_cb(const char *f) {
r_core_cmdf (core, "\"o %s\"", f); r_core_cmdf (core, "'o %s", f);
} }
void r2_asmjs_openurl(void *kore, const char *url) { void r2_asmjs_openurl(void *kore, const char *url) {

View File

@ -1,7 +1,6 @@
/* Copyright radare2 - 2014-2024 - pancake, ret2libc */ /* Copyright radare2 - 2014-2024 - pancake, ret2libc */
#include <r_core.h> #include <r_core.h>
#include <r_vec.h>
R_IPI void visual_refresh(RCore *core); R_IPI void visual_refresh(RCore *core);
@ -4957,7 +4956,7 @@ R_API int r_core_visual_graph(RCore *core, RAGraph *g, RAnalFunction *_fcn, int
char buf[256]; char buf[256];
r_line_set_prompt ("[comment]> "); r_line_set_prompt ("[comment]> ");
if (r_cons_fgets (buf, sizeof (buf), 0, NULL) > 0) { if (r_cons_fgets (buf, sizeof (buf), 0, NULL) > 0) {
r_core_cmdf (core, "\"CC %s\"", buf); r_core_cmdf (core, "'CC %s", buf);
} }
g->need_reload_nodes = true; g->need_reload_nodes = true;
showcursor (core, false); showcursor (core, false);

View File

@ -3369,9 +3369,9 @@ static int fcn_print_detail(RCore *core, RAnalFunction *fcn) {
*paren = '\0'; *paren = '\0';
} }
char *fname = r_name_filter_dup (name); char *fname = r_name_filter_dup (name);
r_cons_printf ("\"f %s %"PFMT64u" 0x%08"PFMT64x"\"\n", fname, r_anal_function_linear_size (fcn), fcn->addr); r_cons_printf ("'f %s %"PFMT64u" 0x%08"PFMT64x"\n", fname, r_anal_function_linear_size (fcn), fcn->addr);
free (fname); free (fname);
r_cons_printf ("\"af+ 0x%08"PFMT64x" %s %c %c\"\n", r_cons_printf ("'af+ 0x%08"PFMT64x" %s %c %c\n",
fcn->addr, name, //r_anal_function_size (fcn), name, fcn->addr, name, //r_anal_function_size (fcn), name,
fcn->type == R_ANAL_FCN_TYPE_LOC?'l': fcn->type == R_ANAL_FCN_TYPE_LOC?'l':
fcn->type == R_ANAL_FCN_TYPE_SYM?'s': fcn->type == R_ANAL_FCN_TYPE_SYM?'s':
@ -3386,7 +3386,7 @@ static int fcn_print_detail(RCore *core, RAnalFunction *fcn) {
// FIXME command injection vuln here // FIXME command injection vuln here
if (fcn->cc || defaultCC) { if (fcn->cc || defaultCC) {
r_cons_printf ("s 0x%"PFMT64x"\n", fcn->addr); r_cons_printf ("s 0x%"PFMT64x"\n", fcn->addr);
r_cons_printf ("\"afc %s\"\n", fcn->cc? fcn->cc: defaultCC); r_cons_printf ("'afc %s\n", fcn->cc? fcn->cc: defaultCC);
r_cons_println ("s-"); r_cons_println ("s-");
} }
if (fcn->folded) { if (fcn->folded) {

View File

@ -1259,13 +1259,10 @@ static bool bin_dwarf(RCore *core, PJ *pj, int mode) {
pj_end (pj); pj_end (pj);
} else { } else {
r_cons_printf ("CL %s:%d 0x%08" PFMT64x "\n", r_cons_printf ("'@0x%08"PFMT64x"'CL %s:%d\n",
file, (int)row->line, row->address, file, (int)row->line);
row->address); r_cons_printf ("'@0x%08"PFMT64x"'CC %s:%d %s\n",
r_cons_printf ("\"CC %s:%d %s\"@0x%" PFMT64x row->address, file, row->line, r_str_get (line));
"\n",
file, row->line,
r_str_get (line), row->address);
} }
free (file); free (file);
free (line); free (line);
@ -1545,9 +1542,9 @@ static bool bin_entry(RCore *r, PJ *pj, int mode, ut64 laddr, int va, bool inifi
name = r_str_newf ("entry%i", i); name = r_str_newf ("entry%i", i);
} }
char *n = r_name_filter_quoted_shell (name); char *n = r_name_filter_quoted_shell (name);
r_cons_printf ("\"f %s 1 0x%08"PFMT64x"\"\n", n, at); r_cons_printf ("'f %s 1 0x%08"PFMT64x"\n", n, at);
r_cons_printf ("\"f %s_%s 1 0x%08"PFMT64x"\"\n", n, hpaddr_key, hpaddr); r_cons_printf ("'f %s_%s 1 0x%08"PFMT64x"\n", n, hpaddr_key, hpaddr);
r_cons_printf ("\"s %s\"\n", n); r_cons_printf ("'s %s\n", n);
free (n); free (n);
free (name); free (name);
} else { } else {
@ -1959,7 +1956,7 @@ static bool bin_relocs(RCore *r, PJ *pj, int mode, int va) {
} }
int reloc_size = 4; int reloc_size = 4;
char *n = r_name_filter_quoted_shell (name); char *n = r_name_filter_quoted_shell (name);
r_cons_printf ("\"f %s%s%s %d 0x%08"PFMT64x"\"\n", r_cons_printf ("'f %s%s%s %d 0x%08"PFMT64x"\n",
r_str_get_fail (r->bin->prefix, "reloc."), r_str_get_fail (r->bin->prefix, "reloc."),
r->bin->prefix ? "." : "", n, reloc_size, addr); r->bin->prefix ? "." : "", n, reloc_size, addr);
add_metadata (r, reloc, addr, mode); add_metadata (r, reloc, addr, mode);
@ -1969,7 +1966,7 @@ static bool bin_relocs(RCore *r, PJ *pj, int mode, int va) {
if (reloc->symbol && reloc->symbol->vaddr != addr) { if (reloc->symbol && reloc->symbol->vaddr != addr) {
// ut64 saddr = reloc->symbol->vaddr; // ut64 saddr = reloc->symbol->vaddr;
ut64 saddr = rva (r->bin, reloc->symbol->paddr, reloc->symbol->vaddr, va); ut64 saddr = rva (r->bin, reloc->symbol->paddr, reloc->symbol->vaddr, va);
r_cons_printf ("\"f %s%s%s %d 0x%08"PFMT64x"\"\n", r_cons_printf ("'f %s%s%s %d 0x%08"PFMT64x"\n",
r_str_get_fail (r->bin->prefix, "rsym."), r_str_get_fail (r->bin->prefix, "rsym."),
r->bin->prefix ? "." : "", n, reloc_size, saddr); r->bin->prefix ? "." : "", n, reloc_size, saddr);
} }
@ -2675,7 +2672,7 @@ static bool bin_symbols(RCore *r, PJ *pj, int mode, ut64 laddr, int va, ut64 at,
if (!flagname) { if (!flagname) {
goto next; goto next;
} }
r_cons_printf ("\"f %s%s%s %u 0x%08" PFMT64x "\"\n", r_cons_printf ("'f %s%s%s %u 0x%08" PFMT64x "\n",
r_str_get (r->bin->prefix), r->bin->prefix ? "." : "", r_str_get (r->bin->prefix), r->bin->prefix ? "." : "",
flagname, symbol->size, addr); flagname, symbol->size, addr);
free (flagname); free (flagname);
@ -2691,10 +2688,10 @@ static bool bin_symbols(RCore *r, PJ *pj, int mode, ut64 laddr, int va, ut64 at,
char *m = r_name_filter_shell (module); char *m = r_name_filter_shell (module);
*p = 0; *p = 0;
if (r->bin->prefix) { if (r->bin->prefix) {
r_cons_printf ("\"k bin/pe/%s/%d=%s.%s\"\n", r_cons_printf ("'k bin/pe/%s/%d=%s.%s\n",
module, symbol->ordinal, r->bin->prefix, symname); module, symbol->ordinal, r->bin->prefix, symname);
} else { } else {
r_cons_printf ("\"k bin/pe/%s/%d=%s\"\n", r_cons_printf ("'k bin/pe/%s/%d=%s\n",
module, symbol->ordinal, symname); module, symbol->ordinal, symname);
} }
free (symname); free (symname);
@ -3152,7 +3149,7 @@ static bool bin_sections(RCore *r, PJ *pj, int mode, ut64 laddr, int va, ut64 at
if (IS_MODE_RAD (mode)) { if (IS_MODE_RAD (mode)) {
char *fname = r_str_newf ("%s.%s", type, section->name); char *fname = r_str_newf ("%s.%s", type, section->name);
r_name_filter (fname, -1); r_name_filter (fname, -1);
r_cons_printf ("\"f %s 1 0x%08"PFMT64x"\"\n", fname, section->vaddr); r_cons_printf ("'f %s 1 0x%08"PFMT64x"\n", fname, section->vaddr);
free (fname); free (fname);
} else if (IS_MODE_SET (mode)) { } else if (IS_MODE_SET (mode)) {
#if LOAD_BSS_MALLOC #if LOAD_BSS_MALLOC
@ -3969,7 +3966,7 @@ static bool bin_classes(RCore *r, PJ *pj, int mode) {
} }
} else if (IS_MODE_RAD (mode)) { } else if (IS_MODE_RAD (mode)) {
char *n = r_name_filter_shell (name); char *n = r_name_filter_shell (name);
r_cons_printf ("\"f class.%s = 0x%"PFMT64x"\"\n", n, at_min); r_cons_printf ("'f class.%s = 0x%"PFMT64x"\n", n, at_min);
if (c->super) { if (c->super) {
const char *cn = cname; const char *cn = cname;
RListIter *iter; RListIter *iter;
@ -3977,7 +3974,7 @@ static bool bin_classes(RCore *r, PJ *pj, int mode) {
r_list_foreach (c->super, iter, bn) { r_list_foreach (c->super, iter, bn) {
char *fsk = strdup (r_bin_name_tostring2 (bn, pref)); char *fsk = strdup (r_bin_name_tostring2 (bn, pref));
r_name_filter (fsk, -1); r_name_filter (fsk, -1);
r_cons_printf ("\"f super.%s.%s = %d\"\n", cn, fsk, c->index); r_cons_printf ("'f super.%s.%s = %d\n", cn, fsk, c->index);
free (fsk); free (fsk);
} }
} }
@ -3987,8 +3984,7 @@ static bool bin_classes(RCore *r, PJ *pj, int mode) {
const char *n = cname; // r_name_filter_shell (cname); const char *n = cname; // r_name_filter_shell (cname);
char *sn = r_bin_name_tostring (sym->name); //r_name_filter_shell (sym->name); // symbol contains classname char *sn = r_bin_name_tostring (sym->name); //r_name_filter_shell (sym->name); // symbol contains classname
const char *predot = R_STR_ISNOTEMPTY (mflags)? ".": ""; const char *predot = R_STR_ISNOTEMPTY (mflags)? ".": "";
// char *cmd = r_str_newf ("\"f method%s.%s.%s = 0x%"PFMT64x"\"\n", mflags, n, sn, sym->vaddr); char *cmd = r_str_newf ("'f method.%s%s%s.%s = 0x%"PFMT64x"\n", n, predot, mflags, sn, sym->vaddr);
char *cmd = r_str_newf ("\"f method.%s%s%s.%s = 0x%"PFMT64x"\"\n", n, predot, mflags, sn, sym->vaddr);
// free (n); // free (n);
// free (sn); // free (sn);
if (cmd) { if (cmd) {
@ -4013,7 +4009,7 @@ static bool bin_classes(RCore *r, PJ *pj, int mode) {
char *fn = r_str_newf ("field.%s.%s.%s", cname, kind, fname); char *fn = r_str_newf ("field.%s.%s.%s", cname, kind, fname);
r_name_filter (fn, -1); r_name_filter (fn, -1);
ut64 at = f->vaddr; // sym->vaddr + (f->vaddr & 0xffff); ut64 at = f->vaddr; // sym->vaddr + (f->vaddr & 0xffff);
r_cons_printf ("\"f %s = 0x%08"PFMT64x"\"\n", fn, at); r_cons_printf ("'f %s = 0x%08"PFMT64x"\n", fn, at);
free (fn); free (fn);
} }
@ -4231,7 +4227,7 @@ static bool bin_libs(RCore *r, PJ *pj, int mode) {
// Nothing to set. // Nothing to set.
// TODO: load libraries with iomaps? // TODO: load libraries with iomaps?
} else if (IS_MODE_RAD (mode)) { } else if (IS_MODE_RAD (mode)) {
r_cons_printf ("\"CCa entry0 %s\"\n", lib); r_cons_printf ("'CCa entry0 %s\n", lib);
} else if (IS_MODE_JSON (mode)) { } else if (IS_MODE_JSON (mode)) {
pj_s (pj, lib); pj_s (pj, lib);
} else { } else {

View File

@ -3632,7 +3632,7 @@ static int cmd_system(void *data, const char *input) {
cmd_help_exclamation (core); cmd_help_exclamation (core);
} else if (input[1] == '*') { } else if (input[1] == '*') {
char *cmd = r_str_trim_dup (input + 1); char *cmd = r_str_trim_dup (input + 1);
(void)r_core_cmdf (core, "\"#!pipe %s\"", cmd); (void)r_core_cmdf (core, "'#!pipe %s", cmd);
free (cmd); free (cmd);
} else { } else {
if (input[1]) { if (input[1]) {
@ -3678,7 +3678,7 @@ static int cmd_system(void *data, const char *input) {
cmd = r_str_replace (cmd, " ", "\\ ", true); cmd = r_str_replace (cmd, " ", "\\ ", true);
cmd = r_str_replace (cmd, "\\ ", " ", false); cmd = r_str_replace (cmd, "\\ ", " ", false);
cmd = r_str_replace (cmd, "\"", "'", false); cmd = r_str_replace (cmd, "\"", "'", false);
ret = r_core_cmdf (core, "\"#!pipe %s\"", cmd); ret = r_core_cmdf (core, "'#!pipe %s", cmd);
free (cmd); free (cmd);
} }
break; break;

View File

@ -70,7 +70,7 @@ static RCoreHelpMessage help_msg_wa = {
"wan", " jmp 0x8080", "write instruction(s) nopping the trailing bytes", "wan", " jmp 0x8080", "write instruction(s) nopping the trailing bytes",
"wa+", " nop", "write a nop and seek after it (use 7wa+nop to write 7 consecutive nops)", "wa+", " nop", "write a nop and seek after it (use 7wa+nop to write 7 consecutive nops)",
"wa*", " mov eax, 33", "show 'wx' op with hexpair bytes of assembled opcode", "wa*", " mov eax, 33", "show 'wx' op with hexpair bytes of assembled opcode",
"\"wa nop;nop\"", "" , "assemble more than one instruction (note the quotes)", "'wa nop;nop", "" , "assemble more than one instruction (note the single quote)",
"waf", " f.asm" , "assemble file and write bytes", "waf", " f.asm" , "assemble file and write bytes",
"waF", " f.asm", "assemble file and write bytes and show 'wx' op with hexpair bytes of assembled code", "waF", " f.asm", "assemble file and write bytes and show 'wx' op with hexpair bytes of assembled code",
"waF*", " f.asm", "assemble file and show 'wx' op with hexpair bytes of assembled code", "waF*", " f.asm", "assemble file and show 'wx' op with hexpair bytes of assembled code",

View File

@ -2763,13 +2763,13 @@ static void __handleComment(RCore *core) {
char *arg = filter_arg (strdup (buf)); char *arg = filter_arg (strdup (buf));
switch (buf[0]) { switch (buf[0]) {
case '-': case '-':
cmd = r_str_newf ("\"CC-%s\"", arg); cmd = r_str_newf ("'CC-%s", arg);
break; break;
case '!': case '!':
cmd = strdup ("CC!"); cmd = strdup ("CC!");
break; break;
default: default:
cmd = r_str_newf ("\"CC %s\"", arg); cmd = r_str_newf ("'CC %s", arg);
break; break;
} }
free (arg); free (arg);
@ -5302,7 +5302,7 @@ static int __clear_layout_cb(void *user) {
static int __copy_cb(void *user) { static int __copy_cb(void *user) {
RCore *core = (RCore *)user; RCore *core = (RCore *)user;
__add_cmdf_panel (core, "How many bytes? ", "\"y %s\""); __add_cmdf_panel (core, "How many bytes? ", "'y %s");
return 0; return 0;
} }
@ -5314,13 +5314,13 @@ static int __paste_cb(void *user) {
static int __write_str_cb(void *user) { static int __write_str_cb(void *user) {
RCore *core = (RCore *)user; RCore *core = (RCore *)user;
__add_cmdf_panel (core, "insert string: ", "\"w %s\""); __add_cmdf_panel (core, "insert string: ", "'w %s");
return 0; return 0;
} }
static int __write_hex_cb(void *user) { static int __write_hex_cb(void *user) {
RCore *core = (RCore *)user; RCore *core = (RCore *)user;
__add_cmdf_panel (core, "insert hexpairs: ", "\"wx %s\""); __add_cmdf_panel (core, "insert hexpairs: ", "'wx %s");
return 0; return 0;
} }
@ -5479,19 +5479,19 @@ static int __string_data_sec_cb(void *user) {
static int __rop_cb(void *user) { static int __rop_cb(void *user) {
RCore *core = (RCore *)user; RCore *core = (RCore *)user;
__add_cmdf_panel (core, "rop grep: ", "\"/R %s\""); __add_cmdf_panel (core, "rop grep: ", "'/R %s");
return 0; return 0;
} }
static int __code_cb(void *user) { static int __code_cb(void *user) {
RCore *core = (RCore *)user; RCore *core = (RCore *)user;
__add_cmdf_panel (core, "search code: ", "\"/c %s\""); __add_cmdf_panel (core, "search code: ", "'/c %s");
return 0; return 0;
} }
static int __hexpairs_cb(void *user) { static int __hexpairs_cb(void *user) {
RCore *core = (RCore *)user; RCore *core = (RCore *)user;
__add_cmdf_panel (core, "search hexpairs: ", "\"/x %s\""); __add_cmdf_panel (core, "search hexpairs: ", "'/x %s");
return 0; return 0;
} }
@ -5683,7 +5683,7 @@ static int __writeValueCb(void *user) {
RCore *core = (RCore *)user; RCore *core = (RCore *)user;
char *res = __show_status_input (core, "insert number: "); char *res = __show_status_input (core, "insert number: ");
if (res) { if (res) {
r_core_cmdf (core, "\"wv %s\"", res); r_core_cmdf (core, "'wv %s", res);
free (res); free (res);
} }
return 0; return 0;

View File

@ -488,8 +488,8 @@ static bool store_files_and_maps(RCore *core, RIODesc *desc, ut32 id) {
RIOMap *map; RIOMap *map;
if (desc) { if (desc) {
// reload bin info // reload bin info
r_cons_printf ("\"obf %s\"\n", desc->uri); r_cons_printf ("'obf %s\n", desc->uri);
r_cons_printf ("\"of \\\"%s\\\" %s\"\n", desc->uri, r_str_rwx_i (desc->perm)); r_cons_printf ("'of \\\"%s\\\" %s\n", desc->uri, r_str_rwx_i (desc->perm));
if ((maps = r_io_map_get_by_fd (core->io, id))) { //wtf if ((maps = r_io_map_get_by_fd (core->io, id))) { //wtf
r_list_foreach (maps, iter, map) { r_list_foreach (maps, iter, map) {
r_cons_printf ("om %d 0x%" PFMT64x " 0x%" PFMT64x " 0x%" PFMT64x " %s%s%s\n", fdc, r_cons_printf ("om %d 0x%" PFMT64x " 0x%" PFMT64x " 0x%" PFMT64x " %s%s%s\n", fdc,

View File

@ -916,7 +916,7 @@ R_API int r_core_visual_types(RCore *core) {
{ {
char *file = prompt ("Filename: ", NULL); char *file = prompt ("Filename: ", NULL);
if (file) { if (file) {
r_core_cmdf (core, "\"to %s\"", file); r_core_cmdf (core, "'to %s", file);
free (file); free (file);
} }
} }
@ -969,7 +969,7 @@ R_API int r_core_visual_types(RCore *core) {
{ {
txt = prompt ("add C type: ", NULL); txt = prompt ("add C type: ", NULL);
if (txt) { if (txt) {
r_core_cmdf (core, "\"td %s\"", txt); r_core_cmdf (core, "'td %s", txt);
free (txt); free (txt);
} }
} }

View File

@ -509,7 +509,7 @@ static int rasm_disasm(RAsmState *as, ut64 addr, const char *buf, int len, int b
if (acode) { if (acode) {
if (as->oneliner) { if (as->oneliner) {
r_str_replace_char (acode->assembly, '\n', ';'); r_str_replace_char (acode->assembly, '\n', ';');
printf ("%s\"\n", acode->assembly); printf ("%s\n", acode->assembly);
} else if (acode->assembly[0]) { } else if (acode->assembly[0]) {
printf ("%s", acode->assembly); printf ("%s", acode->assembly);
} else { } else {
@ -1056,7 +1056,7 @@ R_API int r_main_rasm2(int argc, const char *argv[]) {
as->oneliner = true; as->oneliner = true;
printf ("e asm.arch=%s\n", arch? arch: R_SYS_ARCH); printf ("e asm.arch=%s\n", arch? arch: R_SYS_ARCH);
printf ("e asm.bits=%d\n", bits); printf ("e asm.bits=%d\n", bits);
printf ("\"wa "); printf ("'wa ");
} }
ret = rasm_disasm (as, offset, (char *)usrstr, len, ret = rasm_disasm (as, offset, (char *)usrstr, len,
as->a->config->bits, bin, dis - 1); as->a->config->bits, bin, dis - 1);

View File

@ -100,8 +100,8 @@ af
afi* afi*
EOF EOF
EXPECT=<<EOF EXPECT=<<EOF
"f sym._checkinput 288 0x100000da0" 'f sym._checkinput 288 0x100000da0
"af+ 0x100000da0 sym._checkinput f n" 'af+ 0x100000da0 sym._checkinput f n
afb+ 0x100000da0 0x100000da0 22 0x100000db6 0xffffffffffffffff afb+ 0x100000da0 0x100000da0 22 0x100000db6 0xffffffffffffffff
afb+ 0x100000da0 0x100000e99 5 0x100000e9e 0xffffffffffffffff afb+ 0x100000da0 0x100000e99 5 0x100000e9e 0xffffffffffffffff
afb+ 0x100000da0 0x100000e9e 24 0x100000db6 0x100000eb6 afb+ 0x100000da0 0x100000e9e 24 0x100000db6 0x100000eb6
@ -128,7 +128,7 @@ afb+ 0x100000da0 0x100000e8b 5 0x100000e99 0xffffffffffffffff
afb+ 0x100000da0 0x100000e90 9 0x100000eba 0xffffffffffffffff afb+ 0x100000da0 0x100000e90 9 0x100000eba 0xffffffffffffffff
afB 64 @ 0x100000da0 afB 64 @ 0x100000da0
s 0x100000da0 s 0x100000da0
"afc amd64" 'afc amd64
s- s-
s 0x100000da0 s 0x100000da0
'afvb -1 var_1h int64_t 'afvb -1 var_1h int64_t

View File

@ -2564,7 +2564,7 @@ NAME=il* (file x86)
FILE=bins/elf/analysis/x86-helloworld-gcc FILE=bins/elf/analysis/x86-helloworld-gcc
CMDS=il* CMDS=il*
EXPECT=<<EOF EXPECT=<<EOF
"CCa entry0 libc.so.6" 'CCa entry0 libc.so.6
EOF EOF
RUN RUN
@ -2591,13 +2591,13 @@ FILE=bins/elf/analysis/x86-helloworld-gcc
CMDS=ir* CMDS=ir*
EXPECT=<<EOF EXPECT=<<EOF
fs relocs fs relocs
"f reloc.__gmon_start__ 4 0x08049690" 'f reloc.__gmon_start__ 4 0x08049690
Cd 4 @ 0x08049690 Cd 4 @ 0x08049690
"f reloc.puts 4 0x080496a0" 'f reloc.puts 4 0x080496a0
Cd 4 @ 0x080496a0 Cd 4 @ 0x080496a0
"f reloc.__gmon_start__ 4 0x080496a4" 'f reloc.__gmon_start__ 4 0x080496a4
Cd 4 @ 0x080496a4 Cd 4 @ 0x080496a4
"f reloc.__libc_start_main 4 0x080496a8" 'f reloc.__libc_start_main 4 0x080496a8
Cd 4 @ 0x080496a8 Cd 4 @ 0x080496a8
EOF EOF
RUN RUN

View File

@ -688,115 +688,115 @@ FILE=bins/elf/libmagic.so
CMDS=ic* CMDS=ic*
EXPECT=<<EOF EXPECT=<<EOF
fs classes fs classes
"f class._JNIEnv = 0x6060" 'f class._JNIEnv = 0x6060
"f method._JNIEnv.FindClass(char_const*) = 0x6060" 'f method._JNIEnv.FindClass(char_const*) = 0x6060
"f method._JNIEnv.DeleteLocalRef(_jobject*) = 0x606a" 'f method._JNIEnv.DeleteLocalRef(_jobject*) = 0x606a
"f method._JNIEnv.NewObject(_jclass*,__jmethodID*,_...) = 0x6074" 'f method._JNIEnv.NewObject(_jclass*,__jmethodID*,_...) = 0x6074
"f method._JNIEnv.GetObjectClass(_jobject*) = 0x608e" 'f method._JNIEnv.GetObjectClass(_jobject*) = 0x608e
"f method._JNIEnv.GetMethodID(_jclass*,_char_const*,_char_const*) = 0x6098" 'f method._JNIEnv.GetMethodID(_jclass*,_char_const*,_char_const*) = 0x6098
"f method._JNIEnv.CallObjectMethod(_jobject*,__jmethodID*,_...) = 0x60a4" 'f method._JNIEnv.CallObjectMethod(_jobject*,__jmethodID*,_...) = 0x60a4
"f method._JNIEnv.CallVoidMethod(_jobject*,__jmethodID*,_...) = 0x60c0" 'f method._JNIEnv.CallVoidMethod(_jobject*,__jmethodID*,_...) = 0x60c0
"f method._JNIEnv.GetStaticMethodID(_jclass*,_char_const*,_char_const*) = 0x60dc" 'f method._JNIEnv.GetStaticMethodID(_jclass*,_char_const*,_char_const*) = 0x60dc
"f method._JNIEnv.CallStaticObjectMethod(_jclass*,__jmethodID*,_...) = 0x60ea" 'f method._JNIEnv.CallStaticObjectMethod(_jclass*,__jmethodID*,_...) = 0x60ea
"f method._JNIEnv.CallStaticIntMethod(_jclass*,__jmethodID*,_...) = 0x695e" 'f method._JNIEnv.CallStaticIntMethod(_jclass*,__jmethodID*,_...) = 0x695e
"f method._JNIEnv.CallStaticVoidMethod(_jclass*,__jmethodID*,_...) = 0x697c" 'f method._JNIEnv.CallStaticVoidMethod(_jclass*,__jmethodID*,_...) = 0x697c
'td struct _JNIEnv { char empty[0];}; 'td struct _JNIEnv { char empty[0];};
"f class.SystemClassLoaderInjector = 0x699c" 'f class.SystemClassLoaderInjector = 0x699c
"f method.SystemClassLoaderInjector.inject(_JNIEnv*,__jobject*,__jstring*,__jstring*) = 0x74f8" 'f method.SystemClassLoaderInjector.inject(_JNIEnv*,__jobject*,__jstring*,__jstring*) = 0x74f8
"f method.SystemClassLoaderInjector.findBaseDexClassloader(_JNIEnv*,__jobject*) = 0x699c" 'f method.SystemClassLoaderInjector.findBaseDexClassloader(_JNIEnv*,__jobject*) = 0x699c
"f method.SystemClassLoaderInjector.getField(_JNIEnv*,__jobject*,__jobject*,__jstring*) = 0x6a2c" 'f method.SystemClassLoaderInjector.getField(_JNIEnv*,__jobject*,__jobject*,__jstring*) = 0x6a2c
"f method.SystemClassLoaderInjector.getPathList(_JNIEnv*,__jobject*) = 0x6abc" 'f method.SystemClassLoaderInjector.getPathList(_JNIEnv*,__jobject*) = 0x6abc
"f method.SystemClassLoaderInjector.getDexElements(_JNIEnv*,__jobject*) = 0x6af4" 'f method.SystemClassLoaderInjector.getDexElements(_JNIEnv*,__jobject*) = 0x6af4
"f method.SystemClassLoaderInjector.setField(_JNIEnv*,__jobject*,__jobject*,__jstring*,__jobject*) = 0x6b1c" 'f method.SystemClassLoaderInjector.setField(_JNIEnv*,__jobject*,__jobject*,__jstring*,__jobject*) = 0x6b1c
"f method.SystemClassLoaderInjector.combineArray(_JNIEnv*,__jobject*,__jobject*) = 0x6bb0" 'f method.SystemClassLoaderInjector.combineArray(_JNIEnv*,__jobject*,__jobject*) = 0x6bb0
"f method.SystemClassLoaderInjector.injectAboveEqualApiLevel14(_JNIEnv*,__jobject*,__jstring*,__jstring*) = 0x6d00" 'f method.SystemClassLoaderInjector.injectAboveEqualApiLevel14(_JNIEnv*,__jobject*,__jstring*,__jstring*) = 0x6d00
"f method.SystemClassLoaderInjector.appendArray(_JNIEnv*,__jobject*,__jobject*) = 0x6e5c" 'f method.SystemClassLoaderInjector.appendArray(_JNIEnv*,__jobject*,__jobject*) = 0x6e5c
"f method.SystemClassLoaderInjector.injectInAliyunOs(_JNIEnv*,__jobject*,__jstring*,__jstring*) = 0x6f68" 'f method.SystemClassLoaderInjector.injectInAliyunOs(_JNIEnv*,__jobject*,__jstring*,__jstring*) = 0x6f68
"f method.SystemClassLoaderInjector.injectBelowApiLevel14(_JNIEnv*,__jobject*,__jstring*,__jstring*) = 0x720c" 'f method.SystemClassLoaderInjector.injectBelowApiLevel14(_JNIEnv*,__jobject*,__jstring*,__jstring*) = 0x720c
'td struct SystemClassLoaderInjector { char empty[0];}; 'td struct SystemClassLoaderInjector { char empty[0];};
"f class.std = 0x886c" 'f class.std = 0x886c
"f method.std.terminate() = 0x9470" 'f method.std.terminate() = 0x9470
"f method.std.uncaught_exception() = 0x886c" 'f method.std.uncaught_exception() = 0x886c
"f method.std.unexpected() = 0x9494" 'f method.std.unexpected() = 0x9494
"f method.std.set_terminate(void_(*)()) = 0x94ac" 'f method.std.set_terminate(void_(*)()) = 0x94ac
"f method.std.set_unexpected(void_(*)()) = 0x94c8" 'f method.std.set_unexpected(void_(*)()) = 0x94c8
'td struct std { char empty[0];}; 'td struct std { char empty[0];};
"f class.std::exception = 0x8884" 'f class.std::exception = 0x8884
"f method.std::exception.~exception() = 0x8884" 'f method.std::exception.~exception() = 0x8884
"f method.std::exception.what()_const = 0x88f4" 'f method.std::exception.what()_const = 0x88f4
'td struct std::exception { char empty[0];}; 'td struct std::exception { char empty[0];};
"f class.std::bad_exception = 0x889c" 'f class.std::bad_exception = 0x889c
"f method.std::bad_exception.~bad_exception() = 0x889c" 'f method.std::bad_exception.~bad_exception() = 0x889c
"f method.std::bad_exception.what()_const = 0x8904" 'f method.std::bad_exception.what()_const = 0x8904
'td struct std::bad_exception { char empty[0];}; 'td struct std::bad_exception { char empty[0];};
"f class.__cxxabiv1::__forced_unwind = 0x88c4" 'f class.__cxxabiv1::__forced_unwind = 0x88c4
"f method.__cxxabiv1::__forced_unwind.~__forced_unwind() = 0x88c4" 'f method.__cxxabiv1::__forced_unwind.~__forced_unwind() = 0x88c4
'td struct __cxxabiv1::__forced_unwind { char empty[0];}; 'td struct __cxxabiv1::__forced_unwind { char empty[0];};
"f class.__cxxabiv1::__foreign_exception = 0x88dc" 'f class.__cxxabiv1::__foreign_exception = 0x88dc
"f method.__cxxabiv1::__foreign_exception.~__foreign_exception() = 0x88dc" 'f method.__cxxabiv1::__foreign_exception.~__foreign_exception() = 0x88dc
'td struct __cxxabiv1::__foreign_exception { char empty[0];}; 'td struct __cxxabiv1::__foreign_exception { char empty[0];};
"f class.__eh_globals_init = 0x8984" 'f class.__eh_globals_init = 0x8984
"f method.__eh_globals_init.~__eh_globals_init() = 0x8984" 'f method.__eh_globals_init.~__eh_globals_init() = 0x8984
'td struct __eh_globals_init { char empty[0];}; 'td struct __eh_globals_init { char empty[0];};
"f class.__cxxabiv1 = 0x943c" 'f class.__cxxabiv1 = 0x943c
"f method.__cxxabiv1.__terminate(void_(*)()) = 0x943c" 'f method.__cxxabiv1.__terminate(void_(*)()) = 0x943c
"f method.__cxxabiv1.__unexpected(void_(*)()) = 0x9488" 'f method.__cxxabiv1.__unexpected(void_(*)()) = 0x9488
'td struct __cxxabiv1 { char empty[0];}; 'td struct __cxxabiv1 { char empty[0];};
"f class.__cxxabiv1::__fundamental_type_info = 0x94e4" 'f class.__cxxabiv1::__fundamental_type_info = 0x94e4
"f method.__cxxabiv1::__fundamental_type_info.~__fundamental_type_info() = 0x94e4" 'f method.__cxxabiv1::__fundamental_type_info.~__fundamental_type_info() = 0x94e4
'td struct __cxxabiv1::__fundamental_type_info { char empty[0];}; 'td struct __cxxabiv1::__fundamental_type_info { char empty[0];};
"f class.std::type_info = 0x97bc" 'f class.std::type_info = 0x97bc
"f method.std::type_info.~type_info() = 0x97bc" 'f method.std::type_info.~type_info() = 0x97bc
"f method.std::type_info.__is_pointer_p()_const = 0x97d4" 'f method.std::type_info.__is_pointer_p()_const = 0x97d4
"f method.std::type_info.__is_function_p()_const = 0x97dc" 'f method.std::type_info.__is_function_p()_const = 0x97dc
"f method.std::type_info.__do_catch(std::type_info_const*,_void**,_unsigned_int)_const = 0x9854" 'f method.std::type_info.__do_catch(std::type_info_const*,_void**,_unsigned_int)_const = 0x9854
"f method.std::type_info.__do_upcast(__cxxabiv1::__class_type_info_const*,_void**)_const = 0x97e4" 'f method.std::type_info.__do_upcast(__cxxabiv1::__class_type_info_const*,_void**)_const = 0x97e4
"f method.std::type_info.operator==(std::type_info_const&)_const = 0x9808" 'f method.std::type_info.operator==(std::type_info_const&)_const = 0x9808
'td struct std::type_info { char empty[0];}; 'td struct std::type_info { char empty[0];};
"f class.__cxxabiv1::__pointer_type_info = 0x9528" 'f class.__cxxabiv1::__pointer_type_info = 0x9528
"f method.__cxxabiv1::__pointer_type_info.__is_pointer_p()_const = 0x9528" 'f method.__cxxabiv1::__pointer_type_info.__is_pointer_p()_const = 0x9528
"f method.__cxxabiv1::__pointer_type_info.~__pointer_type_info() = 0x9530" 'f method.__cxxabiv1::__pointer_type_info.~__pointer_type_info() = 0x9530
"f method.__cxxabiv1::__pointer_type_info.__pointer_catch(__cxxabiv1::__pbase_type_info_const*,_void**,_unsigned_int)_const = 0x9574" 'f method.__cxxabiv1::__pointer_type_info.__pointer_catch(__cxxabiv1::__pbase_type_info_const*,_void**,_unsigned_int)_const = 0x9574
'td struct __cxxabiv1::__pointer_type_info { char empty[0];}; 'td struct __cxxabiv1::__pointer_type_info { char empty[0];};
"f class.__cxxabiv1::__pbase_type_info = 0x9dd0" 'f class.__cxxabiv1::__pbase_type_info = 0x9dd0
"f method.__cxxabiv1::__pbase_type_info.~__pbase_type_info() = 0x9df0" 'f method.__cxxabiv1::__pbase_type_info.~__pbase_type_info() = 0x9df0
"f method.__cxxabiv1::__pbase_type_info.__do_catch(std::type_info_const*,_void**,_unsigned_int)_const = 0x9e34" 'f method.__cxxabiv1::__pbase_type_info.__do_catch(std::type_info_const*,_void**,_unsigned_int)_const = 0x9e34
"f method.__cxxabiv1::__pbase_type_info.__pointer_catch(__cxxabiv1::__pbase_type_info_const*,_void**,_unsigned_int)_const = 0x9dd0" 'f method.__cxxabiv1::__pbase_type_info.__pointer_catch(__cxxabiv1::__pbase_type_info_const*,_void**,_unsigned_int)_const = 0x9dd0
'td struct __cxxabiv1::__pbase_type_info { char empty[0];}; 'td struct __cxxabiv1::__pbase_type_info { char empty[0];};
"f class.__cxxabiv1::__si_class_type_info = 0x95f4" 'f class.__cxxabiv1::__si_class_type_info = 0x95f4
"f method.__cxxabiv1::__si_class_type_info.~__si_class_type_info() = 0x95f4" 'f method.__cxxabiv1::__si_class_type_info.~__si_class_type_info() = 0x95f4
"f method.__cxxabiv1::__si_class_type_info.__do_find_public_src(int,_void_const*,___cxxabiv1::__class_type_info_const*,_void_const*)_const = 0x9638" 'f method.__cxxabiv1::__si_class_type_info.__do_find_public_src(int,_void_const*,___cxxabiv1::__class_type_info_const*,_void_const*)_const = 0x9638
"f method.__cxxabiv1::__si_class_type_info.__do_dyncast(int,___cxxabiv1::__class_type_info::__sub_kind,___cxxabiv1::__class_type_info_const*,_void_const*,___cxxabiv1::__class_type_info_const*,_void_const*,___cxxabiv1::__class_type_info::__dyncast_result&)_const = 0x969c" 'f method.__cxxabiv1::__si_class_type_info.__do_dyncast(int,___cxxabiv1::__class_type_info::__sub_kind,___cxxabiv1::__class_type_info_const*,_void_const*,___cxxabiv1::__class_type_info_const*,_void_const*,___cxxabiv1::__class_type_info::__dyncast_result&)_const = 0x969c
"f method.__cxxabiv1::__si_class_type_info.__do_upcast(__cxxabiv1::__class_type_info_const*,_void_const*,___cxxabiv1::__class_type_info::__upcast_result&)_const = 0x977c" 'f method.__cxxabiv1::__si_class_type_info.__do_upcast(__cxxabiv1::__class_type_info_const*,_void_const*,___cxxabiv1::__class_type_info::__upcast_result&)_const = 0x977c
'td struct __cxxabiv1::__si_class_type_info { char empty[0];}; 'td struct __cxxabiv1::__si_class_type_info { char empty[0];};
"f class.__cxxabiv1::__class_type_info = 0x9868" 'f class.__cxxabiv1::__class_type_info = 0x9868
"f method.__cxxabiv1::__class_type_info.~__class_type_info() = 0x98d8" 'f method.__cxxabiv1::__class_type_info.~__class_type_info() = 0x98d8
"f method.__cxxabiv1::__class_type_info.__do_upcast(__cxxabiv1::__class_type_info_const*,_void_const*,___cxxabiv1::__class_type_info::__upcast_result&)_const = 0x991c" 'f method.__cxxabiv1::__class_type_info.__do_upcast(__cxxabiv1::__class_type_info_const*,_void_const*,___cxxabiv1::__class_type_info::__upcast_result&)_const = 0x991c
"f method.__cxxabiv1::__class_type_info.__do_catch(std::type_info_const*,_void**,_unsigned_int)_const = 0x9948" 'f method.__cxxabiv1::__class_type_info.__do_catch(std::type_info_const*,_void**,_unsigned_int)_const = 0x9948
"f method.__cxxabiv1::__class_type_info.__do_upcast(__cxxabiv1::__class_type_info_const*,_void**)_const = 0x9868" 'f method.__cxxabiv1::__class_type_info.__do_upcast(__cxxabiv1::__class_type_info_const*,_void**)_const = 0x9868
"f method.__cxxabiv1::__class_type_info.__do_find_public_src(int,_void_const*,___cxxabiv1::__class_type_info_const*,_void_const*)_const = 0x98c4" 'f method.__cxxabiv1::__class_type_info.__do_find_public_src(int,_void_const*,___cxxabiv1::__class_type_info_const*,_void_const*)_const = 0x98c4
"f method.__cxxabiv1::__class_type_info.__do_dyncast(int,___cxxabiv1::__class_type_info::__sub_kind,___cxxabiv1::__class_type_info_const*,_void_const*,___cxxabiv1::__class_type_info_const*,_void_const*,___cxxabiv1::__class_type_info::__dyncast_result&)_const = 0x998c" 'f method.__cxxabiv1::__class_type_info.__do_dyncast(int,___cxxabiv1::__class_type_info::__sub_kind,___cxxabiv1::__class_type_info_const*,_void_const*,___cxxabiv1::__class_type_info_const*,_void_const*,___cxxabiv1::__class_type_info::__dyncast_result&)_const = 0x998c
'td struct __cxxabiv1::__class_type_info { char empty[0];}; 'td struct __cxxabiv1::__class_type_info { char empty[0];};
"f class.__gnu_cxx = 0x9ec4" 'f class.__gnu_cxx = 0x9ec4
"f method.__gnu_cxx.__verbose_terminate_handler() = 0x9ec4" 'f method.__gnu_cxx.__verbose_terminate_handler() = 0x9ec4
"f method.__gnu_cxx.__throw_concurrence_lock_error() = 0x12780" 'f method.__gnu_cxx.__throw_concurrence_lock_error() = 0x12780
"f method.__gnu_cxx.__throw_concurrence_unlock_error() = 0x127c8" 'f method.__gnu_cxx.__throw_concurrence_unlock_error() = 0x127c8
'td struct __gnu_cxx { char empty[0];}; 'td struct __gnu_cxx { char empty[0];};
"f class.__gnu_cxx::__concurrence_lock_error = 0x126b0" 'f class.__gnu_cxx::__concurrence_lock_error = 0x126b0
"f method.__gnu_cxx::__concurrence_lock_error.what()_const = 0x126b0" 'f method.__gnu_cxx::__concurrence_lock_error.what()_const = 0x126b0
"f method.__gnu_cxx::__concurrence_lock_error.~__concurrence_lock_error() = 0x126f8" 'f method.__gnu_cxx::__concurrence_lock_error.~__concurrence_lock_error() = 0x126f8
'td struct __gnu_cxx::__concurrence_lock_error { char empty[0];}; 'td struct __gnu_cxx::__concurrence_lock_error { char empty[0];};
"f class.__gnu_cxx::__concurrence_unlock_error = 0x126c0" 'f class.__gnu_cxx::__concurrence_unlock_error = 0x126c0
"f method.__gnu_cxx::__concurrence_unlock_error.what()_const = 0x126c0" 'f method.__gnu_cxx::__concurrence_unlock_error.what()_const = 0x126c0
"f method.__gnu_cxx::__concurrence_unlock_error.~__concurrence_unlock_error() = 0x126d0" 'f method.__gnu_cxx::__concurrence_unlock_error.~__concurrence_unlock_error() = 0x126d0
'td struct __gnu_cxx::__concurrence_unlock_error { char empty[0];}; 'td struct __gnu_cxx::__concurrence_unlock_error { char empty[0];};
"f class.std::bad_cast = 0x12bc8" 'f class.std::bad_cast = 0x12bc8
"f method.std::bad_cast.~bad_cast() = 0x12bd8" 'f method.std::bad_cast.~bad_cast() = 0x12bd8
"f method.std::bad_cast.what()_const = 0x12bc8" 'f method.std::bad_cast.what()_const = 0x12bc8
'td struct std::bad_cast { char empty[0];}; 'td struct std::bad_cast { char empty[0];};
"f class.std::bad_typeid = 0x12c1c" 'f class.std::bad_typeid = 0x12c1c
"f method.std::bad_typeid.~bad_typeid() = 0x12c2c" 'f method.std::bad_typeid.~bad_typeid() = 0x12c2c
"f method.std::bad_typeid.what()_const = 0x12c1c" 'f method.std::bad_typeid.what()_const = 0x12c1c
'td struct std::bad_typeid { char empty[0];}; 'td struct std::bad_typeid { char empty[0];};
EOF EOF
RUN RUN

View File

@ -36,42 +36,42 @@ FILE=bins/elf/before-after-main
CMDS=iee* CMDS=iee*
EXPECT=<<EOF EXPECT=<<EOF
fs+symbols fs+symbols
"f entry.preinit0 1 0x08048486" 'f entry.preinit0 1 0x08048486
"f entry.preinit0_hpaddr 1 0x00000ed4" 'f entry.preinit0_hpaddr 1 0x00000ed4
"s entry.preinit0" 's entry.preinit0
"f entry.preinit1 1 0x0804849f" 'f entry.preinit1 1 0x0804849f
"f entry.preinit1_hpaddr 1 0x00000ed8" 'f entry.preinit1_hpaddr 1 0x00000ed8
"s entry.preinit1" 's entry.preinit1
"f entry.init0 1 0x08048480" 'f entry.init0 1 0x08048480
"f entry.init0_hpaddr 1 0x00000edc" 'f entry.init0_hpaddr 1 0x00000edc
"s entry.init0" 's entry.init0
"f entry.init1 1 0x080484b8" 'f entry.init1 1 0x080484b8
"f entry.init1_hpaddr 1 0x00000ee0" 'f entry.init1_hpaddr 1 0x00000ee0
"s entry.init1" 's entry.init1
"f entry.init2 1 0x080484d1" 'f entry.init2 1 0x080484d1
"f entry.init2_hpaddr 1 0x00000ee4" 'f entry.init2_hpaddr 1 0x00000ee4
"s entry.init2" 's entry.init2
"f entry.init3 1 0x080484ea" 'f entry.init3 1 0x080484ea
"f entry.init3_hpaddr 1 0x00000ee8" 'f entry.init3_hpaddr 1 0x00000ee8
"s entry.init3" 's entry.init3
"f entry.init4 1 0x08048503" 'f entry.init4 1 0x08048503
"f entry.init4_hpaddr 1 0x00000eec" 'f entry.init4_hpaddr 1 0x00000eec
"s entry.init4" 's entry.init4
"f entry.fini0 1 0x08048450" 'f entry.fini0 1 0x08048450
"f entry.fini0_hpaddr 1 0x00000ef0" 'f entry.fini0_hpaddr 1 0x00000ef0
"s entry.fini0" 's entry.fini0
"f entry.fini1 1 0x0804859c" 'f entry.fini1 1 0x0804859c
"f entry.fini1_hpaddr 1 0x00000ef4" 'f entry.fini1_hpaddr 1 0x00000ef4
"s entry.fini1" 's entry.fini1
"f entry.fini2 1 0x080485b5" 'f entry.fini2 1 0x080485b5
"f entry.fini2_hpaddr 1 0x00000ef8" 'f entry.fini2_hpaddr 1 0x00000ef8
"s entry.fini2" 's entry.fini2
"f entry.fini3 1 0x080485ce" 'f entry.fini3 1 0x080485ce
"f entry.fini3_hpaddr 1 0x00000efc" 'f entry.fini3_hpaddr 1 0x00000efc
"s entry.fini3" 's entry.fini3
"f entry.fini4 1 0x080485e7" 'f entry.fini4 1 0x080485e7
"f entry.fini4_hpaddr 1 0x00000f00" 'f entry.fini4_hpaddr 1 0x00000f00
"s entry.fini4" 's entry.fini4
fs- fs-
EOF EOF
RUN RUN

View File

@ -47,31 +47,31 @@ ARGS=-e bin.types=true
CMDS=ic* CMDS=ic*
EXPECT=<<EOF EXPECT=<<EOF
fs classes fs classes
"f class.Employee = 0x100001ae0" 'f class.Employee = 0x100001ae0
"f super.Employee.NSObject = 0" 'f super.Employee.NSObject = 0
"f method.Employee.helloWorld = 0x100001ae0" 'f method.Employee.helloWorld = 0x100001ae0
"f method.Employee.sayHello = 0x100001b10" 'f method.Employee.sayHello = 0x100001b10
"f method.Employee.p0 = 0x100001b40" 'f method.Employee.p0 = 0x100001b40
"f method.Employee.p1 = 0x100001b60" 'f method.Employee.p1 = 0x100001b60
"f method.Employee.p2 = 0x100001b80" 'f method.Employee.p2 = 0x100001b80
"f method.Employee.p3 = 0x100001ba0" 'f method.Employee.p3 = 0x100001ba0
"f method.Employee.base = 0x100001bc0" 'f method.Employee.base = 0x100001bc0
"f method.Employee.username = 0x100001c10" 'f method.Employee.username = 0x100001c10
"f method.Employee.setUsername: = 0x100001c40" 'f method.Employee.setUsername: = 0x100001c40
"f method.Employee.firstName = 0x100001c80" 'f method.Employee.firstName = 0x100001c80
"f method.Employee.setFirstName: = 0x100001cb0" 'f method.Employee.setFirstName: = 0x100001cb0
"f method.Employee.shortWord = 0x100001cf0" 'f method.Employee.shortWord = 0x100001cf0
"f method.Employee.wideWord = 0x100001d10" 'f method.Employee.wideWord = 0x100001d10
"f method.Employee.class.sayHello = 0x100001be0" 'f method.Employee.class.sayHello = 0x100001be0
"f field.Employee.var.isa = 0x00000000" 'f field.Employee.var.isa = 0x00000000
"f field.Employee.var._shortWord = 0x100003328" 'f field.Employee.var._shortWord = 0x100003328
"f field.Employee.var._username = 0x100003330" 'f field.Employee.var._username = 0x100003330
"f field.Employee.var._firstName = 0x100003338" 'f field.Employee.var._firstName = 0x100003338
"f field.Employee.var._wideWord = 0x100003340" 'f field.Employee.var._wideWord = 0x100003340
"f field.Employee.property.username = 0x00000000" 'f field.Employee.property.username = 0x00000000
"f field.Employee.property.firstName = 0x00000000" 'f field.Employee.property.firstName = 0x00000000
"f field.Employee.property.shortWord = 0x00000000" 'f field.Employee.property.shortWord = 0x00000000
"f field.Employee.property.wideWord = 0x00000000" 'f field.Employee.property.wideWord = 0x00000000
'td struct Employee { struct objc_class * isa; short _shortWord; struct NSString* _username; struct NSString* _firstName; uint64_t _wideWord; void* username; void* firstName; void* shortWord; void* wideWord;}; 'td struct Employee { struct objc_class * isa; short _shortWord; struct NSString* _username; struct NSString* _firstName; uint64_t _wideWord; void* username; void* firstName; void* shortWord; void* wideWord;};
EOF EOF
RUN RUN
@ -317,32 +317,32 @@ FILE=bins/mach0/objc-employee-ios14-arm64
CMDS=ic* CMDS=ic*
EXPECT=<<EOF EXPECT=<<EOF
fs classes fs classes
"f class.Employee = 0x100007958" 'f class.Employee = 0x100007958
"f super.Employee.NSObject = 0" 'f super.Employee.NSObject = 0
"f method.Employee.sayHello = 0x100007984" 'f method.Employee.sayHello = 0x100007984
"f method.Employee.helloWorld = 0x1000079b0" 'f method.Employee.helloWorld = 0x1000079b0
"f method.Employee.p0 = 0x1000079dc" 'f method.Employee.p0 = 0x1000079dc
"f method.Employee.p1 = 0x1000079f8" 'f method.Employee.p1 = 0x1000079f8
"f method.Employee.p2 = 0x100007a14" 'f method.Employee.p2 = 0x100007a14
"f method.Employee.p3 = 0x100007a30" 'f method.Employee.p3 = 0x100007a30
"f method.Employee.base = 0x100007a4c" 'f method.Employee.base = 0x100007a4c
"f method.Employee.username = 0x100007a64" 'f method.Employee.username = 0x100007a64
"f method.Employee.setUsername: = 0x100007a8c" 'f method.Employee.setUsername: = 0x100007a8c
"f method.Employee.firstName = 0x100007ac4" 'f method.Employee.firstName = 0x100007ac4
"f method.Employee.setFirstName: = 0x100007aec" 'f method.Employee.setFirstName: = 0x100007aec
"f method.Employee.shortWord = 0x100007b24" 'f method.Employee.shortWord = 0x100007b24
"f method.Employee.wideWord = 0x100007b44" 'f method.Employee.wideWord = 0x100007b44
"f method.Employee..cxx_destruct = 0x100007b60" 'f method.Employee..cxx_destruct = 0x100007b60
"f method.Employee.class.sayHello = 0x100007958" 'f method.Employee.class.sayHello = 0x100007958
"f field.Employee.var.isa = 0x00000000" 'f field.Employee.var.isa = 0x00000000
"f field.Employee.var._shortWord = 0x10000c228" 'f field.Employee.var._shortWord = 0x10000c228
"f field.Employee.var._username = 0x10000c22c" 'f field.Employee.var._username = 0x10000c22c
"f field.Employee.var._firstName = 0x10000c230" 'f field.Employee.var._firstName = 0x10000c230
"f field.Employee.var._wideWord = 0x10000c234" 'f field.Employee.var._wideWord = 0x10000c234
"f field.Employee.property.username = 0x00000000" 'f field.Employee.property.username = 0x00000000
"f field.Employee.property.firstName = 0x00000000" 'f field.Employee.property.firstName = 0x00000000
"f field.Employee.property.shortWord = 0x00000000" 'f field.Employee.property.shortWord = 0x00000000
"f field.Employee.property.wideWord = 0x00000000" 'f field.Employee.property.wideWord = 0x00000000
'td struct Employee { struct objc_class * isa; short _shortWord; struct NSString* _username; struct NSString* _firstName; uint64_t _wideWord; void* username; void* firstName; void* shortWord; void* wideWord;}; 'td struct Employee { struct objc_class * isa; short _shortWord; struct NSString* _username; struct NSString* _firstName; uint64_t _wideWord; void* username; void* firstName; void* shortWord; void* wideWord;};
EOF EOF
RUN RUN
@ -590,32 +590,32 @@ FILE=bins/mach0/objc-employee-ios14-arm64e
CMDS=ic* CMDS=ic*
EXPECT=<<EOF EXPECT=<<EOF
fs classes fs classes
"f class.Employee = 0x1000079a8" 'f class.Employee = 0x1000079a8
"f super.Employee.NSObject = 0" 'f super.Employee.NSObject = 0
"f method.Employee.sayHello = 0x1000079d8" 'f method.Employee.sayHello = 0x1000079d8
"f method.Employee.helloWorld = 0x100007a08" 'f method.Employee.helloWorld = 0x100007a08
"f method.Employee.p0 = 0x100007a38" 'f method.Employee.p0 = 0x100007a38
"f method.Employee.p1 = 0x100007a54" 'f method.Employee.p1 = 0x100007a54
"f method.Employee.p2 = 0x100007a70" 'f method.Employee.p2 = 0x100007a70
"f method.Employee.p3 = 0x100007a8c" 'f method.Employee.p3 = 0x100007a8c
"f method.Employee.base = 0x100007aa8" 'f method.Employee.base = 0x100007aa8
"f method.Employee.username = 0x100007ac0" 'f method.Employee.username = 0x100007ac0
"f method.Employee.setUsername: = 0x100007ae8" 'f method.Employee.setUsername: = 0x100007ae8
"f method.Employee.firstName = 0x100007b24" 'f method.Employee.firstName = 0x100007b24
"f method.Employee.setFirstName: = 0x100007b4c" 'f method.Employee.setFirstName: = 0x100007b4c
"f method.Employee.shortWord = 0x100007b88" 'f method.Employee.shortWord = 0x100007b88
"f method.Employee.wideWord = 0x100007ba8" 'f method.Employee.wideWord = 0x100007ba8
"f method.Employee..cxx_destruct = 0x100007bc4" 'f method.Employee..cxx_destruct = 0x100007bc4
"f method.Employee.class.sayHello = 0x1000079a8" 'f method.Employee.class.sayHello = 0x1000079a8
"f field.Employee.var.isa = 0x00000000" 'f field.Employee.var.isa = 0x00000000
"f field.Employee.var._shortWord = 0x10000c1d8" 'f field.Employee.var._shortWord = 0x10000c1d8
"f field.Employee.var._username = 0x10000c1dc" 'f field.Employee.var._username = 0x10000c1dc
"f field.Employee.var._firstName = 0x10000c1e0" 'f field.Employee.var._firstName = 0x10000c1e0
"f field.Employee.var._wideWord = 0x10000c1e4" 'f field.Employee.var._wideWord = 0x10000c1e4
"f field.Employee.property.username = 0x00000000" 'f field.Employee.property.username = 0x00000000
"f field.Employee.property.firstName = 0x00000000" 'f field.Employee.property.firstName = 0x00000000
"f field.Employee.property.shortWord = 0x00000000" 'f field.Employee.property.shortWord = 0x00000000
"f field.Employee.property.wideWord = 0x00000000" 'f field.Employee.property.wideWord = 0x00000000
'td struct Employee { struct objc_class * isa; short _shortWord; struct NSString* _username; struct NSString* _firstName; uint64_t _wideWord; void* username; void* firstName; void* shortWord; void* wideWord;}; 'td struct Employee { struct objc_class * isa; short _shortWord; struct NSString* _username; struct NSString* _firstName; uint64_t _wideWord; void* username; void* firstName; void* shortWord; void* wideWord;};
EOF EOF
RUN RUN

View File

@ -119,7 +119,7 @@ NAME=DEX Hello.dex method flags (r2 commands) (ic*)
FILE=bins/dex/Hello.dex FILE=bins/dex/Hello.dex
CMDS=ic*~main CMDS=ic*~main
EXPECT=<<EOF EXPECT=<<EOF
"f method.LHello.public.static.LHello.method.main([Ljava/lang/String;)V = 0x1c0" 'f method.LHello.public.static.LHello.method.main([Ljava/lang/String;)V = 0x1c0
EOF EOF
RUN RUN

View File

@ -721,28 +721,28 @@ colu: 12
addr: 0x00001149 addr: 0x00001149
EOF EOF
EXPECT_ERR=<<EOF EXPECT_ERR=<<EOF
DEBUG: [cbin.c:3351] (section .dynsym) Cd 8[21] @ 0x3d8 DEBUG: [cbin.c:3348] (section .dynsym) Cd 8[21] @ 0x3d8
DEBUG: [cbin.c:3351] (section .dynstr) Css 141 @ 0x480 DEBUG: [cbin.c:3348] (section .dynstr) Css 141 @ 0x480
DEBUG: [cbin.c:3351] (section .rela.dyn) Cd 8[24] @ 0x550 DEBUG: [cbin.c:3348] (section .rela.dyn) Cd 8[24] @ 0x550
DEBUG: [cbin.c:3351] (section .rela.plt) Cd 8[3] @ 0x610 DEBUG: [cbin.c:3348] (section .rela.plt) Cd 8[3] @ 0x610
DEBUG: [cbin.c:3351] (section .init_array) Cd 8[1] @ 0x3db8 DEBUG: [cbin.c:3348] (section .init_array) Cd 8[1] @ 0x3db8
DEBUG: [cbin.c:3351] (section .fini_array) Cd 8[1] @ 0x3dc0 DEBUG: [cbin.c:3348] (section .fini_array) Cd 8[1] @ 0x3dc0
DEBUG: [cbin.c:3351] (section .dynamic) Cd 8[62] @ 0x3dc8 DEBUG: [cbin.c:3348] (section .dynamic) Cd 8[62] @ 0x3dc8
DEBUG: [cbin.c:3351] (section .got) Cd 8[9] @ 0x3fb8 DEBUG: [cbin.c:3348] (section .got) Cd 8[9] @ 0x3fb8
DEBUG: [cbin.c:3351] (section .dynsym) Cd 8[21] @ 0x3d8 DEBUG: [cbin.c:3348] (section .dynsym) Cd 8[21] @ 0x3d8
DEBUG: [cbin.c:3351] (section .dynstr) Css 141 @ 0x480 DEBUG: [cbin.c:3348] (section .dynstr) Css 141 @ 0x480
DEBUG: [cbin.c:3351] (section .rela.dyn) Cd 8[24] @ 0x550 DEBUG: [cbin.c:3348] (section .rela.dyn) Cd 8[24] @ 0x550
DEBUG: [cbin.c:3351] (section .rela.plt) Cd 8[3] @ 0x610 DEBUG: [cbin.c:3348] (section .rela.plt) Cd 8[3] @ 0x610
DEBUG: [cbin.c:3351] (section .init_array) Cd 8[1] @ 0x3db8 DEBUG: [cbin.c:3348] (section .init_array) Cd 8[1] @ 0x3db8
DEBUG: [cbin.c:3351] (section .fini_array) Cd 8[1] @ 0x3dc0 DEBUG: [cbin.c:3348] (section .fini_array) Cd 8[1] @ 0x3dc0
DEBUG: [cbin.c:3351] (section .dynamic) Cd 8[62] @ 0x3dc8 DEBUG: [cbin.c:3348] (section .dynamic) Cd 8[62] @ 0x3dc8
DEBUG: [cbin.c:3351] (section .got) Cd 8[9] @ 0x3fb8 DEBUG: [cbin.c:3348] (section .got) Cd 8[9] @ 0x3fb8
WARN: [cbin.c:1902] Relocs has not been applied. Please use `-e bin.relocs.apply=true` or `-e bin.cache=true` next time WARN: [cbin.c:1899] Relocs has not been applied. Please use `-e bin.relocs.apply=true` or `-e bin.cache=true` next time
DEBUG: [cbin.c:2596] Cannot resolve symbol address __libc_start_main DEBUG: [cbin.c:2593] Cannot resolve symbol address __libc_start_main
DEBUG: [cbin.c:2596] Cannot resolve symbol address _ITM_deregisterTMCloneTable DEBUG: [cbin.c:2593] Cannot resolve symbol address _ITM_deregisterTMCloneTable
DEBUG: [cbin.c:2596] Cannot resolve symbol address __gmon_start__ DEBUG: [cbin.c:2593] Cannot resolve symbol address __gmon_start__
DEBUG: [cbin.c:2596] Cannot resolve symbol address _ITM_registerTMCloneTable DEBUG: [cbin.c:2593] Cannot resolve symbol address _ITM_registerTMCloneTable
DEBUG: [cbin.c:2596] Cannot resolve symbol address __cxa_finalize DEBUG: [cbin.c:2593] Cannot resolve symbol address __cxa_finalize
EOF EOF
RUN RUN

View File

@ -7,14 +7,14 @@ EOF
EXPECT=<<EOF EXPECT=<<EOF
11 11
fs relocs fs relocs
"f reloc.r0 4 0x08000034" 'f reloc.r0 4 0x08000034
"f reloc.r2 4 0x0800003c" 'f reloc.r2 4 0x0800003c
"f reloc.r3 4 0x08000040" 'f reloc.r3 4 0x08000040
"f reloc.r4 4 0x08000044" 'f reloc.r4 4 0x08000044
"f reloc.r0 4 0x0800004c" 'f reloc.r0 4 0x0800004c
"f reloc.r2 4 0x08000054" 'f reloc.r2 4 0x08000054
"f reloc.r3 4 0x08000058" 'f reloc.r3 4 0x08000058
"f reloc.r4 4 0x0800005c" 'f reloc.r4 4 0x0800005c
wv8 0xffffffffffffffff @ 0x8000060 wv8 0xffffffffffffffff @ 0x8000060
EOF EOF
RUN RUN

View File

@ -220,35 +220,35 @@ CMDS=<<EOF
is*~SceneDelegate is*~SceneDelegate
EOF EOF
EXPECT=<<EOF EXPECT=<<EOF
"f sym.__SceneDelegate_scene:willConnectToSession:options:_ 4 0x100006514" 'f sym.__SceneDelegate_scene:willConnectToSession:options:_ 4 0x100006514
"f sym.__SceneDelegate_sceneDidDisconnect:_ 4 0x100006518" 'f sym.__SceneDelegate_sceneDidDisconnect:_ 4 0x100006518
"f sym.__SceneDelegate_sceneDidBecomeActive:_ 4 0x10000651c" 'f sym.__SceneDelegate_sceneDidBecomeActive:_ 4 0x10000651c
"f sym.__SceneDelegate_sceneWillResignActive:_ 4 0x100006520" 'f sym.__SceneDelegate_sceneWillResignActive:_ 4 0x100006520
"f sym.__SceneDelegate_sceneWillEnterForeground:_ 4 0x100006524" 'f sym.__SceneDelegate_sceneWillEnterForeground:_ 4 0x100006524
"f sym.__SceneDelegate_sceneDidEnterBackground:_ 4 0x100006528" 'f sym.__SceneDelegate_sceneDidEnterBackground:_ 4 0x100006528
"f sym.__SceneDelegate_window_ 16 0x10000652c" 'f sym.__SceneDelegate_window_ 16 0x10000652c
"f sym.__SceneDelegate_setWindow:_ 20 0x10000653c" 'f sym.__SceneDelegate_setWindow:_ 20 0x10000653c
"f sym.__SceneDelegate_.cxx_destruct_ 20 0x100006550" 'f sym.__SceneDelegate_.cxx_destruct_ 20 0x100006550
"f sym.__OBJC_LABEL_PROTOCOL___UISceneDelegate 8 0x1000080b0" 'f sym.__OBJC_LABEL_PROTOCOL___UISceneDelegate 8 0x1000080b0
"f sym.__OBJC_LABEL_PROTOCOL___UIWindowSceneDelegate 8 0x1000080b8" 'f sym.__OBJC_LABEL_PROTOCOL___UIWindowSceneDelegate 8 0x1000080b8
"f sym.__OBJC___PROTOCOL_REFS_UISceneDelegate 24 0x100008f50" 'f sym.__OBJC___PROTOCOL_REFS_UISceneDelegate 24 0x100008f50
"f sym.__OBJC___PROTOCOL_INSTANCE_METHODS_OPT_UISceneDelegate 296 0x100008f68" 'f sym.__OBJC___PROTOCOL_INSTANCE_METHODS_OPT_UISceneDelegate 296 0x100008f68
"f sym.__OBJC___PROTOCOL_METHOD_TYPES_UISceneDelegate 96 0x100009090" 'f sym.__OBJC___PROTOCOL_METHOD_TYPES_UISceneDelegate 96 0x100009090
"f sym.__OBJC___PROTOCOL_REFS_UIWindowSceneDelegate 24 0x1000090f0" 'f sym.__OBJC___PROTOCOL_REFS_UIWindowSceneDelegate 24 0x1000090f0
"f sym.__OBJC___PROTOCOL_INSTANCE_METHODS_OPT_UIWindowSceneDelegate 128 0x100009108" 'f sym.__OBJC___PROTOCOL_INSTANCE_METHODS_OPT_UIWindowSceneDelegate 128 0x100009108
"f sym.__OBJC___PROP_LIST_UIWindowSceneDelegate 24 0x100009188" 'f sym.__OBJC___PROP_LIST_UIWindowSceneDelegate 24 0x100009188
"f sym.__OBJC___PROTOCOL_METHOD_TYPES_UIWindowSceneDelegate 40 0x1000091a0" 'f sym.__OBJC___PROTOCOL_METHOD_TYPES_UIWindowSceneDelegate 40 0x1000091a0
"f sym.__OBJC_CLASS_PROTOCOLS___SceneDelegate 24 0x1000091c8" 'f sym.__OBJC_CLASS_PROTOCOLS___SceneDelegate 24 0x1000091c8
"f sym.__OBJC_METACLASS_RO___SceneDelegate 72 0x1000091e0" 'f sym.__OBJC_METACLASS_RO___SceneDelegate 72 0x1000091e0
"f sym.__OBJC___INSTANCE_METHODS_SceneDelegate 224 0x100009228" 'f sym.__OBJC___INSTANCE_METHODS_SceneDelegate 224 0x100009228
"f sym.__OBJC___INSTANCE_VARIABLES_SceneDelegate 40 0x100009308" 'f sym.__OBJC___INSTANCE_VARIABLES_SceneDelegate 40 0x100009308
"f sym.__OBJC___PROP_LIST_SceneDelegate 88 0x100009330" 'f sym.__OBJC___PROP_LIST_SceneDelegate 88 0x100009330
"f sym.__OBJC_CLASS_RO___SceneDelegate 72 0x100009388" 'f sym.__OBJC_CLASS_RO___SceneDelegate 72 0x100009388
"f sym._OBJC_IVAR___SceneDelegate._window 4 0x100009408" 'f sym._OBJC_IVAR___SceneDelegate._window 4 0x100009408
"f sym._OBJC_METACLASS___SceneDelegate 40 0x1000094b0" 'f sym._OBJC_METACLASS___SceneDelegate 40 0x1000094b0
"f sym._OBJC_CLASS___SceneDelegate 40 0x1000094d8" 'f sym._OBJC_CLASS___SceneDelegate 40 0x1000094d8
"f sym.__OBJC_PROTOCOL___UISceneDelegate 96 0x1000095c8" 'f sym.__OBJC_PROTOCOL___UISceneDelegate 96 0x1000095c8
"f sym.__OBJC_PROTOCOL___UIWindowSceneDelegate 96 0x100009628" 'f sym.__OBJC_PROTOCOL___UIWindowSceneDelegate 96 0x100009628
EOF EOF
RUN RUN
@ -258,35 +258,35 @@ CMDS=<<EOF
is*~SceneDelegate is*~SceneDelegate
EOF EOF
EXPECT=<<EOF EXPECT=<<EOF
"f sym.__SceneDelegate_scene:willConnectToSession:options:_ 4 0x100006514" 'f sym.__SceneDelegate_scene:willConnectToSession:options:_ 4 0x100006514
"f sym.__SceneDelegate_sceneDidDisconnect:_ 4 0x100006518" 'f sym.__SceneDelegate_sceneDidDisconnect:_ 4 0x100006518
"f sym.__SceneDelegate_sceneDidBecomeActive:_ 4 0x10000651c" 'f sym.__SceneDelegate_sceneDidBecomeActive:_ 4 0x10000651c
"f sym.__SceneDelegate_sceneWillResignActive:_ 4 0x100006520" 'f sym.__SceneDelegate_sceneWillResignActive:_ 4 0x100006520
"f sym.__SceneDelegate_sceneWillEnterForeground:_ 4 0x100006524" 'f sym.__SceneDelegate_sceneWillEnterForeground:_ 4 0x100006524
"f sym.__SceneDelegate_sceneDidEnterBackground:_ 4 0x100006528" 'f sym.__SceneDelegate_sceneDidEnterBackground:_ 4 0x100006528
"f sym.__SceneDelegate_window_ 16 0x10000652c" 'f sym.__SceneDelegate_window_ 16 0x10000652c
"f sym.__SceneDelegate_setWindow:_ 20 0x10000653c" 'f sym.__SceneDelegate_setWindow:_ 20 0x10000653c
"f sym.__SceneDelegate_.cxx_destruct_ 20 0x100006550" 'f sym.__SceneDelegate_.cxx_destruct_ 20 0x100006550
"f sym.__OBJC_LABEL_PROTOCOL___UISceneDelegate 8 0x1000080b0" 'f sym.__OBJC_LABEL_PROTOCOL___UISceneDelegate 8 0x1000080b0
"f sym.__OBJC_LABEL_PROTOCOL___UIWindowSceneDelegate 8 0x1000080b8" 'f sym.__OBJC_LABEL_PROTOCOL___UIWindowSceneDelegate 8 0x1000080b8
"f sym.__OBJC___PROTOCOL_REFS_UISceneDelegate 24 0x100008f50" 'f sym.__OBJC___PROTOCOL_REFS_UISceneDelegate 24 0x100008f50
"f sym.__OBJC___PROTOCOL_INSTANCE_METHODS_OPT_UISceneDelegate 296 0x100008f68" 'f sym.__OBJC___PROTOCOL_INSTANCE_METHODS_OPT_UISceneDelegate 296 0x100008f68
"f sym.__OBJC___PROTOCOL_METHOD_TYPES_UISceneDelegate 96 0x100009090" 'f sym.__OBJC___PROTOCOL_METHOD_TYPES_UISceneDelegate 96 0x100009090
"f sym.__OBJC___PROTOCOL_REFS_UIWindowSceneDelegate 24 0x1000090f0" 'f sym.__OBJC___PROTOCOL_REFS_UIWindowSceneDelegate 24 0x1000090f0
"f sym.__OBJC___PROTOCOL_INSTANCE_METHODS_OPT_UIWindowSceneDelegate 128 0x100009108" 'f sym.__OBJC___PROTOCOL_INSTANCE_METHODS_OPT_UIWindowSceneDelegate 128 0x100009108
"f sym.__OBJC___PROP_LIST_UIWindowSceneDelegate 24 0x100009188" 'f sym.__OBJC___PROP_LIST_UIWindowSceneDelegate 24 0x100009188
"f sym.__OBJC___PROTOCOL_METHOD_TYPES_UIWindowSceneDelegate 40 0x1000091a0" 'f sym.__OBJC___PROTOCOL_METHOD_TYPES_UIWindowSceneDelegate 40 0x1000091a0
"f sym.__OBJC_CLASS_PROTOCOLS___SceneDelegate 24 0x1000091c8" 'f sym.__OBJC_CLASS_PROTOCOLS___SceneDelegate 24 0x1000091c8
"f sym.__OBJC_METACLASS_RO___SceneDelegate 72 0x1000091e0" 'f sym.__OBJC_METACLASS_RO___SceneDelegate 72 0x1000091e0
"f sym.__OBJC___INSTANCE_METHODS_SceneDelegate 224 0x100009228" 'f sym.__OBJC___INSTANCE_METHODS_SceneDelegate 224 0x100009228
"f sym.__OBJC___INSTANCE_VARIABLES_SceneDelegate 40 0x100009308" 'f sym.__OBJC___INSTANCE_VARIABLES_SceneDelegate 40 0x100009308
"f sym.__OBJC___PROP_LIST_SceneDelegate 88 0x100009330" 'f sym.__OBJC___PROP_LIST_SceneDelegate 88 0x100009330
"f sym.__OBJC_CLASS_RO___SceneDelegate 72 0x100009388" 'f sym.__OBJC_CLASS_RO___SceneDelegate 72 0x100009388
"f sym._OBJC_IVAR___SceneDelegate._window 4 0x100009408" 'f sym._OBJC_IVAR___SceneDelegate._window 4 0x100009408
"f sym._OBJC_METACLASS___SceneDelegate 40 0x1000094b0" 'f sym._OBJC_METACLASS___SceneDelegate 40 0x1000094b0
"f sym._OBJC_CLASS___SceneDelegate 40 0x1000094d8" 'f sym._OBJC_CLASS___SceneDelegate 40 0x1000094d8
"f sym.__OBJC_PROTOCOL___UISceneDelegate 96 0x1000095c8" 'f sym.__OBJC_PROTOCOL___UISceneDelegate 96 0x1000095c8
"f sym.__OBJC_PROTOCOL___UIWindowSceneDelegate 96 0x100009628" 'f sym.__OBJC_PROTOCOL___UIWindowSceneDelegate 96 0x100009628
EOF EOF
RUN RUN
@ -296,35 +296,35 @@ CMDS=<<EOF
is*~SceneDelegate is*~SceneDelegate
EOF EOF
EXPECT=<<EOF EXPECT=<<EOF
"f sym.__SceneDelegate_scene:willConnectToSession:options:_ 152 0x1000060b0" 'f sym.__SceneDelegate_scene:willConnectToSession:options:_ 152 0x1000060b0
"f sym.__SceneDelegate_sceneDidDisconnect:_ 80 0x100006148" 'f sym.__SceneDelegate_sceneDidDisconnect:_ 80 0x100006148
"f sym.__SceneDelegate_sceneDidBecomeActive:_ 80 0x100006198" 'f sym.__SceneDelegate_sceneDidBecomeActive:_ 80 0x100006198
"f sym.__SceneDelegate_sceneWillResignActive:_ 80 0x1000061e8" 'f sym.__SceneDelegate_sceneWillResignActive:_ 80 0x1000061e8
"f sym.__SceneDelegate_sceneWillEnterForeground:_ 80 0x100006238" 'f sym.__SceneDelegate_sceneWillEnterForeground:_ 80 0x100006238
"f sym.__SceneDelegate_sceneDidEnterBackground:_ 80 0x100006288" 'f sym.__SceneDelegate_sceneDidEnterBackground:_ 80 0x100006288
"f sym.__SceneDelegate_window_ 36 0x1000062d8" 'f sym.__SceneDelegate_window_ 36 0x1000062d8
"f sym.__SceneDelegate_setWindow:_ 64 0x1000062fc" 'f sym.__SceneDelegate_setWindow:_ 64 0x1000062fc
"f sym.__SceneDelegate_.cxx_destruct_ 60 0x10000633c" 'f sym.__SceneDelegate_.cxx_destruct_ 60 0x10000633c
"f sym.__OBJC___INSTANCE_METHODS_SceneDelegate 116 0x100006490" 'f sym.__OBJC___INSTANCE_METHODS_SceneDelegate 116 0x100006490
"f sym.__OBJC_LABEL_PROTOCOL___UISceneDelegate 8 0x100008438" 'f sym.__OBJC_LABEL_PROTOCOL___UISceneDelegate 8 0x100008438
"f sym.__OBJC_LABEL_PROTOCOL___UIWindowSceneDelegate 8 0x100008440" 'f sym.__OBJC_LABEL_PROTOCOL___UIWindowSceneDelegate 8 0x100008440
"f sym.__OBJC___PROTOCOL_REFS_UISceneDelegate 24 0x10000ce58" 'f sym.__OBJC___PROTOCOL_REFS_UISceneDelegate 24 0x10000ce58
"f sym.__OBJC___PROTOCOL_INSTANCE_METHODS_OPT_UISceneDelegate 320 0x10000ce70" 'f sym.__OBJC___PROTOCOL_INSTANCE_METHODS_OPT_UISceneDelegate 320 0x10000ce70
"f sym.__OBJC___PROTOCOL_METHOD_TYPES_UISceneDelegate 104 0x10000cfb0" 'f sym.__OBJC___PROTOCOL_METHOD_TYPES_UISceneDelegate 104 0x10000cfb0
"f sym.__OBJC___PROTOCOL_REFS_UIWindowSceneDelegate 24 0x10000d018" 'f sym.__OBJC___PROTOCOL_REFS_UIWindowSceneDelegate 24 0x10000d018
"f sym.__OBJC___PROTOCOL_INSTANCE_METHODS_OPT_UIWindowSceneDelegate 128 0x10000d030" 'f sym.__OBJC___PROTOCOL_INSTANCE_METHODS_OPT_UIWindowSceneDelegate 128 0x10000d030
"f sym.__OBJC___PROP_LIST_UIWindowSceneDelegate 24 0x10000d0b0" 'f sym.__OBJC___PROP_LIST_UIWindowSceneDelegate 24 0x10000d0b0
"f sym.__OBJC___PROTOCOL_METHOD_TYPES_UIWindowSceneDelegate 40 0x10000d0c8" 'f sym.__OBJC___PROTOCOL_METHOD_TYPES_UIWindowSceneDelegate 40 0x10000d0c8
"f sym.__OBJC_CLASS_PROTOCOLS___SceneDelegate 24 0x10000d0f0" 'f sym.__OBJC_CLASS_PROTOCOLS___SceneDelegate 24 0x10000d0f0
"f sym.__OBJC_METACLASS_RO___SceneDelegate 72 0x10000d108" 'f sym.__OBJC_METACLASS_RO___SceneDelegate 72 0x10000d108
"f sym.__OBJC___INSTANCE_VARIABLES_SceneDelegate 40 0x10000d150" 'f sym.__OBJC___INSTANCE_VARIABLES_SceneDelegate 40 0x10000d150
"f sym.__OBJC___PROP_LIST_SceneDelegate 88 0x10000d178" 'f sym.__OBJC___PROP_LIST_SceneDelegate 88 0x10000d178
"f sym.__OBJC_CLASS_RO___SceneDelegate 72 0x10000d1d0" 'f sym.__OBJC_CLASS_RO___SceneDelegate 72 0x10000d1d0
"f sym._OBJC_IVAR___SceneDelegate._window 4 0x10000d2b0" 'f sym._OBJC_IVAR___SceneDelegate._window 4 0x10000d2b0
"f sym._OBJC_METACLASS___SceneDelegate 40 0x10000d358" 'f sym._OBJC_METACLASS___SceneDelegate 40 0x10000d358
"f sym._OBJC_CLASS___SceneDelegate 40 0x10000d380" 'f sym._OBJC_CLASS___SceneDelegate 40 0x10000d380
"f sym.__OBJC_PROTOCOL___UISceneDelegate 96 0x10000d468" 'f sym.__OBJC_PROTOCOL___UISceneDelegate 96 0x10000d468
"f sym.__OBJC_PROTOCOL___UIWindowSceneDelegate 96 0x10000d4c8" 'f sym.__OBJC_PROTOCOL___UIWindowSceneDelegate 96 0x10000d4c8
EOF EOF
RUN RUN

View File

@ -45,7 +45,7 @@ NAME=objc method flags (ic*)
FILE=bins/mach0/TestMethods FILE=bins/mach0/TestMethods
CMDS=ic*~thisIsAClassMethod CMDS=ic*~thisIsAClassMethod
EXPECT=<<EOF EXPECT=<<EOF
"f method.ViewController.class.thisIsAClassMethod = 0x1000067bc" 'f method.ViewController.class.thisIsAClassMethod = 0x1000067bc
EOF EOF
RUN RUN

View File

@ -21,6 +21,6 @@ vaddr=0x00000000 paddr=0x00000200 haddr=-1 type=program
1 entrypoints 1 entrypoints
xor al, al xor al, al
fs sections fs sections
"f section.seg_000 1 0x00000000" 'f section.seg_000 1 0x00000000
EOF EOF
RUN RUN

View File

@ -19,6 +19,6 @@ FILE=bins/mz/unzip.exe
CMDS=iS* CMDS=iS*
EXPECT=<<EOF EXPECT=<<EOF
fs sections fs sections
"f section.seg_000 1 0x00000000" 'f section.seg_000 1 0x00000000
EOF EOF
RUN RUN

View File

@ -22,15 +22,15 @@ FILE=bins/pe/Lab05-01.dll
CMDS=iE* CMDS=iE*
EXPECT=<<EOF EXPECT=<<EOF
fs exports fs exports
"f sym.xdll.dll_InstallRT 0 0x1000d847" 'f sym.xdll.dll_InstallRT 0 0x1000d847
"f sym.xdll.dll_InstallSA 0 0x1000dec1" 'f sym.xdll.dll_InstallSA 0 0x1000dec1
"f sym.xdll.dll_InstallSB 0 0x1000e892" 'f sym.xdll.dll_InstallSB 0 0x1000e892
"f sym.xdll.dll_PSLIST 0 0x10007025" 'f sym.xdll.dll_PSLIST 0 0x10007025
"f sym.xdll.dll_ServiceMain 0 0x1000cf30" 'f sym.xdll.dll_ServiceMain 0 0x1000cf30
"f sym.xdll.dll_StartEXS 0 0x10007ecb" 'f sym.xdll.dll_StartEXS 0 0x10007ecb
"f sym.xdll.dll_UninstallRT 0 0x1000f405" 'f sym.xdll.dll_UninstallRT 0 0x1000f405
"f sym.xdll.dll_UninstallSA 0 0x1000ea05" 'f sym.xdll.dll_UninstallSA 0 0x1000ea05
"f sym.xdll.dll_UninstallSB 0 0x1000f138" 'f sym.xdll.dll_UninstallSB 0 0x1000f138
EOF EOF
RUN RUN

View File

@ -9,6 +9,6 @@ NAME=PE: corkami tinygui.exe - libs
FILE=bins/pe/tinygui.exe FILE=bins/pe/tinygui.exe
CMDS=il* CMDS=il*
EXPECT=<<EOF EXPECT=<<EOF
"CCa entry0 user32.dll" 'CCa entry0 user32.dll
EOF EOF
RUN RUN

View File

@ -19,8 +19,8 @@ NAME=3: io.baddr
FILE=bins/elf/analysis/pie FILE=bins/elf/analysis/pie
CMDS=!rabin2 -B 0xf00000 -re ${R2_FILE} | grep 0x CMDS=!rabin2 -B 0xf00000 -re ${R2_FILE} | grep 0x
EXPECT=<<EOF EXPECT=<<EOF
"f entry0 1 0x00f00450" 'f entry0 1 0x00f00450
"f entry0_haddr 1 0x00000018" 'f entry0_haddr 1 0x00000018
EOF EOF
RUN RUN
@ -89,8 +89,8 @@ CMDS=<<EOF
p8 10 @ 0x00f00450 p8 10 @ 0x00f00450
EOF EOF
EXPECT=<<EOF EXPECT=<<EOF
"f entry0 1 0x00f00450" 'f entry0 1 0x00f00450
"f entry0_haddr 1 0x00000018" 'f entry0_haddr 1 0x00000018
31ed5e89e183e4f05054 31ed5e89e183e4f05054
EOF EOF
RUN RUN