mirror of
https://github.com/radareorg/radare2.git
synced 2024-11-23 05:09:43 +00:00
Replace "" with ' in more * subcommands, wip deprecation for safetiness ##shell
This commit is contained in:
parent
9bd991dfb4
commit
7073d534b2
@ -30,7 +30,7 @@ char *r2_asmjs_cmd(void *kore, const char *cmd) {
|
||||
}
|
||||
|
||||
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) {
|
||||
|
@ -1,7 +1,6 @@
|
||||
/* Copyright radare2 - 2014-2024 - pancake, ret2libc */
|
||||
|
||||
#include <r_core.h>
|
||||
#include <r_vec.h>
|
||||
|
||||
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];
|
||||
r_line_set_prompt ("[comment]> ");
|
||||
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;
|
||||
showcursor (core, false);
|
||||
|
@ -3369,9 +3369,9 @@ static int fcn_print_detail(RCore *core, RAnalFunction *fcn) {
|
||||
*paren = '\0';
|
||||
}
|
||||
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);
|
||||
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->type == R_ANAL_FCN_TYPE_LOC?'l':
|
||||
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
|
||||
if (fcn->cc || defaultCC) {
|
||||
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-");
|
||||
}
|
||||
if (fcn->folded) {
|
||||
|
@ -1259,13 +1259,10 @@ static bool bin_dwarf(RCore *core, PJ *pj, int mode) {
|
||||
|
||||
pj_end (pj);
|
||||
} else {
|
||||
r_cons_printf ("CL %s:%d 0x%08" PFMT64x "\n",
|
||||
file, (int)row->line,
|
||||
row->address);
|
||||
r_cons_printf ("\"CC %s:%d %s\"@0x%" PFMT64x
|
||||
"\n",
|
||||
file, row->line,
|
||||
r_str_get (line), row->address);
|
||||
r_cons_printf ("'@0x%08"PFMT64x"'CL %s:%d\n",
|
||||
row->address, file, (int)row->line);
|
||||
r_cons_printf ("'@0x%08"PFMT64x"'CC %s:%d %s\n",
|
||||
row->address, file, row->line, r_str_get (line));
|
||||
}
|
||||
free (file);
|
||||
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);
|
||||
}
|
||||
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_%s 1 0x%08"PFMT64x"\"\n", n, hpaddr_key, hpaddr);
|
||||
r_cons_printf ("\"s %s\"\n", n);
|
||||
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 ("'s %s\n", n);
|
||||
free (n);
|
||||
free (name);
|
||||
} else {
|
||||
@ -1959,7 +1956,7 @@ static bool bin_relocs(RCore *r, PJ *pj, int mode, int va) {
|
||||
}
|
||||
int reloc_size = 4;
|
||||
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->bin->prefix ? "." : "", n, reloc_size, addr);
|
||||
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) {
|
||||
// ut64 saddr = reloc->symbol->vaddr;
|
||||
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->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) {
|
||||
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 ? "." : "",
|
||||
flagname, symbol->size, addr);
|
||||
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);
|
||||
*p = 0;
|
||||
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);
|
||||
} 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);
|
||||
}
|
||||
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)) {
|
||||
char *fname = r_str_newf ("%s.%s", type, section->name);
|
||||
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);
|
||||
} else if (IS_MODE_SET (mode)) {
|
||||
#if LOAD_BSS_MALLOC
|
||||
@ -3969,7 +3966,7 @@ static bool bin_classes(RCore *r, PJ *pj, int mode) {
|
||||
}
|
||||
} else if (IS_MODE_RAD (mode)) {
|
||||
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) {
|
||||
const char *cn = cname;
|
||||
RListIter *iter;
|
||||
@ -3977,7 +3974,7 @@ static bool bin_classes(RCore *r, PJ *pj, int mode) {
|
||||
r_list_foreach (c->super, iter, bn) {
|
||||
char *fsk = strdup (r_bin_name_tostring2 (bn, pref));
|
||||
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);
|
||||
}
|
||||
}
|
||||
@ -3987,8 +3984,7 @@ static bool bin_classes(RCore *r, PJ *pj, int mode) {
|
||||
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
|
||||
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 (sn);
|
||||
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);
|
||||
r_name_filter (fn, -1);
|
||||
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);
|
||||
}
|
||||
|
||||
@ -4231,7 +4227,7 @@ static bool bin_libs(RCore *r, PJ *pj, int mode) {
|
||||
// Nothing to set.
|
||||
// TODO: load libraries with iomaps?
|
||||
} 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)) {
|
||||
pj_s (pj, lib);
|
||||
} else {
|
||||
|
@ -3632,7 +3632,7 @@ static int cmd_system(void *data, const char *input) {
|
||||
cmd_help_exclamation (core);
|
||||
} else if (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);
|
||||
} else {
|
||||
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, "\\ ", " ", 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);
|
||||
}
|
||||
break;
|
||||
|
@ -70,7 +70,7 @@ static RCoreHelpMessage help_msg_wa = {
|
||||
"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*", " 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 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",
|
||||
|
@ -2763,13 +2763,13 @@ static void __handleComment(RCore *core) {
|
||||
char *arg = filter_arg (strdup (buf));
|
||||
switch (buf[0]) {
|
||||
case '-':
|
||||
cmd = r_str_newf ("\"CC-%s\"", arg);
|
||||
cmd = r_str_newf ("'CC-%s", arg);
|
||||
break;
|
||||
case '!':
|
||||
cmd = strdup ("CC!");
|
||||
break;
|
||||
default:
|
||||
cmd = r_str_newf ("\"CC %s\"", arg);
|
||||
cmd = r_str_newf ("'CC %s", arg);
|
||||
break;
|
||||
}
|
||||
free (arg);
|
||||
@ -5302,7 +5302,7 @@ static int __clear_layout_cb(void *user) {
|
||||
|
||||
static int __copy_cb(void *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;
|
||||
}
|
||||
|
||||
@ -5314,13 +5314,13 @@ static int __paste_cb(void *user) {
|
||||
|
||||
static int __write_str_cb(void *user) {
|
||||
RCore *core = (RCore *)user;
|
||||
__add_cmdf_panel (core, "insert string: ", "\"w %s\"");
|
||||
__add_cmdf_panel (core, "insert string: ", "'w %s");
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int __write_hex_cb(void *user) {
|
||||
RCore *core = (RCore *)user;
|
||||
__add_cmdf_panel (core, "insert hexpairs: ", "\"wx %s\"");
|
||||
__add_cmdf_panel (core, "insert hexpairs: ", "'wx %s");
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -5479,19 +5479,19 @@ static int __string_data_sec_cb(void *user) {
|
||||
|
||||
static int __rop_cb(void *user) {
|
||||
RCore *core = (RCore *)user;
|
||||
__add_cmdf_panel (core, "rop grep: ", "\"/R %s\"");
|
||||
__add_cmdf_panel (core, "rop grep: ", "'/R %s");
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int __code_cb(void *user) {
|
||||
RCore *core = (RCore *)user;
|
||||
__add_cmdf_panel (core, "search code: ", "\"/c %s\"");
|
||||
__add_cmdf_panel (core, "search code: ", "'/c %s");
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int __hexpairs_cb(void *user) {
|
||||
RCore *core = (RCore *)user;
|
||||
__add_cmdf_panel (core, "search hexpairs: ", "\"/x %s\"");
|
||||
__add_cmdf_panel (core, "search hexpairs: ", "'/x %s");
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -5683,7 +5683,7 @@ static int __writeValueCb(void *user) {
|
||||
RCore *core = (RCore *)user;
|
||||
char *res = __show_status_input (core, "insert number: ");
|
||||
if (res) {
|
||||
r_core_cmdf (core, "\"wv %s\"", res);
|
||||
r_core_cmdf (core, "'wv %s", res);
|
||||
free (res);
|
||||
}
|
||||
return 0;
|
||||
|
@ -488,8 +488,8 @@ static bool store_files_and_maps(RCore *core, RIODesc *desc, ut32 id) {
|
||||
RIOMap *map;
|
||||
if (desc) {
|
||||
// reload bin info
|
||||
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 ("'obf %s\n", desc->uri);
|
||||
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
|
||||
r_list_foreach (maps, iter, map) {
|
||||
r_cons_printf ("om %d 0x%" PFMT64x " 0x%" PFMT64x " 0x%" PFMT64x " %s%s%s\n", fdc,
|
||||
|
@ -916,7 +916,7 @@ R_API int r_core_visual_types(RCore *core) {
|
||||
{
|
||||
char *file = prompt ("Filename: ", NULL);
|
||||
if (file) {
|
||||
r_core_cmdf (core, "\"to %s\"", file);
|
||||
r_core_cmdf (core, "'to %s", file);
|
||||
free (file);
|
||||
}
|
||||
}
|
||||
@ -969,7 +969,7 @@ R_API int r_core_visual_types(RCore *core) {
|
||||
{
|
||||
txt = prompt ("add C type: ", NULL);
|
||||
if (txt) {
|
||||
r_core_cmdf (core, "\"td %s\"", txt);
|
||||
r_core_cmdf (core, "'td %s", txt);
|
||||
free (txt);
|
||||
}
|
||||
}
|
||||
|
@ -509,7 +509,7 @@ static int rasm_disasm(RAsmState *as, ut64 addr, const char *buf, int len, int b
|
||||
if (acode) {
|
||||
if (as->oneliner) {
|
||||
r_str_replace_char (acode->assembly, '\n', ';');
|
||||
printf ("%s\"\n", acode->assembly);
|
||||
printf ("%s\n", acode->assembly);
|
||||
} else if (acode->assembly[0]) {
|
||||
printf ("%s", acode->assembly);
|
||||
} else {
|
||||
@ -1056,7 +1056,7 @@ R_API int r_main_rasm2(int argc, const char *argv[]) {
|
||||
as->oneliner = true;
|
||||
printf ("e asm.arch=%s\n", arch? arch: R_SYS_ARCH);
|
||||
printf ("e asm.bits=%d\n", bits);
|
||||
printf ("\"wa ");
|
||||
printf ("'wa ");
|
||||
}
|
||||
ret = rasm_disasm (as, offset, (char *)usrstr, len,
|
||||
as->a->config->bits, bin, dis - 1);
|
||||
|
@ -100,8 +100,8 @@ af
|
||||
afi*
|
||||
EOF
|
||||
EXPECT=<<EOF
|
||||
"f sym._checkinput 288 0x100000da0"
|
||||
"af+ 0x100000da0 sym._checkinput f n"
|
||||
'f sym._checkinput 288 0x100000da0
|
||||
'af+ 0x100000da0 sym._checkinput f n
|
||||
afb+ 0x100000da0 0x100000da0 22 0x100000db6 0xffffffffffffffff
|
||||
afb+ 0x100000da0 0x100000e99 5 0x100000e9e 0xffffffffffffffff
|
||||
afb+ 0x100000da0 0x100000e9e 24 0x100000db6 0x100000eb6
|
||||
@ -128,7 +128,7 @@ afb+ 0x100000da0 0x100000e8b 5 0x100000e99 0xffffffffffffffff
|
||||
afb+ 0x100000da0 0x100000e90 9 0x100000eba 0xffffffffffffffff
|
||||
afB 64 @ 0x100000da0
|
||||
s 0x100000da0
|
||||
"afc amd64"
|
||||
'afc amd64
|
||||
s-
|
||||
s 0x100000da0
|
||||
'afvb -1 var_1h int64_t
|
||||
|
@ -2564,7 +2564,7 @@ NAME=il* (file x86)
|
||||
FILE=bins/elf/analysis/x86-helloworld-gcc
|
||||
CMDS=il*
|
||||
EXPECT=<<EOF
|
||||
"CCa entry0 libc.so.6"
|
||||
'CCa entry0 libc.so.6
|
||||
EOF
|
||||
RUN
|
||||
|
||||
@ -2591,13 +2591,13 @@ FILE=bins/elf/analysis/x86-helloworld-gcc
|
||||
CMDS=ir*
|
||||
EXPECT=<<EOF
|
||||
fs relocs
|
||||
"f reloc.__gmon_start__ 4 0x08049690"
|
||||
'f reloc.__gmon_start__ 4 0x08049690
|
||||
Cd 4 @ 0x08049690
|
||||
"f reloc.puts 4 0x080496a0"
|
||||
'f reloc.puts 4 0x080496a0
|
||||
Cd 4 @ 0x080496a0
|
||||
"f reloc.__gmon_start__ 4 0x080496a4"
|
||||
'f reloc.__gmon_start__ 4 0x080496a4
|
||||
Cd 4 @ 0x080496a4
|
||||
"f reloc.__libc_start_main 4 0x080496a8"
|
||||
'f reloc.__libc_start_main 4 0x080496a8
|
||||
Cd 4 @ 0x080496a8
|
||||
EOF
|
||||
RUN
|
||||
|
@ -688,115 +688,115 @@ FILE=bins/elf/libmagic.so
|
||||
CMDS=ic*
|
||||
EXPECT=<<EOF
|
||||
fs classes
|
||||
"f class._JNIEnv = 0x6060"
|
||||
"f method._JNIEnv.FindClass(char_const*) = 0x6060"
|
||||
"f method._JNIEnv.DeleteLocalRef(_jobject*) = 0x606a"
|
||||
"f method._JNIEnv.NewObject(_jclass*,__jmethodID*,_...) = 0x6074"
|
||||
"f method._JNIEnv.GetObjectClass(_jobject*) = 0x608e"
|
||||
"f method._JNIEnv.GetMethodID(_jclass*,_char_const*,_char_const*) = 0x6098"
|
||||
"f method._JNIEnv.CallObjectMethod(_jobject*,__jmethodID*,_...) = 0x60a4"
|
||||
"f method._JNIEnv.CallVoidMethod(_jobject*,__jmethodID*,_...) = 0x60c0"
|
||||
"f method._JNIEnv.GetStaticMethodID(_jclass*,_char_const*,_char_const*) = 0x60dc"
|
||||
"f method._JNIEnv.CallStaticObjectMethod(_jclass*,__jmethodID*,_...) = 0x60ea"
|
||||
"f method._JNIEnv.CallStaticIntMethod(_jclass*,__jmethodID*,_...) = 0x695e"
|
||||
"f method._JNIEnv.CallStaticVoidMethod(_jclass*,__jmethodID*,_...) = 0x697c"
|
||||
'f class._JNIEnv = 0x6060
|
||||
'f method._JNIEnv.FindClass(char_const*) = 0x6060
|
||||
'f method._JNIEnv.DeleteLocalRef(_jobject*) = 0x606a
|
||||
'f method._JNIEnv.NewObject(_jclass*,__jmethodID*,_...) = 0x6074
|
||||
'f method._JNIEnv.GetObjectClass(_jobject*) = 0x608e
|
||||
'f method._JNIEnv.GetMethodID(_jclass*,_char_const*,_char_const*) = 0x6098
|
||||
'f method._JNIEnv.CallObjectMethod(_jobject*,__jmethodID*,_...) = 0x60a4
|
||||
'f method._JNIEnv.CallVoidMethod(_jobject*,__jmethodID*,_...) = 0x60c0
|
||||
'f method._JNIEnv.GetStaticMethodID(_jclass*,_char_const*,_char_const*) = 0x60dc
|
||||
'f method._JNIEnv.CallStaticObjectMethod(_jclass*,__jmethodID*,_...) = 0x60ea
|
||||
'f method._JNIEnv.CallStaticIntMethod(_jclass*,__jmethodID*,_...) = 0x695e
|
||||
'f method._JNIEnv.CallStaticVoidMethod(_jclass*,__jmethodID*,_...) = 0x697c
|
||||
'td struct _JNIEnv { char empty[0];};
|
||||
"f class.SystemClassLoaderInjector = 0x699c"
|
||||
"f method.SystemClassLoaderInjector.inject(_JNIEnv*,__jobject*,__jstring*,__jstring*) = 0x74f8"
|
||||
"f method.SystemClassLoaderInjector.findBaseDexClassloader(_JNIEnv*,__jobject*) = 0x699c"
|
||||
"f method.SystemClassLoaderInjector.getField(_JNIEnv*,__jobject*,__jobject*,__jstring*) = 0x6a2c"
|
||||
"f method.SystemClassLoaderInjector.getPathList(_JNIEnv*,__jobject*) = 0x6abc"
|
||||
"f method.SystemClassLoaderInjector.getDexElements(_JNIEnv*,__jobject*) = 0x6af4"
|
||||
"f method.SystemClassLoaderInjector.setField(_JNIEnv*,__jobject*,__jobject*,__jstring*,__jobject*) = 0x6b1c"
|
||||
"f method.SystemClassLoaderInjector.combineArray(_JNIEnv*,__jobject*,__jobject*) = 0x6bb0"
|
||||
"f method.SystemClassLoaderInjector.injectAboveEqualApiLevel14(_JNIEnv*,__jobject*,__jstring*,__jstring*) = 0x6d00"
|
||||
"f method.SystemClassLoaderInjector.appendArray(_JNIEnv*,__jobject*,__jobject*) = 0x6e5c"
|
||||
"f method.SystemClassLoaderInjector.injectInAliyunOs(_JNIEnv*,__jobject*,__jstring*,__jstring*) = 0x6f68"
|
||||
"f method.SystemClassLoaderInjector.injectBelowApiLevel14(_JNIEnv*,__jobject*,__jstring*,__jstring*) = 0x720c"
|
||||
'f class.SystemClassLoaderInjector = 0x699c
|
||||
'f method.SystemClassLoaderInjector.inject(_JNIEnv*,__jobject*,__jstring*,__jstring*) = 0x74f8
|
||||
'f method.SystemClassLoaderInjector.findBaseDexClassloader(_JNIEnv*,__jobject*) = 0x699c
|
||||
'f method.SystemClassLoaderInjector.getField(_JNIEnv*,__jobject*,__jobject*,__jstring*) = 0x6a2c
|
||||
'f method.SystemClassLoaderInjector.getPathList(_JNIEnv*,__jobject*) = 0x6abc
|
||||
'f method.SystemClassLoaderInjector.getDexElements(_JNIEnv*,__jobject*) = 0x6af4
|
||||
'f method.SystemClassLoaderInjector.setField(_JNIEnv*,__jobject*,__jobject*,__jstring*,__jobject*) = 0x6b1c
|
||||
'f method.SystemClassLoaderInjector.combineArray(_JNIEnv*,__jobject*,__jobject*) = 0x6bb0
|
||||
'f method.SystemClassLoaderInjector.injectAboveEqualApiLevel14(_JNIEnv*,__jobject*,__jstring*,__jstring*) = 0x6d00
|
||||
'f method.SystemClassLoaderInjector.appendArray(_JNIEnv*,__jobject*,__jobject*) = 0x6e5c
|
||||
'f method.SystemClassLoaderInjector.injectInAliyunOs(_JNIEnv*,__jobject*,__jstring*,__jstring*) = 0x6f68
|
||||
'f method.SystemClassLoaderInjector.injectBelowApiLevel14(_JNIEnv*,__jobject*,__jstring*,__jstring*) = 0x720c
|
||||
'td struct SystemClassLoaderInjector { char empty[0];};
|
||||
"f class.std = 0x886c"
|
||||
"f method.std.terminate() = 0x9470"
|
||||
"f method.std.uncaught_exception() = 0x886c"
|
||||
"f method.std.unexpected() = 0x9494"
|
||||
"f method.std.set_terminate(void_(*)()) = 0x94ac"
|
||||
"f method.std.set_unexpected(void_(*)()) = 0x94c8"
|
||||
'f class.std = 0x886c
|
||||
'f method.std.terminate() = 0x9470
|
||||
'f method.std.uncaught_exception() = 0x886c
|
||||
'f method.std.unexpected() = 0x9494
|
||||
'f method.std.set_terminate(void_(*)()) = 0x94ac
|
||||
'f method.std.set_unexpected(void_(*)()) = 0x94c8
|
||||
'td struct std { char empty[0];};
|
||||
"f class.std::exception = 0x8884"
|
||||
"f method.std::exception.~exception() = 0x8884"
|
||||
"f method.std::exception.what()_const = 0x88f4"
|
||||
'f class.std::exception = 0x8884
|
||||
'f method.std::exception.~exception() = 0x8884
|
||||
'f method.std::exception.what()_const = 0x88f4
|
||||
'td struct std::exception { char empty[0];};
|
||||
"f class.std::bad_exception = 0x889c"
|
||||
"f method.std::bad_exception.~bad_exception() = 0x889c"
|
||||
"f method.std::bad_exception.what()_const = 0x8904"
|
||||
'f class.std::bad_exception = 0x889c
|
||||
'f method.std::bad_exception.~bad_exception() = 0x889c
|
||||
'f method.std::bad_exception.what()_const = 0x8904
|
||||
'td struct std::bad_exception { char empty[0];};
|
||||
"f class.__cxxabiv1::__forced_unwind = 0x88c4"
|
||||
"f method.__cxxabiv1::__forced_unwind.~__forced_unwind() = 0x88c4"
|
||||
'f class.__cxxabiv1::__forced_unwind = 0x88c4
|
||||
'f method.__cxxabiv1::__forced_unwind.~__forced_unwind() = 0x88c4
|
||||
'td struct __cxxabiv1::__forced_unwind { char empty[0];};
|
||||
"f class.__cxxabiv1::__foreign_exception = 0x88dc"
|
||||
"f method.__cxxabiv1::__foreign_exception.~__foreign_exception() = 0x88dc"
|
||||
'f class.__cxxabiv1::__foreign_exception = 0x88dc
|
||||
'f method.__cxxabiv1::__foreign_exception.~__foreign_exception() = 0x88dc
|
||||
'td struct __cxxabiv1::__foreign_exception { char empty[0];};
|
||||
"f class.__eh_globals_init = 0x8984"
|
||||
"f method.__eh_globals_init.~__eh_globals_init() = 0x8984"
|
||||
'f class.__eh_globals_init = 0x8984
|
||||
'f method.__eh_globals_init.~__eh_globals_init() = 0x8984
|
||||
'td struct __eh_globals_init { char empty[0];};
|
||||
"f class.__cxxabiv1 = 0x943c"
|
||||
"f method.__cxxabiv1.__terminate(void_(*)()) = 0x943c"
|
||||
"f method.__cxxabiv1.__unexpected(void_(*)()) = 0x9488"
|
||||
'f class.__cxxabiv1 = 0x943c
|
||||
'f method.__cxxabiv1.__terminate(void_(*)()) = 0x943c
|
||||
'f method.__cxxabiv1.__unexpected(void_(*)()) = 0x9488
|
||||
'td struct __cxxabiv1 { char empty[0];};
|
||||
"f class.__cxxabiv1::__fundamental_type_info = 0x94e4"
|
||||
"f method.__cxxabiv1::__fundamental_type_info.~__fundamental_type_info() = 0x94e4"
|
||||
'f class.__cxxabiv1::__fundamental_type_info = 0x94e4
|
||||
'f method.__cxxabiv1::__fundamental_type_info.~__fundamental_type_info() = 0x94e4
|
||||
'td struct __cxxabiv1::__fundamental_type_info { char empty[0];};
|
||||
"f class.std::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_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_upcast(__cxxabiv1::__class_type_info_const*,_void**)_const = 0x97e4"
|
||||
"f method.std::type_info.operator==(std::type_info_const&)_const = 0x9808"
|
||||
'f class.std::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_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_upcast(__cxxabiv1::__class_type_info_const*,_void**)_const = 0x97e4
|
||||
'f method.std::type_info.operator==(std::type_info_const&)_const = 0x9808
|
||||
'td struct std::type_info { char empty[0];};
|
||||
"f class.__cxxabiv1::__pointer_type_info = 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_catch(__cxxabiv1::__pbase_type_info_const*,_void**,_unsigned_int)_const = 0x9574"
|
||||
'f class.__cxxabiv1::__pointer_type_info = 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_catch(__cxxabiv1::__pbase_type_info_const*,_void**,_unsigned_int)_const = 0x9574
|
||||
'td struct __cxxabiv1::__pointer_type_info { char empty[0];};
|
||||
"f class.__cxxabiv1::__pbase_type_info = 0x9dd0"
|
||||
"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.__pointer_catch(__cxxabiv1::__pbase_type_info_const*,_void**,_unsigned_int)_const = 0x9dd0"
|
||||
'f class.__cxxabiv1::__pbase_type_info = 0x9dd0
|
||||
'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.__pointer_catch(__cxxabiv1::__pbase_type_info_const*,_void**,_unsigned_int)_const = 0x9dd0
|
||||
'td struct __cxxabiv1::__pbase_type_info { char empty[0];};
|
||||
"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.__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_upcast(__cxxabiv1::__class_type_info_const*,_void_const*,___cxxabiv1::__class_type_info::__upcast_result&)_const = 0x977c"
|
||||
'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.__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_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];};
|
||||
"f class.__cxxabiv1::__class_type_info = 0x9868"
|
||||
"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_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_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 class.__cxxabiv1::__class_type_info = 0x9868
|
||||
'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_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_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
|
||||
'td struct __cxxabiv1::__class_type_info { char empty[0];};
|
||||
"f class.__gnu_cxx = 0x9ec4"
|
||||
"f method.__gnu_cxx.__verbose_terminate_handler() = 0x9ec4"
|
||||
"f method.__gnu_cxx.__throw_concurrence_lock_error() = 0x12780"
|
||||
"f method.__gnu_cxx.__throw_concurrence_unlock_error() = 0x127c8"
|
||||
'f class.__gnu_cxx = 0x9ec4
|
||||
'f method.__gnu_cxx.__verbose_terminate_handler() = 0x9ec4
|
||||
'f method.__gnu_cxx.__throw_concurrence_lock_error() = 0x12780
|
||||
'f method.__gnu_cxx.__throw_concurrence_unlock_error() = 0x127c8
|
||||
'td struct __gnu_cxx { char empty[0];};
|
||||
"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.~__concurrence_lock_error() = 0x126f8"
|
||||
'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.~__concurrence_lock_error() = 0x126f8
|
||||
'td struct __gnu_cxx::__concurrence_lock_error { char empty[0];};
|
||||
"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.~__concurrence_unlock_error() = 0x126d0"
|
||||
'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.~__concurrence_unlock_error() = 0x126d0
|
||||
'td struct __gnu_cxx::__concurrence_unlock_error { char empty[0];};
|
||||
"f class.std::bad_cast = 0x12bc8"
|
||||
"f method.std::bad_cast.~bad_cast() = 0x12bd8"
|
||||
"f method.std::bad_cast.what()_const = 0x12bc8"
|
||||
'f class.std::bad_cast = 0x12bc8
|
||||
'f method.std::bad_cast.~bad_cast() = 0x12bd8
|
||||
'f method.std::bad_cast.what()_const = 0x12bc8
|
||||
'td struct std::bad_cast { char empty[0];};
|
||||
"f class.std::bad_typeid = 0x12c1c"
|
||||
"f method.std::bad_typeid.~bad_typeid() = 0x12c2c"
|
||||
"f method.std::bad_typeid.what()_const = 0x12c1c"
|
||||
'f class.std::bad_typeid = 0x12c1c
|
||||
'f method.std::bad_typeid.~bad_typeid() = 0x12c2c
|
||||
'f method.std::bad_typeid.what()_const = 0x12c1c
|
||||
'td struct std::bad_typeid { char empty[0];};
|
||||
EOF
|
||||
RUN
|
||||
|
@ -36,42 +36,42 @@ FILE=bins/elf/before-after-main
|
||||
CMDS=iee*
|
||||
EXPECT=<<EOF
|
||||
fs+symbols
|
||||
"f entry.preinit0 1 0x08048486"
|
||||
"f entry.preinit0_hpaddr 1 0x00000ed4"
|
||||
"s entry.preinit0"
|
||||
"f entry.preinit1 1 0x0804849f"
|
||||
"f entry.preinit1_hpaddr 1 0x00000ed8"
|
||||
"s entry.preinit1"
|
||||
"f entry.init0 1 0x08048480"
|
||||
"f entry.init0_hpaddr 1 0x00000edc"
|
||||
"s entry.init0"
|
||||
"f entry.init1 1 0x080484b8"
|
||||
"f entry.init1_hpaddr 1 0x00000ee0"
|
||||
"s entry.init1"
|
||||
"f entry.init2 1 0x080484d1"
|
||||
"f entry.init2_hpaddr 1 0x00000ee4"
|
||||
"s entry.init2"
|
||||
"f entry.init3 1 0x080484ea"
|
||||
"f entry.init3_hpaddr 1 0x00000ee8"
|
||||
"s entry.init3"
|
||||
"f entry.init4 1 0x08048503"
|
||||
"f entry.init4_hpaddr 1 0x00000eec"
|
||||
"s entry.init4"
|
||||
"f entry.fini0 1 0x08048450"
|
||||
"f entry.fini0_hpaddr 1 0x00000ef0"
|
||||
"s entry.fini0"
|
||||
"f entry.fini1 1 0x0804859c"
|
||||
"f entry.fini1_hpaddr 1 0x00000ef4"
|
||||
"s entry.fini1"
|
||||
"f entry.fini2 1 0x080485b5"
|
||||
"f entry.fini2_hpaddr 1 0x00000ef8"
|
||||
"s entry.fini2"
|
||||
"f entry.fini3 1 0x080485ce"
|
||||
"f entry.fini3_hpaddr 1 0x00000efc"
|
||||
"s entry.fini3"
|
||||
"f entry.fini4 1 0x080485e7"
|
||||
"f entry.fini4_hpaddr 1 0x00000f00"
|
||||
"s entry.fini4"
|
||||
'f entry.preinit0 1 0x08048486
|
||||
'f entry.preinit0_hpaddr 1 0x00000ed4
|
||||
's entry.preinit0
|
||||
'f entry.preinit1 1 0x0804849f
|
||||
'f entry.preinit1_hpaddr 1 0x00000ed8
|
||||
's entry.preinit1
|
||||
'f entry.init0 1 0x08048480
|
||||
'f entry.init0_hpaddr 1 0x00000edc
|
||||
's entry.init0
|
||||
'f entry.init1 1 0x080484b8
|
||||
'f entry.init1_hpaddr 1 0x00000ee0
|
||||
's entry.init1
|
||||
'f entry.init2 1 0x080484d1
|
||||
'f entry.init2_hpaddr 1 0x00000ee4
|
||||
's entry.init2
|
||||
'f entry.init3 1 0x080484ea
|
||||
'f entry.init3_hpaddr 1 0x00000ee8
|
||||
's entry.init3
|
||||
'f entry.init4 1 0x08048503
|
||||
'f entry.init4_hpaddr 1 0x00000eec
|
||||
's entry.init4
|
||||
'f entry.fini0 1 0x08048450
|
||||
'f entry.fini0_hpaddr 1 0x00000ef0
|
||||
's entry.fini0
|
||||
'f entry.fini1 1 0x0804859c
|
||||
'f entry.fini1_hpaddr 1 0x00000ef4
|
||||
's entry.fini1
|
||||
'f entry.fini2 1 0x080485b5
|
||||
'f entry.fini2_hpaddr 1 0x00000ef8
|
||||
's entry.fini2
|
||||
'f entry.fini3 1 0x080485ce
|
||||
'f entry.fini3_hpaddr 1 0x00000efc
|
||||
's entry.fini3
|
||||
'f entry.fini4 1 0x080485e7
|
||||
'f entry.fini4_hpaddr 1 0x00000f00
|
||||
's entry.fini4
|
||||
fs-
|
||||
EOF
|
||||
RUN
|
||||
|
@ -47,31 +47,31 @@ ARGS=-e bin.types=true
|
||||
CMDS=ic*
|
||||
EXPECT=<<EOF
|
||||
fs classes
|
||||
"f class.Employee = 0x100001ae0"
|
||||
"f super.Employee.NSObject = 0"
|
||||
"f method.Employee.helloWorld = 0x100001ae0"
|
||||
"f method.Employee.sayHello = 0x100001b10"
|
||||
"f method.Employee.p0 = 0x100001b40"
|
||||
"f method.Employee.p1 = 0x100001b60"
|
||||
"f method.Employee.p2 = 0x100001b80"
|
||||
"f method.Employee.p3 = 0x100001ba0"
|
||||
"f method.Employee.base = 0x100001bc0"
|
||||
"f method.Employee.username = 0x100001c10"
|
||||
"f method.Employee.setUsername: = 0x100001c40"
|
||||
"f method.Employee.firstName = 0x100001c80"
|
||||
"f method.Employee.setFirstName: = 0x100001cb0"
|
||||
"f method.Employee.shortWord = 0x100001cf0"
|
||||
"f method.Employee.wideWord = 0x100001d10"
|
||||
"f method.Employee.class.sayHello = 0x100001be0"
|
||||
"f field.Employee.var.isa = 0x00000000"
|
||||
"f field.Employee.var._shortWord = 0x100003328"
|
||||
"f field.Employee.var._username = 0x100003330"
|
||||
"f field.Employee.var._firstName = 0x100003338"
|
||||
"f field.Employee.var._wideWord = 0x100003340"
|
||||
"f field.Employee.property.username = 0x00000000"
|
||||
"f field.Employee.property.firstName = 0x00000000"
|
||||
"f field.Employee.property.shortWord = 0x00000000"
|
||||
"f field.Employee.property.wideWord = 0x00000000"
|
||||
'f class.Employee = 0x100001ae0
|
||||
'f super.Employee.NSObject = 0
|
||||
'f method.Employee.helloWorld = 0x100001ae0
|
||||
'f method.Employee.sayHello = 0x100001b10
|
||||
'f method.Employee.p0 = 0x100001b40
|
||||
'f method.Employee.p1 = 0x100001b60
|
||||
'f method.Employee.p2 = 0x100001b80
|
||||
'f method.Employee.p3 = 0x100001ba0
|
||||
'f method.Employee.base = 0x100001bc0
|
||||
'f method.Employee.username = 0x100001c10
|
||||
'f method.Employee.setUsername: = 0x100001c40
|
||||
'f method.Employee.firstName = 0x100001c80
|
||||
'f method.Employee.setFirstName: = 0x100001cb0
|
||||
'f method.Employee.shortWord = 0x100001cf0
|
||||
'f method.Employee.wideWord = 0x100001d10
|
||||
'f method.Employee.class.sayHello = 0x100001be0
|
||||
'f field.Employee.var.isa = 0x00000000
|
||||
'f field.Employee.var._shortWord = 0x100003328
|
||||
'f field.Employee.var._username = 0x100003330
|
||||
'f field.Employee.var._firstName = 0x100003338
|
||||
'f field.Employee.var._wideWord = 0x100003340
|
||||
'f field.Employee.property.username = 0x00000000
|
||||
'f field.Employee.property.firstName = 0x00000000
|
||||
'f field.Employee.property.shortWord = 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;};
|
||||
EOF
|
||||
RUN
|
||||
@ -317,32 +317,32 @@ FILE=bins/mach0/objc-employee-ios14-arm64
|
||||
CMDS=ic*
|
||||
EXPECT=<<EOF
|
||||
fs classes
|
||||
"f class.Employee = 0x100007958"
|
||||
"f super.Employee.NSObject = 0"
|
||||
"f method.Employee.sayHello = 0x100007984"
|
||||
"f method.Employee.helloWorld = 0x1000079b0"
|
||||
"f method.Employee.p0 = 0x1000079dc"
|
||||
"f method.Employee.p1 = 0x1000079f8"
|
||||
"f method.Employee.p2 = 0x100007a14"
|
||||
"f method.Employee.p3 = 0x100007a30"
|
||||
"f method.Employee.base = 0x100007a4c"
|
||||
"f method.Employee.username = 0x100007a64"
|
||||
"f method.Employee.setUsername: = 0x100007a8c"
|
||||
"f method.Employee.firstName = 0x100007ac4"
|
||||
"f method.Employee.setFirstName: = 0x100007aec"
|
||||
"f method.Employee.shortWord = 0x100007b24"
|
||||
"f method.Employee.wideWord = 0x100007b44"
|
||||
"f method.Employee..cxx_destruct = 0x100007b60"
|
||||
"f method.Employee.class.sayHello = 0x100007958"
|
||||
"f field.Employee.var.isa = 0x00000000"
|
||||
"f field.Employee.var._shortWord = 0x10000c228"
|
||||
"f field.Employee.var._username = 0x10000c22c"
|
||||
"f field.Employee.var._firstName = 0x10000c230"
|
||||
"f field.Employee.var._wideWord = 0x10000c234"
|
||||
"f field.Employee.property.username = 0x00000000"
|
||||
"f field.Employee.property.firstName = 0x00000000"
|
||||
"f field.Employee.property.shortWord = 0x00000000"
|
||||
"f field.Employee.property.wideWord = 0x00000000"
|
||||
'f class.Employee = 0x100007958
|
||||
'f super.Employee.NSObject = 0
|
||||
'f method.Employee.sayHello = 0x100007984
|
||||
'f method.Employee.helloWorld = 0x1000079b0
|
||||
'f method.Employee.p0 = 0x1000079dc
|
||||
'f method.Employee.p1 = 0x1000079f8
|
||||
'f method.Employee.p2 = 0x100007a14
|
||||
'f method.Employee.p3 = 0x100007a30
|
||||
'f method.Employee.base = 0x100007a4c
|
||||
'f method.Employee.username = 0x100007a64
|
||||
'f method.Employee.setUsername: = 0x100007a8c
|
||||
'f method.Employee.firstName = 0x100007ac4
|
||||
'f method.Employee.setFirstName: = 0x100007aec
|
||||
'f method.Employee.shortWord = 0x100007b24
|
||||
'f method.Employee.wideWord = 0x100007b44
|
||||
'f method.Employee..cxx_destruct = 0x100007b60
|
||||
'f method.Employee.class.sayHello = 0x100007958
|
||||
'f field.Employee.var.isa = 0x00000000
|
||||
'f field.Employee.var._shortWord = 0x10000c228
|
||||
'f field.Employee.var._username = 0x10000c22c
|
||||
'f field.Employee.var._firstName = 0x10000c230
|
||||
'f field.Employee.var._wideWord = 0x10000c234
|
||||
'f field.Employee.property.username = 0x00000000
|
||||
'f field.Employee.property.firstName = 0x00000000
|
||||
'f field.Employee.property.shortWord = 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;};
|
||||
EOF
|
||||
RUN
|
||||
@ -590,32 +590,32 @@ FILE=bins/mach0/objc-employee-ios14-arm64e
|
||||
CMDS=ic*
|
||||
EXPECT=<<EOF
|
||||
fs classes
|
||||
"f class.Employee = 0x1000079a8"
|
||||
"f super.Employee.NSObject = 0"
|
||||
"f method.Employee.sayHello = 0x1000079d8"
|
||||
"f method.Employee.helloWorld = 0x100007a08"
|
||||
"f method.Employee.p0 = 0x100007a38"
|
||||
"f method.Employee.p1 = 0x100007a54"
|
||||
"f method.Employee.p2 = 0x100007a70"
|
||||
"f method.Employee.p3 = 0x100007a8c"
|
||||
"f method.Employee.base = 0x100007aa8"
|
||||
"f method.Employee.username = 0x100007ac0"
|
||||
"f method.Employee.setUsername: = 0x100007ae8"
|
||||
"f method.Employee.firstName = 0x100007b24"
|
||||
"f method.Employee.setFirstName: = 0x100007b4c"
|
||||
"f method.Employee.shortWord = 0x100007b88"
|
||||
"f method.Employee.wideWord = 0x100007ba8"
|
||||
"f method.Employee..cxx_destruct = 0x100007bc4"
|
||||
"f method.Employee.class.sayHello = 0x1000079a8"
|
||||
"f field.Employee.var.isa = 0x00000000"
|
||||
"f field.Employee.var._shortWord = 0x10000c1d8"
|
||||
"f field.Employee.var._username = 0x10000c1dc"
|
||||
"f field.Employee.var._firstName = 0x10000c1e0"
|
||||
"f field.Employee.var._wideWord = 0x10000c1e4"
|
||||
"f field.Employee.property.username = 0x00000000"
|
||||
"f field.Employee.property.firstName = 0x00000000"
|
||||
"f field.Employee.property.shortWord = 0x00000000"
|
||||
"f field.Employee.property.wideWord = 0x00000000"
|
||||
'f class.Employee = 0x1000079a8
|
||||
'f super.Employee.NSObject = 0
|
||||
'f method.Employee.sayHello = 0x1000079d8
|
||||
'f method.Employee.helloWorld = 0x100007a08
|
||||
'f method.Employee.p0 = 0x100007a38
|
||||
'f method.Employee.p1 = 0x100007a54
|
||||
'f method.Employee.p2 = 0x100007a70
|
||||
'f method.Employee.p3 = 0x100007a8c
|
||||
'f method.Employee.base = 0x100007aa8
|
||||
'f method.Employee.username = 0x100007ac0
|
||||
'f method.Employee.setUsername: = 0x100007ae8
|
||||
'f method.Employee.firstName = 0x100007b24
|
||||
'f method.Employee.setFirstName: = 0x100007b4c
|
||||
'f method.Employee.shortWord = 0x100007b88
|
||||
'f method.Employee.wideWord = 0x100007ba8
|
||||
'f method.Employee..cxx_destruct = 0x100007bc4
|
||||
'f method.Employee.class.sayHello = 0x1000079a8
|
||||
'f field.Employee.var.isa = 0x00000000
|
||||
'f field.Employee.var._shortWord = 0x10000c1d8
|
||||
'f field.Employee.var._username = 0x10000c1dc
|
||||
'f field.Employee.var._firstName = 0x10000c1e0
|
||||
'f field.Employee.var._wideWord = 0x10000c1e4
|
||||
'f field.Employee.property.username = 0x00000000
|
||||
'f field.Employee.property.firstName = 0x00000000
|
||||
'f field.Employee.property.shortWord = 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;};
|
||||
EOF
|
||||
RUN
|
||||
|
@ -119,7 +119,7 @@ NAME=DEX Hello.dex method flags (r2 commands) (ic*)
|
||||
FILE=bins/dex/Hello.dex
|
||||
CMDS=ic*~main
|
||||
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
|
||||
RUN
|
||||
|
||||
|
@ -721,28 +721,28 @@ colu: 12
|
||||
addr: 0x00001149
|
||||
EOF
|
||||
EXPECT_ERR=<<EOF
|
||||
DEBUG: [cbin.c:3351] (section .dynsym) Cd 8[21] @ 0x3d8
|
||||
DEBUG: [cbin.c:3351] (section .dynstr) Css 141 @ 0x480
|
||||
DEBUG: [cbin.c:3351] (section .rela.dyn) Cd 8[24] @ 0x550
|
||||
DEBUG: [cbin.c:3351] (section .rela.plt) Cd 8[3] @ 0x610
|
||||
DEBUG: [cbin.c:3351] (section .init_array) Cd 8[1] @ 0x3db8
|
||||
DEBUG: [cbin.c:3351] (section .fini_array) Cd 8[1] @ 0x3dc0
|
||||
DEBUG: [cbin.c:3351] (section .dynamic) Cd 8[62] @ 0x3dc8
|
||||
DEBUG: [cbin.c:3351] (section .got) Cd 8[9] @ 0x3fb8
|
||||
DEBUG: [cbin.c:3351] (section .dynsym) Cd 8[21] @ 0x3d8
|
||||
DEBUG: [cbin.c:3351] (section .dynstr) Css 141 @ 0x480
|
||||
DEBUG: [cbin.c:3351] (section .rela.dyn) Cd 8[24] @ 0x550
|
||||
DEBUG: [cbin.c:3351] (section .rela.plt) Cd 8[3] @ 0x610
|
||||
DEBUG: [cbin.c:3351] (section .init_array) Cd 8[1] @ 0x3db8
|
||||
DEBUG: [cbin.c:3351] (section .fini_array) Cd 8[1] @ 0x3dc0
|
||||
DEBUG: [cbin.c:3351] (section .dynamic) Cd 8[62] @ 0x3dc8
|
||||
DEBUG: [cbin.c:3351] (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
|
||||
DEBUG: [cbin.c:2596] Cannot resolve symbol address __libc_start_main
|
||||
DEBUG: [cbin.c:2596] Cannot resolve symbol address _ITM_deregisterTMCloneTable
|
||||
DEBUG: [cbin.c:2596] Cannot resolve symbol address __gmon_start__
|
||||
DEBUG: [cbin.c:2596] Cannot resolve symbol address _ITM_registerTMCloneTable
|
||||
DEBUG: [cbin.c:2596] Cannot resolve symbol address __cxa_finalize
|
||||
DEBUG: [cbin.c:3348] (section .dynsym) Cd 8[21] @ 0x3d8
|
||||
DEBUG: [cbin.c:3348] (section .dynstr) Css 141 @ 0x480
|
||||
DEBUG: [cbin.c:3348] (section .rela.dyn) Cd 8[24] @ 0x550
|
||||
DEBUG: [cbin.c:3348] (section .rela.plt) Cd 8[3] @ 0x610
|
||||
DEBUG: [cbin.c:3348] (section .init_array) Cd 8[1] @ 0x3db8
|
||||
DEBUG: [cbin.c:3348] (section .fini_array) Cd 8[1] @ 0x3dc0
|
||||
DEBUG: [cbin.c:3348] (section .dynamic) Cd 8[62] @ 0x3dc8
|
||||
DEBUG: [cbin.c:3348] (section .got) Cd 8[9] @ 0x3fb8
|
||||
DEBUG: [cbin.c:3348] (section .dynsym) Cd 8[21] @ 0x3d8
|
||||
DEBUG: [cbin.c:3348] (section .dynstr) Css 141 @ 0x480
|
||||
DEBUG: [cbin.c:3348] (section .rela.dyn) Cd 8[24] @ 0x550
|
||||
DEBUG: [cbin.c:3348] (section .rela.plt) Cd 8[3] @ 0x610
|
||||
DEBUG: [cbin.c:3348] (section .init_array) Cd 8[1] @ 0x3db8
|
||||
DEBUG: [cbin.c:3348] (section .fini_array) Cd 8[1] @ 0x3dc0
|
||||
DEBUG: [cbin.c:3348] (section .dynamic) Cd 8[62] @ 0x3dc8
|
||||
DEBUG: [cbin.c:3348] (section .got) Cd 8[9] @ 0x3fb8
|
||||
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:2593] Cannot resolve symbol address __libc_start_main
|
||||
DEBUG: [cbin.c:2593] Cannot resolve symbol address _ITM_deregisterTMCloneTable
|
||||
DEBUG: [cbin.c:2593] Cannot resolve symbol address __gmon_start__
|
||||
DEBUG: [cbin.c:2593] Cannot resolve symbol address _ITM_registerTMCloneTable
|
||||
DEBUG: [cbin.c:2593] Cannot resolve symbol address __cxa_finalize
|
||||
EOF
|
||||
RUN
|
||||
|
||||
|
@ -7,14 +7,14 @@ EOF
|
||||
EXPECT=<<EOF
|
||||
11
|
||||
fs relocs
|
||||
"f reloc.r0 4 0x08000034"
|
||||
"f reloc.r2 4 0x0800003c"
|
||||
"f reloc.r3 4 0x08000040"
|
||||
"f reloc.r4 4 0x08000044"
|
||||
"f reloc.r0 4 0x0800004c"
|
||||
"f reloc.r2 4 0x08000054"
|
||||
"f reloc.r3 4 0x08000058"
|
||||
"f reloc.r4 4 0x0800005c"
|
||||
'f reloc.r0 4 0x08000034
|
||||
'f reloc.r2 4 0x0800003c
|
||||
'f reloc.r3 4 0x08000040
|
||||
'f reloc.r4 4 0x08000044
|
||||
'f reloc.r0 4 0x0800004c
|
||||
'f reloc.r2 4 0x08000054
|
||||
'f reloc.r3 4 0x08000058
|
||||
'f reloc.r4 4 0x0800005c
|
||||
wv8 0xffffffffffffffff @ 0x8000060
|
||||
EOF
|
||||
RUN
|
||||
|
@ -220,35 +220,35 @@ CMDS=<<EOF
|
||||
is*~SceneDelegate
|
||||
EOF
|
||||
EXPECT=<<EOF
|
||||
"f sym.__SceneDelegate_scene:willConnectToSession:options:_ 4 0x100006514"
|
||||
"f sym.__SceneDelegate_sceneDidDisconnect:_ 4 0x100006518"
|
||||
"f sym.__SceneDelegate_sceneDidBecomeActive:_ 4 0x10000651c"
|
||||
"f sym.__SceneDelegate_sceneWillResignActive:_ 4 0x100006520"
|
||||
"f sym.__SceneDelegate_sceneWillEnterForeground:_ 4 0x100006524"
|
||||
"f sym.__SceneDelegate_sceneDidEnterBackground:_ 4 0x100006528"
|
||||
"f sym.__SceneDelegate_window_ 16 0x10000652c"
|
||||
"f sym.__SceneDelegate_setWindow:_ 20 0x10000653c"
|
||||
"f sym.__SceneDelegate_.cxx_destruct_ 20 0x100006550"
|
||||
"f sym.__OBJC_LABEL_PROTOCOL___UISceneDelegate 8 0x1000080b0"
|
||||
"f sym.__OBJC_LABEL_PROTOCOL___UIWindowSceneDelegate 8 0x1000080b8"
|
||||
"f sym.__OBJC___PROTOCOL_REFS_UISceneDelegate 24 0x100008f50"
|
||||
"f sym.__OBJC___PROTOCOL_INSTANCE_METHODS_OPT_UISceneDelegate 296 0x100008f68"
|
||||
"f sym.__OBJC___PROTOCOL_METHOD_TYPES_UISceneDelegate 96 0x100009090"
|
||||
"f sym.__OBJC___PROTOCOL_REFS_UIWindowSceneDelegate 24 0x1000090f0"
|
||||
"f sym.__OBJC___PROTOCOL_INSTANCE_METHODS_OPT_UIWindowSceneDelegate 128 0x100009108"
|
||||
"f sym.__OBJC___PROP_LIST_UIWindowSceneDelegate 24 0x100009188"
|
||||
"f sym.__OBJC___PROTOCOL_METHOD_TYPES_UIWindowSceneDelegate 40 0x1000091a0"
|
||||
"f sym.__OBJC_CLASS_PROTOCOLS___SceneDelegate 24 0x1000091c8"
|
||||
"f sym.__OBJC_METACLASS_RO___SceneDelegate 72 0x1000091e0"
|
||||
"f sym.__OBJC___INSTANCE_METHODS_SceneDelegate 224 0x100009228"
|
||||
"f sym.__OBJC___INSTANCE_VARIABLES_SceneDelegate 40 0x100009308"
|
||||
"f sym.__OBJC___PROP_LIST_SceneDelegate 88 0x100009330"
|
||||
"f sym.__OBJC_CLASS_RO___SceneDelegate 72 0x100009388"
|
||||
"f sym._OBJC_IVAR___SceneDelegate._window 4 0x100009408"
|
||||
"f sym._OBJC_METACLASS___SceneDelegate 40 0x1000094b0"
|
||||
"f sym._OBJC_CLASS___SceneDelegate 40 0x1000094d8"
|
||||
"f sym.__OBJC_PROTOCOL___UISceneDelegate 96 0x1000095c8"
|
||||
"f sym.__OBJC_PROTOCOL___UIWindowSceneDelegate 96 0x100009628"
|
||||
'f sym.__SceneDelegate_scene:willConnectToSession:options:_ 4 0x100006514
|
||||
'f sym.__SceneDelegate_sceneDidDisconnect:_ 4 0x100006518
|
||||
'f sym.__SceneDelegate_sceneDidBecomeActive:_ 4 0x10000651c
|
||||
'f sym.__SceneDelegate_sceneWillResignActive:_ 4 0x100006520
|
||||
'f sym.__SceneDelegate_sceneWillEnterForeground:_ 4 0x100006524
|
||||
'f sym.__SceneDelegate_sceneDidEnterBackground:_ 4 0x100006528
|
||||
'f sym.__SceneDelegate_window_ 16 0x10000652c
|
||||
'f sym.__SceneDelegate_setWindow:_ 20 0x10000653c
|
||||
'f sym.__SceneDelegate_.cxx_destruct_ 20 0x100006550
|
||||
'f sym.__OBJC_LABEL_PROTOCOL___UISceneDelegate 8 0x1000080b0
|
||||
'f sym.__OBJC_LABEL_PROTOCOL___UIWindowSceneDelegate 8 0x1000080b8
|
||||
'f sym.__OBJC___PROTOCOL_REFS_UISceneDelegate 24 0x100008f50
|
||||
'f sym.__OBJC___PROTOCOL_INSTANCE_METHODS_OPT_UISceneDelegate 296 0x100008f68
|
||||
'f sym.__OBJC___PROTOCOL_METHOD_TYPES_UISceneDelegate 96 0x100009090
|
||||
'f sym.__OBJC___PROTOCOL_REFS_UIWindowSceneDelegate 24 0x1000090f0
|
||||
'f sym.__OBJC___PROTOCOL_INSTANCE_METHODS_OPT_UIWindowSceneDelegate 128 0x100009108
|
||||
'f sym.__OBJC___PROP_LIST_UIWindowSceneDelegate 24 0x100009188
|
||||
'f sym.__OBJC___PROTOCOL_METHOD_TYPES_UIWindowSceneDelegate 40 0x1000091a0
|
||||
'f sym.__OBJC_CLASS_PROTOCOLS___SceneDelegate 24 0x1000091c8
|
||||
'f sym.__OBJC_METACLASS_RO___SceneDelegate 72 0x1000091e0
|
||||
'f sym.__OBJC___INSTANCE_METHODS_SceneDelegate 224 0x100009228
|
||||
'f sym.__OBJC___INSTANCE_VARIABLES_SceneDelegate 40 0x100009308
|
||||
'f sym.__OBJC___PROP_LIST_SceneDelegate 88 0x100009330
|
||||
'f sym.__OBJC_CLASS_RO___SceneDelegate 72 0x100009388
|
||||
'f sym._OBJC_IVAR___SceneDelegate._window 4 0x100009408
|
||||
'f sym._OBJC_METACLASS___SceneDelegate 40 0x1000094b0
|
||||
'f sym._OBJC_CLASS___SceneDelegate 40 0x1000094d8
|
||||
'f sym.__OBJC_PROTOCOL___UISceneDelegate 96 0x1000095c8
|
||||
'f sym.__OBJC_PROTOCOL___UIWindowSceneDelegate 96 0x100009628
|
||||
EOF
|
||||
RUN
|
||||
|
||||
@ -258,35 +258,35 @@ CMDS=<<EOF
|
||||
is*~SceneDelegate
|
||||
EOF
|
||||
EXPECT=<<EOF
|
||||
"f sym.__SceneDelegate_scene:willConnectToSession:options:_ 4 0x100006514"
|
||||
"f sym.__SceneDelegate_sceneDidDisconnect:_ 4 0x100006518"
|
||||
"f sym.__SceneDelegate_sceneDidBecomeActive:_ 4 0x10000651c"
|
||||
"f sym.__SceneDelegate_sceneWillResignActive:_ 4 0x100006520"
|
||||
"f sym.__SceneDelegate_sceneWillEnterForeground:_ 4 0x100006524"
|
||||
"f sym.__SceneDelegate_sceneDidEnterBackground:_ 4 0x100006528"
|
||||
"f sym.__SceneDelegate_window_ 16 0x10000652c"
|
||||
"f sym.__SceneDelegate_setWindow:_ 20 0x10000653c"
|
||||
"f sym.__SceneDelegate_.cxx_destruct_ 20 0x100006550"
|
||||
"f sym.__OBJC_LABEL_PROTOCOL___UISceneDelegate 8 0x1000080b0"
|
||||
"f sym.__OBJC_LABEL_PROTOCOL___UIWindowSceneDelegate 8 0x1000080b8"
|
||||
"f sym.__OBJC___PROTOCOL_REFS_UISceneDelegate 24 0x100008f50"
|
||||
"f sym.__OBJC___PROTOCOL_INSTANCE_METHODS_OPT_UISceneDelegate 296 0x100008f68"
|
||||
"f sym.__OBJC___PROTOCOL_METHOD_TYPES_UISceneDelegate 96 0x100009090"
|
||||
"f sym.__OBJC___PROTOCOL_REFS_UIWindowSceneDelegate 24 0x1000090f0"
|
||||
"f sym.__OBJC___PROTOCOL_INSTANCE_METHODS_OPT_UIWindowSceneDelegate 128 0x100009108"
|
||||
"f sym.__OBJC___PROP_LIST_UIWindowSceneDelegate 24 0x100009188"
|
||||
"f sym.__OBJC___PROTOCOL_METHOD_TYPES_UIWindowSceneDelegate 40 0x1000091a0"
|
||||
"f sym.__OBJC_CLASS_PROTOCOLS___SceneDelegate 24 0x1000091c8"
|
||||
"f sym.__OBJC_METACLASS_RO___SceneDelegate 72 0x1000091e0"
|
||||
"f sym.__OBJC___INSTANCE_METHODS_SceneDelegate 224 0x100009228"
|
||||
"f sym.__OBJC___INSTANCE_VARIABLES_SceneDelegate 40 0x100009308"
|
||||
"f sym.__OBJC___PROP_LIST_SceneDelegate 88 0x100009330"
|
||||
"f sym.__OBJC_CLASS_RO___SceneDelegate 72 0x100009388"
|
||||
"f sym._OBJC_IVAR___SceneDelegate._window 4 0x100009408"
|
||||
"f sym._OBJC_METACLASS___SceneDelegate 40 0x1000094b0"
|
||||
"f sym._OBJC_CLASS___SceneDelegate 40 0x1000094d8"
|
||||
"f sym.__OBJC_PROTOCOL___UISceneDelegate 96 0x1000095c8"
|
||||
"f sym.__OBJC_PROTOCOL___UIWindowSceneDelegate 96 0x100009628"
|
||||
'f sym.__SceneDelegate_scene:willConnectToSession:options:_ 4 0x100006514
|
||||
'f sym.__SceneDelegate_sceneDidDisconnect:_ 4 0x100006518
|
||||
'f sym.__SceneDelegate_sceneDidBecomeActive:_ 4 0x10000651c
|
||||
'f sym.__SceneDelegate_sceneWillResignActive:_ 4 0x100006520
|
||||
'f sym.__SceneDelegate_sceneWillEnterForeground:_ 4 0x100006524
|
||||
'f sym.__SceneDelegate_sceneDidEnterBackground:_ 4 0x100006528
|
||||
'f sym.__SceneDelegate_window_ 16 0x10000652c
|
||||
'f sym.__SceneDelegate_setWindow:_ 20 0x10000653c
|
||||
'f sym.__SceneDelegate_.cxx_destruct_ 20 0x100006550
|
||||
'f sym.__OBJC_LABEL_PROTOCOL___UISceneDelegate 8 0x1000080b0
|
||||
'f sym.__OBJC_LABEL_PROTOCOL___UIWindowSceneDelegate 8 0x1000080b8
|
||||
'f sym.__OBJC___PROTOCOL_REFS_UISceneDelegate 24 0x100008f50
|
||||
'f sym.__OBJC___PROTOCOL_INSTANCE_METHODS_OPT_UISceneDelegate 296 0x100008f68
|
||||
'f sym.__OBJC___PROTOCOL_METHOD_TYPES_UISceneDelegate 96 0x100009090
|
||||
'f sym.__OBJC___PROTOCOL_REFS_UIWindowSceneDelegate 24 0x1000090f0
|
||||
'f sym.__OBJC___PROTOCOL_INSTANCE_METHODS_OPT_UIWindowSceneDelegate 128 0x100009108
|
||||
'f sym.__OBJC___PROP_LIST_UIWindowSceneDelegate 24 0x100009188
|
||||
'f sym.__OBJC___PROTOCOL_METHOD_TYPES_UIWindowSceneDelegate 40 0x1000091a0
|
||||
'f sym.__OBJC_CLASS_PROTOCOLS___SceneDelegate 24 0x1000091c8
|
||||
'f sym.__OBJC_METACLASS_RO___SceneDelegate 72 0x1000091e0
|
||||
'f sym.__OBJC___INSTANCE_METHODS_SceneDelegate 224 0x100009228
|
||||
'f sym.__OBJC___INSTANCE_VARIABLES_SceneDelegate 40 0x100009308
|
||||
'f sym.__OBJC___PROP_LIST_SceneDelegate 88 0x100009330
|
||||
'f sym.__OBJC_CLASS_RO___SceneDelegate 72 0x100009388
|
||||
'f sym._OBJC_IVAR___SceneDelegate._window 4 0x100009408
|
||||
'f sym._OBJC_METACLASS___SceneDelegate 40 0x1000094b0
|
||||
'f sym._OBJC_CLASS___SceneDelegate 40 0x1000094d8
|
||||
'f sym.__OBJC_PROTOCOL___UISceneDelegate 96 0x1000095c8
|
||||
'f sym.__OBJC_PROTOCOL___UIWindowSceneDelegate 96 0x100009628
|
||||
EOF
|
||||
RUN
|
||||
|
||||
@ -296,35 +296,35 @@ CMDS=<<EOF
|
||||
is*~SceneDelegate
|
||||
EOF
|
||||
EXPECT=<<EOF
|
||||
"f sym.__SceneDelegate_scene:willConnectToSession:options:_ 152 0x1000060b0"
|
||||
"f sym.__SceneDelegate_sceneDidDisconnect:_ 80 0x100006148"
|
||||
"f sym.__SceneDelegate_sceneDidBecomeActive:_ 80 0x100006198"
|
||||
"f sym.__SceneDelegate_sceneWillResignActive:_ 80 0x1000061e8"
|
||||
"f sym.__SceneDelegate_sceneWillEnterForeground:_ 80 0x100006238"
|
||||
"f sym.__SceneDelegate_sceneDidEnterBackground:_ 80 0x100006288"
|
||||
"f sym.__SceneDelegate_window_ 36 0x1000062d8"
|
||||
"f sym.__SceneDelegate_setWindow:_ 64 0x1000062fc"
|
||||
"f sym.__SceneDelegate_.cxx_destruct_ 60 0x10000633c"
|
||||
"f sym.__OBJC___INSTANCE_METHODS_SceneDelegate 116 0x100006490"
|
||||
"f sym.__OBJC_LABEL_PROTOCOL___UISceneDelegate 8 0x100008438"
|
||||
"f sym.__OBJC_LABEL_PROTOCOL___UIWindowSceneDelegate 8 0x100008440"
|
||||
"f sym.__OBJC___PROTOCOL_REFS_UISceneDelegate 24 0x10000ce58"
|
||||
"f sym.__OBJC___PROTOCOL_INSTANCE_METHODS_OPT_UISceneDelegate 320 0x10000ce70"
|
||||
"f sym.__OBJC___PROTOCOL_METHOD_TYPES_UISceneDelegate 104 0x10000cfb0"
|
||||
"f sym.__OBJC___PROTOCOL_REFS_UIWindowSceneDelegate 24 0x10000d018"
|
||||
"f sym.__OBJC___PROTOCOL_INSTANCE_METHODS_OPT_UIWindowSceneDelegate 128 0x10000d030"
|
||||
"f sym.__OBJC___PROP_LIST_UIWindowSceneDelegate 24 0x10000d0b0"
|
||||
"f sym.__OBJC___PROTOCOL_METHOD_TYPES_UIWindowSceneDelegate 40 0x10000d0c8"
|
||||
"f sym.__OBJC_CLASS_PROTOCOLS___SceneDelegate 24 0x10000d0f0"
|
||||
"f sym.__OBJC_METACLASS_RO___SceneDelegate 72 0x10000d108"
|
||||
"f sym.__OBJC___INSTANCE_VARIABLES_SceneDelegate 40 0x10000d150"
|
||||
"f sym.__OBJC___PROP_LIST_SceneDelegate 88 0x10000d178"
|
||||
"f sym.__OBJC_CLASS_RO___SceneDelegate 72 0x10000d1d0"
|
||||
"f sym._OBJC_IVAR___SceneDelegate._window 4 0x10000d2b0"
|
||||
"f sym._OBJC_METACLASS___SceneDelegate 40 0x10000d358"
|
||||
"f sym._OBJC_CLASS___SceneDelegate 40 0x10000d380"
|
||||
"f sym.__OBJC_PROTOCOL___UISceneDelegate 96 0x10000d468"
|
||||
"f sym.__OBJC_PROTOCOL___UIWindowSceneDelegate 96 0x10000d4c8"
|
||||
'f sym.__SceneDelegate_scene:willConnectToSession:options:_ 152 0x1000060b0
|
||||
'f sym.__SceneDelegate_sceneDidDisconnect:_ 80 0x100006148
|
||||
'f sym.__SceneDelegate_sceneDidBecomeActive:_ 80 0x100006198
|
||||
'f sym.__SceneDelegate_sceneWillResignActive:_ 80 0x1000061e8
|
||||
'f sym.__SceneDelegate_sceneWillEnterForeground:_ 80 0x100006238
|
||||
'f sym.__SceneDelegate_sceneDidEnterBackground:_ 80 0x100006288
|
||||
'f sym.__SceneDelegate_window_ 36 0x1000062d8
|
||||
'f sym.__SceneDelegate_setWindow:_ 64 0x1000062fc
|
||||
'f sym.__SceneDelegate_.cxx_destruct_ 60 0x10000633c
|
||||
'f sym.__OBJC___INSTANCE_METHODS_SceneDelegate 116 0x100006490
|
||||
'f sym.__OBJC_LABEL_PROTOCOL___UISceneDelegate 8 0x100008438
|
||||
'f sym.__OBJC_LABEL_PROTOCOL___UIWindowSceneDelegate 8 0x100008440
|
||||
'f sym.__OBJC___PROTOCOL_REFS_UISceneDelegate 24 0x10000ce58
|
||||
'f sym.__OBJC___PROTOCOL_INSTANCE_METHODS_OPT_UISceneDelegate 320 0x10000ce70
|
||||
'f sym.__OBJC___PROTOCOL_METHOD_TYPES_UISceneDelegate 104 0x10000cfb0
|
||||
'f sym.__OBJC___PROTOCOL_REFS_UIWindowSceneDelegate 24 0x10000d018
|
||||
'f sym.__OBJC___PROTOCOL_INSTANCE_METHODS_OPT_UIWindowSceneDelegate 128 0x10000d030
|
||||
'f sym.__OBJC___PROP_LIST_UIWindowSceneDelegate 24 0x10000d0b0
|
||||
'f sym.__OBJC___PROTOCOL_METHOD_TYPES_UIWindowSceneDelegate 40 0x10000d0c8
|
||||
'f sym.__OBJC_CLASS_PROTOCOLS___SceneDelegate 24 0x10000d0f0
|
||||
'f sym.__OBJC_METACLASS_RO___SceneDelegate 72 0x10000d108
|
||||
'f sym.__OBJC___INSTANCE_VARIABLES_SceneDelegate 40 0x10000d150
|
||||
'f sym.__OBJC___PROP_LIST_SceneDelegate 88 0x10000d178
|
||||
'f sym.__OBJC_CLASS_RO___SceneDelegate 72 0x10000d1d0
|
||||
'f sym._OBJC_IVAR___SceneDelegate._window 4 0x10000d2b0
|
||||
'f sym._OBJC_METACLASS___SceneDelegate 40 0x10000d358
|
||||
'f sym._OBJC_CLASS___SceneDelegate 40 0x10000d380
|
||||
'f sym.__OBJC_PROTOCOL___UISceneDelegate 96 0x10000d468
|
||||
'f sym.__OBJC_PROTOCOL___UIWindowSceneDelegate 96 0x10000d4c8
|
||||
EOF
|
||||
RUN
|
||||
|
||||
|
@ -45,7 +45,7 @@ NAME=objc method flags (ic*)
|
||||
FILE=bins/mach0/TestMethods
|
||||
CMDS=ic*~thisIsAClassMethod
|
||||
EXPECT=<<EOF
|
||||
"f method.ViewController.class.thisIsAClassMethod = 0x1000067bc"
|
||||
'f method.ViewController.class.thisIsAClassMethod = 0x1000067bc
|
||||
EOF
|
||||
RUN
|
||||
|
||||
|
@ -21,6 +21,6 @@ vaddr=0x00000000 paddr=0x00000200 haddr=-1 type=program
|
||||
1 entrypoints
|
||||
xor al, al
|
||||
fs sections
|
||||
"f section.seg_000 1 0x00000000"
|
||||
'f section.seg_000 1 0x00000000
|
||||
EOF
|
||||
RUN
|
||||
|
@ -19,6 +19,6 @@ FILE=bins/mz/unzip.exe
|
||||
CMDS=iS*
|
||||
EXPECT=<<EOF
|
||||
fs sections
|
||||
"f section.seg_000 1 0x00000000"
|
||||
'f section.seg_000 1 0x00000000
|
||||
EOF
|
||||
RUN
|
||||
|
@ -22,15 +22,15 @@ FILE=bins/pe/Lab05-01.dll
|
||||
CMDS=iE*
|
||||
EXPECT=<<EOF
|
||||
fs exports
|
||||
"f sym.xdll.dll_InstallRT 0 0x1000d847"
|
||||
"f sym.xdll.dll_InstallSA 0 0x1000dec1"
|
||||
"f sym.xdll.dll_InstallSB 0 0x1000e892"
|
||||
"f sym.xdll.dll_PSLIST 0 0x10007025"
|
||||
"f sym.xdll.dll_ServiceMain 0 0x1000cf30"
|
||||
"f sym.xdll.dll_StartEXS 0 0x10007ecb"
|
||||
"f sym.xdll.dll_UninstallRT 0 0x1000f405"
|
||||
"f sym.xdll.dll_UninstallSA 0 0x1000ea05"
|
||||
"f sym.xdll.dll_UninstallSB 0 0x1000f138"
|
||||
'f sym.xdll.dll_InstallRT 0 0x1000d847
|
||||
'f sym.xdll.dll_InstallSA 0 0x1000dec1
|
||||
'f sym.xdll.dll_InstallSB 0 0x1000e892
|
||||
'f sym.xdll.dll_PSLIST 0 0x10007025
|
||||
'f sym.xdll.dll_ServiceMain 0 0x1000cf30
|
||||
'f sym.xdll.dll_StartEXS 0 0x10007ecb
|
||||
'f sym.xdll.dll_UninstallRT 0 0x1000f405
|
||||
'f sym.xdll.dll_UninstallSA 0 0x1000ea05
|
||||
'f sym.xdll.dll_UninstallSB 0 0x1000f138
|
||||
EOF
|
||||
RUN
|
||||
|
||||
|
@ -9,6 +9,6 @@ NAME=PE: corkami tinygui.exe - libs
|
||||
FILE=bins/pe/tinygui.exe
|
||||
CMDS=il*
|
||||
EXPECT=<<EOF
|
||||
"CCa entry0 user32.dll"
|
||||
'CCa entry0 user32.dll
|
||||
EOF
|
||||
RUN
|
||||
|
@ -19,8 +19,8 @@ NAME=3: io.baddr
|
||||
FILE=bins/elf/analysis/pie
|
||||
CMDS=!rabin2 -B 0xf00000 -re ${R2_FILE} | grep 0x
|
||||
EXPECT=<<EOF
|
||||
"f entry0 1 0x00f00450"
|
||||
"f entry0_haddr 1 0x00000018"
|
||||
'f entry0 1 0x00f00450
|
||||
'f entry0_haddr 1 0x00000018
|
||||
EOF
|
||||
RUN
|
||||
|
||||
@ -89,8 +89,8 @@ CMDS=<<EOF
|
||||
p8 10 @ 0x00f00450
|
||||
EOF
|
||||
EXPECT=<<EOF
|
||||
"f entry0 1 0x00f00450"
|
||||
"f entry0_haddr 1 0x00000018"
|
||||
'f entry0 1 0x00f00450
|
||||
'f entry0_haddr 1 0x00000018
|
||||
31ed5e89e183e4f05054
|
||||
EOF
|
||||
RUN
|
||||
|
Loading…
Reference in New Issue
Block a user