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) {
r_core_cmdf (core, "\"o %s\"", f);
r_core_cmdf (core, "'o %s", f);
}
void r2_asmjs_openurl(void *kore, const char *url) {

View File

@ -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);

View File

@ -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) {

View File

@ -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 {

View File

@ -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;

View File

@ -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",

View File

@ -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;

View File

@ -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,

View File

@ -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);
}
}

View File

@ -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);

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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