Improve realname support for symbols (#15702) ##bin

* Initial implementation of libname for flags in imports
* Initial support for PE and real flag
* Read libname for PE exports
* implement pj for imports
* Remove imp. prefix from symbol names
* Fix r_core_bin_impaddr()
* Fix some mdmp import stuff
* Print libname in ii
* Fix some imp. checks and reloc meta
* Fix r_bin_filter_sym() for imports
* Use realname for noreturn check
* Fix asm.flags.real for direct calls
* Fix realname for direct calls with fcn
* Fix resolving names from ordinal

Co-authored-by: Florian Märkl <info@florianmaerkl.de>
This commit is contained in:
Itay Cohen 2020-01-12 04:09:12 +02:00 committed by radare
parent 3a12a2096a
commit 29c1344ff3
51 changed files with 2016 additions and 1847 deletions

View File

@ -715,7 +715,7 @@ R_API bool r_anal_noreturn_at(RAnal *anal, ut64 addr) {
}
RFlagItem *fi = anal->flag_get (anal->flb.f, addr);
if (fi) {
if (r_anal_noreturn_at_name (anal, fi->name)) {
if (r_anal_noreturn_at_name (anal, fi->realname ? fi->realname : fi->name)) {
return true;
}
}

View File

@ -167,6 +167,7 @@ R_API void r_bin_import_free(void *_imp) {
RBinImport *imp = (RBinImport *)_imp;
if (imp) {
R_FREE (imp->name);
R_FREE (imp->libname);
R_FREE (imp->classname);
R_FREE (imp->descriptor);
free (imp);
@ -194,6 +195,7 @@ R_API void r_bin_symbol_free(void *_sym) {
RBinSymbol *sym = (RBinSymbol *)_sym;
if (sym) {
free (sym->name);
free (sym->libname);
free (sym->classname);
free (sym);
}

View File

@ -91,14 +91,14 @@ R_API void r_bin_filter_sym(RBinFile *bf, HtPP *ht, ut64 vaddr, RBinSymbol *sym)
}
}
const char *uname = sdb_fmt ("%" PFMT64x ".%s", vaddr, name);
const char *uname = sdb_fmt ("%" PFMT64x ".%c.%s", vaddr, sym->is_imported ? 'i' : 's', name);
bool res = ht_pp_insert (ht, uname, sym);
if (!res) {
return;
}
sym->dup_count = 0;
const char *oname = sdb_fmt ("o.0.%s", name);
const char *oname = sdb_fmt ("o.0.%c.%s", sym->is_imported ? 'i' : 's', name);
RBinSymbol *prev_sym = ht_pp_find (ht, oname, NULL);
if (!prev_sym) {
if (!ht_pp_insert (ht, oname, sym)) {

View File

@ -3361,6 +3361,7 @@ RBinSymbol *Elf_(_r_bin_elf_convert_symbol)(struct Elf_(r_bin_elf_obj_t) *bin,
ptr->forwarder = "NONE";
ptr->bind = symbol->bind;
ptr->type = symbol->type;
ptr->is_imported = symbol->is_imported;
ptr->paddr = paddr;
ptr->vaddr = vaddr;
ptr->size = symbol->size;

View File

@ -38,6 +38,7 @@ typedef struct r_bin_elf_symbol_t {
const char *bind;
const char *type;
char name[ELF_STRING_LENGTH];
char libname[ELF_STRING_LENGTH];
int last;
bool in_shdr;
bool is_sht_null;

View File

@ -2172,6 +2172,7 @@ static bool parse_import_stub(struct MACH0_(obj_t) *bin, struct symbol_t *symbol
symbol->offset = 0LL;
symbol->addr = 0LL;
symbol->name[0] = '\0';
symbol->is_imported = true;
if (!bin || !bin->sects) {
return false;
@ -2222,7 +2223,7 @@ static bool parse_import_stub(struct MACH0_(obj_t) *bin, struct symbol_t *symbol
if (*symstr == '_') {
symstr++;
}
snprintf (symbol->name, R_BIN_MACH0_STRING_LENGTH, "imp.%s", symstr);
snprintf (symbol->name, R_BIN_MACH0_STRING_LENGTH, "%s", symstr);
return true;
}
}
@ -2545,6 +2546,7 @@ const RList *MACH0_(get_symbols_list)(struct MACH0_(obj_t) *bin) {
if (!sym->name) {
sym->name = r_str_newf ("unk%d", i);
}
sym->is_imported = symbol.is_imported;
r_list_append (list, sym);
}
}
@ -2561,6 +2563,7 @@ const RList *MACH0_(get_symbols_list)(struct MACH0_(obj_t) *bin) {
/* is symbol */
sym->vaddr = st->n_value;
sym->paddr = addr_to_offset (bin, symbols[j].addr);
sym->is_imported = symbols[j].is_imported;
if (st->n_type & N_EXT) {
sym->type = "EXT";
} else {
@ -2679,6 +2682,7 @@ const struct symbol_t *MACH0_(get_symbols)(struct MACH0_(obj_t) *bin) {
symbols[j].offset = addr_to_offset (bin, bin->symtab[i].n_value);
symbols[j].addr = bin->symtab[i].n_value;
symbols[j].size = 0; /* TODO: Is it anywhere? */
symbols[j].is_imported = false;
if (bin->symtab[i].n_type & N_EXT) {
symbols[j].type = R_BIN_MACH0_SYMBOL_TYPE_EXT;
} else {

View File

@ -53,6 +53,7 @@ struct symbol_t {
ut64 addr;
ut64 size;
int type;
bool is_imported;
char name[R_BIN_MACH0_STRING_LENGTH];
int last;
};

View File

@ -109,7 +109,8 @@ RList *PE_(r_bin_mdmp_pe_get_imports) (struct PE_(r_bin_mdmp_pe_bin) * pe_bin) {
break;
}
filter_import (imports[i].name);
ptr->name = strdup ((char *)imports[i].name);
ptr->name = strdup ((const char *)imports[i].name);
ptr->libname = *imports[i].libname ? strdup ((const char *)imports[i].libname) : NULL;
ptr->bind = "NONE";
ptr->type = R_BIN_TYPE_FUNC_STR;
ptr->ordinal = imports[i].ordinal;
@ -229,6 +230,7 @@ RList *PE_(r_bin_mdmp_pe_get_symbols) (RBin *rbin, struct PE_(r_bin_mdmp_pe_bin)
offset -= pe_bin->vaddr;
}
ptr->name = strdup ((char *)symbols[i].name);
ptr->libname = *symbols[i].libname ? strdup ((char *)symbols[i].libname) : NULL;
ptr->forwarder = r_str_constpool_get (&rbin->constpool, (char *)symbols[i].forwarder);
ptr->bind = R_BIN_BIND_GLOBAL_STR;
ptr->type = R_BIN_TYPE_FUNC_STR;
@ -251,7 +253,9 @@ RList *PE_(r_bin_mdmp_pe_get_symbols) (RBin *rbin, struct PE_(r_bin_mdmp_pe_bin)
if (offset > pe_bin->vaddr) {
offset -= pe_bin->vaddr;
}
ptr->name = r_str_newf ("imp.%s", imports[i].name);
ptr->name = strdup ((const char *)imports[i].name);
ptr->libname = *imports[i].libname ? strdup ((const char *)imports[i].libname) : NULL;
ptr->is_imported = true;
ptr->bind = "NONE";
ptr->type = R_BIN_TYPE_FUNC_STR;
ptr->size = 0;

View File

@ -93,7 +93,8 @@ static void walkSymbols (RBuffer *buf, RBinNXOObj *bin, ut64 symtab, ut64 strtab
}
imp->ordinal = bin->imports_list->length;
r_list_append (bin->imports_list, imp);
sym->name = r_str_newf ("imp.%s", symName);
sym->is_imported = true;
sym->name = strdup (symName);
if (!sym->name) {
goto out_walk_symbol;
}

View File

@ -410,7 +410,7 @@ static int bin_pe_parse_imports(struct PE_(r_bin_pe_obj_t)* bin,
if (import_table & ILT_MASK1) {
import_ordinal = import_table & ILT_MASK2;
import_hint = 0;
snprintf (import_name, PE_NAME_LENGTH, "%s_Ordinal_%i", dll_name, import_ordinal);
snprintf (import_name, PE_NAME_LENGTH, "Ordinal_%i", import_ordinal);
free (symdllname);
strncpy (name, dll_name, sizeof (name) - 1);
name[sizeof(name) - 1] = 0;
@ -445,7 +445,7 @@ static int bin_pe_parse_imports(struct PE_(r_bin_pe_obj_t)* bin,
if (db) {
symname = resolveModuleOrdinal (db, symdllname, import_ordinal);
if (symname) {
snprintf (import_name, PE_NAME_LENGTH, "%s_%s", dll_name, symname);
snprintf (import_name, PE_NAME_LENGTH, "%s", symname);
R_FREE (symname);
}
} else {
@ -473,7 +473,7 @@ static int bin_pe_parse_imports(struct PE_(r_bin_pe_obj_t)* bin,
break;
}
name[PE_NAME_LENGTH] = '\0';
int len = snprintf (import_name, sizeof (import_name), "%s_%s", dll_name, name);
int len = snprintf (import_name, sizeof (import_name), "%s" , name);
if (len >= sizeof (import_name)) {
eprintf ("Import name '%s' has been truncated.\n", import_name);
}
@ -486,6 +486,8 @@ static int bin_pe_parse_imports(struct PE_(r_bin_pe_obj_t)* bin,
*importp = new_importp;
memcpy ((*importp)[*nimp].name, import_name, PE_NAME_LENGTH);
(*importp)[*nimp].name[PE_NAME_LENGTH] = '\0';
memcpy ((*importp)[*nimp].libname, dll_name, PE_NAME_LENGTH);
(*importp)[*nimp].libname[PE_NAME_LENGTH] = '\0';
(*importp)[*nimp].vaddr = bin_pe_rva_to_va (bin, FirstThunk + i * sizeof (PE_DWord));
(*importp)[*nimp].paddr = bin_pe_rva_to_paddr (bin, FirstThunk) + i * sizeof(PE_DWord);
(*importp)[*nimp].hint = import_hint;
@ -694,7 +696,8 @@ static struct r_bin_pe_export_t* parse_symbol_table(struct PE_(r_bin_pe_obj_t)*
sprintf ((char*) exp[symctr].name, "unk_%d", symctr);
}
}
exp[symctr].name[PE_NAME_LENGTH] = 0;
exp[symctr].name[PE_NAME_LENGTH] = '\0';
exp[symctr].libname[0] = '\0';
exp[symctr].vaddr = bin_pe_rva_to_va (bin, text_rva + sr->value);
exp[symctr].paddr = text_off + sr->value;
exp[symctr].ordinal = symctr;
@ -2937,7 +2940,7 @@ struct r_bin_pe_export_t* PE_(r_bin_pe_get_exports)(struct PE_(r_bin_pe_obj_t)*
PE_Word function_ordinal;
PE_VWord functions_paddr, names_paddr, ordinals_paddr, function_rva, name_vaddr, name_paddr;
char function_name[PE_NAME_LENGTH + 1], forwarder_name[PE_NAME_LENGTH + 1];
char dll_name[PE_NAME_LENGTH + 1], export_name[256];
char dll_name[PE_NAME_LENGTH + 1];
PE_(image_data_directory) * data_dir_export;
PE_VWord export_dir_rva;
int n,i, export_dir_size;
@ -3022,17 +3025,15 @@ struct r_bin_pe_export_t* PE_(r_bin_pe_get_exports)(struct PE_(r_bin_pe_obj_t)*
}
dll_name[PE_NAME_LENGTH] = '\0';
function_name[PE_NAME_LENGTH] = '\0';
int len = snprintf (export_name, sizeof (export_name), "%s_%s", dll_name, function_name);
if (len >= sizeof (export_name)) {
eprintf ("Export name '%s' has been truncated\n", export_name);
}
exports[i].vaddr = bin_pe_rva_to_va (bin, function_rva);
exports[i].paddr = bin_pe_rva_to_paddr (bin, function_rva);
exports[i].ordinal = function_ordinal;
memcpy (exports[i].forwarder, forwarder_name, PE_NAME_LENGTH);
exports[i].forwarder[PE_NAME_LENGTH] = '\0';
memcpy (exports[i].name, export_name, PE_NAME_LENGTH);
memcpy (exports[i].name, function_name, PE_NAME_LENGTH);
exports[i].name[PE_NAME_LENGTH] = '\0';
memcpy (exports[i].libname, dll_name, PE_NAME_LENGTH);
exports[i].libname[PE_NAME_LENGTH] = '\0';
exports[i].last = 0;
}
exports[i].last = 1;

View File

@ -33,6 +33,7 @@ struct r_bin_pe_section_t {
struct r_bin_pe_import_t {
ut8 name[PE_NAME_LENGTH + 1];
ut8 libname[PE_NAME_LENGTH + 1];
ut64 vaddr;
ut64 paddr;
ut64 hint;
@ -42,6 +43,7 @@ struct r_bin_pe_import_t {
struct r_bin_pe_export_t {
ut8 name[PE_NAME_LENGTH + 1];
ut8 libname[PE_NAME_LENGTH + 1];
ut8 forwarder[PE_NAME_LENGTH + 1];
ut64 vaddr;
ut64 paddr;

View File

@ -1823,7 +1823,8 @@ static bool dex_loadcode(RBinFile *bf) {
free (class_name);
return false;
}
sym->name = r_str_newf ("imp.%s", imp->name);
sym->name = strdup (imp->name);
sym->is_imported = true;
sym->type = R_BIN_TYPE_FUNC_STR;
sym->bind = "NONE";
//XXX so damn unsafe check buffer boundaries!!!!

View File

@ -504,10 +504,11 @@ static RList* symbols(RBinFile *bf) {
if (!symbol[i].size) {
continue;
}
ptr = Elf_(_r_bin_elf_convert_symbol) (bin, &symbol[i], "imp.%s");
ptr = Elf_(_r_bin_elf_convert_symbol) (bin, &symbol[i], "%s");
if (!ptr) {
break;
}
ptr->is_imported = true;
// special case where there is not entry in the plt for the import
if (ptr->vaddr == UT32_MAX) {
ptr->paddr = 0;

View File

@ -209,7 +209,8 @@ static RList *symbols(RBinFile *bf) {
break;
}
ptr->name = strdup ((char*)syms[i].name);
if (ptr->name[0] == '_' && strncmp (ptr->name, "imp.", 4)) {
ptr->is_imported = syms[i].is_imported;
if (ptr->name[0] == '_' && !ptr->is_imported) {
char *dn = r_bin_demangle (bf, ptr->name, ptr->name, ptr->vaddr, false);
if (dn) {
ptr->dname = dn;

View File

@ -207,6 +207,7 @@ static RList* symbols(RBinFile *bf) {
break;
}
ptr->name = strdup ((char *)symbols[i].name);
ptr->libname = *symbols[i].libname ? strdup ((char *)symbols[i].libname) : NULL;
ptr->forwarder = r_str_constpool_get (&bf->rbin->constpool, (char *)symbols[i].forwarder);
//strncpy (ptr->bind, "NONE", R_BIN_SIZEOF_STRINGS);
ptr->bind = R_BIN_BIND_GLOBAL_STR;
@ -227,7 +228,9 @@ static RList* symbols(RBinFile *bf) {
break;
}
//strncpy (ptr->name, (char*)symbols[i].name, R_BIN_SIZEOF_STRINGS);
ptr->name = r_str_newf ("imp.%s", imports[i].name);
ptr->name = strdup ((const char *)imports[i].name);
ptr->libname = strdup ((const char *)imports[i].libname);
ptr->is_imported = true;
//strncpy (ptr->forwarder, (char*)imports[i].forwarder, R_BIN_SIZEOF_STRINGS);
ptr->bind = "NONE";
ptr->type = R_BIN_TYPE_FUNC_STR;
@ -287,6 +290,7 @@ static RList* imports(RBinFile *bf) {
}
filter_import (imports[i].name);
ptr->name = strdup ((char*)imports[i].name);
ptr->libname = strdup ((char*)imports[i].libname);
ptr->bind = "NONE";
ptr->type = "FUNC";
ptr->ordinal = imports[i].ordinal;

View File

@ -8,6 +8,7 @@
#include <r_bin.h>
#include "wasm/wasm.h"
#include "../format/wasm/wasm.h"
static bool check_buffer (RBuffer *rbuf) {
ut8 buf[4] = { 0 };
@ -151,7 +152,9 @@ static RList *symbols (RBinFile *bf) {
if (!(ptr = R_NEW0 (RBinSymbol))) {
goto bad_alloc;
}
ptr->name = r_str_newf ("imp.%s.%s", imp->module_str, imp->field_str);
ptr->name = strdup (imp->field_str);
ptr->libname = strdup (imp->module_str);
ptr->is_imported = true;
ptr->forwarder = "NONE";
ptr->bind = "NONE";
switch (imp->kind) {

View File

@ -556,7 +556,7 @@ R_API void r_core_anal_type_match(RCore *core, RAnalFunction *fcn) {
}
} else if (aop.ptr != UT64_MAX) {
RFlagItem *flag = r_flag_get_i (core->flags, aop.ptr);
if (flag && r_str_startswith (flag->realname, "imp.")) {
if (flag && flag->space && flag->space->name && !strcmp (flag->space->name, R_FLAGS_FS_IMPORTS) && flag->realname) {
full_name = flag->realname;
callee_addr = aop.ptr;
}

View File

@ -3895,10 +3895,8 @@ static bool isSkippable(RBinSymbol *s) {
return true;
}
if (!strcmp (s->bind, "NONE")) {
if (r_str_startswith (s->name, "imp.")) {
if (strstr (s->name, ".dll_")) {
return true;
}
if (s->is_imported && s->libname && strstr(s->libname, ".dll")) {
return true;
}
}
}

View File

@ -243,7 +243,6 @@ static void _print_strings(RCore *r, RList *list, int mode, int va) {
RBin *bin = r->bin;
RBinObject *obj = r_bin_cur_object (bin);
RListIter *iter;
RListIter *last_processed = NULL;
RBinString *string;
RBinSection *section;
PJ *pj = NULL;
@ -422,7 +421,6 @@ static void _print_strings(RCore *r, RList *list, int mode, int va) {
free (bufstr);
free (no_dbl_bslash_str);
}
last_processed = iter;
}
R_FREE (b64.string);
if (IS_MODE_JSON (mode)) {
@ -1349,138 +1347,127 @@ static char *resolveModuleOrdinal(Sdb *sdb, const char *module, int ordinal) {
return (foo && *foo) ? foo : NULL;
}
static char *get_reloc_name(RCore *r, RBinReloc *reloc, ut64 addr) {
char *reloc_name = NULL;
char *demangled_name = NULL;
const char *lang = r_config_get (r->config, "bin.lang");
int bin_demangle = r_config_get_i (r->config, "bin.demangle");
bool keep_lib = r_config_get_i (r->config, "bin.demangle.libs");
if (reloc->import && reloc->import->name) {
if (bin_demangle) {
demangled_name = r_bin_demangle (r->bin->cur, lang, reloc->import->name, addr, keep_lib);
}
reloc_name = sdb_fmt ("reloc.%s_%d", demangled_name ? demangled_name : reloc->import->name,
(int)(addr & 0xff));
if (!reloc_name) {
free (demangled_name);
return NULL;
}
r_str_replace_char (reloc_name, '$', '_');
} else if (reloc->symbol && reloc->symbol->name) {
if (bin_demangle) {
demangled_name = r_bin_demangle (r->bin->cur, lang, reloc->symbol->name, addr, keep_lib);
}
reloc_name = sdb_fmt ("reloc.%s_%d", demangled_name ? demangled_name : reloc->symbol->name,
(int)(addr & 0xff));
if (!reloc_name) {
free (demangled_name);
return NULL;
}
r_str_replace_char (reloc_name, '$', '_');
// name can be optionally used to explicitly set the used base name (for example for demangling), otherwise the import name will be used.
static char *construct_reloc_name(R_NONNULL RBinReloc *reloc, R_NULLABLE const char *name) {
RStrBuf *buf = r_strbuf_new ("");
// (optional) libname_
if (reloc->import && reloc->import->libname) {
r_strbuf_appendf (buf, "%s_", reloc->import->libname);
} else if (reloc->symbol && reloc->symbol->libname) {
r_strbuf_appendf (buf, "%s_", reloc->symbol->libname);
}
// actual name
if (name) {
r_strbuf_append (buf, name);
} else if (reloc->import && reloc->import->name && *reloc->import->name) {
r_strbuf_append (buf, reloc->import->name);
} else if (reloc->symbol && reloc->symbol->name && *reloc->symbol->name) {
r_strbuf_appendf (buf, "%s", reloc->symbol->name);
} else if (reloc->is_ifunc) {
// addend is the function pointer for the resolving ifunc
reloc_name = sdb_fmt ("reloc.ifunc_%"PFMT64x, reloc->addend);
r_strbuf_appendf (buf, "ifunc_%"PFMT64x, reloc->addend);
} else {
// TODO(eddyb) implement constant relocs.
r_strbuf_set (buf, "");
}
free (demangled_name);
return reloc_name;
return r_strbuf_drain (buf);
}
static void set_bin_relocs(RCore *r, RBinReloc *reloc, ut64 addr, Sdb **db, char **sdb_module) {
int bin_demangle = r_config_get_i (r->config, "bin.demangle");
bool keep_lib = r_config_get_i (r->config, "bin.demangle.libs");
const char *lang = r_config_get (r->config, "bin.lang");
char *reloc_name, *demname = NULL;
bool is_pe = true;
int is_sandbox = r_sandbox_enable (0);
if (reloc->import && reloc->import->name[0]) {
char str[R_FLAG_NAME_SIZE];
RFlagItem *fi;
if (is_pe && !is_sandbox && reloc->import
&& reloc->import->name && reloc->import->libname
&& r_str_startswith (reloc->import->name, "Ordinal_")) {
char *module = reloc->import->libname;
r_str_case (module, false);
if (is_pe && !is_sandbox && strstr (reloc->import->name, "Ordinal")) {
const char *TOKEN = ".dll_Ordinal_";
char *module = strdup (reloc->import->name);
char *import = strstr (module, TOKEN);
// strip trailing ".dll"
size_t module_len = strlen (module);
if (module_len > 4 && !strcmp (module + module_len - 4, ".dll")) {
module[module_len - 4] = '\0';
}
r_str_case (module, false);
if (import) {
char *filename = NULL;
int ordinal;
*import = 0;
import += strlen (TOKEN);
ordinal = atoi (import);
if (!*sdb_module || strcmp (module, *sdb_module)) {
sdb_free (*db);
*db = NULL;
free (*sdb_module);
*sdb_module = strdup (module);
/* always lowercase */
filename = sdb_fmt ("%s.sdb", module);
r_str_case (filename, false);
char *import = strdup (reloc->import->name + strlen ("Ordinal_"));
if (import) {
char *filename = NULL;
int ordinal = atoi (import);
if (!*sdb_module || strcmp (module, *sdb_module)) {
sdb_free (*db);
*db = NULL;
free (*sdb_module);
*sdb_module = strdup (module);
/* always lowercase */
filename = sdb_fmt ("%s.sdb", module);
r_str_case (filename, false);
if (r_file_exists (filename)) {
*db = sdb_new (NULL, filename, 0);
} else {
const char *dirPrefix = r_sys_prefix (NULL);
filename = sdb_fmt (R_JOIN_4_PATHS ("%s", R2_SDB_FORMAT, "dll", "%s.sdb"),
dirPrefix, module);
if (r_file_exists (filename)) {
*db = sdb_new (NULL, filename, 0);
} else {
const char *dirPrefix = r_sys_prefix (NULL);
filename = sdb_fmt (R_JOIN_4_PATHS ("%s", R2_SDB_FORMAT, "dll", "%s.sdb"),
dirPrefix, module);
if (r_file_exists (filename)) {
*db = sdb_new (NULL, filename, 0);
}
}
}
if (*db) {
// ordinal-1 because we enumerate starting at 0
char *symname = resolveModuleOrdinal (*db, module, ordinal - 1); // uses sdb_get
if (symname) {
if (r->bin->prefix) {
reloc->import->name = r_str_newf
("%s.%s.%s", r->bin->prefix, module, symname);
} else {
reloc->import->name = r_str_newf
("%s.%s", module, symname);
}
}
if (*db) {
// ordinal-1 because we enumerate starting at 0
char *symname = resolveModuleOrdinal (*db, module, ordinal - 1); // uses sdb_get
if (symname) {
if (r->bin->prefix) {
reloc->import->name = r_str_newf
("%s.%s", r->bin->prefix, symname);
R_FREE (symname);
} else {
reloc->import->name = symname;
}
}
}
free (module);
r_anal_hint_set_size (r->anal, reloc->vaddr, 4);
r_meta_add (r->anal, R_META_TYPE_DATA, reloc->vaddr, reloc->vaddr+4, NULL);
}
reloc_name = reloc->import->name;
if (r->bin->prefix) {
snprintf (str, R_FLAG_NAME_SIZE, "%s.reloc.%s", r->bin->prefix, reloc_name);
} else {
snprintf (str, R_FLAG_NAME_SIZE, "reloc.%s", reloc_name);
}
if (bin_demangle) {
demname = r_bin_demangle (r->bin->cur, lang, str, addr, keep_lib);
if (demname) {
snprintf (str, R_FLAG_NAME_SIZE, "reloc.%s", demname);
}
}
r_name_filter (str, 0);
fi = r_flag_set (r->flags, str, addr, bin_reloc_size (reloc));
if (demname) {
char *realname;
if (r->bin->prefix) {
realname = sdb_fmt ("%s.reloc.%s", r->bin->prefix, demname);
} else {
realname = sdb_fmt ("reloc.%s", demname);
}
r_flag_item_set_realname (fi, realname);
}
free (demname);
r_anal_hint_set_size (r->anal, reloc->vaddr, 4);
r_meta_add (r->anal, R_META_TYPE_DATA, reloc->vaddr, reloc->vaddr+4, NULL);
}
char flagname[R_FLAG_NAME_SIZE];
char *reloc_name = construct_reloc_name (reloc, NULL);
if (!reloc_name || !*reloc_name) {
free (reloc_name);
return;
}
if (r->bin->prefix) {
snprintf (flagname, R_FLAG_NAME_SIZE, "%s.reloc.%s", r->bin->prefix, reloc_name);
} else {
char *reloc_name = get_reloc_name (r, reloc, addr);
if (reloc_name) {
r_flag_set (r->flags, reloc_name, addr, bin_reloc_size (reloc));
} else {
// eprintf ("Cannot find a name for 0x%08"PFMT64x"\n", addr);
snprintf (flagname, R_FLAG_NAME_SIZE, "reloc.%s", reloc_name);
}
free (reloc_name);
char *demname = NULL;
if (bin_demangle) {
demname = r_bin_demangle (r->bin->cur, lang, flagname, addr, keep_lib);
if (demname) {
snprintf (flagname, R_FLAG_NAME_SIZE, "reloc.%s", demname);
}
}
r_name_filter (flagname, 0);
RFlagItem *fi = r_flag_set (r->flags, flagname, addr, bin_reloc_size (reloc));
if (demname) {
char *realname;
if (r->bin->prefix) {
realname = sdb_fmt ("%s.reloc.%s", r->bin->prefix, demname);
} else {
realname = sdb_fmt ("reloc.%s", demname);
}
r_flag_item_set_realname (fi, realname);
}
free (demname);
}
/* Define new data at relocation address if it's not in an executable section */
@ -1640,7 +1627,7 @@ static int bin_relocs(RCore *r, int mode, int va) {
? strdup (reloc->import->name)
: reloc->symbol
? strdup (reloc->symbol->name)
: strdup ("null");
: NULL;
if (bin_demangle) {
char *mn = r_bin_demangle (r->bin->cur, NULL, name, addr, keep_lib);
if (mn && *mn) {
@ -1648,13 +1635,12 @@ static int bin_relocs(RCore *r, int mode, int va) {
name = mn;
}
}
RStrBuf *buf = r_strbuf_new ("");
if ((reloc->import && reloc->import->name[0]) || (reloc->symbol && name && name[0])) {
r_strbuf_appendf (buf, " %s", name);
}
char *reloc_name = construct_reloc_name (reloc, name);
RStrBuf *buf = r_strbuf_new (reloc_name ? reloc_name : "");
free (reloc_name);
R_FREE (name);
if (reloc->addend) {
if ((reloc->import || (reloc->symbol && !R_STR_ISEMPTY (name))) && reloc->addend > 0) {
if ((reloc->import || reloc->symbol) && !r_strbuf_is_empty (buf) && reloc->addend > 0) {
r_strbuf_append (buf," +");
}
if (reloc->addend < 0) {
@ -1706,12 +1692,12 @@ static int bin_relocs(RCore *r, int mode, int va) {
}
#define MYDB 1
/* this is a hacky workaround that needs proper refactoring in Rbin to use Sdb */
/* this is a VERY VERY VERY hacky and bad workaround that needs proper refactoring in Rbin to use Sdb */
#if MYDB
static Sdb *mydb = NULL;
static RList *osymbols = NULL;
R_DEPRECATE static Sdb *mydb = NULL;
R_DEPRECATE static RList *osymbols = NULL;
static RBinSymbol *get_symbol(RBin *bin, RList *symbols, const char *name, ut64 addr) {
R_DEPRECATE static RBinSymbol *get_import(RBin *bin, RList *symbols, const char *name, ut64 addr) {
RBinSymbol *symbol, *res = NULL;
RListIter *iter;
if (mydb && symbols && symbols != osymbols) {
@ -1730,7 +1716,7 @@ static RBinSymbol *get_symbol(RBin *bin, RList *symbols, const char *name, ut64
} else {
mydb = sdb_new0 ();
r_list_foreach (symbols, iter, symbol) {
if (!symbol->name) {
if (!symbol->name || !symbol->is_imported) {
continue;
}
/* ${name}=${ptrToSymbol} */
@ -1776,7 +1762,6 @@ static RBinSymbol *get_symbol(RBin *bin, RList *symbols, const char *name, ut64
#endif
/* XXX: This is a hack to get PLT references in rabin2 -i */
/* imp. is a prefix that can be rewritten by the symbol table */
R_API ut64 r_core_bin_impaddr(RBin *bin, int va, const char *name) {
RList *symbols;
@ -1786,8 +1771,7 @@ R_API ut64 r_core_bin_impaddr(RBin *bin, int va, const char *name) {
if (!(symbols = r_bin_get_symbols (bin))) {
return false;
}
char *impname = r_str_newf ("imp.%s", name);
RBinSymbol *s = get_symbol (bin, symbols, impname, 0LL);
RBinSymbol *s = get_import (bin, symbols, name, 0LL);
// maybe ut64_MAX to indicate import not found?
ut64 addr = 0LL;
if (s) {
@ -1801,7 +1785,6 @@ R_API ut64 r_core_bin_impaddr(RBin *bin, int va, const char *name) {
addr = s->paddr;
}
}
free (impname);
return addr;
}
@ -1816,6 +1799,7 @@ static int bin_imports(RCore *r, int mode, int va, const char *name) {
bool lit = info ? info->has_lit: false;
char *str;
int i = 0;
PJ *pj = NULL;
if (!info) {
if (IS_MODE_JSON (mode)) {
@ -1827,18 +1811,20 @@ static int bin_imports(RCore *r, int mode, int va, const char *name) {
RList *imports = r_bin_get_imports (r->bin);
int cdsz = info? (info->bits == 64? 8: info->bits == 32? 4: info->bits == 16 ? 4: 0): 0;
if (IS_MODE_JSON (mode)) {
r_cons_print ("[");
pj = pj_new ();
pj_a (pj);
} else if (IS_MODE_RAD (mode)) {
r_cons_println ("fs imports");
} else if (IS_MODE_NORMAL (mode)) {
r_cons_println ("[Imports]");
r_table_set_columnsf (table, "nXsss", "nth", "vaddr", "bind", "type", "name");
r_table_set_columnsf (table, "nXssss", "nth", "vaddr", "bind", "type", "lib", "name");
}
r_list_foreach (imports, iter, import) {
if (name && strcmp (import->name, name)) {
continue;
}
char *symname = strdup (import->name);
char *libname = import->libname ? strdup (import->libname) : NULL;
ut64 addr = lit ? r_core_bin_impaddr (r->bin, va, symname): 0;
if (bin_demangle) {
char *dname = r_bin_demangle (r->bin->cur, NULL, symname, addr, keep_lib);
@ -1856,29 +1842,35 @@ static int bin_imports(RCore *r, int mode, int va, const char *name) {
if (IS_MODE_SET (mode)) {
// TODO(eddyb) symbols that are imports.
// Add a dword/qword for PE imports
if (strstr (symname, ".dll_") && cdsz) {
if (libname && strstr (libname, ".dll") && cdsz) {
r_meta_add (r->anal, R_META_TYPE_DATA, addr, addr + cdsz, NULL);
}
} else if (IS_MODE_SIMPLE (mode) || IS_MODE_SIMPLEST (mode)) {
} else if (IS_MODE_SIMPLE (mode)) {
r_cons_printf ("%s%s%s\n",
libname ? libname : "", libname ? " " : "", symname);
} else if (IS_MODE_SIMPLEST (mode)) {
r_cons_println (symname);
} else if (IS_MODE_JSON (mode)) {
pj_o (pj);
str = r_str_escape_utf8_for_json (symname, -1);
str = r_str_replace (str, "\"", "\\\"", 1);
r_cons_printf ("%s{\"ordinal\":%d,"
"\"bind\":\"%s\","
"\"type\":\"%s\",",
iter->p ? "," : "",
import->ordinal,
import->bind,
import->type);
pj_ki (pj, "ordinal", import->ordinal);
pj_ks (pj, "bind", import->bind);
pj_ks (pj, "type", import->type);
if (import->classname && import->classname[0]) {
r_cons_printf ("\"classname\":\"%s\","
"\"descriptor\":\"%s\",",
import->classname,
import->descriptor);
pj_ks (pj, "classname", import->classname);
pj_ks (pj, "descriptor", import->descriptor);
}
r_cons_printf ("\"name\":\"%s\",\"plt\":%"PFMT64d"}",
str, addr);
pj_ks (pj, "name", str);
if (libname) {
pj_ks (pj, "libname", libname);
}
pj_kn (pj, "plt", addr);
pj_end (pj);
free (str);
} else if (IS_MODE_RAD (mode)) {
// TODO(eddyb) symbols that are imports.
@ -1886,9 +1878,9 @@ static int bin_imports(RCore *r, int mode, int va, const char *name) {
const char *bind = import->bind? import->bind: "NONE";
const char *type = import->type? import->type: "NONE";
if (import->classname && import->classname[0]) {
r_table_add_rowf (table, "nXsss", import->ordinal, addr, bind, type, sdb_fmt ("%s.%s", import->classname, symname));
r_table_add_rowf (table, "nXssss", import->ordinal, addr, bind, type, libname ? libname : "", sdb_fmt ("%s.%s", import->classname, symname));
} else {
r_table_add_rowf (table, "nXsss", import->ordinal, addr, bind, type, symname);
r_table_add_rowf (table, "nXssss", import->ordinal, addr, bind, type, libname ? libname : "", symname);
}
if (import->descriptor && import->descriptor[0]) {
@ -1900,11 +1892,12 @@ static int bin_imports(RCore *r, int mode, int va, const char *name) {
}
}
R_FREE (symname);
R_FREE (libname);
i++;
}
if (IS_MODE_JSON (mode)) {
r_cons_print ("]");
pj_end (pj);
} else if (IS_MODE_NORMAL (mode)) {
if (r->table_query) {
r_table_query (table, r->table_query);
@ -1913,6 +1906,13 @@ static int bin_imports(RCore *r, int mode, int va, const char *name) {
r_cons_printf ("%s\n", s);
free (s);
}
if (pj) {
pj_end (pj);
r_cons_printf ("%s\n", pj_string (pj));
pj_free (pj);
}
r_table_free (table);
#if MYDB
// NOTE: if we comment out this, it will leak.. but it will be faster
@ -1924,23 +1924,25 @@ static int bin_imports(RCore *r, int mode, int va, const char *name) {
return true;
}
static const char *getPrefixFor(const char *s) {
if (s) {
static const char *getPrefixFor(RBinSymbol *sym) {
if (sym) {
// workaround for ELF
if (!strcmp (s, R_BIN_TYPE_NOTYPE_STR)) {
return "loc";
}
if (!strcmp (s, R_BIN_TYPE_OBJECT_STR)) {
return "obj";
if (sym->type) {
if (!strcmp (sym->type, R_BIN_TYPE_NOTYPE_STR)) {
return sym->is_imported ? "loc.imp" : "loc";
}
if (!strcmp (sym->type, R_BIN_TYPE_OBJECT_STR)) {
return sym->is_imported ? "obj.imp" : "obj";
}
}
}
return "sym";
return sym->is_imported ? "sym.imp" : "sym";
}
#define MAXFLAG_LEN_DEFAULT 128
static char *construct_symbol_flagname(const char *pfx, const char *symname, int len) {
char *r = r_str_newf ("%s.%s", pfx, symname);
static char *construct_symbol_flagname(const char *pfx, const char *libname, const char *symname, int len) {
char *r = r_str_newf ("%s.%s%s%s", pfx, libname ? libname : "", libname ? "_" : "", symname);
if (r) {
r_name_filter (r, len); // maybe unnecessary..
char *R = __filterQuotedShell (r);
@ -1953,6 +1955,7 @@ static char *construct_symbol_flagname(const char *pfx, const char *symname, int
typedef struct {
const char *pfx; // prefix for flags
char *name; // raw symbol name
char *libname; // name of the lib this symbol is specific to, if any
char *nameflag; // flag name for symbol
char *demname; // demangled raw symbol name
char *demflag; // flag name for demangled symbol
@ -1968,9 +1971,10 @@ static void snInit(RCore *r, SymName *sn, RBinSymbol *sym, const char *lang) {
if (!r || !sym || !sym->name) {
return;
}
sn->name = strdup (sym->name);
const char *pfx = getPrefixFor (sym->type);
sn->nameflag = construct_symbol_flagname (pfx, r_bin_symbol_name (sym), MAXFLAG_LEN_DEFAULT);
sn->name = r_str_newf ("%s%s", sym->is_imported ? "imp." : "", sym->name);
sn->libname = sym->libname ? strdup (sym->libname) : NULL;
const char *pfx = getPrefixFor (sym);
sn->nameflag = construct_symbol_flagname (pfx, sym->libname, r_bin_symbol_name (sym), MAXFLAG_LEN_DEFAULT);
if (sym->classname && sym->classname[0]) {
sn->classname = strdup (sym->classname);
sn->classflag = r_str_newf ("sym.%s.%s", sn->classname, sn->name);
@ -1990,13 +1994,14 @@ static void snInit(RCore *r, SymName *sn, RBinSymbol *sym, const char *lang) {
if (bin_demangle && sym->paddr) {
sn->demname = r_bin_demangle (r->bin->cur, lang, sn->name, sym->vaddr, keep_lib);
if (sn->demname) {
sn->demflag = construct_symbol_flagname (pfx, sn->demname, -1);
sn->demflag = construct_symbol_flagname (pfx, sym->libname, sn->demname, -1);
}
}
}
static void snFini(SymName *sn) {
R_FREE (sn->name);
R_FREE (sn->libname);
R_FREE (sn->nameflag);
R_FREE (sn->demname);
R_FREE (sn->demflag);
@ -2008,7 +2013,7 @@ static void snFini(SymName *sn) {
static bool isAnExport(RBinSymbol *s) {
/* workaround for some bin plugs */
if (!strncmp (s->name, "imp.", 4)) {
if (s->is_imported) {
return false;
}
return (s->bind && !strcmp (s->bind, R_BIN_BIND_GLOBAL_STR));
@ -2065,7 +2070,7 @@ static void handle_arm_entry(RCore *core, RBinAddr *entry, RBinInfo *info, int v
}
static void select_flag_space(RCore *core, RBinSymbol *symbol) {
if (!strncmp (symbol->name, "imp.", 4)) {
if (symbol->is_imported) {
r_flag_space_push (core->flags, R_FLAGS_FS_IMPORTS);
} else if (symbol->type && !strcmp (symbol->type, R_BIN_TYPE_SECTION_STR)) {
r_flag_space_push (core->flags, R_FLAGS_FS_SYMBOLS_SECTIONS);
@ -2121,7 +2126,7 @@ static int bin_symbols(RCore *r, int mode, ut64 laddr, int va, ut64 at, const ch
}
}
if (IS_MODE_NORMAL (mode)) {
r_table_set_columnsf (table, "dssssds", "nth", "paddr","vaddr","bind", "type", "size", "name");
r_table_set_columnsf (table, "dssssdss", "nth", "paddr","vaddr","bind", "type", "size", "lib", "name");
}
size_t count = 0;
@ -2129,30 +2134,25 @@ static int bin_symbols(RCore *r, int mode, ut64 laddr, int va, ut64 at, const ch
if (!symbol->name) {
continue;
}
char *r_symbol_name = r_str_escape_utf8 (symbol->name, false, true);
ut64 addr = compute_addr (r->bin, symbol->paddr, symbol->vaddr, va);
int len = symbol->size ? symbol->size : 32;
SymName sn = {0};
if (exponly && !isAnExport (symbol)) {
free (r_symbol_name);
continue;
}
if (name && strcmp (r_symbol_name, name)) {
free (r_symbol_name);
if (name && strcmp (symbol->name, name)) {
continue;
}
ut64 addr = compute_addr (r->bin, symbol->paddr, symbol->vaddr, va);
ut32 len = symbol->size ? symbol->size : 32;
if (at && (!symbol->size || !is_in_range (at, addr, symbol->size))) {
free (r_symbol_name);
continue;
}
if ((printHere && !is_in_range (r->offset, symbol->paddr, len))
&& (printHere && !is_in_range (r->offset, addr, len))) {
free (r_symbol_name);
&& (printHere && !is_in_range (r->offset, addr, len))) {
continue;
}
SymName sn = {0};
count ++;
snInit (r, &sn, symbol, lang);
char *r_symbol_name = r_str_escape_utf8 (sn.name, false, true);
if (IS_MODE_SET (mode) && (is_section_symbol (symbol) || is_file_symbol (symbol))) {
/*
@ -2193,7 +2193,7 @@ static int bin_symbols(RCore *r, int mode, ut64 laddr, int va, ut64 at, const ch
}
}
} else {
const char *n = sn.demname ? sn.demname : sn.name;
const char *n = sn.demname ? sn.demname : symbol->name;
const char *fn = sn.demflag ? sn.demflag : sn.nameflag;
char *fnp = (r->bin->prefix) ?
r_str_newf ("%s.%s", r->bin->prefix, fn):
@ -2225,7 +2225,8 @@ static int bin_symbols(RCore *r, int mode, ut64 laddr, int va, ut64 at, const ch
"\"size\":%d,"
"\"type\":\"%s\","
"\"vaddr\":%"PFMT64d","
"\"paddr\":%"PFMT64d"}",
"\"paddr\":%"PFMT64d","
"\"is_imported\":%s}",
((exponly && firstexp) || printHere) ? "" : (iter->p ? "," : ""),
str,
sn.demname? sn.demname: "",
@ -2234,12 +2235,15 @@ static int bin_symbols(RCore *r, int mode, ut64 laddr, int va, ut64 at, const ch
symbol->bind,
(int)symbol->size,
symbol->type,
(ut64)addr, (ut64)symbol->paddr);
(ut64)addr, (ut64)symbol->paddr,
symbol->is_imported ? "true" : "false");
free (str);
} else if (IS_MODE_SIMPLE (mode)) {
const char *name = sn.demname? sn.demname: r_symbol_name;
r_cons_printf ("0x%08"PFMT64x" %d %s\n",
addr, (int)symbol->size, name);
r_cons_printf ("0x%08"PFMT64x" %d %s%s%s\n",
addr, (int)symbol->size,
sn.libname ? sn.libname : "", sn.libname ? " " : "",
name);
} else if (IS_MODE_SIMPLEST (mode)) {
const char *name = sn.demname? sn.demname: r_symbol_name;
r_cons_printf ("%s\n", name);
@ -2255,7 +2259,7 @@ static int bin_symbols(RCore *r, int mode, ut64 laddr, int va, ut64 at, const ch
if (!name) {
goto next;
}
if (!strncmp (name, "imp.", 4)) {
if (symbol->is_imported) {
if (lastfs != 'i') {
r_cons_printf ("fs imports\n");
}
@ -2268,7 +2272,7 @@ static int bin_symbols(RCore *r, int mode, ut64 laddr, int va, ut64 at, const ch
lastfs = 's';
}
if (r->bin->prefix || *name) { // we don't want unnamed symbol flags
char *flagname = construct_symbol_flagname ("sym", name, MAXFLAG_LEN_DEFAULT);
char *flagname = construct_symbol_flagname ("sym", sn.libname, name, MAXFLAG_LEN_DEFAULT);
if (!flagname) {
goto next;
}
@ -2283,7 +2287,7 @@ static int bin_symbols(RCore *r, int mode, ut64 laddr, int va, ut64 at, const ch
if (r_str_startswith (plugin->name, "pe")) {
char *module = strdup (r_symbol_name);
char *p = strstr (module, ".dll_");
if (p && strstr (module, "imp.")) {
if (p && symbol->is_imported) {
char *symname = __filterShell (p + 5);
char *m = __filterShell (module);
*p = 0;
@ -2303,10 +2307,17 @@ static int bin_symbols(RCore *r, int mode, ut64 laddr, int va, ut64 at, const ch
} else {
const char *bind = symbol->bind? symbol->bind: "NONE";
const char *type = symbol->type? symbol->type: "NONE";
const char *name = r_str_get (sn.demname? sn.demname: r_symbol_name);
const char *name = r_str_get (sn.demname? sn.demname: sn.name);
// const char *fwd = r_str_get (symbol->forwarder);
r_table_add_rowf (table, "dssssds", symbol->ordinal, symbol->paddr == UT64_MAX ? " ----------": sdb_fmt (" 0x%08"PFMT64x, symbol->paddr),
sdb_fmt("0x%08"PFMT64x, addr), bind, type, symbol->size, name);
r_table_add_rowf (table, "dssssdss",
symbol->ordinal,
symbol->paddr == UT64_MAX ? " ----------": sdb_fmt (" 0x%08"PFMT64x, symbol->paddr),
sdb_fmt("0x%08"PFMT64x, addr),
bind,
type,
symbol->size,
symbol->libname ? symbol->libname : "",
name);
}
next:
snFini (&sn);

View File

@ -4833,7 +4833,7 @@ static void ds_print_calls_hints(RDisasmState *ds) {
}
} else if (ds->analop.ptr != UT64_MAX) {
RFlagItem *flag = r_flag_get_i (ds->core->flags, ds->analop.ptr);
if (flag && r_str_startswith (flag->realname, "imp.")) {
if (flag && flag->space && !strcmp (flag->space->name, R_FLAGS_FS_IMPORTS)) {
full_name = flag->realname;
}
}
@ -5002,26 +5002,35 @@ static char *_find_next_number(char *op) {
return NULL;
}
static bool set_jump_demangled_name(RDisasmState *ds, ut64 addr, const char **kw, const char **name) {
if (!ds->asm_demangle) {
return false;
}
static bool set_jump_realname(RDisasmState *ds, ut64 addr, const char **kw, const char **name) {
RFlag *f = ds->core->flags;
if (!f) {
return false;
}
if (!ds->asm_demangle && !f->realnames) {
// nothing to do, neither demangled nor regular realnames should be shown
return false;
}
RFlagItem *flag_sym = r_flag_get_by_spaces (f, addr, R_FLAGS_FS_SYMBOLS, NULL);
if (flag_sym && flag_sym->demangled) {
*name = flag_sym->realname;
RFlagItem *flag_mthd = r_flag_get_by_spaces (f, addr, R_FLAGS_FS_CLASSES, NULL);
if (!flag_sym || !flag_sym->realname) {
// nothing to replace
return false;
}
if (!flag_sym->demangled && !f->realnames) {
// realname is not demangled and we don't want to show non-demangled realnames
return false;
}
*name = flag_sym->realname;
RFlagItem *flag_mthd = r_flag_get_by_spaces (f, addr, R_FLAGS_FS_CLASSES, NULL);
if (!f->realnames) {
// for asm.flags.real, we don't want these prefixes
if (flag_mthd && flag_mthd->name && r_str_startswith (flag_mthd->name, "method.")) {
*kw = "method ";
} else {
*kw = "sym ";
}
return true;
}
return false;
return true;
}
// TODO: this should be moved into r_parse
@ -5047,7 +5056,7 @@ static char *ds_sub_jumps(RDisasmState *ds, char *str) {
RAnalFunction *fcn = r_anal_get_fcn_at (anal, addr, 0);
if (fcn) {
if (!set_jump_demangled_name (ds, addr, &kw, &name)) {
if (!set_jump_realname (ds, addr, &kw, &name)) {
name = fcn->name;
}
} else if (f) {
@ -5063,11 +5072,14 @@ static char *ds_sub_jumps(RDisasmState *ds, char *str) {
name = rel->symbol->name;
}
} else {
if (!set_jump_demangled_name (ds, addr, &kw, &name)) {
if (!set_jump_realname (ds, addr, &kw, &name)) {
RFlagItem *flag = r_core_flag_get_by_spaces (f, addr);
if (flag) {
if (strchr (flag->name, '.')) {
name = flag->name;
if (f->realnames && flag->realname) {
name = flag->realname;
}
}
}
}

View File

@ -508,12 +508,14 @@ typedef struct r_bin_symbol_t {
/* heap-allocated */
char *name;
char *dname;
char *libname;
char *classname;
/* const-unique-strings */
const char *forwarder;
const char *bind;
const char *type;
const char *rtype;
bool is_imported;
/* only used by java */
const char *visibility_str;
// ----------------
@ -531,6 +533,7 @@ typedef struct r_bin_symbol_t {
typedef struct r_bin_import_t {
char *name;
char *libname;
const char *bind;
const char *type;
char *classname;

View File

@ -3059,7 +3059,8 @@ R_API RList *r_bin_java_get_symbols(RBinJavaObj *bin) {
if (imp->classname && !strncmp (imp->classname, "kotlin/jvm", 10)) {
bin->lang = "kotlin";
}
sym->name = r_str_newf ("imp.%s", imp->name);
sym->name = strdup (imp->name);
sym->is_imported = true;
if (!sym->name) {
free (sym);
break;

View File

@ -1452,7 +1452,7 @@ RUN
NAME=resolve reloc symbols 1
FILE=../bins/elf/libc.so.6
EXPECT=<<CMDS
0x0003a4af ff15f33a1800 call qword [reloc.free_168] ; [0x1bdfa8:8]=0
0x0003a4af ff15f33a1800 call qword [reloc.free] ; [0x1bdfa8:8]=0
CMDS=<<EOF
s 0x0003a4af
pd 1
@ -2591,46 +2591,46 @@ _res
0x00123220
0x00123440
0x00125b90
0x0008a6c0
0x000b79b0
0x00089770
0x000a46d0
0x0008aac0
0x0008a950
0x0008a990
0x00089b70
0x0008a620
0x0008aa70
0x00089740
0x00089250
0x000898b0
0x000a4d60
0x000a4d60
0x00089300
0x000a4ca0
0x00089340
0x00089770
0x000a46d0
0x0008a790
0x00089290
0x000897e0
0x0008a650
0x0008a830
0x000a4700
0x000a4ca0
0x0008c030
0x000b78c0
0x00089880
0x00089210
0x0008a9d0
0x00089840
0x0008a6c0
ifunc_8a6c0
ifunc_b79b0
ifunc_89770
ifunc_a46d0
ifunc_8aac0
ifunc_8a950
ifunc_8a990
ifunc_89b70
ifunc_8a620
ifunc_8aa70
ifunc_89740
ifunc_89250
ifunc_898b0
ifunc_a4d60
ifunc_a4d60
ifunc_89300
ifunc_a4ca0
ifunc_89340
ifunc_89770
ifunc_a46d0
ifunc_8a790
ifunc_89290
ifunc_897e0
ifunc_8a650
ifunc_8a830
ifunc_a4700
ifunc_a4ca0
ifunc_8c030
ifunc_b78c0
ifunc_89880
ifunc_89210
ifunc_8a9d0
ifunc_89840
ifunc_8a6c0
stderr
error_one_per_line
realloc
__morecore
__key_encryptsession_pk_LOCAL
0x0008c060
ifunc_8c060
__libpthread_freeres
__progname_full
__ctype32_tolower
@ -2647,12 +2647,12 @@ getdate_err
svcauthdes_stats
__tzname
__timezone
0x000a4800
ifunc_a4800
memalign
_dl_exception_create
_rtld_global_ro
__malloc_initialize_hook
0x00090b10
ifunc_90b10
optarg
__ctype_tolower
__ctype_toupper
@ -2666,15 +2666,15 @@ _IO_2_1_stdout_
__ctype32_b
__curbrk
argp_program_version
0x000a5f90
0x0008ab70
ifunc_a5f90
ifunc_8ab70
__daylight
__memalign_hook
__malloc_hook
__free_hook
_nl_domain_bindings
_nl_msg_cat_cntr
0x0008aa20
ifunc_8aa20
_dl_find_dso_for_object
argp_program_bug_address
__key_decryptsession_pk_LOCAL

View File

@ -773,10 +773,10 @@ RUN
NAME=iE and iE. implementation
FILE=../bins/elf/lab1B
EXPECT='
nth paddr vaddr bind type size name
------------------------------------------------
22 0x000009b7 0x080489b7 GLOBAL FUNC 189 decrypt
{"name":"prog_timeout","demname":"","flagname":"sym.prog_timeout","ordinal":35,"bind":"GLOBAL","size":17,"type":"FUNC","vaddr":134515110,"paddr":2470}'
nth paddr vaddr bind type size lib name
----------------------------------------------------
22 0x000009b7 0x080489b7 GLOBAL FUNC 189 decrypt
{"name":"prog_timeout","demname":"","flagname":"sym.prog_timeout","ordinal":35,"bind":"GLOBAL","size":17,"type":"FUNC","vaddr":134515110,"paddr":2470,"is_imported":false}'
CMDS=<<EOF
s 0x080489b9
iE.

View File

@ -198,13 +198,13 @@ static true
stripped false
va false
[Imports]
nth vaddr bind type name
------------------------
nth vaddr bind type lib name
----------------------------
[Exports]
nth paddr vaddr bind type size name
-----------------------------------
nth paddr vaddr bind type size lib name
---------------------------------------
e cfg.bigendian=false
e asm.bits=64
e asm.dwarf=false
@ -213,8 +213,8 @@ fs imports
fs symbols
fs exports
[Imports]
nth vaddr bind type name
------------------------
nth vaddr bind type lib name
----------------------------
fs imports
[Entrypoints]
@ -223,8 +223,8 @@ fs imports
fs symbols
[Symbols]
nth paddr vaddr bind type size name
-----------------------------------
nth paddr vaddr bind type size lib name
---------------------------------------
fs symbols
[Sections]
@ -1485,11 +1485,11 @@ NAME=ii (file x86)
FILE=../bins/elf/analysis/x86-helloworld-gcc
EXPECT=<<EOF
[Imports]
nth vaddr bind type name
---------------------------------
1 0x080482d0 GLOBAL FUNC puts
2 0x080482e0 WEAK NOTYPE __gmon_start__
3 0x080482f0 GLOBAL FUNC __libc_start_main
nth vaddr bind type lib name
-------------------------------------
1 0x080482d0 GLOBAL FUNC puts
2 0x080482e0 WEAK NOTYPE __gmon_start__
3 0x080482f0 GLOBAL FUNC __libc_start_main
EOF
CMDS=<<EOF
@ -2854,10 +2854,10 @@ EXPECT=<<EOF
vaddr paddr type name
---------------------------------
0x08049690 0x00000690 SET_32 __gmon_start__
0x080496a0 0x000006a0 SET_32 puts
0x080496a4 0x000006a4 SET_32 __gmon_start__
0x080496a8 0x000006a8 SET_32 __libc_start_main
0x08049690 0x00000690 SET_32 __gmon_start__
0x080496a0 0x000006a0 SET_32 puts
0x080496a4 0x000006a4 SET_32 __gmon_start__
0x080496a8 0x000006a8 SET_32 __libc_start_main
4 relocations
@ -2903,73 +2903,73 @@ FILE=../bins/elf/analysis/x86-helloworld-gcc
EXPECT=<<EOF
[Symbols]
nth paddr vaddr bind type size name
--------------------------------------------------
4 0x000004ac 0x080484ac GLOBAL OBJ 4 _IO_stdin_used
1 0x00000134 0x08048134 LOCAL SECT 0 .interp
2 0x00000148 0x08048148 LOCAL SECT 0 .note.ABI-tag
3 0x00000168 0x08048168 LOCAL SECT 0 .note.gnu.build-id
4 0x0000018c 0x0804818c LOCAL SECT 0 .gnu.hash
5 0x000001ac 0x080481ac LOCAL SECT 0 .dynsym
6 0x000001fc 0x080481fc LOCAL SECT 0 .dynstr
7 0x00000246 0x08048246 LOCAL SECT 0 .gnu.version
8 0x00000250 0x08048250 LOCAL SECT 0 .gnu.version_r
9 0x00000270 0x08048270 LOCAL SECT 0 .rel.dyn
10 0x00000278 0x08048278 LOCAL SECT 0 .rel.plt
11 0x00000290 0x08048290 LOCAL SECT 0 .init
12 0x000002c0 0x080482c0 LOCAL SECT 0 .plt
13 0x00000300 0x08048300 LOCAL SECT 0 .text
14 0x00000494 0x08048494 LOCAL SECT 0 .fini
15 0x000004a8 0x080484a8 LOCAL SECT 0 .rodata
16 0x000004c0 0x080484c0 LOCAL SECT 0 .eh_frame_hdr
17 0x000004ec 0x080484ec LOCAL SECT 0 .eh_frame
18 0x0000059c 0x0804959c LOCAL SECT 0 .init_array
19 0x000005a0 0x080495a0 LOCAL SECT 0 .fini_array
20 0x000005a4 0x080495a4 LOCAL SECT 0 .jcr
21 0x000005a8 0x080495a8 LOCAL SECT 0 .dynamic
22 0x00000690 0x08049690 LOCAL SECT 0 .got
23 0x00000694 0x08049694 LOCAL SECT 0 .got.plt
24 0x000006ac 0x080496ac LOCAL SECT 0 .data
25 ---------- 0x080496b4 LOCAL SECT 0 .bss
26 ---------- 0x00000000 LOCAL SECT 0 .comment
27 ---------- 0x00000000 LOCAL FILE 0 init.c
28 ---------- 0x00000000 LOCAL FILE 0
29 ---------- 0x00000000 LOCAL FILE 0 crtstuff.c
30 0x000005a4 0x080495a4 LOCAL OBJ 0 __JCR_LIST__
31 0x00000340 0x08048340 LOCAL FUNC 0 deregister_tm_clones
32 0x00000370 0x08048370 LOCAL FUNC 0 register_tm_clones
33 0x000003b0 0x080483b0 LOCAL FUNC 0 __do_global_dtors_aux
34 ---------- 0x080496b4 LOCAL OBJ 1 completed.5979
35 0x000005a0 0x080495a0 LOCAL OBJ 0 __do_global_dtors_aux_fini_array_entry
36 0x000003d0 0x080483d0 LOCAL FUNC 0 frame_dummy
37 0x0000059c 0x0804959c LOCAL OBJ 0 __frame_dummy_init_array_entry
38 ---------- 0x00000000 LOCAL FILE 0 hello.c
39 ---------- 0x00000000 LOCAL FILE 0 crtstuff.c
40 0x00000598 0x08048598 LOCAL OBJ 0 __FRAME_END__
41 0x000005a4 0x080495a4 LOCAL OBJ 0 __JCR_END__
42 ---------- 0x00000000 LOCAL FILE 0
43 0x000005a0 0x080495a0 LOCAL NOTYPE 0 __init_array_end
44 0x000005a8 0x080495a8 LOCAL OBJ 0 _DYNAMIC
45 0x0000059c 0x0804959c LOCAL NOTYPE 0 __init_array_start
46 0x00000694 0x08049694 LOCAL OBJ 0 _GLOBAL_OFFSET_TABLE_
47 0x00000490 0x08048490 GLOBAL FUNC 2 __libc_csu_fini
49 0x00000330 0x08048330 GLOBAL FUNC 4 __x86.get_pc_thunk.bx
50 0x000006ac 0x080496ac WEAK NOTYPE 0 data_start
51 ---------- 0x080496b4 GLOBAL NOTYPE 0 _edata
52 0x00000494 0x08048494 GLOBAL FUNC 0 _fini
53 0x000006ac 0x080496ac GLOBAL NOTYPE 0 __data_start
56 0x000006b0 0x080496b0 GLOBAL OBJ 0 __dso_handle
59 0x00000420 0x08048420 GLOBAL FUNC 97 __libc_csu_init
60 ---------- 0x080496b8 GLOBAL NOTYPE 0 _end
61 0x00000300 0x08048300 GLOBAL FUNC 0 _start
62 0x000004a8 0x080484a8 GLOBAL OBJ 4 _fp_hw
63 ---------- 0x080496b4 GLOBAL NOTYPE 0 __bss_start
64 0x00000400 0x08048400 GLOBAL FUNC 28 main
66 ---------- 0x080496b4 GLOBAL OBJ 0 __TMC_END__
68 0x00000290 0x08048290 GLOBAL FUNC 0 _init
1 0x000002d0 0x080482d0 GLOBAL FUNC 16 imp.puts
2 0x000002e0 0x080482e0 WEAK NOTYPE 16 imp.__gmon_start__
3 0x000002f0 0x080482f0 GLOBAL FUNC 16 imp.__libc_start_main
nth paddr vaddr bind type size lib name
------------------------------------------------------
4 0x000004ac 0x080484ac GLOBAL OBJ 4 _IO_stdin_used
1 0x00000134 0x08048134 LOCAL SECT 0 .interp
2 0x00000148 0x08048148 LOCAL SECT 0 .note.ABI-tag
3 0x00000168 0x08048168 LOCAL SECT 0 .note.gnu.build-id
4 0x0000018c 0x0804818c LOCAL SECT 0 .gnu.hash
5 0x000001ac 0x080481ac LOCAL SECT 0 .dynsym
6 0x000001fc 0x080481fc LOCAL SECT 0 .dynstr
7 0x00000246 0x08048246 LOCAL SECT 0 .gnu.version
8 0x00000250 0x08048250 LOCAL SECT 0 .gnu.version_r
9 0x00000270 0x08048270 LOCAL SECT 0 .rel.dyn
10 0x00000278 0x08048278 LOCAL SECT 0 .rel.plt
11 0x00000290 0x08048290 LOCAL SECT 0 .init
12 0x000002c0 0x080482c0 LOCAL SECT 0 .plt
13 0x00000300 0x08048300 LOCAL SECT 0 .text
14 0x00000494 0x08048494 LOCAL SECT 0 .fini
15 0x000004a8 0x080484a8 LOCAL SECT 0 .rodata
16 0x000004c0 0x080484c0 LOCAL SECT 0 .eh_frame_hdr
17 0x000004ec 0x080484ec LOCAL SECT 0 .eh_frame
18 0x0000059c 0x0804959c LOCAL SECT 0 .init_array
19 0x000005a0 0x080495a0 LOCAL SECT 0 .fini_array
20 0x000005a4 0x080495a4 LOCAL SECT 0 .jcr
21 0x000005a8 0x080495a8 LOCAL SECT 0 .dynamic
22 0x00000690 0x08049690 LOCAL SECT 0 .got
23 0x00000694 0x08049694 LOCAL SECT 0 .got.plt
24 0x000006ac 0x080496ac LOCAL SECT 0 .data
25 ---------- 0x080496b4 LOCAL SECT 0 .bss
26 ---------- 0x00000000 LOCAL SECT 0 .comment
27 ---------- 0x00000000 LOCAL FILE 0 init.c
28 ---------- 0x00000000 LOCAL FILE 0
29 ---------- 0x00000000 LOCAL FILE 0 crtstuff.c
30 0x000005a4 0x080495a4 LOCAL OBJ 0 __JCR_LIST__
31 0x00000340 0x08048340 LOCAL FUNC 0 deregister_tm_clones
32 0x00000370 0x08048370 LOCAL FUNC 0 register_tm_clones
33 0x000003b0 0x080483b0 LOCAL FUNC 0 __do_global_dtors_aux
34 ---------- 0x080496b4 LOCAL OBJ 1 completed.5979
35 0x000005a0 0x080495a0 LOCAL OBJ 0 __do_global_dtors_aux_fini_array_entry
36 0x000003d0 0x080483d0 LOCAL FUNC 0 frame_dummy
37 0x0000059c 0x0804959c LOCAL OBJ 0 __frame_dummy_init_array_entry
38 ---------- 0x00000000 LOCAL FILE 0 hello.c
39 ---------- 0x00000000 LOCAL FILE 0 crtstuff.c
40 0x00000598 0x08048598 LOCAL OBJ 0 __FRAME_END__
41 0x000005a4 0x080495a4 LOCAL OBJ 0 __JCR_END__
42 ---------- 0x00000000 LOCAL FILE 0
43 0x000005a0 0x080495a0 LOCAL NOTYPE 0 __init_array_end
44 0x000005a8 0x080495a8 LOCAL OBJ 0 _DYNAMIC
45 0x0000059c 0x0804959c LOCAL NOTYPE 0 __init_array_start
46 0x00000694 0x08049694 LOCAL OBJ 0 _GLOBAL_OFFSET_TABLE_
47 0x00000490 0x08048490 GLOBAL FUNC 2 __libc_csu_fini
49 0x00000330 0x08048330 GLOBAL FUNC 4 __x86.get_pc_thunk.bx
50 0x000006ac 0x080496ac WEAK NOTYPE 0 data_start
51 ---------- 0x080496b4 GLOBAL NOTYPE 0 _edata
52 0x00000494 0x08048494 GLOBAL FUNC 0 _fini
53 0x000006ac 0x080496ac GLOBAL NOTYPE 0 __data_start
56 0x000006b0 0x080496b0 GLOBAL OBJ 0 __dso_handle
59 0x00000420 0x08048420 GLOBAL FUNC 97 __libc_csu_init
60 ---------- 0x080496b8 GLOBAL NOTYPE 0 _end
61 0x00000300 0x08048300 GLOBAL FUNC 0 _start
62 0x000004a8 0x080484a8 GLOBAL OBJ 4 _fp_hw
63 ---------- 0x080496b4 GLOBAL NOTYPE 0 __bss_start
64 0x00000400 0x08048400 GLOBAL FUNC 28 main
66 ---------- 0x080496b4 GLOBAL OBJ 0 __TMC_END__
68 0x00000290 0x08048290 GLOBAL FUNC 0 _init
1 0x000002d0 0x080482d0 GLOBAL FUNC 16 imp.puts
2 0x000002e0 0x080482e0 WEAK NOTYPE 16 imp.__gmon_start__
3 0x000002f0 0x080482f0 GLOBAL FUNC 16 imp.__libc_start_main
EOF
CMDS=<<EOF
is
@ -3082,11 +3082,11 @@ NAME=ii (file x86_64)
FILE=../bins/elf/analysis/hello-linux-x86_64
EXPECT=<<EOF
[Imports]
nth vaddr bind type name
---------------------------------
1 0x004003e0 GLOBAL FUNC puts
2 0x004003f0 GLOBAL FUNC __libc_start_main
3 0x00400400 WEAK NOTYPE __gmon_start__
nth vaddr bind type lib name
-------------------------------------
1 0x004003e0 GLOBAL FUNC puts
2 0x004003f0 GLOBAL FUNC __libc_start_main
3 0x00400400 WEAK NOTYPE __gmon_start__
EOF
CMDS=<<EOF
@ -3220,10 +3220,10 @@ EXPECT=<<EOF
vaddr paddr type name
---------------------------------
0x006008c8 0x000008c8 SET_64 __gmon_start__
0x006008e8 0x000008e8 SET_64 puts
0x006008f0 0x000008f0 SET_64 __libc_start_main
0x006008f8 0x000008f8 SET_64 __gmon_start__
0x006008c8 0x000008c8 SET_64 __gmon_start__
0x006008e8 0x000008e8 SET_64 puts
0x006008f0 0x000008f0 SET_64 __libc_start_main
0x006008f8 0x000008f8 SET_64 __gmon_start__
4 relocations
@ -3240,16 +3240,16 @@ EXPECT=<<EOF
vaddr paddr type name
---------------------------------
0x006b17d0 0x000b17d0 SET_64 0x00416530 (ifunc)
0x006b17d8 0x000b17d8 SET_64 0x004193a0 (ifunc)
0x006b17e0 0x000b17e0 SET_64 0x004199b0 (ifunc)
0x006b17e8 0x000b17e8 SET_64 0x00418a50 (ifunc)
0x006b17f0 0x000b17f0 SET_64 0x00418de0 (ifunc)
0x006b17f8 0x000b17f8 SET_64 0x00419ad0 (ifunc)
0x006b1800 0x000b1800 SET_64 0x004193f0 (ifunc)
0x006b1808 0x000b1808 SET_64 0x00414300 (ifunc)
0x006b1810 0x000b1810 SET_64 0x00479800 (ifunc)
0x006b1818 0x000b1818 SET_64 0x004140b0 (ifunc)
0x006b17d0 0x000b17d0 SET_64 ifunc_416530 0x00416530 (ifunc)
0x006b17d8 0x000b17d8 SET_64 ifunc_4193a0 0x004193a0 (ifunc)
0x006b17e0 0x000b17e0 SET_64 ifunc_4199b0 0x004199b0 (ifunc)
0x006b17e8 0x000b17e8 SET_64 ifunc_418a50 0x00418a50 (ifunc)
0x006b17f0 0x000b17f0 SET_64 ifunc_418de0 0x00418de0 (ifunc)
0x006b17f8 0x000b17f8 SET_64 ifunc_419ad0 0x00419ad0 (ifunc)
0x006b1800 0x000b1800 SET_64 ifunc_4193f0 0x004193f0 (ifunc)
0x006b1808 0x000b1808 SET_64 ifunc_414300 0x00414300 (ifunc)
0x006b1810 0x000b1810 SET_64 ifunc_479800 0x00479800 (ifunc)
0x006b1818 0x000b1818 SET_64 ifunc_4140b0 0x004140b0 (ifunc)
10 relocations
@ -3264,71 +3264,71 @@ FILE=../bins/elf/analysis/hello-linux-x86_64
EXPECT=<<EOF
[Symbols]
nth paddr vaddr bind type size name
--------------------------------------------------
1 0x00000200 0x00400200 LOCAL SECT 0 .interp
2 0x0000021c 0x0040021c LOCAL SECT 0 .note.ABI-tag
3 0x0000023c 0x0040023c LOCAL SECT 0 .note.gnu.build-id
4 0x00000260 0x00400260 LOCAL SECT 0 .gnu.hash
5 0x00000280 0x00400280 LOCAL SECT 0 .dynsym
6 0x000002e0 0x004002e0 LOCAL SECT 0 .dynstr
7 0x0000031e 0x0040031e LOCAL SECT 0 .gnu.version
8 0x00000328 0x00400328 LOCAL SECT 0 .gnu.version_r
9 0x00000348 0x00400348 LOCAL SECT 0 .rela.dyn
10 0x00000360 0x00400360 LOCAL SECT 0 .rela.plt
11 0x000003a8 0x004003a8 LOCAL SECT 0 .init
12 0x000003d0 0x004003d0 LOCAL SECT 0 .plt
13 0x00000410 0x00400410 LOCAL SECT 0 .text
14 0x000005b4 0x004005b4 LOCAL SECT 0 .fini
15 0x000005c0 0x004005c0 LOCAL SECT 0 .rodata
16 0x000005d0 0x004005d0 LOCAL SECT 0 .eh_frame_hdr
17 0x00000608 0x00400608 LOCAL SECT 0 .eh_frame
18 0x000006e0 0x006006e0 LOCAL SECT 0 .init_array
19 0x000006e8 0x006006e8 LOCAL SECT 0 .fini_array
20 0x000006f0 0x006006f0 LOCAL SECT 0 .jcr
21 0x000006f8 0x006006f8 LOCAL SECT 0 .dynamic
22 0x000008c8 0x006008c8 LOCAL SECT 0 .got
23 0x000008d0 0x006008d0 LOCAL SECT 0 .got.plt
24 0x00000900 0x00600900 LOCAL SECT 0 .data
25 ---------- 0x00600910 LOCAL SECT 0 .bss
26 ---------- 0x00000000 LOCAL SECT 0 .comment
27 ---------- 0x00000000 LOCAL FILE 0 init.c
28 ---------- 0x00000000 LOCAL FILE 0
29 ---------- 0x00000000 LOCAL FILE 0 crtstuff.c
30 0x000006f0 0x006006f0 LOCAL OBJ 0 __JCR_LIST__
31 0x00000440 0x00400440 LOCAL FUNC 0 deregister_tm_clones
32 0x00000470 0x00400470 LOCAL FUNC 0 register_tm_clones
33 0x000004b0 0x004004b0 LOCAL FUNC 0 __do_global_dtors_aux
34 ---------- 0x00600910 LOCAL OBJ 1 completed.6724
35 0x000006e8 0x006006e8 LOCAL OBJ 0 __do_global_dtors_aux_fini_array_entry
36 0x000004d0 0x004004d0 LOCAL FUNC 0 frame_dummy
37 0x000006e0 0x006006e0 LOCAL OBJ 0 __frame_dummy_init_array_entry
38 ---------- 0x00000000 LOCAL FILE 0 hello.c
39 ---------- 0x00000000 LOCAL FILE 0 crtstuff.c
40 0x000006d8 0x004006d8 LOCAL OBJ 0 __FRAME_END__
41 0x000006f0 0x006006f0 LOCAL OBJ 0 __JCR_END__
42 ---------- 0x00000000 LOCAL FILE 0
43 0x000006e8 0x006006e8 LOCAL NOTYPE 0 __init_array_end
44 0x000006f8 0x006006f8 LOCAL OBJ 0 _DYNAMIC
45 0x000006e0 0x006006e0 LOCAL NOTYPE 0 __init_array_start
46 0x000008d0 0x006008d0 LOCAL OBJ 0 _GLOBAL_OFFSET_TABLE_
47 0x000005b0 0x004005b0 GLOBAL FUNC 2 __libc_csu_fini
49 0x00000900 0x00600900 WEAK NOTYPE 0 data_start
51 ---------- 0x00600910 GLOBAL NOTYPE 0 _edata
52 0x000005b4 0x004005b4 GLOBAL FUNC 0 _fini
54 0x00000900 0x00600900 GLOBAL NOTYPE 0 __data_start
56 0x00000908 0x00600908 GLOBAL OBJ 0 __dso_handle
57 0x000005c0 0x004005c0 GLOBAL OBJ 4 _IO_stdin_used
58 0x00000520 0x00400520 GLOBAL FUNC 137 __libc_csu_init
59 ---------- 0x00600918 GLOBAL NOTYPE 0 _end
60 0x00000410 0x00400410 GLOBAL FUNC 0 _start
61 ---------- 0x00600910 GLOBAL NOTYPE 0 __bss_start
62 0x000004fc 0x004004fc GLOBAL FUNC 21 main
64 ---------- 0x00600910 GLOBAL OBJ 0 __TMC_END__
66 0x000003a8 0x004003a8 GLOBAL FUNC 0 _init
1 0x000003e0 0x004003e0 GLOBAL FUNC 16 imp.puts
2 0x000003f0 0x004003f0 GLOBAL FUNC 16 imp.__libc_start_main
3 0x00000400 0x00400400 WEAK NOTYPE 16 imp.__gmon_start__
nth paddr vaddr bind type size lib name
------------------------------------------------------
1 0x00000200 0x00400200 LOCAL SECT 0 .interp
2 0x0000021c 0x0040021c LOCAL SECT 0 .note.ABI-tag
3 0x0000023c 0x0040023c LOCAL SECT 0 .note.gnu.build-id
4 0x00000260 0x00400260 LOCAL SECT 0 .gnu.hash
5 0x00000280 0x00400280 LOCAL SECT 0 .dynsym
6 0x000002e0 0x004002e0 LOCAL SECT 0 .dynstr
7 0x0000031e 0x0040031e LOCAL SECT 0 .gnu.version
8 0x00000328 0x00400328 LOCAL SECT 0 .gnu.version_r
9 0x00000348 0x00400348 LOCAL SECT 0 .rela.dyn
10 0x00000360 0x00400360 LOCAL SECT 0 .rela.plt
11 0x000003a8 0x004003a8 LOCAL SECT 0 .init
12 0x000003d0 0x004003d0 LOCAL SECT 0 .plt
13 0x00000410 0x00400410 LOCAL SECT 0 .text
14 0x000005b4 0x004005b4 LOCAL SECT 0 .fini
15 0x000005c0 0x004005c0 LOCAL SECT 0 .rodata
16 0x000005d0 0x004005d0 LOCAL SECT 0 .eh_frame_hdr
17 0x00000608 0x00400608 LOCAL SECT 0 .eh_frame
18 0x000006e0 0x006006e0 LOCAL SECT 0 .init_array
19 0x000006e8 0x006006e8 LOCAL SECT 0 .fini_array
20 0x000006f0 0x006006f0 LOCAL SECT 0 .jcr
21 0x000006f8 0x006006f8 LOCAL SECT 0 .dynamic
22 0x000008c8 0x006008c8 LOCAL SECT 0 .got
23 0x000008d0 0x006008d0 LOCAL SECT 0 .got.plt
24 0x00000900 0x00600900 LOCAL SECT 0 .data
25 ---------- 0x00600910 LOCAL SECT 0 .bss
26 ---------- 0x00000000 LOCAL SECT 0 .comment
27 ---------- 0x00000000 LOCAL FILE 0 init.c
28 ---------- 0x00000000 LOCAL FILE 0
29 ---------- 0x00000000 LOCAL FILE 0 crtstuff.c
30 0x000006f0 0x006006f0 LOCAL OBJ 0 __JCR_LIST__
31 0x00000440 0x00400440 LOCAL FUNC 0 deregister_tm_clones
32 0x00000470 0x00400470 LOCAL FUNC 0 register_tm_clones
33 0x000004b0 0x004004b0 LOCAL FUNC 0 __do_global_dtors_aux
34 ---------- 0x00600910 LOCAL OBJ 1 completed.6724
35 0x000006e8 0x006006e8 LOCAL OBJ 0 __do_global_dtors_aux_fini_array_entry
36 0x000004d0 0x004004d0 LOCAL FUNC 0 frame_dummy
37 0x000006e0 0x006006e0 LOCAL OBJ 0 __frame_dummy_init_array_entry
38 ---------- 0x00000000 LOCAL FILE 0 hello.c
39 ---------- 0x00000000 LOCAL FILE 0 crtstuff.c
40 0x000006d8 0x004006d8 LOCAL OBJ 0 __FRAME_END__
41 0x000006f0 0x006006f0 LOCAL OBJ 0 __JCR_END__
42 ---------- 0x00000000 LOCAL FILE 0
43 0x000006e8 0x006006e8 LOCAL NOTYPE 0 __init_array_end
44 0x000006f8 0x006006f8 LOCAL OBJ 0 _DYNAMIC
45 0x000006e0 0x006006e0 LOCAL NOTYPE 0 __init_array_start
46 0x000008d0 0x006008d0 LOCAL OBJ 0 _GLOBAL_OFFSET_TABLE_
47 0x000005b0 0x004005b0 GLOBAL FUNC 2 __libc_csu_fini
49 0x00000900 0x00600900 WEAK NOTYPE 0 data_start
51 ---------- 0x00600910 GLOBAL NOTYPE 0 _edata
52 0x000005b4 0x004005b4 GLOBAL FUNC 0 _fini
54 0x00000900 0x00600900 GLOBAL NOTYPE 0 __data_start
56 0x00000908 0x00600908 GLOBAL OBJ 0 __dso_handle
57 0x000005c0 0x004005c0 GLOBAL OBJ 4 _IO_stdin_used
58 0x00000520 0x00400520 GLOBAL FUNC 137 __libc_csu_init
59 ---------- 0x00600918 GLOBAL NOTYPE 0 _end
60 0x00000410 0x00400410 GLOBAL FUNC 0 _start
61 ---------- 0x00600910 GLOBAL NOTYPE 0 __bss_start
62 0x000004fc 0x004004fc GLOBAL FUNC 21 main
64 ---------- 0x00600910 GLOBAL OBJ 0 __TMC_END__
66 0x000003a8 0x004003a8 GLOBAL FUNC 0 _init
1 0x000003e0 0x004003e0 GLOBAL FUNC 16 imp.puts
2 0x000003f0 0x004003f0 GLOBAL FUNC 16 imp.__libc_start_main
3 0x00000400 0x00400400 WEAK NOTYPE 16 imp.__gmon_start__
EOF
CMDS=<<EOF
is
@ -3920,31 +3920,31 @@ EOF
EXPECT=<<EOF
[Symbols]
nth paddr vaddr bind type size name
--------------------------------------------------
8 0x00000590 0x00000590 GLOBAL FUNC 60 main
9 0x0000064c 0x0000064c GLOBAL OBJ 4 _IO_stdin_used
1 0x00000000 0x00000000 WEAK NOTYPE 16 imp._ITM_deregisterTMCloneTable
2 0x00000000 0x00000000 WEAK FUNC 16 imp.__cxa_finalize
3 0x000003f0 0x000003f0 GLOBAL FUNC 16 imp.puts
4 0x00000000 0x00000000 WEAK NOTYPE 16 imp.__gmon_start__
5 0x00000400 0x00000400 GLOBAL FUNC 16 imp.__libc_start_main
6 0x00000000 0x00000000 WEAK NOTYPE 16 imp._Jv_RegisterClasses
7 0x00000000 0x00000000 WEAK NOTYPE 16 imp._ITM_registerTMCloneTable
nth paddr vaddr bind type size lib name
------------------------------------------------------
8 0x00000590 0x00000590 GLOBAL FUNC 60 main
9 0x0000064c 0x0000064c GLOBAL OBJ 4 _IO_stdin_used
1 0x00000000 0x00000000 WEAK NOTYPE 16 imp._ITM_deregisterTMCloneTable
2 0x00000000 0x00000000 WEAK FUNC 16 imp.__cxa_finalize
3 0x000003f0 0x000003f0 GLOBAL FUNC 16 imp.puts
4 0x00000000 0x00000000 WEAK NOTYPE 16 imp.__gmon_start__
5 0x00000400 0x00000400 GLOBAL FUNC 16 imp.__libc_start_main
6 0x00000000 0x00000000 WEAK NOTYPE 16 imp._Jv_RegisterClasses
7 0x00000000 0x00000000 WEAK NOTYPE 16 imp._ITM_registerTMCloneTable
[Relocations]
vaddr paddr type name
---------------------------------
0x00001eec 0x00000eec SET_32
0x00001ef0 0x00000ef0 SET_32
0x00001fe8 0x00000fe8 SET_32 _ITM_deregisterTMCloneTable
0x00001fec 0x00000fec SET_32 __cxa_finalize
0x00001ff0 0x00000ff0 SET_32 __gmon_start__
0x00001fe8 0x00000fe8 SET_32 _ITM_deregisterTMCloneTable
0x00001fec 0x00000fec SET_32 __cxa_finalize
0x00001ff0 0x00000ff0 SET_32 __gmon_start__
0x00001ff4 0x00000ff4 SET_32
0x00001ff8 0x00000ff8 SET_32 _Jv_RegisterClasses
0x00001ffc 0x00000ffc SET_32 _ITM_registerTMCloneTable
0x0000200c 0x0000100c SET_32 puts
0x00002010 0x00001010 SET_32 __libc_start_main
0x00001ff8 0x00000ff8 SET_32 _Jv_RegisterClasses
0x00001ffc 0x00000ffc SET_32 _ITM_registerTMCloneTable
0x0000200c 0x0000100c SET_32 puts
0x00002010 0x00001010 SET_32 __libc_start_main
0x00002018 0x00001018 SET_32
@ -4172,10 +4172,10 @@ FILE=../bins/elf/varsub
CMDS=ii
EXPECT=<<EOF
[Imports]
nth vaddr bind type name
---------------------------------
1 0x00000000 GLOBAL FUNC __libc_start_main
2 0x00000000 WEAK NOTYPE __gmon_start__
nth vaddr bind type lib name
-------------------------------------
1 0x00000000 GLOBAL FUNC __libc_start_main
2 0x00000000 WEAK NOTYPE __gmon_start__
EOF
RUN

View File

@ -2032,3 +2032,47 @@ EXPECT=<<RUN
[{"offset":134513684,"text":" 0x08048414 c3 ret"},{"offset":134513684,"text":" ; --------------------------------------"},{"offset":134513685,"text":" 0x08048415 90 nop"}]
RUN
NAME=disassemble PE with asm.flags.real enabled
FILE=../bins/pe/ConsoleApplication1.exe
EXPECT=<<EOF
call 0x401836
jmp 0x401322
push ebp
mov ebp, esp
push 0
call dword [SetUnhandledExceptionFilter]
push dword [ebp + 8]
call dword [UnhandledExceptionFilter]
push 0xc0000409
call dword [GetCurrentProcess]
EOF
CMDS=<<EOF
e asm.flags.real=true
pi 10
EOF
RUN
NAME=direct call without fcn + asm.flags.real
FILE=../bins/elf/crackme0x05
EXPECT=<<EOF
0x08048566 e829feffff call sym.imp.printf
0x08048566 e829feffff call printf ; sym.imp.printf
0x08048394 1 6 sym.imp.printf
| 0x08048566 e829feffff call sym.imp.printf ; int printf(const char *format)
| 0x08048566 e829feffff call printf ; sym.imp.printf ; int printf(const char *format)
EOF
CMDS=<<EOF
e asm.flags.real=false
pd 1 @ 0x8048566
e asm.flags.real=true
pd 1 @ 0x8048566
aaa
afl~printf
e asm.flags.real=false
pd 1 @ 0x8048566
e asm.flags.real=true
pd 1 @ 0x8048566
EOF
RUN

View File

@ -511,13 +511,13 @@ pd 1 @ 0x080493b4
pd 1 @ 0x080493ca
EXPECT=<<RUN
| 0x080493b4 call 0x80490b0 ; sym.imp.strlen ; size_t strlen(const char *s)
| 0x080493ca call 0x80490e0 ; sym.QString::fromAscii_helper_char_const___int
| 0x080493ca call 0x80490e0 ; sym.imp.QString::fromAscii_helper_char_const___int
| ; QString::fromAscii_helper(char const*, int)
| ; sym.imp.strlen
| ; size_t strlen(const char *s)
| 0x080493b4 call 0x80490b0
| ; sym.QString::fromAscii_helper_char_const___int
| ; sym.imp.QString::fromAscii_helper_char_const___int
| ; QString::fromAscii_helper(char const*, int)
| 0x080493ca call 0x80490e0
RUN

View File

@ -2,61 +2,61 @@ NAME=tifdir imports and sections
FILE=../bins/coff/tif_dir.obj
EXPECT=<<EOF
[Imports]
nth vaddr bind type name
-----------------------------
0 0x00000000 NONE FUNC __TIFFmalloc
1 0x00000000 NONE FUNC __TIFFrealloc
2 0x00000000 NONE FUNC __TIFFmemset
3 0x00000000 NONE FUNC __TIFFmemcpy
4 0x00000000 NONE FUNC __TIFFfree
5 0x00000000 NONE FUNC _TIFFFindField
6 0x00000000 NONE FUNC _TIFFFieldWithTag
7 0x00000000 NONE FUNC _TIFFGetField
8 0x00000000 NONE FUNC _TIFFVGetField
9 0x00000000 NONE FUNC _TIFFReadDirectory
10 0x00000000 NONE FUNC _TIFFNumberOfDirectories
11 0x00000000 NONE FUNC _TIFFCurrentDirOffset
12 0x00000000 NONE FUNC _TIFFFreeDirectory
13 0x00000000 NONE FUNC _TIFFCreateDirectory
14 0x00000000 NONE FUNC _TIFFCreateCustomDirectory
15 0x00000000 NONE FUNC _TIFFCreateEXIFDirectory
16 0x00000000 NONE FUNC _TIFFLastDirectory
17 0x00000000 NONE FUNC _TIFFSetDirectory
18 0x00000000 NONE FUNC _TIFFSetSubDirectory
19 0x00000000 NONE FUNC _TIFFUnlinkDirectory
20 0x00000000 NONE FUNC _TIFFSetField
21 0x00000000 NONE FUNC _TIFFVSetField
22 0x00000000 NONE FUNC _TIFFUnsetField
23 0x00000000 NONE FUNC _TIFFErrorExt
24 0x00000000 NONE FUNC _TIFFWarningExt
25 0x00000000 NONE FUNC _TIFFSetTagExtender
26 0x00000000 NONE FUNC _TIFFSwabShort
27 0x00000000 NONE FUNC _TIFFSwabLong
28 0x00000000 NONE FUNC _TIFFSwabLong8
29 0x00000000 NONE FUNC __TIFFGetFields
30 0x00000000 NONE FUNC __TIFFGetExifFields
31 0x00000000 NONE FUNC __TIFFSetupFields
32 0x00000000 NONE FUNC __TIFFFillStriles
33 0x00000000 NONE FUNC __TIFFNoPostDecode
34 0x00000000 NONE FUNC sym.imp.BitData
35 0x00000000 NONE FUNC sym.imp.BitData
36 0x00000000 NONE FUNC sym.imp.BitData
37 0x00000000 NONE FUNC sym.imp.BitData
38 0x00000000 NONE FUNC _TIFFDefaultDirectory
39 0x00000000 NONE FUNC _TIFFSetCompressionScheme
40 0x00000000 NONE FUNC __TIFFDataSize
41 0x00000000 NONE FUNC __TIFFsetByteArray
42 0x00000000 NONE FUNC __TIFFsetString
43 0x00000000 NONE FUNC __TIFFsetShortArray
44 0x00000000 NONE FUNC __TIFFsetLongArray
45 0x00000000 NONE FUNC __TIFFsetFloatArray
46 0x00000000 NONE FUNC __TIFFsetDoubleArray
47 0x00000000 NONE FUNC __TIFFCheckMalloc
48 0x00000000 NONE FUNC __fltused
49 0x00000000 NONE FUNC __real@47efffffe0000000
50 0x00000000 NONE FUNC __real@7f7fffff
51 0x00000000 NONE FUNC __real@c7efffffe0000000
52 0x00000000 NONE FUNC __real@ff7fffff
nth vaddr bind type lib name
---------------------------------
0 0x00000000 NONE FUNC __TIFFmalloc
1 0x00000000 NONE FUNC __TIFFrealloc
2 0x00000000 NONE FUNC __TIFFmemset
3 0x00000000 NONE FUNC __TIFFmemcpy
4 0x00000000 NONE FUNC __TIFFfree
5 0x00000000 NONE FUNC _TIFFFindField
6 0x00000000 NONE FUNC _TIFFFieldWithTag
7 0x00000000 NONE FUNC _TIFFGetField
8 0x00000000 NONE FUNC _TIFFVGetField
9 0x00000000 NONE FUNC _TIFFReadDirectory
10 0x00000000 NONE FUNC _TIFFNumberOfDirectories
11 0x00000000 NONE FUNC _TIFFCurrentDirOffset
12 0x00000000 NONE FUNC _TIFFFreeDirectory
13 0x00000000 NONE FUNC _TIFFCreateDirectory
14 0x00000000 NONE FUNC _TIFFCreateCustomDirectory
15 0x00000000 NONE FUNC _TIFFCreateEXIFDirectory
16 0x00000000 NONE FUNC _TIFFLastDirectory
17 0x00000000 NONE FUNC _TIFFSetDirectory
18 0x00000000 NONE FUNC _TIFFSetSubDirectory
19 0x00000000 NONE FUNC _TIFFUnlinkDirectory
20 0x00000000 NONE FUNC _TIFFSetField
21 0x00000000 NONE FUNC _TIFFVSetField
22 0x00000000 NONE FUNC _TIFFUnsetField
23 0x00000000 NONE FUNC _TIFFErrorExt
24 0x00000000 NONE FUNC _TIFFWarningExt
25 0x00000000 NONE FUNC _TIFFSetTagExtender
26 0x00000000 NONE FUNC _TIFFSwabShort
27 0x00000000 NONE FUNC _TIFFSwabLong
28 0x00000000 NONE FUNC _TIFFSwabLong8
29 0x00000000 NONE FUNC __TIFFGetFields
30 0x00000000 NONE FUNC __TIFFGetExifFields
31 0x00000000 NONE FUNC __TIFFSetupFields
32 0x00000000 NONE FUNC __TIFFFillStriles
33 0x00000000 NONE FUNC __TIFFNoPostDecode
34 0x00000000 NONE FUNC sym.imp.BitData
35 0x00000000 NONE FUNC sym.imp.BitData
36 0x00000000 NONE FUNC sym.imp.BitData
37 0x00000000 NONE FUNC sym.imp.BitData
38 0x00000000 NONE FUNC _TIFFDefaultDirectory
39 0x00000000 NONE FUNC _TIFFSetCompressionScheme
40 0x00000000 NONE FUNC __TIFFDataSize
41 0x00000000 NONE FUNC __TIFFsetByteArray
42 0x00000000 NONE FUNC __TIFFsetString
43 0x00000000 NONE FUNC __TIFFsetShortArray
44 0x00000000 NONE FUNC __TIFFsetLongArray
45 0x00000000 NONE FUNC __TIFFsetFloatArray
46 0x00000000 NONE FUNC __TIFFsetDoubleArray
47 0x00000000 NONE FUNC __TIFFCheckMalloc
48 0x00000000 NONE FUNC __fltused
49 0x00000000 NONE FUNC __real@47efffffe0000000
50 0x00000000 NONE FUNC __real@7f7fffff
51 0x00000000 NONE FUNC __real@c7efffffe0000000
52 0x00000000 NONE FUNC __real@ff7fffff
[Sections]
@ -89,21 +89,21 @@ EXPECT=<<EOF
1 fd: 3 +0x0000008b 0x0000008b - 0x000000a6 r-- fmap..data_1
[Symbols]
nth paddr vaddr bind type size name
--------------------------------------------------
0 0x00000000 0x00000000 NONE EXTERNAL 4 MessageBoxA
0 0x00000000 0x00000000 NONE EXTERNAL 4 ExitProcess
0 0x00000064 0x00000064 NONE STATIC 4 .text
0 0x00000064 0x00000064 NONE FUNC 4 main
0 0x0000008b 0x0000008b NONE STATIC 4 .data
nth paddr vaddr bind type size lib name
------------------------------------------------------
0 0x00000000 0x00000000 NONE EXTERNAL 4 MessageBoxA
0 0x00000000 0x00000000 NONE EXTERNAL 4 ExitProcess
0 0x00000064 0x00000064 NONE STATIC 4 .text
0 0x00000064 0x00000064 NONE FUNC 4 main
0 0x0000008b 0x0000008b NONE STATIC 4 .data
[Relocations]
vaddr paddr type name
----------------------------------
0x0000006d 0x0000006d UNKNOWN .data
0x00000074 0x00000074 UNKNOWN .data
0x00000080 0x00000080 UNKNOWN MessageBoxA
0x00000087 0x00000087 UNKNOWN ExitProcess
0x0000006d 0x0000006d UNKNOWN .data
0x00000074 0x00000074 UNKNOWN .data
0x00000080 0x00000080 UNKNOWN MessageBoxA
0x00000087 0x00000087 UNKNOWN ExitProcess
4 relocations
@ -126,8 +126,8 @@ EXPECT=<<EOF
3 fd: 3 +0x00000eec 0x00000eec - 0x00000fbf r-- fmap..debug_S_6
2 fd: 3 +0x00000ff2 0x00000ff2 - 0x00000ff5 r-- fmap..rtc_IMZ_7
1 fd: 3 +0x00001000 0x00001000 - 0x00001003 r-- fmap..rtc_TMZ_8
0 0x00000d8f 0x00000d8f NONE STATIC 4 .text$mn
0 0x00000ec2 0x00000ec2 NONE STATIC 4 .text$mn
0 0x00000d8f 0x00000d8f NONE STATIC 4 .text$mn
0 0x00000ec2 0x00000ec2 NONE STATIC 4 .text$mn
;-- section..text_mn_5:
;-- .text$mn:
;-- ??1FooBar@@QAE@XZ:

View File

@ -224,15 +224,15 @@ NAME=DEX HelloWorld.dex imports (ii command)
FILE=../bins/dex/HelloWorld.dex
EXPECT=<<EOF
[Imports]
nth vaddr bind type name
-----------------------------
0 0x000001b0 NONE FUNC Ljava/io/PrintStream.method.println(Ljava/lang/String;)V
1 0x000001b8 NONE FUNC Ljava/lang/Integer.method.<init>(I)V
2 0x000001c0 NONE FUNC Ljava/lang/Integer.method.toString()Ljava/lang/String;
3 0x000001c8 NONE FUNC Ljava/lang/Object.method.<init>()V
4 0x000001d0 NONE FUNC Ljava/lang/StringBuilder.method.<init>()V
5 0x000001d8 NONE FUNC Ljava/lang/StringBuilder.method.append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6 0x000001e0 NONE FUNC Ljava/lang/StringBuilder.method.toString()Ljava/lang/String;
nth vaddr bind type lib name
---------------------------------
0 0x000001b0 NONE FUNC Ljava/io/PrintStream.method.println(Ljava/lang/String;)V
1 0x000001b8 NONE FUNC Ljava/lang/Integer.method.<init>(I)V
2 0x000001c0 NONE FUNC Ljava/lang/Integer.method.toString()Ljava/lang/String;
3 0x000001c8 NONE FUNC Ljava/lang/Object.method.<init>()V
4 0x000001d0 NONE FUNC Ljava/lang/StringBuilder.method.<init>()V
5 0x000001d8 NONE FUNC Ljava/lang/StringBuilder.method.append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6 0x000001e0 NONE FUNC Ljava/lang/StringBuilder.method.toString()Ljava/lang/String;
EOF
CMDS=<<EOF
@ -245,13 +245,13 @@ FILE=../bins/dex/HelloWorld.dex
EXPECT=<<EOF
[Exports]
nth paddr vaddr bind type size name
------------------------------------------------
2 0x00000238 0x00000238 GLOBAL FUNC 20 LHello.method.<init>()V
3 0x0000025c 0x0000025c GLOBAL FUNC 34 LHello.method.main([Ljava/lang/String;)V
4 0x00000290 0x00000290 GLOBAL FUNC 84 LHello.method.foo(I)V
7 0x000002f4 0x000002f4 GLOBAL FUNC 20 LWorld.method.<init>()V
8 0x00000318 0x00000318 GLOBAL FUNC 68 LWorld.method.foo(I)V
nth paddr vaddr bind type size lib name
----------------------------------------------------
2 0x00000238 0x00000238 GLOBAL FUNC 20 LHello.method.<init>()V
3 0x0000025c 0x0000025c GLOBAL FUNC 34 LHello.method.main([Ljava/lang/String;)V
4 0x00000290 0x00000290 GLOBAL FUNC 84 LHello.method.foo(I)V
7 0x000002f4 0x000002f4 GLOBAL FUNC 20 LWorld.method.<init>()V
8 0x00000318 0x00000318 GLOBAL FUNC 68 LWorld.method.foo(I)V
EOF
CMDS=<<EOF
iE

View File

@ -24,218 +24,218 @@ FILE=../bins/elf/vim
EXPECT=<<EOF
info/elf.relro=full
[Imports]
nth vaddr bind type name
---------------------------------
2 0x00051f60 GLOBAL FUNC __ctype_toupper_loc
3 0x00051f68 GLOBAL FUNC __strcat_chk
4 0x00051f70 GLOBAL FUNC getenv
5 0x00051f78 GLOBAL FUNC utime
6 0x00051f80 GLOBAL FUNC sigprocmask
7 0x00051f88 GLOBAL FUNC free
8 0x00051f90 GLOBAL FUNC putchar
9 0x00051f98 GLOBAL FUNC is_selinux_enabled
10 0x00051fa0 GLOBAL FUNC strcasecmp
11 0x00051fa8 GLOBAL FUNC Gpm_Open
12 0x00051fb0 GLOBAL FUNC localtime
13 0x00051fb8 GLOBAL FUNC mblen
14 0x00051fc0 GLOBAL FUNC __errno_location
15 0x00051fc8 GLOBAL FUNC unlink
16 0x00051fd0 GLOBAL FUNC strncpy
17 0x00051fd8 GLOBAL FUNC strncmp
18 0x00443a32 WEAK NOTYPE _ITM_deregisterTMCloneTable
19 0x00051fe0 GLOBAL FUNC _exit
20 0x00051fe8 GLOBAL FUNC strcpy
21 0x00051ff0 GLOBAL FUNC mkdir
22 0x00051ff8 GLOBAL FUNC tputs
23 0x00052000 GLOBAL FUNC iconv
24 0x00052008 GLOBAL FUNC ferror
25 0x00052010 GLOBAL FUNC qsort
26 0x00052018 GLOBAL FUNC isatty
27 0x00052020 GLOBAL FUNC sigaction
28 0x00052028 GLOBAL FUNC fread
29 0x00052030 GLOBAL FUNC strtod
30 0x00052038 GLOBAL FUNC exp
31 0x00052040 GLOBAL FUNC readlink
32 0x00052048 GLOBAL FUNC fcntl
33 0x00052050 GLOBAL FUNC setenv
34 0x00052058 GLOBAL FUNC write
35 0x00052060 GLOBAL FUNC getpid
36 0x00052068 GLOBAL FUNC textdomain
37 0x00052070 GLOBAL FUNC atan
38 0x00052078 GLOBAL FUNC tgoto
39 0x00052080 GLOBAL FUNC fclose
40 0x00052088 GLOBAL FUNC __xstat64
41 0x00052090 GLOBAL FUNC opendir
42 0x00052098 GLOBAL FUNC getpwuid
43 0x000520a0 GLOBAL FUNC ctime
44 0x000520a8 GLOBAL FUNC bindtextdomain
45 0x000520b0 GLOBAL FUNC stpcpy
46 0x000520b8 GLOBAL FUNC rmdir
47 0x000520c0 GLOBAL FUNC dcgettext
48 0x000520c8 GLOBAL FUNC strlen
49 0x000520d0 GLOBAL FUNC chdir
50 0x000520d8 GLOBAL FUNC __stack_chk_fail
51 0x000520e0 GLOBAL FUNC getuid
52 0x000520e8 GLOBAL FUNC dup2
53 0x000520f0 GLOBAL FUNC tcflush
54 0x000520f8 GLOBAL FUNC strchr
55 0x00052100 GLOBAL FUNC printf
56 0x00052108 GLOBAL FUNC rewind
57 0x00052110 GLOBAL FUNC _IO_putc
58 0x00052118 GLOBAL FUNC __fdelt_chk
59 0x00052120 GLOBAL FUNC nanosleep
60 0x00052128 GLOBAL FUNC strrchr
61 0x00052130 GLOBAL FUNC uname
62 0x00052138 GLOBAL FUNC dup
63 0x00052140 GLOBAL FUNC gettimeofday
64 0x00052148 GLOBAL FUNC __assert_fail
65 0x00052150 GLOBAL FUNC fputs
66 0x00052158 GLOBAL FUNC memset
67 0x00052160 GLOBAL FUNC tgetflag
68 0x00052168 GLOBAL FUNC pow
69 0x00052170 GLOBAL FUNC ioctl
70 0x00052178 GLOBAL FUNC getcwd
71 0x00052180 GLOBAL FUNC log
72 0x00052188 GLOBAL FUNC strncat
73 0x00052190 GLOBAL FUNC alarm
74 0x00052198 GLOBAL FUNC close
75 0x000521a0 GLOBAL FUNC tgetent
76 0x000521a8 GLOBAL FUNC pipe
77 0x000521b0 GLOBAL FUNC setsid
78 0x000521b8 GLOBAL FUNC fmod
79 0x000521c0 GLOBAL FUNC closedir
80 0x000521c8 GLOBAL FUNC cos
81 0x000521d0 GLOBAL FUNC fputc
82 0x000521d8 GLOBAL FUNC memchr
83 0x000521e0 GLOBAL FUNC ftello64
84 0x000521e8 GLOBAL FUNC acos
85 0x000521f0 GLOBAL FUNC read
86 0x00443a32 GLOBAL FUNC __libc_start_main
87 0x000521f8 GLOBAL FUNC srand
88 0x00052200 GLOBAL FUNC memcmp
89 0x00052208 GLOBAL FUNC fgets
90 0x00052210 GLOBAL FUNC tgetnum
91 0x00052218 GLOBAL FUNC getsockopt
92 0x00052220 GLOBAL FUNC _setjmp
93 0x00052228 GLOBAL FUNC acl_set_file
94 0x00052230 GLOBAL FUNC __fxstat64
95 0x00052238 GLOBAL FUNC strcmp
96 0x00052240 GLOBAL FUNC signal
97 0x00052248 GLOBAL FUNC getpwnam
98 0x00052250 GLOBAL FUNC gethostbyname
99 0x00052258 GLOBAL FUNC log10
100 0x00052260 GLOBAL FUNC __memmove_chk
101 0x00052268 GLOBAL FUNC setpwent
102 0x00052270 GLOBAL FUNC __memcpy_chk
103 0x00052278 GLOBAL FUNC fprintf
104 0x00052280 GLOBAL FUNC sigemptyset
105 0x00052288 GLOBAL FUNC ftell
106 0x00052290 GLOBAL FUNC feof
107 0x00443a32 WEAK NOTYPE __gmon_start__
108 0x00052298 GLOBAL FUNC umask
109 0x000522a0 GLOBAL FUNC fopen64
110 0x000522a8 GLOBAL FUNC strtol
111 0x000522b0 GLOBAL FUNC memcpy
112 0x000522b8 GLOBAL FUNC getfilecon
113 0x000522c0 GLOBAL FUNC getpwent
114 0x000522c8 GLOBAL FUNC cosh
115 0x000522d0 GLOBAL FUNC kill
116 0x000522d8 GLOBAL FUNC time
117 0x000522e0 GLOBAL FUNC fileno
118 0x000522e8 GLOBAL FUNC __stpcpy_chk
119 0x000522f0 GLOBAL FUNC getgid
120 0x000522f8 GLOBAL FUNC iswupper
121 0x00052300 GLOBAL FUNC select
122 0x00052308 GLOBAL FUNC getrlimit64
123 0x00052310 GLOBAL FUNC dlopen
124 0x00052318 GLOBAL FUNC sync
125 0x00052320 GLOBAL FUNC sinh
126 0x00052328 GLOBAL FUNC pthread_getspecific
127 0x00052330 GLOBAL FUNC malloc
128 0x00052338 GLOBAL FUNC strncasecmp
129 0x00052340 GLOBAL FUNC fflush
130 0x00052348 GLOBAL FUNC _IO_getc
131 0x00052350 GLOBAL FUNC acl_get_file
132 0x00052358 GLOBAL FUNC nl_langinfo
133 0x00052360 GLOBAL FUNC tan
134 0x00052368 GLOBAL FUNC ungetc
135 0x00052370 GLOBAL FUNC endpwent
136 0x00052378 GLOBAL FUNC sscanf
137 0x00052380 GLOBAL FUNC atan2
138 0x00052388 GLOBAL FUNC strpbrk
139 0x00052390 GLOBAL FUNC fseek
140 0x00052398 GLOBAL FUNC fseeko64
141 0x000523a0 GLOBAL FUNC bind_textdomain_codeset
142 0x000523a8 GLOBAL FUNC fchdir
143 0x000523b0 GLOBAL FUNC dlclose
144 0x000523b8 GLOBAL FUNC setfilecon
145 0x000523c0 GLOBAL FUNC realloc
146 0x000523c8 GLOBAL FUNC __strcpy_chk
147 0x000523d0 GLOBAL FUNC fdopen
148 0x000523d8 GLOBAL FUNC mkdtemp
149 0x000523e0 GLOBAL FUNC setlocale
150 0x000523e8 GLOBAL FUNC iconv_close
151 0x000523f0 GLOBAL FUNC chmod
152 0x000523f8 GLOBAL FUNC sigset
153 0x00052400 GLOBAL FUNC __longjmp_chk
154 0x00052408 GLOBAL FUNC open64
155 0x00052410 GLOBAL FUNC strftime
156 0x00052418 GLOBAL FUNC memmove
157 0x00052420 GLOBAL FUNC readdir64
158 0x00052428 GLOBAL FUNC fsync
159 0x00052430 GLOBAL FUNC Gpm_GetEvent
160 0x00052438 GLOBAL FUNC waitpid
161 0x00052440 GLOBAL FUNC tcgetattr
162 0x00052448 GLOBAL FUNC tcsetattr
163 0x00052450 GLOBAL FUNC access
164 0x00052458 GLOBAL FUNC fchown
165 0x00052460 GLOBAL FUNC dcngettext
166 0x00052468 GLOBAL FUNC perror
167 0x00052470 GLOBAL FUNC strtok
168 0x00052478 GLOBAL FUNC sysconf
169 0x00443a32 WEAK NOTYPE _Jv_RegisterClasses
170 0x00052480 GLOBAL FUNC towlower
171 0x00052488 GLOBAL FUNC rename
172 0x00052490 GLOBAL FUNC tgetstr
173 0x00052498 GLOBAL FUNC towupper
174 0x000524a0 GLOBAL FUNC sin
175 0x000524a8 GLOBAL FUNC floor
176 0x000524b0 GLOBAL FUNC execvp
177 0x000524b8 GLOBAL FUNC getpgid
178 0x000524c0 GLOBAL FUNC __lxstat64
179 0x000524c8 GLOBAL FUNC sysinfo
180 0x000524d0 GLOBAL FUNC strcat
181 0x000524d8 GLOBAL FUNC freecon
182 0x000524e0 GLOBAL FUNC tanh
183 0x000524e8 GLOBAL FUNC asin
184 0x000524f0 GLOBAL FUNC __memset_chk
185 0x000524f8 GLOBAL FUNC sprintf
186 0x00052500 GLOBAL FUNC exit
187 0x00052508 GLOBAL FUNC connect
188 0x00052510 GLOBAL FUNC fwrite
189 0x00052518 GLOBAL FUNC lseek64
190 0x00052520 GLOBAL FUNC __fprintf_chk
191 0x00443a32 WEAK NOTYPE _ITM_registerTMCloneTable
192 0x00052528 GLOBAL FUNC sqrt
193 0x00052530 GLOBAL FUNC sigaltstack
194 0x00052538 GLOBAL FUNC strerror
195 0x00052540 GLOBAL FUNC execl
196 0x00052548 GLOBAL FUNC dlsym
197 0x00052550 GLOBAL FUNC ceil
198 0x00052558 GLOBAL FUNC sleep
199 0x00052560 GLOBAL FUNC Gpm_Close
200 0x00052568 WEAK FUNC __cxa_finalize
201 0x00052570 GLOBAL FUNC sigaddset
202 0x00052578 GLOBAL FUNC fork
203 0x00052580 GLOBAL FUNC strstr
204 0x00052588 GLOBAL FUNC rand
205 0x00052590 GLOBAL FUNC dlerror
206 0x00052598 GLOBAL FUNC __ctype_tolower_loc
207 0x000525a0 GLOBAL FUNC __ctype_b_loc
208 0x000525a8 GLOBAL FUNC acl_free
209 0x000525b0 GLOBAL FUNC iconv_open
210 0x000525b8 GLOBAL FUNC __sprintf_chk
211 0x000525c0 GLOBAL FUNC socket
nth vaddr bind type lib name
-------------------------------------
2 0x00051f60 GLOBAL FUNC __ctype_toupper_loc
3 0x00051f68 GLOBAL FUNC __strcat_chk
4 0x00051f70 GLOBAL FUNC getenv
5 0x00051f78 GLOBAL FUNC utime
6 0x00051f80 GLOBAL FUNC sigprocmask
7 0x00051f88 GLOBAL FUNC free
8 0x00051f90 GLOBAL FUNC putchar
9 0x00051f98 GLOBAL FUNC is_selinux_enabled
10 0x00051fa0 GLOBAL FUNC strcasecmp
11 0x00051fa8 GLOBAL FUNC Gpm_Open
12 0x00051fb0 GLOBAL FUNC localtime
13 0x00051fb8 GLOBAL FUNC mblen
14 0x00051fc0 GLOBAL FUNC __errno_location
15 0x00051fc8 GLOBAL FUNC unlink
16 0x00051fd0 GLOBAL FUNC strncpy
17 0x00051fd8 GLOBAL FUNC strncmp
18 0x00443a32 WEAK NOTYPE _ITM_deregisterTMCloneTable
19 0x00051fe0 GLOBAL FUNC _exit
20 0x00051fe8 GLOBAL FUNC strcpy
21 0x00051ff0 GLOBAL FUNC mkdir
22 0x00051ff8 GLOBAL FUNC tputs
23 0x00052000 GLOBAL FUNC iconv
24 0x00052008 GLOBAL FUNC ferror
25 0x00052010 GLOBAL FUNC qsort
26 0x00052018 GLOBAL FUNC isatty
27 0x00052020 GLOBAL FUNC sigaction
28 0x00052028 GLOBAL FUNC fread
29 0x00052030 GLOBAL FUNC strtod
30 0x00052038 GLOBAL FUNC exp
31 0x00052040 GLOBAL FUNC readlink
32 0x00052048 GLOBAL FUNC fcntl
33 0x00052050 GLOBAL FUNC setenv
34 0x00052058 GLOBAL FUNC write
35 0x00052060 GLOBAL FUNC getpid
36 0x00052068 GLOBAL FUNC textdomain
37 0x00052070 GLOBAL FUNC atan
38 0x00052078 GLOBAL FUNC tgoto
39 0x00052080 GLOBAL FUNC fclose
40 0x00052088 GLOBAL FUNC __xstat64
41 0x00052090 GLOBAL FUNC opendir
42 0x00052098 GLOBAL FUNC getpwuid
43 0x000520a0 GLOBAL FUNC ctime
44 0x000520a8 GLOBAL FUNC bindtextdomain
45 0x000520b0 GLOBAL FUNC stpcpy
46 0x000520b8 GLOBAL FUNC rmdir
47 0x000520c0 GLOBAL FUNC dcgettext
48 0x000520c8 GLOBAL FUNC strlen
49 0x000520d0 GLOBAL FUNC chdir
50 0x000520d8 GLOBAL FUNC __stack_chk_fail
51 0x000520e0 GLOBAL FUNC getuid
52 0x000520e8 GLOBAL FUNC dup2
53 0x000520f0 GLOBAL FUNC tcflush
54 0x000520f8 GLOBAL FUNC strchr
55 0x00052100 GLOBAL FUNC printf
56 0x00052108 GLOBAL FUNC rewind
57 0x00052110 GLOBAL FUNC _IO_putc
58 0x00052118 GLOBAL FUNC __fdelt_chk
59 0x00052120 GLOBAL FUNC nanosleep
60 0x00052128 GLOBAL FUNC strrchr
61 0x00052130 GLOBAL FUNC uname
62 0x00052138 GLOBAL FUNC dup
63 0x00052140 GLOBAL FUNC gettimeofday
64 0x00052148 GLOBAL FUNC __assert_fail
65 0x00052150 GLOBAL FUNC fputs
66 0x00052158 GLOBAL FUNC memset
67 0x00052160 GLOBAL FUNC tgetflag
68 0x00052168 GLOBAL FUNC pow
69 0x00052170 GLOBAL FUNC ioctl
70 0x00052178 GLOBAL FUNC getcwd
71 0x00052180 GLOBAL FUNC log
72 0x00052188 GLOBAL FUNC strncat
73 0x00052190 GLOBAL FUNC alarm
74 0x00052198 GLOBAL FUNC close
75 0x000521a0 GLOBAL FUNC tgetent
76 0x000521a8 GLOBAL FUNC pipe
77 0x000521b0 GLOBAL FUNC setsid
78 0x000521b8 GLOBAL FUNC fmod
79 0x000521c0 GLOBAL FUNC closedir
80 0x000521c8 GLOBAL FUNC cos
81 0x000521d0 GLOBAL FUNC fputc
82 0x000521d8 GLOBAL FUNC memchr
83 0x000521e0 GLOBAL FUNC ftello64
84 0x000521e8 GLOBAL FUNC acos
85 0x000521f0 GLOBAL FUNC read
86 0x00443a32 GLOBAL FUNC __libc_start_main
87 0x000521f8 GLOBAL FUNC srand
88 0x00052200 GLOBAL FUNC memcmp
89 0x00052208 GLOBAL FUNC fgets
90 0x00052210 GLOBAL FUNC tgetnum
91 0x00052218 GLOBAL FUNC getsockopt
92 0x00052220 GLOBAL FUNC _setjmp
93 0x00052228 GLOBAL FUNC acl_set_file
94 0x00052230 GLOBAL FUNC __fxstat64
95 0x00052238 GLOBAL FUNC strcmp
96 0x00052240 GLOBAL FUNC signal
97 0x00052248 GLOBAL FUNC getpwnam
98 0x00052250 GLOBAL FUNC gethostbyname
99 0x00052258 GLOBAL FUNC log10
100 0x00052260 GLOBAL FUNC __memmove_chk
101 0x00052268 GLOBAL FUNC setpwent
102 0x00052270 GLOBAL FUNC __memcpy_chk
103 0x00052278 GLOBAL FUNC fprintf
104 0x00052280 GLOBAL FUNC sigemptyset
105 0x00052288 GLOBAL FUNC ftell
106 0x00052290 GLOBAL FUNC feof
107 0x00443a32 WEAK NOTYPE __gmon_start__
108 0x00052298 GLOBAL FUNC umask
109 0x000522a0 GLOBAL FUNC fopen64
110 0x000522a8 GLOBAL FUNC strtol
111 0x000522b0 GLOBAL FUNC memcpy
112 0x000522b8 GLOBAL FUNC getfilecon
113 0x000522c0 GLOBAL FUNC getpwent
114 0x000522c8 GLOBAL FUNC cosh
115 0x000522d0 GLOBAL FUNC kill
116 0x000522d8 GLOBAL FUNC time
117 0x000522e0 GLOBAL FUNC fileno
118 0x000522e8 GLOBAL FUNC __stpcpy_chk
119 0x000522f0 GLOBAL FUNC getgid
120 0x000522f8 GLOBAL FUNC iswupper
121 0x00052300 GLOBAL FUNC select
122 0x00052308 GLOBAL FUNC getrlimit64
123 0x00052310 GLOBAL FUNC dlopen
124 0x00052318 GLOBAL FUNC sync
125 0x00052320 GLOBAL FUNC sinh
126 0x00052328 GLOBAL FUNC pthread_getspecific
127 0x00052330 GLOBAL FUNC malloc
128 0x00052338 GLOBAL FUNC strncasecmp
129 0x00052340 GLOBAL FUNC fflush
130 0x00052348 GLOBAL FUNC _IO_getc
131 0x00052350 GLOBAL FUNC acl_get_file
132 0x00052358 GLOBAL FUNC nl_langinfo
133 0x00052360 GLOBAL FUNC tan
134 0x00052368 GLOBAL FUNC ungetc
135 0x00052370 GLOBAL FUNC endpwent
136 0x00052378 GLOBAL FUNC sscanf
137 0x00052380 GLOBAL FUNC atan2
138 0x00052388 GLOBAL FUNC strpbrk
139 0x00052390 GLOBAL FUNC fseek
140 0x00052398 GLOBAL FUNC fseeko64
141 0x000523a0 GLOBAL FUNC bind_textdomain_codeset
142 0x000523a8 GLOBAL FUNC fchdir
143 0x000523b0 GLOBAL FUNC dlclose
144 0x000523b8 GLOBAL FUNC setfilecon
145 0x000523c0 GLOBAL FUNC realloc
146 0x000523c8 GLOBAL FUNC __strcpy_chk
147 0x000523d0 GLOBAL FUNC fdopen
148 0x000523d8 GLOBAL FUNC mkdtemp
149 0x000523e0 GLOBAL FUNC setlocale
150 0x000523e8 GLOBAL FUNC iconv_close
151 0x000523f0 GLOBAL FUNC chmod
152 0x000523f8 GLOBAL FUNC sigset
153 0x00052400 GLOBAL FUNC __longjmp_chk
154 0x00052408 GLOBAL FUNC open64
155 0x00052410 GLOBAL FUNC strftime
156 0x00052418 GLOBAL FUNC memmove
157 0x00052420 GLOBAL FUNC readdir64
158 0x00052428 GLOBAL FUNC fsync
159 0x00052430 GLOBAL FUNC Gpm_GetEvent
160 0x00052438 GLOBAL FUNC waitpid
161 0x00052440 GLOBAL FUNC tcgetattr
162 0x00052448 GLOBAL FUNC tcsetattr
163 0x00052450 GLOBAL FUNC access
164 0x00052458 GLOBAL FUNC fchown
165 0x00052460 GLOBAL FUNC dcngettext
166 0x00052468 GLOBAL FUNC perror
167 0x00052470 GLOBAL FUNC strtok
168 0x00052478 GLOBAL FUNC sysconf
169 0x00443a32 WEAK NOTYPE _Jv_RegisterClasses
170 0x00052480 GLOBAL FUNC towlower
171 0x00052488 GLOBAL FUNC rename
172 0x00052490 GLOBAL FUNC tgetstr
173 0x00052498 GLOBAL FUNC towupper
174 0x000524a0 GLOBAL FUNC sin
175 0x000524a8 GLOBAL FUNC floor
176 0x000524b0 GLOBAL FUNC execvp
177 0x000524b8 GLOBAL FUNC getpgid
178 0x000524c0 GLOBAL FUNC __lxstat64
179 0x000524c8 GLOBAL FUNC sysinfo
180 0x000524d0 GLOBAL FUNC strcat
181 0x000524d8 GLOBAL FUNC freecon
182 0x000524e0 GLOBAL FUNC tanh
183 0x000524e8 GLOBAL FUNC asin
184 0x000524f0 GLOBAL FUNC __memset_chk
185 0x000524f8 GLOBAL FUNC sprintf
186 0x00052500 GLOBAL FUNC exit
187 0x00052508 GLOBAL FUNC connect
188 0x00052510 GLOBAL FUNC fwrite
189 0x00052518 GLOBAL FUNC lseek64
190 0x00052520 GLOBAL FUNC __fprintf_chk
191 0x00443a32 WEAK NOTYPE _ITM_registerTMCloneTable
192 0x00052528 GLOBAL FUNC sqrt
193 0x00052530 GLOBAL FUNC sigaltstack
194 0x00052538 GLOBAL FUNC strerror
195 0x00052540 GLOBAL FUNC execl
196 0x00052548 GLOBAL FUNC dlsym
197 0x00052550 GLOBAL FUNC ceil
198 0x00052558 GLOBAL FUNC sleep
199 0x00052560 GLOBAL FUNC Gpm_Close
200 0x00052568 WEAK FUNC __cxa_finalize
201 0x00052570 GLOBAL FUNC sigaddset
202 0x00052578 GLOBAL FUNC fork
203 0x00052580 GLOBAL FUNC strstr
204 0x00052588 GLOBAL FUNC rand
205 0x00052590 GLOBAL FUNC dlerror
206 0x00052598 GLOBAL FUNC __ctype_tolower_loc
207 0x000525a0 GLOBAL FUNC __ctype_b_loc
208 0x000525a8 GLOBAL FUNC acl_free
209 0x000525b0 GLOBAL FUNC iconv_open
210 0x000525b8 GLOBAL FUNC __sprintf_chk
211 0x000525c0 GLOBAL FUNC socket
EOF
CMDS=<<EOF

View File

@ -13,383 +13,383 @@ FILE=../bins/elf/analysis/guess-number-riscv64
EXPECT=<<EOF
[Symbols]
nth paddr vaddr bind type size name
--------------------------------------------------
1 0x00001000 0x00010000 LOCAL SECT 0 .text
2 0x000124f8 0x000214f8 LOCAL SECT 0 .rodata
3 0x00013620 0x00022620 LOCAL SECT 0 .init_array
4 0x00013628 0x00022628 LOCAL SECT 0 .fini_array
5 0x00013630 0x00022630 LOCAL SECT 0 .eh_frame
6 0x00015060 0x00024060 LOCAL SECT 0 .jcr
7 0x00015070 0x00024070 LOCAL SECT 0 .data
8 0x00016070 0x00025070 LOCAL SECT 0 .sdata
9 ---------- 0x00025168 LOCAL SECT 0 .sbss
10 ---------- 0x00025198 LOCAL SECT 0 .bss
11 ---------- 0x00000000 LOCAL SECT 0 .comment
12 ---------- 0x00000000 LOCAL SECT 0 .debug_info
13 ---------- 0x00000000 LOCAL SECT 0 .debug_abbrev
14 ---------- 0x00000000 LOCAL SECT 0 .debug_loc
15 ---------- 0x00000000 LOCAL SECT 0 .debug_aranges
16 ---------- 0x00000000 LOCAL SECT 0 .debug_line
17 ---------- 0x00000000 LOCAL SECT 0 .debug_str
18 ---------- 0x00000000 LOCAL SECT 0 .debug_ranges
19 ---------- 0x00000000 LOCAL FILE 0 crtstuff.c
20 0x00013630 0x00022630 LOCAL OBJ 0 __EH_FRAME_BEGIN__
21 0x00015060 0x00024060 LOCAL OBJ 0 __JCR_LIST__
22 0x0000104c 0x0001004c LOCAL FUNC 0 deregister_tm_clones
23 0x00001080 0x00010080 LOCAL FUNC 0 register_tm_clones
24 0x000010c0 0x000100c0 LOCAL FUNC 0 __do_global_dtors_aux
25 ---------- 0x00025198 LOCAL OBJ 1 completed.3084
26 0x00013628 0x00022628 LOCAL OBJ 0 __do_global_dtors_aux_fini_array_entry
27 0x00001104 0x00010104 LOCAL FUNC 0 frame_dummy
28 ---------- 0x000251a0 LOCAL OBJ 48 object.3089
29 0x00013620 0x00022620 LOCAL OBJ 0 __frame_dummy_init_array_entry
30 ---------- 0x00000000 LOCAL FILE 0 hello.c
31 ---------- 0x00000000 LOCAL FILE 0 crtstuff.c
32 0x00013630 0x00022630 LOCAL OBJ 0 __FRAME_END__
33 0x00015060 0x00024060 LOCAL OBJ 0 __JCR_END__
34 ---------- 0x00000000 LOCAL FILE 0 atexit.c
35 ---------- 0x00000000 LOCAL FILE 0 exit.c
36 ---------- 0x00000000 LOCAL FILE 0 fini.c
37 ---------- 0x00000000 LOCAL FILE 0 impure.c
38 0x00015070 0x00024070 LOCAL OBJ 1864 impure_data
39 ---------- 0x00000000 LOCAL FILE 0 init.c
40 ---------- 0x00000000 LOCAL FILE 0 printf.c
41 ---------- 0x00000000 LOCAL FILE 0 puts.c
42 ---------- 0x00000000 LOCAL FILE 0 scanf.c
43 ---------- 0x00000000 LOCAL FILE 0 strlen.c
44 ---------- 0x00000000 LOCAL FILE 0 vfprintf.c
45 0x0000326c 0x0001226c LOCAL FUNC 188 __sbprintf
46 0x000126a8 0x000216a8 LOCAL OBJ 16 blanks.4193
47 0x000126b8 0x000216b8 LOCAL OBJ 16 zeroes.4194
48 ---------- 0x00000000 LOCAL FILE 0 vfscanf.c
49 0x00012b20 0x00021b20 LOCAL OBJ 34 basefix.4147
50 ---------- 0x00000000 LOCAL FILE 0 wsetup.c
51 ---------- 0x00000000 LOCAL FILE 0 __atexit.c
52 ---------- 0x00000000 LOCAL FILE 0 __call_atexit.c
53 ---------- 0x00000000 LOCAL FILE 0 ctype_.c
54 ---------- 0x00000000 LOCAL FILE 0 dtoa.c
55 0x00004958 0x00013958 LOCAL FUNC 492 quorem
56 ---------- 0x00000000 LOCAL FILE 0 fflush.c
57 ---------- 0x00000000 LOCAL FILE 0 findfp.c
58 0x00005ef8 0x00014ef8 LOCAL FUNC 8 __fp_unlock
59 0x00005f0c 0x00014f0c LOCAL FUNC 396 __sinit.part.1
60 0x0000609c 0x0001509c LOCAL FUNC 8 __fp_lock
61 ---------- 0x00000000 LOCAL FILE 0 fread.c
62 ---------- 0x00000000 LOCAL FILE 0 mallocr.c
63 ---------- 0x00000000 LOCAL FILE 0 fvwrite.c
64 ---------- 0x00000000 LOCAL FILE 0 fwalk.c
65 ---------- 0x00000000 LOCAL FILE 0 iswspace.c
66 ---------- 0x00000000 LOCAL FILE 0 locale.c
67 0x000157b8 0x000247b8 LOCAL OBJ 32 lc_ctype_charset
68 0x000157d8 0x000247d8 LOCAL OBJ 32 lc_message_charset
69 0x000157f8 0x000247f8 LOCAL OBJ 96 lconv
70 ---------- 0x00000000 LOCAL FILE 0 makebuf.c
71 ---------- 0x00000000 LOCAL FILE 0 mallocr.c
72 ---------- 0x00000000 LOCAL FILE 0 mbrtowc.c
73 ---------- 0x00000000 LOCAL FILE 0 mbtowc_r.c
74 ---------- 0x00000000 LOCAL FILE 0 memchr.c
75 ---------- 0x00000000 LOCAL FILE 0 memcpy.c
76 ---------- 0x00000000 LOCAL FILE 0 memmove.c
77 ---------- 0x00000000 LOCAL FILE 0 mlock.c
78 ---------- 0x00000000 LOCAL FILE 0 mprec.c
79 0x00012c50 0x00021c50 LOCAL OBJ 12 p05.2568
80 ---------- 0x00000000 LOCAL FILE 0 mallocr.c
81 ---------- 0x00000000 LOCAL FILE 0 refill.c
82 0x00009590 0x00018590 LOCAL FUNC 28 lflush
83 ---------- 0x00000000 LOCAL FILE 0 sccl.c
84 ---------- 0x00000000 LOCAL FILE 0 sf_nan.c
85 ---------- 0x00000000 LOCAL FILE 0 s_fpclassify.c
86 ---------- 0x00000000 LOCAL FILE 0 sprintf.c
87 ---------- 0x00000000 LOCAL FILE 0 stdio.c
88 ---------- 0x00000000 LOCAL FILE 0 lib_a-strcmp.o
89 0x000160b8 0x000250b8 LOCAL NOTYPE 0 mask
90 ---------- 0x00000000 LOCAL FILE 0 strtod.c
91 0x0001248c 0x0002148c LOCAL FUNC 104 sulp
92 0x00012e50 0x00021e50 LOCAL OBJ 20 fpi.2617
93 0x00012e68 0x00021e68 LOCAL OBJ 20 fpinan.2653
94 0x00012e80 0x00021e80 LOCAL OBJ 40 tinytens
95 ---------- 0x00000000 LOCAL FILE 0 strtol.c
96 ---------- 0x00000000 LOCAL FILE 0 strtoul.c
97 ---------- 0x00000000 LOCAL FILE 0 vfprintf.c
98 0x00013010 0x00022010 LOCAL OBJ 16 blanks.4178
99 0x00013020 0x00022020 LOCAL OBJ 16 zeroes.4179
100 ---------- 0x00000000 LOCAL FILE 0 ungetc.c
101 ---------- 0x00000000 LOCAL FILE 0 vfprintf.c
102 0x0000d244 0x0001c244 LOCAL FUNC 236 __sprint_r.part.0
103 0x0000e40c 0x0001d40c LOCAL FUNC 188 __sbprintf
104 0x00013198 0x00022198 LOCAL OBJ 16 blanks.4136
105 0x000131a8 0x000221a8 LOCAL OBJ 16 zeroes.4137
106 ---------- 0x00000000 LOCAL FILE 0 mallocr.c
107 ---------- 0x00000000 LOCAL FILE 0 fclose.c
108 ---------- 0x00000000 LOCAL FILE 0 fputwc.c
109 ---------- 0x00000000 LOCAL FILE 0 gdtoa-gethex.c
110 0x0000e8a0 0x0001d8a0 LOCAL FUNC 244 rshift
111 ---------- 0x00000000 LOCAL FILE 0 gdtoa-hexnan.c
112 ---------- 0x00000000 LOCAL FILE 0 strncmp.c
113 ---------- 0x00000000 LOCAL FILE 0 vfprintf.c
114 0x00013420 0x00022420 LOCAL OBJ 16 blanks.4122
115 0x00013430 0x00022430 LOCAL OBJ 16 zeroes.4123
116 ---------- 0x00000000 LOCAL FILE 0 wbuf.c
117 ---------- 0x00000000 LOCAL FILE 0 wcrtomb.c
118 ---------- 0x00000000 LOCAL FILE 0 wctomb_r.c
119 ---------- 0x00000000 LOCAL FILE 0 syscalls.c
120 ---------- 0x00025190 LOCAL OBJ 8 heap_end.2381
121 ---------- 0x000251f8 LOCAL OBJ 16 t0.2343
122 ---------- 0x00000000 LOCAL FILE 0 dp-bit.c
123 0x00010b9c 0x0001fb9c LOCAL FUNC 496 _fpadd_parts
124 ---------- 0x00000000 LOCAL FILE 0 libgcc2.c
125 ---------- 0x00000000 LOCAL FILE 0 fp-bit.c
126 0x00011858 0x00020858 LOCAL FUNC 444 _fpadd_parts
127 ---------- 0x00000000 LOCAL FILE 0 libgcc2.c
128 ---------- 0x00000000 LOCAL FILE 0 errno.c
129 ---------- 0x00000000 LOCAL FILE 0
130 0x00013630 0x00022630 LOCAL NOTYPE 0 __fini_array_end
131 0x00013628 0x00022628 LOCAL NOTYPE 0 __fini_array_start
132 0x00013628 0x00022628 LOCAL NOTYPE 0 __init_array_end
133 0x00013620 0x00022620 LOCAL NOTYPE 0 __preinit_array_end
134 0x00013620 0x00022620 LOCAL NOTYPE 0 __init_array_start
135 0x00013620 0x00022620 LOCAL NOTYPE 0 __preinit_array_start
136 0x00008ef4 0x00017ef4 GLOBAL FUNC 56 _mprec_log10
137 0x00008f94 0x00017f94 GLOBAL FUNC 132 __any_on
138 0x00012d28 0x00021d28 GLOBAL OBJ 40 __mprec_tinytens
139 0x000013c4 0x000103c4 GLOBAL FUNC 176 _puts_r
140 0x00011468 0x00020468 GLOBAL FUNC 64 __cmpdf2
141 0x00011564 0x00020564 GLOBAL FUNC 4 __eqdf2
142 0x000108b8 0x0001f8b8 GLOBAL FUNC 20 fstatat
143 0x00010b14 0x0001fb14 GLOBAL FUNC 28 sysconf
144 0x00001374 0x00010374 GLOBAL FUNC 80 printf
145 0x00015070 0x00024070 GLOBAL NOTYPE 0 _fdata
146 0x00010aec 0x0001faec GLOBAL FUNC 8 utime
147 0x000105e4 0x0001f5e4 GLOBAL FUNC 164 _wcrtomb_r
148 0x00009b08 0x00018b08 GLOBAL FUNC 104 __sseek
149 0x00006228 0x00015228 GLOBAL FUNC 16 __sinit
150 0x0001045c 0x0001f45c GLOBAL FUNC 376 __swbuf_r
151 0x00006f4c 0x00015f4c GLOBAL FUNC 120 _setlocale_r
152 0x000060a4 0x000150a4 GLOBAL FUNC 108 __sfmoreglue
153 0x0000d234 0x0001c234 GLOBAL FUNC 16 ungetc
154 0x00007fac 0x00016fac GLOBAL FUNC 4 __malloc_unlock
155 0x00009ca8 0x00018ca8 GLOBAL FUNC 4756 _strtod_r
156 0x00011e8c 0x00020e8c GLOBAL FUNC 300 __divsf3
157 0x00007dac 0x00016dac GLOBAL FUNC 288 memmove
158 0x00006218 0x00015218 GLOBAL FUNC 16 _cleanup
159 0x00007fb0 0x00016fb0 GLOBAL FUNC 172 _Balloc
160 0x00012358 0x00021358 GLOBAL FUNC 140 __fixsfsi
161 0x000108e8 0x0001f8e8 GLOBAL FUNC 20 faccessat
162 0x00011500 0x00020500 GLOBAL FUNC 4 __gtdf2
163 0x00012484 0x00021484 GLOBAL FUNC 8 __errno
164 0x00010a2c 0x0001fa2c GLOBAL FUNC 144 times
165 0x00011780 0x00020780 GLOBAL FUNC 44 __make_dp
166 0x00004508 0x00013508 GLOBAL FUNC 20 __svfscanf
167 0x00009a90 0x00018a90 GLOBAL FUNC 8 __seofread
168 0x00013620 0x00022620 GLOBAL NOTYPE 0 _etext
169 0x0001241c 0x0002141c GLOBAL FUNC 44 __make_fp
170 ---------- 0x00025870 GLOBAL NOTYPE 0 _gp
171 0x00011c94 0x00020c94 GLOBAL FUNC 84 __subsf3
172 0x00010958 0x0001f958 GLOBAL FUNC 36 execve
173 0x000109a0 0x0001f9a0 GLOBAL FUNC 8 getpid
174 0x00007c8c 0x00016c8c GLOBAL FUNC 288 memcpy
175 0x0000f124 0x0001e124 GLOBAL FUNC 616 __hexnan
176 0x00016068 0x00025068 GLOBAL OBJ 0 __TMC_END__
177 0x00005f00 0x00014f00 GLOBAL FUNC 12 _cleanup_r
178 0x0000b384 0x0001a384 GLOBAL FUNC 7156 _svfprintf_r
179 0x000115b4 0x000205b4 GLOBAL FUNC 132 __floatsidf
180 0x0001155c 0x0002055c GLOBAL FUNC 4 __ltdf2
181 0x00001474 0x00010474 GLOBAL FUNC 12 puts
182 0x00007a38 0x00016a38 GLOBAL FUNC 208 mbrtowc
183 0x000098bc 0x000188bc GLOBAL FUNC 132 __fpclassifyd
184 0x0000451c 0x0001351c GLOBAL FUNC 76 _vfscanf_r
185 0x00008e30 0x00017e30 GLOBAL FUNC 196 __ratio
187 0x00001330 0x00010330 GLOBAL FUNC 68 _printf_r
188 0x000109f0 0x0001f9f0 GLOBAL FUNC 60 isatty
189 0x00006f1c 0x00015f1c GLOBAL FUNC 48 iswspace
190 0x00012c60 0x00021c60 GLOBAL OBJ 200 __mprec_tens
191 0x00006fc4 0x00015fc4 GLOBAL FUNC 12 __locale_charset
192 0x00012128 0x00021128 GLOBAL FUNC 84 __lesf2
193 ---------- 0x00025198 GLOBAL NOTYPE 0 _bss_start
194 ---------- 0x00025188 GLOBAL OBJ 8 __malloc_top_pad
195 0x0000b370 0x0001a370 GLOBAL FUNC 20 strtoul
196 0x00016070 0x00025070 GLOBAL OBJ 0 __dso_handle
197 0x00016090 0x00025090 GLOBAL OBJ 4 __mb_cur_max
198 0x00006fec 0x00015fec GLOBAL FUNC 12 _localeconv_r
199 0x000083e8 0x000173e8 GLOBAL FUNC 52 __i2b
200 0x000068f8 0x000158f8 GLOBAL FUNC 1204 __sfvwrite_r
201 0x00010ed8 0x0001fed8 GLOBAL FUNC 228 __unpack_d
202 0x0000e580 0x0001d580 GLOBAL FUNC 260 _fclose_r
203 0x00005ed8 0x00014ed8 GLOBAL FUNC 32 fflush
204 ---------- 0x00025180 GLOBAL OBJ 8 __malloc_max_sbrked_mem
205 0x00012448 0x00021448 GLOBAL FUNC 60 __extendsfdf2
206 0x00010fbc 0x0001ffbc GLOBAL FUNC 72 __adddf3
207 0x00012184 0x00021184 GLOBAL FUNC 4 __nesf2
208 0x00008ba0 0x00017ba0 GLOBAL FUNC 336 __b2d
209 0x00010828 0x0001f828 GLOBAL FUNC 20 lseek
210 0x00016078 0x00025078 GLOBAL OBJ 8 _global_impure_ptr
211 0x00010af4 0x0001faf4 GLOBAL FUNC 8 chown
212 0x00009018 0x00018018 GLOBAL FUNC 1400 _realloc_r
213 0x00001290 0x00010290 GLOBAL FUNC 160 __libc_init_array
214 0x000131b8 0x000221b8 GLOBAL OBJ 256 __hexdig
215 0x0000e7fc 0x0001d7fc GLOBAL FUNC 40 _fputwc_r
216 0x00012d50 0x00021d50 GLOBAL OBJ 40 __mprec_bigtens
217 0x00008190 0x00017190 GLOBAL FUNC 300 __s2b
218 0x00011638 0x00020638 GLOBAL FUNC 124 __floatunsidf
219 0x000088a8 0x000178a8 GLOBAL FUNC 96 __mcmp
220 0x00010afc 0x0001fafc GLOBAL FUNC 8 chmod
221 0x00006248 0x00015248 GLOBAL FUNC 16 __fp_lock_all
222 0x00001048 0x00010048 GLOBAL NOTYPE 0 _init
223 0x0000b178 0x0001a178 GLOBAL FUNC 20 strtol
224 0x00001234 0x00010234 GLOBAL FUNC 92 __libc_fini_array
225 0x00011b74 0x00020b74 GLOBAL FUNC 216 __unpack_f
226 0x000082bc 0x000172bc GLOBAL FUNC 124 __hi0bits
227 0x000116b4 0x000206b4 GLOBAL FUNC 148 __fixdfsi
228 0x0000af3c 0x00019f3c GLOBAL FUNC 16 strtod
229 0x00010850 0x0001f850 GLOBAL FUNC 20 write
230 0x00012124 0x00021124 GLOBAL FUNC 4 __gtsf2
231 0x00010864 0x0001f864 GLOBAL FUNC 28 fstat
232 0x000109a8 0x0001f9a8 GLOBAL FUNC 36 kill
233 0x00011504 0x00020504 GLOBAL FUNC 84 __ledf2
234 0x00008610 0x00017610 GLOBAL FUNC 312 __pow5mult
235 ---------- 0x00025174 GLOBAL OBJ 4 __nlocale_changed
236 0x000014d0 0x000104d0 GLOBAL FUNC 68 _scanf_r
238 0x00010b04 0x0001fb04 GLOBAL FUNC 8 chdir
239 0x00011a14 0x00020a14 GLOBAL FUNC 352 __pack_f
241 0x00006238 0x00015238 GLOBAL FUNC 0 __sfp_lock_acquire
242 0x00007bac 0x00016bac GLOBAL FUNC 224 memchr
243 0x00009940 0x00018940 GLOBAL FUNC 112 _sprintf_r
244 0x000065ec 0x000155ec GLOBAL FUNC 780 _free_r
245 0x000109cc 0x0001f9cc GLOBAL FUNC 36 wait
246 0x00006fd0 0x00015fd0 GLOBAL FUNC 8 __locale_mb_cur_max
247 0x000047cc 0x000137cc GLOBAL FUNC 396 __call_exitprocs
248 ---------- 0x00025170 GLOBAL OBJ 4 __mlocale_changed
249 0x00001000 0x00010000 GLOBAL NOTYPE 0 _ftext
250 0x00016098 0x00025098 GLOBAL OBJ 8 __malloc_sbrk_base
251 0x00001000 0x00010000 GLOBAL NOTYPE 0 _start
252 0x0001089c 0x0001f89c GLOBAL FUNC 28 lstat
253 0x00008748 0x00017748 GLOBAL FUNC 352 __lshift
254 0x0001083c 0x0001f83c GLOBAL FUNC 20 read
255 0x000121d8 0x000211d8 GLOBAL FUNC 172 __floatsisf
256 0x0000f45c 0x0001e45c GLOBAL FUNC 504 __ssprint_r
257 0x000046cc 0x000136cc GLOBAL FUNC 256 __register_exitproc
258 0x0000f38c 0x0001e38c GLOBAL FUNC 208 strncmp
259 0x0000841c 0x0001741c GLOBAL FUNC 500 __multiply
260 0x00010938 0x0001f938 GLOBAL FUNC 32 unlink
261 ---------- 0x000251d0 GLOBAL OBJ 40 __malloc_current_mallinfo
262 0x00012188 0x00021188 GLOBAL FUNC 4 __eqsf2
263 0x00008cf0 0x00017cf0 GLOBAL FUNC 320 __d2b
264 0x0000b18c 0x0001a18c GLOBAL FUNC 484 _strtoul_r
265 0x00011394 0x00020394 GLOBAL FUNC 212 __fpcmp_parts_d
266 0x00011748 0x00020748 GLOBAL FUNC 56 __negdf2
267 0x0001097c 0x0001f97c GLOBAL FUNC 36 fork
268 0x00004568 0x00013568 GLOBAL FUNC 356 __swsetup_r
269 0x00011260 0x00020260 GLOBAL FUNC 308 __divdf3
270 0x000123e4 0x000213e4 GLOBAL FUNC 56 __negsf2
271 0x00006110 0x00015110 GLOBAL FUNC 264 __sfp
272 0x00008f2c 0x00017f2c GLOBAL FUNC 104 __copybits
273 0x00015858 0x00024858 GLOBAL OBJ 2064 __malloc_av_
274 0x00006244 0x00015244 GLOBAL FUNC 4 __sinit_lock_release
275 0x00011058 0x00020058 GLOBAL FUNC 520 __muldf3
276 0x00009a2c 0x00018a2c GLOBAL FUNC 100 __sread
277 0x00013458 0x00022458 GLOBAL OBJ 16 __thenan_sf
278 0x000064bc 0x000154bc GLOBAL FUNC 24 fread
279 0x000107cc 0x0001f7cc GLOBAL FUNC 48 __syscall_error
280 0x00007fa8 0x00016fa8 GLOBAL FUNC 4 __malloc_lock
282 0x00010b30 0x0001fb30 GLOBAL FUNC 80 sbrk
283 0x00005e7c 0x00014e7c GLOBAL FUNC 92 _fflush_r
284 0x0000e4cc 0x0001d4cc GLOBAL FUNC 180 _calloc_r
285 0x0001208c 0x0002108c GLOBAL FUNC 64 __cmpsf2
286 0x00010abc 0x0001fabc GLOBAL FUNC 32 gettimeofday
287 0x00007ecc 0x00016ecc GLOBAL NOTYPE 0 memset
288 0x00001150 0x00010150 GLOBAL FUNC 160 main
289 ---------- 0x00025178 GLOBAL OBJ 8 __malloc_max_total_mem
290 0x000105d4 0x0001f5d4 GLOBAL FUNC 16 __swbuf
291 0x00012180 0x00021180 GLOBAL FUNC 4 __ltsf2
292 0x00006268 0x00015268 GLOBAL FUNC 596 _fread_r
293 0x00009b74 0x00018b74 GLOBAL FUNC 8 __sclose
294 0x0000e684 0x0001d684 GLOBAL FUNC 12 fclose
295 0x000117ac 0x000207ac GLOBAL FUNC 76 __truncdfsf2
296 0x0000af9c 0x00019f9c GLOBAL FUNC 476 _strtol_r
297 0x00004b44 0x00013b44 GLOBAL FUNC 4300 _dtoa_r
298 0x000071c0 0x000161c0 GLOBAL FUNC 1988 _malloc_r
299 0x00010740 0x0001f740 GLOBAL FUNC 48 __ascii_wctomb
300 0x0000cf78 0x0001bf78 GLOBAL FUNC 240 __submore
301 0x00006dac 0x00015dac GLOBAL FUNC 176 _fwalk
302 0x00007b48 0x00016b48 GLOBAL FUNC 100 _mbtowc_r
303 0x00013440 0x00022440 GLOBAL OBJ 24 __thenan_df
304 0x000064d4 0x000154d4 GLOBAL FUNC 280 _malloc_trim_r
305 0x00011ce8 0x00020ce8 GLOBAL FUNC 420 __mulsf3
306 0x00009b7c 0x00018b7c GLOBAL NOTYPE 0 strcmp
307 0x0000e3f8 0x0001d3f8 GLOBAL FUNC 20 vfiprintf
308 0x00010b0c 0x0001fb0c GLOBAL FUNC 8 getcwd
309 0x00011560 0x00020560 GLOBAL FUNC 4 __nedf2
310 0x00001048 0x00010048 GLOBAL NOTYPE 0 _fini
311 0x000099b0 0x000189b0 GLOBAL FUNC 124 sprintf
312 0x00013468 0x00022468 GLOBAL OBJ 256 __clz_tab
313 ---------- 0x00025168 GLOBAL OBJ 8 _PathLocale
314 0x0000af4c 0x00019f4c GLOBAL FUNC 80 strtof
315 0x000011f0 0x000101f0 GLOBAL FUNC 20 atexit
316 0x000120cc 0x000210cc GLOBAL FUNC 88 __gesf2
317 0x00006ff8 0x00015ff8 GLOBAL FUNC 16 setlocale
318 0x00001480 0x00010480 GLOBAL FUNC 80 scanf
319 0x000098b4 0x000188b4 GLOBAL FUNC 8 nanf
320 0x00016080 0x00025080 GLOBAL OBJ 8 _impure_ptr
321 0x00005c10 0x00014c10 GLOBAL FUNC 620 __sflush_r
322 0x00007984 0x00016984 GLOBAL FUNC 180 _mbrtowc_r
323 0x00006fe4 0x00015fe4 GLOBAL FUNC 8 __locale_cjk_lang
324 0x0000f654 0x0001e654 GLOBAL FUNC 3592 _svfiprintf_r
325 0x000095ac 0x000185ac GLOBAL FUNC 588 __srefill_r
326 0x00007b08 0x00016b08 GLOBAL FUNC 64 __ascii_mbtowc
327 0x00008b10 0x00017b10 GLOBAL FUNC 144 __ulp
328 0x00006258 0x00015258 GLOBAL FUNC 16 __fp_unlock_all
329 0x00007008 0x00016008 GLOBAL FUNC 8 localeconv
330 0x00010adc 0x0001fadc GLOBAL FUNC 16 ftime
331 0x00010880 0x0001f880 GLOBAL FUNC 28 stat
332 0x000108cc 0x0001f8cc GLOBAL FUNC 28 access
333 0x00016068 0x00025068 GLOBAL NOTYPE 0 _edata
334 ---------- 0x00025208 GLOBAL NOTYPE 0 _end
335 0x0001218c 0x0002118c GLOBAL FUNC 72 __unordsf2
336 0x0000e690 0x0001d690 GLOBAL FUNC 364 __fputwc
337 0x000044a8 0x000134a8 GLOBAL FUNC 96 vfscanf
338 0x00009a98 0x00018a98 GLOBAL FUNC 112 __swrite
339 0x000160a0 0x000250a0 GLOBAL OBJ 8 __malloc_trim_threshold
340 0x0001091c 0x0001f91c GLOBAL FUNC 28 link
341 0x00006fd8 0x00015fd8 GLOBAL FUNC 12 __locale_msgcharset
342 0x00001204 0x00010204 GLOBAL FUNC 48 exit
343 0x0000d348 0x0001c348 GLOBAL FUNC 4272 _vfiprintf_r
344 0x00006e5c 0x00015e5c GLOBAL FUNC 192 _fwalk_reent
345 0x00012284 0x00021284 GLOBAL FUNC 212 __floatunsisf
346 0x00008908 0x00017908 GLOBAL FUNC 520 __mdiff
347 0x00016088 0x00025088 GLOBAL OBJ 8 __ctype_ptr__
348 0x0000623c 0x0001523c GLOBAL FUNC 4 __sfp_lock_release
349 0x000097fc 0x000187fc GLOBAL FUNC 184 __sccl
350 0x00012b48 0x00021b48 GLOBAL OBJ 257 _ctype_
351 0x00010814 0x0001f814 GLOBAL FUNC 20 openat
352 0x00011568 0x00020568 GLOBAL FUNC 72 __unorddf2
353 0x000160a8 0x000250a8 GLOBAL OBJ 8 __mbtowc
354 0x00011fb8 0x00020fb8 GLOBAL FUNC 212 __fpcmp_parts_f
355 0x00010b80 0x0001fb80 GLOBAL FUNC 28 _exit
356 0x00007014 0x00016014 GLOBAL FUNC 428 __smakebuf_r
357 0x00001514 0x00010514 GLOBAL FUNC 204 strlen
358 0x000107fc 0x0001f7fc GLOBAL FUNC 24 open
359 0x000114a8 0x000204a8 GLOBAL FUNC 88 __gedf2
360 0x0000e994 0x0001d994 GLOBAL FUNC 1936 __gethex
361 0x000160b0 0x000250b0 GLOBAL OBJ 8 __wctomb
362 0x0000d330 0x0001c330 GLOBAL FUNC 24 __sprint_r
363 0x00010770 0x0001f770 GLOBAL FUNC 92 _wctomb_r
365 0x000117f8 0x000207f8 GLOBAL FUNC 96 __clzdi2
366 0x00011004 0x00020004 GLOBAL FUNC 84 __subdf3
367 0x000015e0 0x000105e0 GLOBAL FUNC 7288 _vfprintf_r
368 0x00008338 0x00017338 GLOBAL FUNC 176 __lo0bits
369 0x0000332c 0x0001232c GLOBAL FUNC 4476 __svfscanf_r
370 ---------- 0x00025168 GLOBAL NOTYPE 0 _fbss
371 0x0000d068 0x0001c068 GLOBAL FUNC 460 _ungetc_r
373 0x00010688 0x0001f688 GLOBAL FUNC 184 wcrtomb
374 0x000108fc 0x0001f8fc GLOBAL FUNC 32 close
375 0x00011c4c 0x00020c4c GLOBAL FUNC 72 __addsf3
376 0x00010d8c 0x0001fd8c GLOBAL FUNC 332 __pack_d
377 0x00003258 0x00012258 GLOBAL FUNC 20 vfprintf
378 0x0000e824 0x0001d824 GLOBAL FUNC 120 fputwc
380 0x00006240 0x00015240 GLOBAL FUNC 4 __sinit_lock_acquire
381 0x00008080 0x00017080 GLOBAL FUNC 272 __multadd
382 0x0000805c 0x0001705c GLOBAL FUNC 36 _Bfree
nth paddr vaddr bind type size lib name
------------------------------------------------------
1 0x00001000 0x00010000 LOCAL SECT 0 .text
2 0x000124f8 0x000214f8 LOCAL SECT 0 .rodata
3 0x00013620 0x00022620 LOCAL SECT 0 .init_array
4 0x00013628 0x00022628 LOCAL SECT 0 .fini_array
5 0x00013630 0x00022630 LOCAL SECT 0 .eh_frame
6 0x00015060 0x00024060 LOCAL SECT 0 .jcr
7 0x00015070 0x00024070 LOCAL SECT 0 .data
8 0x00016070 0x00025070 LOCAL SECT 0 .sdata
9 ---------- 0x00025168 LOCAL SECT 0 .sbss
10 ---------- 0x00025198 LOCAL SECT 0 .bss
11 ---------- 0x00000000 LOCAL SECT 0 .comment
12 ---------- 0x00000000 LOCAL SECT 0 .debug_info
13 ---------- 0x00000000 LOCAL SECT 0 .debug_abbrev
14 ---------- 0x00000000 LOCAL SECT 0 .debug_loc
15 ---------- 0x00000000 LOCAL SECT 0 .debug_aranges
16 ---------- 0x00000000 LOCAL SECT 0 .debug_line
17 ---------- 0x00000000 LOCAL SECT 0 .debug_str
18 ---------- 0x00000000 LOCAL SECT 0 .debug_ranges
19 ---------- 0x00000000 LOCAL FILE 0 crtstuff.c
20 0x00013630 0x00022630 LOCAL OBJ 0 __EH_FRAME_BEGIN__
21 0x00015060 0x00024060 LOCAL OBJ 0 __JCR_LIST__
22 0x0000104c 0x0001004c LOCAL FUNC 0 deregister_tm_clones
23 0x00001080 0x00010080 LOCAL FUNC 0 register_tm_clones
24 0x000010c0 0x000100c0 LOCAL FUNC 0 __do_global_dtors_aux
25 ---------- 0x00025198 LOCAL OBJ 1 completed.3084
26 0x00013628 0x00022628 LOCAL OBJ 0 __do_global_dtors_aux_fini_array_entry
27 0x00001104 0x00010104 LOCAL FUNC 0 frame_dummy
28 ---------- 0x000251a0 LOCAL OBJ 48 object.3089
29 0x00013620 0x00022620 LOCAL OBJ 0 __frame_dummy_init_array_entry
30 ---------- 0x00000000 LOCAL FILE 0 hello.c
31 ---------- 0x00000000 LOCAL FILE 0 crtstuff.c
32 0x00013630 0x00022630 LOCAL OBJ 0 __FRAME_END__
33 0x00015060 0x00024060 LOCAL OBJ 0 __JCR_END__
34 ---------- 0x00000000 LOCAL FILE 0 atexit.c
35 ---------- 0x00000000 LOCAL FILE 0 exit.c
36 ---------- 0x00000000 LOCAL FILE 0 fini.c
37 ---------- 0x00000000 LOCAL FILE 0 impure.c
38 0x00015070 0x00024070 LOCAL OBJ 1864 impure_data
39 ---------- 0x00000000 LOCAL FILE 0 init.c
40 ---------- 0x00000000 LOCAL FILE 0 printf.c
41 ---------- 0x00000000 LOCAL FILE 0 puts.c
42 ---------- 0x00000000 LOCAL FILE 0 scanf.c
43 ---------- 0x00000000 LOCAL FILE 0 strlen.c
44 ---------- 0x00000000 LOCAL FILE 0 vfprintf.c
45 0x0000326c 0x0001226c LOCAL FUNC 188 __sbprintf
46 0x000126a8 0x000216a8 LOCAL OBJ 16 blanks.4193
47 0x000126b8 0x000216b8 LOCAL OBJ 16 zeroes.4194
48 ---------- 0x00000000 LOCAL FILE 0 vfscanf.c
49 0x00012b20 0x00021b20 LOCAL OBJ 34 basefix.4147
50 ---------- 0x00000000 LOCAL FILE 0 wsetup.c
51 ---------- 0x00000000 LOCAL FILE 0 __atexit.c
52 ---------- 0x00000000 LOCAL FILE 0 __call_atexit.c
53 ---------- 0x00000000 LOCAL FILE 0 ctype_.c
54 ---------- 0x00000000 LOCAL FILE 0 dtoa.c
55 0x00004958 0x00013958 LOCAL FUNC 492 quorem
56 ---------- 0x00000000 LOCAL FILE 0 fflush.c
57 ---------- 0x00000000 LOCAL FILE 0 findfp.c
58 0x00005ef8 0x00014ef8 LOCAL FUNC 8 __fp_unlock
59 0x00005f0c 0x00014f0c LOCAL FUNC 396 __sinit.part.1
60 0x0000609c 0x0001509c LOCAL FUNC 8 __fp_lock
61 ---------- 0x00000000 LOCAL FILE 0 fread.c
62 ---------- 0x00000000 LOCAL FILE 0 mallocr.c
63 ---------- 0x00000000 LOCAL FILE 0 fvwrite.c
64 ---------- 0x00000000 LOCAL FILE 0 fwalk.c
65 ---------- 0x00000000 LOCAL FILE 0 iswspace.c
66 ---------- 0x00000000 LOCAL FILE 0 locale.c
67 0x000157b8 0x000247b8 LOCAL OBJ 32 lc_ctype_charset
68 0x000157d8 0x000247d8 LOCAL OBJ 32 lc_message_charset
69 0x000157f8 0x000247f8 LOCAL OBJ 96 lconv
70 ---------- 0x00000000 LOCAL FILE 0 makebuf.c
71 ---------- 0x00000000 LOCAL FILE 0 mallocr.c
72 ---------- 0x00000000 LOCAL FILE 0 mbrtowc.c
73 ---------- 0x00000000 LOCAL FILE 0 mbtowc_r.c
74 ---------- 0x00000000 LOCAL FILE 0 memchr.c
75 ---------- 0x00000000 LOCAL FILE 0 memcpy.c
76 ---------- 0x00000000 LOCAL FILE 0 memmove.c
77 ---------- 0x00000000 LOCAL FILE 0 mlock.c
78 ---------- 0x00000000 LOCAL FILE 0 mprec.c
79 0x00012c50 0x00021c50 LOCAL OBJ 12 p05.2568
80 ---------- 0x00000000 LOCAL FILE 0 mallocr.c
81 ---------- 0x00000000 LOCAL FILE 0 refill.c
82 0x00009590 0x00018590 LOCAL FUNC 28 lflush
83 ---------- 0x00000000 LOCAL FILE 0 sccl.c
84 ---------- 0x00000000 LOCAL FILE 0 sf_nan.c
85 ---------- 0x00000000 LOCAL FILE 0 s_fpclassify.c
86 ---------- 0x00000000 LOCAL FILE 0 sprintf.c
87 ---------- 0x00000000 LOCAL FILE 0 stdio.c
88 ---------- 0x00000000 LOCAL FILE 0 lib_a-strcmp.o
89 0x000160b8 0x000250b8 LOCAL NOTYPE 0 mask
90 ---------- 0x00000000 LOCAL FILE 0 strtod.c
91 0x0001248c 0x0002148c LOCAL FUNC 104 sulp
92 0x00012e50 0x00021e50 LOCAL OBJ 20 fpi.2617
93 0x00012e68 0x00021e68 LOCAL OBJ 20 fpinan.2653
94 0x00012e80 0x00021e80 LOCAL OBJ 40 tinytens
95 ---------- 0x00000000 LOCAL FILE 0 strtol.c
96 ---------- 0x00000000 LOCAL FILE 0 strtoul.c
97 ---------- 0x00000000 LOCAL FILE 0 vfprintf.c
98 0x00013010 0x00022010 LOCAL OBJ 16 blanks.4178
99 0x00013020 0x00022020 LOCAL OBJ 16 zeroes.4179
100 ---------- 0x00000000 LOCAL FILE 0 ungetc.c
101 ---------- 0x00000000 LOCAL FILE 0 vfprintf.c
102 0x0000d244 0x0001c244 LOCAL FUNC 236 __sprint_r.part.0
103 0x0000e40c 0x0001d40c LOCAL FUNC 188 __sbprintf
104 0x00013198 0x00022198 LOCAL OBJ 16 blanks.4136
105 0x000131a8 0x000221a8 LOCAL OBJ 16 zeroes.4137
106 ---------- 0x00000000 LOCAL FILE 0 mallocr.c
107 ---------- 0x00000000 LOCAL FILE 0 fclose.c
108 ---------- 0x00000000 LOCAL FILE 0 fputwc.c
109 ---------- 0x00000000 LOCAL FILE 0 gdtoa-gethex.c
110 0x0000e8a0 0x0001d8a0 LOCAL FUNC 244 rshift
111 ---------- 0x00000000 LOCAL FILE 0 gdtoa-hexnan.c
112 ---------- 0x00000000 LOCAL FILE 0 strncmp.c
113 ---------- 0x00000000 LOCAL FILE 0 vfprintf.c
114 0x00013420 0x00022420 LOCAL OBJ 16 blanks.4122
115 0x00013430 0x00022430 LOCAL OBJ 16 zeroes.4123
116 ---------- 0x00000000 LOCAL FILE 0 wbuf.c
117 ---------- 0x00000000 LOCAL FILE 0 wcrtomb.c
118 ---------- 0x00000000 LOCAL FILE 0 wctomb_r.c
119 ---------- 0x00000000 LOCAL FILE 0 syscalls.c
120 ---------- 0x00025190 LOCAL OBJ 8 heap_end.2381
121 ---------- 0x000251f8 LOCAL OBJ 16 t0.2343
122 ---------- 0x00000000 LOCAL FILE 0 dp-bit.c
123 0x00010b9c 0x0001fb9c LOCAL FUNC 496 _fpadd_parts
124 ---------- 0x00000000 LOCAL FILE 0 libgcc2.c
125 ---------- 0x00000000 LOCAL FILE 0 fp-bit.c
126 0x00011858 0x00020858 LOCAL FUNC 444 _fpadd_parts
127 ---------- 0x00000000 LOCAL FILE 0 libgcc2.c
128 ---------- 0x00000000 LOCAL FILE 0 errno.c
129 ---------- 0x00000000 LOCAL FILE 0
130 0x00013630 0x00022630 LOCAL NOTYPE 0 __fini_array_end
131 0x00013628 0x00022628 LOCAL NOTYPE 0 __fini_array_start
132 0x00013628 0x00022628 LOCAL NOTYPE 0 __init_array_end
133 0x00013620 0x00022620 LOCAL NOTYPE 0 __preinit_array_end
134 0x00013620 0x00022620 LOCAL NOTYPE 0 __init_array_start
135 0x00013620 0x00022620 LOCAL NOTYPE 0 __preinit_array_start
136 0x00008ef4 0x00017ef4 GLOBAL FUNC 56 _mprec_log10
137 0x00008f94 0x00017f94 GLOBAL FUNC 132 __any_on
138 0x00012d28 0x00021d28 GLOBAL OBJ 40 __mprec_tinytens
139 0x000013c4 0x000103c4 GLOBAL FUNC 176 _puts_r
140 0x00011468 0x00020468 GLOBAL FUNC 64 __cmpdf2
141 0x00011564 0x00020564 GLOBAL FUNC 4 __eqdf2
142 0x000108b8 0x0001f8b8 GLOBAL FUNC 20 fstatat
143 0x00010b14 0x0001fb14 GLOBAL FUNC 28 sysconf
144 0x00001374 0x00010374 GLOBAL FUNC 80 printf
145 0x00015070 0x00024070 GLOBAL NOTYPE 0 _fdata
146 0x00010aec 0x0001faec GLOBAL FUNC 8 utime
147 0x000105e4 0x0001f5e4 GLOBAL FUNC 164 _wcrtomb_r
148 0x00009b08 0x00018b08 GLOBAL FUNC 104 __sseek
149 0x00006228 0x00015228 GLOBAL FUNC 16 __sinit
150 0x0001045c 0x0001f45c GLOBAL FUNC 376 __swbuf_r
151 0x00006f4c 0x00015f4c GLOBAL FUNC 120 _setlocale_r
152 0x000060a4 0x000150a4 GLOBAL FUNC 108 __sfmoreglue
153 0x0000d234 0x0001c234 GLOBAL FUNC 16 ungetc
154 0x00007fac 0x00016fac GLOBAL FUNC 4 __malloc_unlock
155 0x00009ca8 0x00018ca8 GLOBAL FUNC 4756 _strtod_r
156 0x00011e8c 0x00020e8c GLOBAL FUNC 300 __divsf3
157 0x00007dac 0x00016dac GLOBAL FUNC 288 memmove
158 0x00006218 0x00015218 GLOBAL FUNC 16 _cleanup
159 0x00007fb0 0x00016fb0 GLOBAL FUNC 172 _Balloc
160 0x00012358 0x00021358 GLOBAL FUNC 140 __fixsfsi
161 0x000108e8 0x0001f8e8 GLOBAL FUNC 20 faccessat
162 0x00011500 0x00020500 GLOBAL FUNC 4 __gtdf2
163 0x00012484 0x00021484 GLOBAL FUNC 8 __errno
164 0x00010a2c 0x0001fa2c GLOBAL FUNC 144 times
165 0x00011780 0x00020780 GLOBAL FUNC 44 __make_dp
166 0x00004508 0x00013508 GLOBAL FUNC 20 __svfscanf
167 0x00009a90 0x00018a90 GLOBAL FUNC 8 __seofread
168 0x00013620 0x00022620 GLOBAL NOTYPE 0 _etext
169 0x0001241c 0x0002141c GLOBAL FUNC 44 __make_fp
170 ---------- 0x00025870 GLOBAL NOTYPE 0 _gp
171 0x00011c94 0x00020c94 GLOBAL FUNC 84 __subsf3
172 0x00010958 0x0001f958 GLOBAL FUNC 36 execve
173 0x000109a0 0x0001f9a0 GLOBAL FUNC 8 getpid
174 0x00007c8c 0x00016c8c GLOBAL FUNC 288 memcpy
175 0x0000f124 0x0001e124 GLOBAL FUNC 616 __hexnan
176 0x00016068 0x00025068 GLOBAL OBJ 0 __TMC_END__
177 0x00005f00 0x00014f00 GLOBAL FUNC 12 _cleanup_r
178 0x0000b384 0x0001a384 GLOBAL FUNC 7156 _svfprintf_r
179 0x000115b4 0x000205b4 GLOBAL FUNC 132 __floatsidf
180 0x0001155c 0x0002055c GLOBAL FUNC 4 __ltdf2
181 0x00001474 0x00010474 GLOBAL FUNC 12 puts
182 0x00007a38 0x00016a38 GLOBAL FUNC 208 mbrtowc
183 0x000098bc 0x000188bc GLOBAL FUNC 132 __fpclassifyd
184 0x0000451c 0x0001351c GLOBAL FUNC 76 _vfscanf_r
185 0x00008e30 0x00017e30 GLOBAL FUNC 196 __ratio
187 0x00001330 0x00010330 GLOBAL FUNC 68 _printf_r
188 0x000109f0 0x0001f9f0 GLOBAL FUNC 60 isatty
189 0x00006f1c 0x00015f1c GLOBAL FUNC 48 iswspace
190 0x00012c60 0x00021c60 GLOBAL OBJ 200 __mprec_tens
191 0x00006fc4 0x00015fc4 GLOBAL FUNC 12 __locale_charset
192 0x00012128 0x00021128 GLOBAL FUNC 84 __lesf2
193 ---------- 0x00025198 GLOBAL NOTYPE 0 _bss_start
194 ---------- 0x00025188 GLOBAL OBJ 8 __malloc_top_pad
195 0x0000b370 0x0001a370 GLOBAL FUNC 20 strtoul
196 0x00016070 0x00025070 GLOBAL OBJ 0 __dso_handle
197 0x00016090 0x00025090 GLOBAL OBJ 4 __mb_cur_max
198 0x00006fec 0x00015fec GLOBAL FUNC 12 _localeconv_r
199 0x000083e8 0x000173e8 GLOBAL FUNC 52 __i2b
200 0x000068f8 0x000158f8 GLOBAL FUNC 1204 __sfvwrite_r
201 0x00010ed8 0x0001fed8 GLOBAL FUNC 228 __unpack_d
202 0x0000e580 0x0001d580 GLOBAL FUNC 260 _fclose_r
203 0x00005ed8 0x00014ed8 GLOBAL FUNC 32 fflush
204 ---------- 0x00025180 GLOBAL OBJ 8 __malloc_max_sbrked_mem
205 0x00012448 0x00021448 GLOBAL FUNC 60 __extendsfdf2
206 0x00010fbc 0x0001ffbc GLOBAL FUNC 72 __adddf3
207 0x00012184 0x00021184 GLOBAL FUNC 4 __nesf2
208 0x00008ba0 0x00017ba0 GLOBAL FUNC 336 __b2d
209 0x00010828 0x0001f828 GLOBAL FUNC 20 lseek
210 0x00016078 0x00025078 GLOBAL OBJ 8 _global_impure_ptr
211 0x00010af4 0x0001faf4 GLOBAL FUNC 8 chown
212 0x00009018 0x00018018 GLOBAL FUNC 1400 _realloc_r
213 0x00001290 0x00010290 GLOBAL FUNC 160 __libc_init_array
214 0x000131b8 0x000221b8 GLOBAL OBJ 256 __hexdig
215 0x0000e7fc 0x0001d7fc GLOBAL FUNC 40 _fputwc_r
216 0x00012d50 0x00021d50 GLOBAL OBJ 40 __mprec_bigtens
217 0x00008190 0x00017190 GLOBAL FUNC 300 __s2b
218 0x00011638 0x00020638 GLOBAL FUNC 124 __floatunsidf
219 0x000088a8 0x000178a8 GLOBAL FUNC 96 __mcmp
220 0x00010afc 0x0001fafc GLOBAL FUNC 8 chmod
221 0x00006248 0x00015248 GLOBAL FUNC 16 __fp_lock_all
222 0x00001048 0x00010048 GLOBAL NOTYPE 0 _init
223 0x0000b178 0x0001a178 GLOBAL FUNC 20 strtol
224 0x00001234 0x00010234 GLOBAL FUNC 92 __libc_fini_array
225 0x00011b74 0x00020b74 GLOBAL FUNC 216 __unpack_f
226 0x000082bc 0x000172bc GLOBAL FUNC 124 __hi0bits
227 0x000116b4 0x000206b4 GLOBAL FUNC 148 __fixdfsi
228 0x0000af3c 0x00019f3c GLOBAL FUNC 16 strtod
229 0x00010850 0x0001f850 GLOBAL FUNC 20 write
230 0x00012124 0x00021124 GLOBAL FUNC 4 __gtsf2
231 0x00010864 0x0001f864 GLOBAL FUNC 28 fstat
232 0x000109a8 0x0001f9a8 GLOBAL FUNC 36 kill
233 0x00011504 0x00020504 GLOBAL FUNC 84 __ledf2
234 0x00008610 0x00017610 GLOBAL FUNC 312 __pow5mult
235 ---------- 0x00025174 GLOBAL OBJ 4 __nlocale_changed
236 0x000014d0 0x000104d0 GLOBAL FUNC 68 _scanf_r
238 0x00010b04 0x0001fb04 GLOBAL FUNC 8 chdir
239 0x00011a14 0x00020a14 GLOBAL FUNC 352 __pack_f
241 0x00006238 0x00015238 GLOBAL FUNC 0 __sfp_lock_acquire
242 0x00007bac 0x00016bac GLOBAL FUNC 224 memchr
243 0x00009940 0x00018940 GLOBAL FUNC 112 _sprintf_r
244 0x000065ec 0x000155ec GLOBAL FUNC 780 _free_r
245 0x000109cc 0x0001f9cc GLOBAL FUNC 36 wait
246 0x00006fd0 0x00015fd0 GLOBAL FUNC 8 __locale_mb_cur_max
247 0x000047cc 0x000137cc GLOBAL FUNC 396 __call_exitprocs
248 ---------- 0x00025170 GLOBAL OBJ 4 __mlocale_changed
249 0x00001000 0x00010000 GLOBAL NOTYPE 0 _ftext
250 0x00016098 0x00025098 GLOBAL OBJ 8 __malloc_sbrk_base
251 0x00001000 0x00010000 GLOBAL NOTYPE 0 _start
252 0x0001089c 0x0001f89c GLOBAL FUNC 28 lstat
253 0x00008748 0x00017748 GLOBAL FUNC 352 __lshift
254 0x0001083c 0x0001f83c GLOBAL FUNC 20 read
255 0x000121d8 0x000211d8 GLOBAL FUNC 172 __floatsisf
256 0x0000f45c 0x0001e45c GLOBAL FUNC 504 __ssprint_r
257 0x000046cc 0x000136cc GLOBAL FUNC 256 __register_exitproc
258 0x0000f38c 0x0001e38c GLOBAL FUNC 208 strncmp
259 0x0000841c 0x0001741c GLOBAL FUNC 500 __multiply
260 0x00010938 0x0001f938 GLOBAL FUNC 32 unlink
261 ---------- 0x000251d0 GLOBAL OBJ 40 __malloc_current_mallinfo
262 0x00012188 0x00021188 GLOBAL FUNC 4 __eqsf2
263 0x00008cf0 0x00017cf0 GLOBAL FUNC 320 __d2b
264 0x0000b18c 0x0001a18c GLOBAL FUNC 484 _strtoul_r
265 0x00011394 0x00020394 GLOBAL FUNC 212 __fpcmp_parts_d
266 0x00011748 0x00020748 GLOBAL FUNC 56 __negdf2
267 0x0001097c 0x0001f97c GLOBAL FUNC 36 fork
268 0x00004568 0x00013568 GLOBAL FUNC 356 __swsetup_r
269 0x00011260 0x00020260 GLOBAL FUNC 308 __divdf3
270 0x000123e4 0x000213e4 GLOBAL FUNC 56 __negsf2
271 0x00006110 0x00015110 GLOBAL FUNC 264 __sfp
272 0x00008f2c 0x00017f2c GLOBAL FUNC 104 __copybits
273 0x00015858 0x00024858 GLOBAL OBJ 2064 __malloc_av_
274 0x00006244 0x00015244 GLOBAL FUNC 4 __sinit_lock_release
275 0x00011058 0x00020058 GLOBAL FUNC 520 __muldf3
276 0x00009a2c 0x00018a2c GLOBAL FUNC 100 __sread
277 0x00013458 0x00022458 GLOBAL OBJ 16 __thenan_sf
278 0x000064bc 0x000154bc GLOBAL FUNC 24 fread
279 0x000107cc 0x0001f7cc GLOBAL FUNC 48 __syscall_error
280 0x00007fa8 0x00016fa8 GLOBAL FUNC 4 __malloc_lock
282 0x00010b30 0x0001fb30 GLOBAL FUNC 80 sbrk
283 0x00005e7c 0x00014e7c GLOBAL FUNC 92 _fflush_r
284 0x0000e4cc 0x0001d4cc GLOBAL FUNC 180 _calloc_r
285 0x0001208c 0x0002108c GLOBAL FUNC 64 __cmpsf2
286 0x00010abc 0x0001fabc GLOBAL FUNC 32 gettimeofday
287 0x00007ecc 0x00016ecc GLOBAL NOTYPE 0 memset
288 0x00001150 0x00010150 GLOBAL FUNC 160 main
289 ---------- 0x00025178 GLOBAL OBJ 8 __malloc_max_total_mem
290 0x000105d4 0x0001f5d4 GLOBAL FUNC 16 __swbuf
291 0x00012180 0x00021180 GLOBAL FUNC 4 __ltsf2
292 0x00006268 0x00015268 GLOBAL FUNC 596 _fread_r
293 0x00009b74 0x00018b74 GLOBAL FUNC 8 __sclose
294 0x0000e684 0x0001d684 GLOBAL FUNC 12 fclose
295 0x000117ac 0x000207ac GLOBAL FUNC 76 __truncdfsf2
296 0x0000af9c 0x00019f9c GLOBAL FUNC 476 _strtol_r
297 0x00004b44 0x00013b44 GLOBAL FUNC 4300 _dtoa_r
298 0x000071c0 0x000161c0 GLOBAL FUNC 1988 _malloc_r
299 0x00010740 0x0001f740 GLOBAL FUNC 48 __ascii_wctomb
300 0x0000cf78 0x0001bf78 GLOBAL FUNC 240 __submore
301 0x00006dac 0x00015dac GLOBAL FUNC 176 _fwalk
302 0x00007b48 0x00016b48 GLOBAL FUNC 100 _mbtowc_r
303 0x00013440 0x00022440 GLOBAL OBJ 24 __thenan_df
304 0x000064d4 0x000154d4 GLOBAL FUNC 280 _malloc_trim_r
305 0x00011ce8 0x00020ce8 GLOBAL FUNC 420 __mulsf3
306 0x00009b7c 0x00018b7c GLOBAL NOTYPE 0 strcmp
307 0x0000e3f8 0x0001d3f8 GLOBAL FUNC 20 vfiprintf
308 0x00010b0c 0x0001fb0c GLOBAL FUNC 8 getcwd
309 0x00011560 0x00020560 GLOBAL FUNC 4 __nedf2
310 0x00001048 0x00010048 GLOBAL NOTYPE 0 _fini
311 0x000099b0 0x000189b0 GLOBAL FUNC 124 sprintf
312 0x00013468 0x00022468 GLOBAL OBJ 256 __clz_tab
313 ---------- 0x00025168 GLOBAL OBJ 8 _PathLocale
314 0x0000af4c 0x00019f4c GLOBAL FUNC 80 strtof
315 0x000011f0 0x000101f0 GLOBAL FUNC 20 atexit
316 0x000120cc 0x000210cc GLOBAL FUNC 88 __gesf2
317 0x00006ff8 0x00015ff8 GLOBAL FUNC 16 setlocale
318 0x00001480 0x00010480 GLOBAL FUNC 80 scanf
319 0x000098b4 0x000188b4 GLOBAL FUNC 8 nanf
320 0x00016080 0x00025080 GLOBAL OBJ 8 _impure_ptr
321 0x00005c10 0x00014c10 GLOBAL FUNC 620 __sflush_r
322 0x00007984 0x00016984 GLOBAL FUNC 180 _mbrtowc_r
323 0x00006fe4 0x00015fe4 GLOBAL FUNC 8 __locale_cjk_lang
324 0x0000f654 0x0001e654 GLOBAL FUNC 3592 _svfiprintf_r
325 0x000095ac 0x000185ac GLOBAL FUNC 588 __srefill_r
326 0x00007b08 0x00016b08 GLOBAL FUNC 64 __ascii_mbtowc
327 0x00008b10 0x00017b10 GLOBAL FUNC 144 __ulp
328 0x00006258 0x00015258 GLOBAL FUNC 16 __fp_unlock_all
329 0x00007008 0x00016008 GLOBAL FUNC 8 localeconv
330 0x00010adc 0x0001fadc GLOBAL FUNC 16 ftime
331 0x00010880 0x0001f880 GLOBAL FUNC 28 stat
332 0x000108cc 0x0001f8cc GLOBAL FUNC 28 access
333 0x00016068 0x00025068 GLOBAL NOTYPE 0 _edata
334 ---------- 0x00025208 GLOBAL NOTYPE 0 _end
335 0x0001218c 0x0002118c GLOBAL FUNC 72 __unordsf2
336 0x0000e690 0x0001d690 GLOBAL FUNC 364 __fputwc
337 0x000044a8 0x000134a8 GLOBAL FUNC 96 vfscanf
338 0x00009a98 0x00018a98 GLOBAL FUNC 112 __swrite
339 0x000160a0 0x000250a0 GLOBAL OBJ 8 __malloc_trim_threshold
340 0x0001091c 0x0001f91c GLOBAL FUNC 28 link
341 0x00006fd8 0x00015fd8 GLOBAL FUNC 12 __locale_msgcharset
342 0x00001204 0x00010204 GLOBAL FUNC 48 exit
343 0x0000d348 0x0001c348 GLOBAL FUNC 4272 _vfiprintf_r
344 0x00006e5c 0x00015e5c GLOBAL FUNC 192 _fwalk_reent
345 0x00012284 0x00021284 GLOBAL FUNC 212 __floatunsisf
346 0x00008908 0x00017908 GLOBAL FUNC 520 __mdiff
347 0x00016088 0x00025088 GLOBAL OBJ 8 __ctype_ptr__
348 0x0000623c 0x0001523c GLOBAL FUNC 4 __sfp_lock_release
349 0x000097fc 0x000187fc GLOBAL FUNC 184 __sccl
350 0x00012b48 0x00021b48 GLOBAL OBJ 257 _ctype_
351 0x00010814 0x0001f814 GLOBAL FUNC 20 openat
352 0x00011568 0x00020568 GLOBAL FUNC 72 __unorddf2
353 0x000160a8 0x000250a8 GLOBAL OBJ 8 __mbtowc
354 0x00011fb8 0x00020fb8 GLOBAL FUNC 212 __fpcmp_parts_f
355 0x00010b80 0x0001fb80 GLOBAL FUNC 28 _exit
356 0x00007014 0x00016014 GLOBAL FUNC 428 __smakebuf_r
357 0x00001514 0x00010514 GLOBAL FUNC 204 strlen
358 0x000107fc 0x0001f7fc GLOBAL FUNC 24 open
359 0x000114a8 0x000204a8 GLOBAL FUNC 88 __gedf2
360 0x0000e994 0x0001d994 GLOBAL FUNC 1936 __gethex
361 0x000160b0 0x000250b0 GLOBAL OBJ 8 __wctomb
362 0x0000d330 0x0001c330 GLOBAL FUNC 24 __sprint_r
363 0x00010770 0x0001f770 GLOBAL FUNC 92 _wctomb_r
365 0x000117f8 0x000207f8 GLOBAL FUNC 96 __clzdi2
366 0x00011004 0x00020004 GLOBAL FUNC 84 __subdf3
367 0x000015e0 0x000105e0 GLOBAL FUNC 7288 _vfprintf_r
368 0x00008338 0x00017338 GLOBAL FUNC 176 __lo0bits
369 0x0000332c 0x0001232c GLOBAL FUNC 4476 __svfscanf_r
370 ---------- 0x00025168 GLOBAL NOTYPE 0 _fbss
371 0x0000d068 0x0001c068 GLOBAL FUNC 460 _ungetc_r
373 0x00010688 0x0001f688 GLOBAL FUNC 184 wcrtomb
374 0x000108fc 0x0001f8fc GLOBAL FUNC 32 close
375 0x00011c4c 0x00020c4c GLOBAL FUNC 72 __addsf3
376 0x00010d8c 0x0001fd8c GLOBAL FUNC 332 __pack_d
377 0x00003258 0x00012258 GLOBAL FUNC 20 vfprintf
378 0x0000e824 0x0001d824 GLOBAL FUNC 120 fputwc
380 0x00006240 0x00015240 GLOBAL FUNC 4 __sinit_lock_acquire
381 0x00008080 0x00017080 GLOBAL FUNC 272 __multadd
382 0x0000805c 0x0001705c GLOBAL FUNC 36 _Bfree
EOF
CMDS=<<EOF
is

View File

@ -5,11 +5,11 @@ EXPECT=<<EOF
vaddr paddr type name
---------------------------------
0x00600988 0x00000988 SET_64 __gmon_start__
0x006009a8 0x000009a8 SET_64 write
0x006009b0 0x000009b0 SET_64 close
0x006009b8 0x000009b8 SET_64 __libc_start_main
0x006009c0 0x000009c0 SET_64 open
0x00600988 0x00000988 SET_64 __gmon_start__
0x006009a8 0x000009a8 SET_64 write
0x006009b0 0x000009b0 SET_64 close
0x006009b8 0x000009b8 SET_64 __libc_start_main
0x006009c0 0x000009c0 SET_64 open
5 relocations

View File

@ -2,29 +2,29 @@ NAME=avr entrypoint
FILE=../bins/elf/ip-riscv
CMDS=ii~str
EXPECT=<<EOF
2 0x0000a960 GLOBAL FUNC strncpy
15 0x0000aa10 GLOBAL FUNC strspn
19 0x0000aa50 GLOBAL FUNC strdup
27 0x0000aad0 GLOBAL FUNC strcat
31 0x0000ab10 GLOBAL FUNC strtol
43 0x0000abd0 GLOBAL FUNC elf_strptr
45 0x0000abf0 GLOBAL FUNC strcspn
46 0x0000ac00 GLOBAL FUNC strchr
48 0x0000ac20 GLOBAL FUNC strrchr
65 0x0000ad30 GLOBAL FUNC strlen
67 0x0000ad50 GLOBAL FUNC strcpy
71 0x0000ad90 GLOBAL FUNC strsep
78 0x0000adf0 GLOBAL FUNC strftime
85 0x0000ae60 GLOBAL FUNC strcasecmp
87 0x0000ae80 GLOBAL FUNC strerror
89 0x0000aea0 GLOBAL FUNC strtoull
97 0x0000af20 GLOBAL FUNC strtoul
103 0x0000af80 GLOBAL FUNC mnl_attr_get_str
107 0x0000afc0 GLOBAL FUNC strncmp
113 0x0000b020 GLOBAL FUNC strtod
114 0x0000b030 GLOBAL FUNC strstr
141 0x0000b1b0 GLOBAL FUNC strtok
145 0x0000b1f0 GLOBAL FUNC strcmp
152 0x0000b250 GLOBAL FUNC strtof
2 0x0000a960 GLOBAL FUNC strncpy
15 0x0000aa10 GLOBAL FUNC strspn
19 0x0000aa50 GLOBAL FUNC strdup
27 0x0000aad0 GLOBAL FUNC strcat
31 0x0000ab10 GLOBAL FUNC strtol
43 0x0000abd0 GLOBAL FUNC elf_strptr
45 0x0000abf0 GLOBAL FUNC strcspn
46 0x0000ac00 GLOBAL FUNC strchr
48 0x0000ac20 GLOBAL FUNC strrchr
65 0x0000ad30 GLOBAL FUNC strlen
67 0x0000ad50 GLOBAL FUNC strcpy
71 0x0000ad90 GLOBAL FUNC strsep
78 0x0000adf0 GLOBAL FUNC strftime
85 0x0000ae60 GLOBAL FUNC strcasecmp
87 0x0000ae80 GLOBAL FUNC strerror
89 0x0000aea0 GLOBAL FUNC strtoull
97 0x0000af20 GLOBAL FUNC strtoul
103 0x0000af80 GLOBAL FUNC mnl_attr_get_str
107 0x0000afc0 GLOBAL FUNC strncmp
113 0x0000b020 GLOBAL FUNC strtod
114 0x0000b030 GLOBAL FUNC strstr
141 0x0000b1b0 GLOBAL FUNC strtok
145 0x0000b1f0 GLOBAL FUNC strcmp
152 0x0000b250 GLOBAL FUNC strtof
EOF
RUN

View File

@ -92,18 +92,18 @@ RUN
NAME=ELF: phdr override 2
FILE=../bins/elf/busybox-phdr-shdr
EXPECT=<<CMDS
7 0x00000000 GLOBAL OBJ __environ
43 0x00000000 GLOBAL OBJ __ctype_tolower
145 0x00000000 GLOBAL OBJ __stdout
189 0x00000000 GLOBAL OBJ stderr
409 0x00000000 GLOBAL OBJ stdin
410 0x00000000 GLOBAL OBJ __stdin
417 0x00000000 GLOBAL OBJ optind
468 0x00000000 GLOBAL OBJ environ
588 0x00000000 GLOBAL OBJ optarg
667 0x00000000 GLOBAL OBJ __ctype_b
706 0x00000000 GLOBAL OBJ allCountryList
718 0x00000000 GLOBAL OBJ stdout
7 0x00000000 GLOBAL OBJ __environ
43 0x00000000 GLOBAL OBJ __ctype_tolower
145 0x00000000 GLOBAL OBJ __stdout
189 0x00000000 GLOBAL OBJ stderr
409 0x00000000 GLOBAL OBJ stdin
410 0x00000000 GLOBAL OBJ __stdin
417 0x00000000 GLOBAL OBJ optind
468 0x00000000 GLOBAL OBJ environ
588 0x00000000 GLOBAL OBJ optarg
667 0x00000000 GLOBAL OBJ __ctype_b
706 0x00000000 GLOBAL OBJ allCountryList
718 0x00000000 GLOBAL OBJ stdout
CMDS=ii~OBJ
RUN
@ -113,10 +113,10 @@ CMDS=<<EXPECT
is~getpid
f~getpid
EXPECT=<<RUN
581 0x000c9420 0x000c9420 WEAK FUNC 12 getpid
965 0x000c9420 0x000c9420 GLOBAL FUNC 12 __getpid
3577 0x000c9420 0x000c9420 LOCAL FUNC 12 __GI___getpid
3807 0x000c9420 0x000c9420 LOCAL FUNC 12 __GI_getpid
581 0x000c9420 0x000c9420 WEAK FUNC 12 getpid
965 0x000c9420 0x000c9420 GLOBAL FUNC 12 __getpid
3577 0x000c9420 0x000c9420 LOCAL FUNC 12 __GI___getpid
3807 0x000c9420 0x000c9420 LOCAL FUNC 12 __GI_getpid
0x000c9420 12 sym.getpid
0x000c9420 12 sym.__getpid
0x000c9420 12 sym.__GI___getpid

View File

@ -15,56 +15,56 @@ FILE=../bins/elf/analysis/custom_ldscript
EXPECT=<<EOF
[Symbols]
nth paddr vaddr bind type size name
--------------------------------------------------
1 0x00000200 0x00400200 LOCAL SECT 0 .interp
2 0x0000022c 0x0040022c LOCAL SECT 0 .note.ABI-tag
3 0x00000250 0x00400250 LOCAL SECT 0 .hash
4 0x00000278 0x00400278 LOCAL SECT 0 .dynsym
5 0x000002f0 0x004002f0 LOCAL SECT 0 .dynstr
6 0x00000334 0x00400334 LOCAL SECT 0 .gnu.version
7 0x00000340 0x00400340 LOCAL SECT 0 .gnu.version_r
8 0x00000360 0x00400360 LOCAL SECT 0 .rela.got
9 0x00000378 0x00400378 LOCAL SECT 0 .rela.plt
10 0x000003d8 0x004003d8 LOCAL SECT 0 .init
11 0x00000400 0x00400400 LOCAL SECT 0 .plt
12 0x00000450 0x00400450 LOCAL SECT 0 .text
13 0x00000524 0x00400524 LOCAL SECT 0 .fini
14 0x00000530 0x00400530 LOCAL SECT 0 .rodata
15 0x00000550 0x00400550 LOCAL SECT 0 .eh_frame
16 0x00000660 0x00600660 LOCAL SECT 0 .dynamic
17 0x000007f0 0x006007f0 LOCAL SECT 0 .got
18 0x000007f8 0x006007f8 LOCAL SECT 0 .got.plt
19 0x00000830 0x00600830 LOCAL SECT 0 .data
20 0x00000838 0x01a00838 LOCAL SECT 0 .custom_sect
21 0x00200840 0x01c00840 LOCAL SECT 0 .custom_sect2
22 0x00200844 0x01c00844 LOCAL SECT 0 .custom_text
23 ---------- 0x00000000 LOCAL SECT 0 .comment
24 ---------- 0x00000000 LOCAL FILE 0 custom_ldscript.c
25 ---------- 0x00000000 LOCAL FILE 0
26 0x00000660 0x00600660 LOCAL NOTYPE 0 __init_array_end
27 0x00000660 0x00600660 LOCAL OBJ 0 _DYNAMIC
28 0x00000660 0x00600660 LOCAL NOTYPE 0 __init_array_start
29 0x000007f8 0x006007f8 LOCAL OBJ 0 _GLOBAL_OFFSET_TABLE_
30 0x00000520 0x00400520 GLOBAL FUNC 2 __libc_csu_fini
31 0x00000830 0x00600830 WEAK NOTYPE 0 data_start
32 ---------- 0x00600834 GLOBAL NOTYPE 0 _edata
33 0x00000524 0x00400524 GLOBAL FUNC 0 _fini
35 0x00000450 0x00400450 GLOBAL FUNC 49 process
37 0x00000830 0x00600830 GLOBAL NOTYPE 0 __data_start
39 0x00000548 0x00400548 GLOBAL OBJ 4 _IO_stdin_used
40 0x000004b0 0x004004b0 GLOBAL FUNC 101 __libc_csu_init
41 ---------- 0x00600838 GLOBAL NOTYPE 0 _end
42 0x00000481 0x00400481 GLOBAL FUNC 0 _start
43 ---------- 0x00600834 GLOBAL NOTYPE 0 __bss_start
44 0x00200844 0x01c00844 GLOBAL FUNC 128 main
45 0x00000838 0x01a00838 GLOBAL OBJ 8 obj
47 0x00200840 0x01c00840 GLOBAL OBJ 4 glob
48 0x000003d8 0x004003d8 GLOBAL FUNC 0 _init
1 0x00000410 0x00400410 GLOBAL FUNC 16 imp.printf
2 0x00000420 0x00400420 GLOBAL FUNC 16 imp.__libc_start_main
3 0x00000430 0x00400430 WEAK NOTYPE 16 imp.__gmon_start__
4 0x00000440 0x00400440 GLOBAL FUNC 16 imp.atoi
nth paddr vaddr bind type size lib name
------------------------------------------------------
1 0x00000200 0x00400200 LOCAL SECT 0 .interp
2 0x0000022c 0x0040022c LOCAL SECT 0 .note.ABI-tag
3 0x00000250 0x00400250 LOCAL SECT 0 .hash
4 0x00000278 0x00400278 LOCAL SECT 0 .dynsym
5 0x000002f0 0x004002f0 LOCAL SECT 0 .dynstr
6 0x00000334 0x00400334 LOCAL SECT 0 .gnu.version
7 0x00000340 0x00400340 LOCAL SECT 0 .gnu.version_r
8 0x00000360 0x00400360 LOCAL SECT 0 .rela.got
9 0x00000378 0x00400378 LOCAL SECT 0 .rela.plt
10 0x000003d8 0x004003d8 LOCAL SECT 0 .init
11 0x00000400 0x00400400 LOCAL SECT 0 .plt
12 0x00000450 0x00400450 LOCAL SECT 0 .text
13 0x00000524 0x00400524 LOCAL SECT 0 .fini
14 0x00000530 0x00400530 LOCAL SECT 0 .rodata
15 0x00000550 0x00400550 LOCAL SECT 0 .eh_frame
16 0x00000660 0x00600660 LOCAL SECT 0 .dynamic
17 0x000007f0 0x006007f0 LOCAL SECT 0 .got
18 0x000007f8 0x006007f8 LOCAL SECT 0 .got.plt
19 0x00000830 0x00600830 LOCAL SECT 0 .data
20 0x00000838 0x01a00838 LOCAL SECT 0 .custom_sect
21 0x00200840 0x01c00840 LOCAL SECT 0 .custom_sect2
22 0x00200844 0x01c00844 LOCAL SECT 0 .custom_text
23 ---------- 0x00000000 LOCAL SECT 0 .comment
24 ---------- 0x00000000 LOCAL FILE 0 custom_ldscript.c
25 ---------- 0x00000000 LOCAL FILE 0
26 0x00000660 0x00600660 LOCAL NOTYPE 0 __init_array_end
27 0x00000660 0x00600660 LOCAL OBJ 0 _DYNAMIC
28 0x00000660 0x00600660 LOCAL NOTYPE 0 __init_array_start
29 0x000007f8 0x006007f8 LOCAL OBJ 0 _GLOBAL_OFFSET_TABLE_
30 0x00000520 0x00400520 GLOBAL FUNC 2 __libc_csu_fini
31 0x00000830 0x00600830 WEAK NOTYPE 0 data_start
32 ---------- 0x00600834 GLOBAL NOTYPE 0 _edata
33 0x00000524 0x00400524 GLOBAL FUNC 0 _fini
35 0x00000450 0x00400450 GLOBAL FUNC 49 process
37 0x00000830 0x00600830 GLOBAL NOTYPE 0 __data_start
39 0x00000548 0x00400548 GLOBAL OBJ 4 _IO_stdin_used
40 0x000004b0 0x004004b0 GLOBAL FUNC 101 __libc_csu_init
41 ---------- 0x00600838 GLOBAL NOTYPE 0 _end
42 0x00000481 0x00400481 GLOBAL FUNC 0 _start
43 ---------- 0x00600834 GLOBAL NOTYPE 0 __bss_start
44 0x00200844 0x01c00844 GLOBAL FUNC 128 main
45 0x00000838 0x01a00838 GLOBAL OBJ 8 obj
47 0x00200840 0x01c00840 GLOBAL OBJ 4 glob
48 0x000003d8 0x004003d8 GLOBAL FUNC 0 _init
1 0x00000410 0x00400410 GLOBAL FUNC 16 imp.printf
2 0x00000420 0x00400420 GLOBAL FUNC 16 imp.__libc_start_main
3 0x00000430 0x00400430 WEAK NOTYPE 16 imp.__gmon_start__
4 0x00000440 0x00400440 GLOBAL FUNC 16 imp.atoi
EOF
CMDS=<<EOF
is
@ -76,11 +76,11 @@ FILE=../bins/elf/analysis/main_nosect
EXPECT=<<EOF
[Symbols]
nth paddr vaddr bind type size name
--------------------------------------------------
1 0x000003e0 0x004003e0 GLOBAL FUNC 16 imp.puts
2 0x000003f0 0x004003f0 GLOBAL FUNC 16 imp.__libc_start_main
3 0x00000400 0x00400400 WEAK NOTYPE 16 imp.__gmon_start__
nth paddr vaddr bind type size lib name
------------------------------------------------------
1 0x000003e0 0x004003e0 GLOBAL FUNC 16 imp.puts
2 0x000003f0 0x004003f0 GLOBAL FUNC 16 imp.__libc_start_main
3 0x00000400 0x00400400 WEAK NOTYPE 16 imp.__gmon_start__
EOF
CMDS=<<EOF
is
@ -92,16 +92,16 @@ FILE=../bins/elf/analysis/clark
EXPECT=<<EOF
[Symbols]
nth paddr vaddr bind type size name
--------------------------------------------------
8 0x000007dc 0x080487dc GLOBAL OBJ 4 _IO_stdin_used
1 0x00000370 0x08048370 GLOBAL FUNC 16 imp.mprotect
2 0x00000380 0x08048380 GLOBAL FUNC 16 imp.puts
3 0x00000390 0x08048390 WEAK NOTYPE 16 imp.__gmon_start__
4 0x000003a0 0x080483a0 GLOBAL FUNC 16 imp.exit
5 0x000003b0 0x080483b0 GLOBAL FUNC 16 imp.__libc_start_main
6 0x000003c0 0x080483c0 GLOBAL FUNC 16 imp.ptrace
7 0x000003d0 0x080483d0 GLOBAL FUNC 16 imp.calloc
nth paddr vaddr bind type size lib name
------------------------------------------------------
8 0x000007dc 0x080487dc GLOBAL OBJ 4 _IO_stdin_used
1 0x00000370 0x08048370 GLOBAL FUNC 16 imp.mprotect
2 0x00000380 0x08048380 GLOBAL FUNC 16 imp.puts
3 0x00000390 0x08048390 WEAK NOTYPE 16 imp.__gmon_start__
4 0x000003a0 0x080483a0 GLOBAL FUNC 16 imp.exit
5 0x000003b0 0x080483b0 GLOBAL FUNC 16 imp.__libc_start_main
6 0x000003c0 0x080483c0 GLOBAL FUNC 16 imp.ptrace
7 0x000003d0 0x080483d0 GLOBAL FUNC 16 imp.calloc
EOF
CMDS=<<EOF
is
@ -113,74 +113,74 @@ FILE=../bins/elf/libmemalloc-dump-mem
EXPECT=<<EOF
[Symbols]
nth paddr vaddr bind type size name
--------------------------------------------------
3 0x00002dd0 0x00003dd0 WEAK OBJ 36 vtable for gralloc::IMemAlloc
6 0x00001210 0x00001210 GLOBAL FUNC 68 gralloc::IonAlloc::unmap_buffer(void*, unsigned int, int)
11 0x00001254 0x00001254 GLOBAL FUNC 96 gralloc::IonAlloc::open_device()
13 0x000012b4 0x000012b4 GLOBAL FUNC 240 gralloc::IonAlloc::clean_buffer(void*, unsigned int, int, int, int)
15 0x000013a4 0x000013a4 GLOBAL FUNC 84 gralloc::IonAlloc::map_buffer(void**, unsigned int, int, int)
17 0x000013f8 0x000013f8 GLOBAL FUNC 68 gralloc::IonAlloc::free_buffer(void*, unsigned int, int, int)
21 0x0000143c 0x0000143c GLOBAL FUNC 304 gralloc::IonAlloc::alloc_buffer(gralloc::alloc_data&)
22 0x0000156c 0x0000156c GLOBAL FUNC 22 gralloc::IonAlloc::close_device()
24 0x00002df8 0x00003df8 GLOBAL OBJ 36 vtable for gralloc::IonAlloc
26 0x00002e20 0x00003e20 WEAK OBJ 24 vtable for gralloc::IAllocController
27 0x00001614 0x00001614 GLOBAL FUNC 48 gralloc::IonController::getAllocator(int)
28 0x00001644 0x00001644 GLOBAL FUNC 452 gralloc::IonController::allocate(gralloc::alloc_data&, int)
36 0x00001808 0x00001808 GLOBAL FUNC 40 AdrenoMemInfo::AdrenoMemInfo()
39 0x00001808 0x00001808 GLOBAL FUNC 40 AdrenoMemInfo::AdrenoMemInfo()
40 0x00001830 0x00001830 GLOBAL FUNC 16 AdrenoMemInfo::~AdrenoMemInfo()
42 0x00001830 0x00001830 GLOBAL FUNC 16 AdrenoMemInfo::~AdrenoMemInfo()
43 0x00001840 0x00001840 GLOBAL FUNC 288 AdrenoMemInfo::getStride(int, int)
45 0x00001960 0x00001960 GLOBAL FUNC 68 gralloc::IonController::IonController()
47 0x00001960 0x00001960 GLOBAL FUNC 68 gralloc::IonController::IonController()
48 0x000019a4 0x000019a4 GLOBAL FUNC 40 gralloc::IAllocController::getInstance()
49 0x000019cc 0x000019cc GLOBAL FUNC 60 free_buffer(private_handle_t*)
50 0x00001a08 0x00001a08 WEAK FUNC 56 android::Singleton<AdrenoMemInfo>::getInstance()
51 0x00001a40 0x00001a40 GLOBAL FUNC 636 getBufferSizeAndDimensions(int, int, int, int&, int&)
52 0x00001cbc 0x00001cbc GLOBAL FUNC 244 alloc_buffer(private_handle_t**, int, int, int, int)
54 0x00001db0 0x00001db0 WEAK FUNC 44 android::Singleton<AdrenoMemInfo>::hasInstance()
55 0x00001ddc 0x00001ddc WEAK FUNC 2 android::Singleton<AdrenoMemInfo>::~Singleton()
56 0x00001ddc 0x00001ddc WEAK FUNC 2 android::Singleton<AdrenoMemInfo>::~Singleton()
57 0x00001ddc 0x00001ddc WEAK FUNC 2 android::Singleton<AdrenoMemInfo>::Singleton()
58 0x00001ddc 0x00001ddc WEAK FUNC 2 android::Singleton<AdrenoMemInfo>::Singleton()
60 0x00002e38 0x00003e38 GLOBAL OBJ 24 vtable for gralloc::IonController
61 ---------- 0x0000400c GLOBAL OBJ 4 gralloc::IAllocController::sController
62 ---------- 0x00004004 GLOBAL OBJ 4 android::Singleton<AdrenoMemInfo>::sInstance
63 ---------- 0x00004008 GLOBAL OBJ 4 android::Singleton<AdrenoMemInfo>::sLock
64 ---------- 0x00004004 GLOBAL NOTYPE 0 _edata
65 ---------- 0x00004004 GLOBAL NOTYPE 0 __bss_start
66 ---------- 0x00004010 GLOBAL NOTYPE 0 _end
1 0x00000000 0x00000000 GLOBAL FUNC 16 imp.__cxa_finalize
2 0x00000000 0x00000000 GLOBAL FUNC 16 imp.__cxa_atexit
4 0x00000000 0x00000000 GLOBAL FUNC 16 imp.__aeabi_unwind_cpp_pr0
5 0x00000000 0x00000000 GLOBAL FUNC 16 imp._ZdlPv
7 0x00000000 0x00000000 GLOBAL FUNC 16 imp.munmap
8 0x00000000 0x00000000 GLOBAL FUNC 16 imp.__errno
9 0x00000000 0x00000000 GLOBAL FUNC 16 imp.strerror
10 0x00000000 0x00000000 GLOBAL FUNC 16 imp.__android_log_print
12 0x00000000 0x00000000 GLOBAL FUNC 16 imp.open
14 0x00000000 0x00000000 GLOBAL FUNC 16 imp.ioctl
16 0x00000000 0x00000000 GLOBAL FUNC 16 imp.mmap
18 0x00000000 0x00000000 GLOBAL FUNC 16 imp.pthread_mutex_lock
19 0x00000000 0x00000000 GLOBAL FUNC 16 imp.close
20 0x00000000 0x00000000 GLOBAL FUNC 16 imp.pthread_mutex_unlock
23 0x00000000 0x00000000 GLOBAL FUNC 16 imp.pthread_mutex_destroy
25 0x00000000 0x00000000 GLOBAL FUNC 16 imp.__cxa_pure_virtual
29 0x00000000 0x00000000 GLOBAL FUNC 16 imp._Znwj
30 0x00000000 0x00000000 GLOBAL FUNC 16 imp.property_get
31 0x00000000 0x00000000 GLOBAL FUNC 16 imp.strncmp
32 0x00000000 0x00000000 GLOBAL FUNC 16 imp.__stack_chk_fail
33 0x00000000 0x00000000 GLOBAL OBJ 16 imp.__stack_chk_guard
34 0x00000000 0x00000000 GLOBAL OBJ 16 imp._ZN7android9SingletonIN7qdutils17QCCompositionTypeEE5sLockE
35 0x00000000 0x00000000 GLOBAL OBJ 16 imp._ZN7android9SingletonIN7qdutils17QCCompositionTypeEE9sInstanceE
37 0x00000000 0x00000000 GLOBAL FUNC 16 imp.dlopen
38 0x00000000 0x00000000 GLOBAL FUNC 16 imp.dlsym
41 0x00000000 0x00000000 GLOBAL FUNC 16 imp.dlclose
44 0x00000000 0x00000000 GLOBAL FUNC 16 imp.strncasecmp
46 0x00000000 0x00000000 GLOBAL FUNC 16 imp.pthread_mutex_init
53 0x00000000 0x00000000 GLOBAL OBJ 16 imp.__page_size
59 0x00000000 0x00000000 GLOBAL FUNC 16 imp.__aeabi_atexit
nth paddr vaddr bind type size lib name
------------------------------------------------------
3 0x00002dd0 0x00003dd0 WEAK OBJ 36 vtable for gralloc::IMemAlloc
6 0x00001210 0x00001210 GLOBAL FUNC 68 gralloc::IonAlloc::unmap_buffer(void*, unsigned int, int)
11 0x00001254 0x00001254 GLOBAL FUNC 96 gralloc::IonAlloc::open_device()
13 0x000012b4 0x000012b4 GLOBAL FUNC 240 gralloc::IonAlloc::clean_buffer(void*, unsigned int, int, int, int)
15 0x000013a4 0x000013a4 GLOBAL FUNC 84 gralloc::IonAlloc::map_buffer(void**, unsigned int, int, int)
17 0x000013f8 0x000013f8 GLOBAL FUNC 68 gralloc::IonAlloc::free_buffer(void*, unsigned int, int, int)
21 0x0000143c 0x0000143c GLOBAL FUNC 304 gralloc::IonAlloc::alloc_buffer(gralloc::alloc_data&)
22 0x0000156c 0x0000156c GLOBAL FUNC 22 gralloc::IonAlloc::close_device()
24 0x00002df8 0x00003df8 GLOBAL OBJ 36 vtable for gralloc::IonAlloc
26 0x00002e20 0x00003e20 WEAK OBJ 24 vtable for gralloc::IAllocController
27 0x00001614 0x00001614 GLOBAL FUNC 48 gralloc::IonController::getAllocator(int)
28 0x00001644 0x00001644 GLOBAL FUNC 452 gralloc::IonController::allocate(gralloc::alloc_data&, int)
36 0x00001808 0x00001808 GLOBAL FUNC 40 AdrenoMemInfo::AdrenoMemInfo()
39 0x00001808 0x00001808 GLOBAL FUNC 40 AdrenoMemInfo::AdrenoMemInfo()
40 0x00001830 0x00001830 GLOBAL FUNC 16 AdrenoMemInfo::~AdrenoMemInfo()
42 0x00001830 0x00001830 GLOBAL FUNC 16 AdrenoMemInfo::~AdrenoMemInfo()
43 0x00001840 0x00001840 GLOBAL FUNC 288 AdrenoMemInfo::getStride(int, int)
45 0x00001960 0x00001960 GLOBAL FUNC 68 gralloc::IonController::IonController()
47 0x00001960 0x00001960 GLOBAL FUNC 68 gralloc::IonController::IonController()
48 0x000019a4 0x000019a4 GLOBAL FUNC 40 gralloc::IAllocController::getInstance()
49 0x000019cc 0x000019cc GLOBAL FUNC 60 free_buffer(private_handle_t*)
50 0x00001a08 0x00001a08 WEAK FUNC 56 android::Singleton<AdrenoMemInfo>::getInstance()
51 0x00001a40 0x00001a40 GLOBAL FUNC 636 getBufferSizeAndDimensions(int, int, int, int&, int&)
52 0x00001cbc 0x00001cbc GLOBAL FUNC 244 alloc_buffer(private_handle_t**, int, int, int, int)
54 0x00001db0 0x00001db0 WEAK FUNC 44 android::Singleton<AdrenoMemInfo>::hasInstance()
55 0x00001ddc 0x00001ddc WEAK FUNC 2 android::Singleton<AdrenoMemInfo>::~Singleton()
56 0x00001ddc 0x00001ddc WEAK FUNC 2 android::Singleton<AdrenoMemInfo>::~Singleton()
57 0x00001ddc 0x00001ddc WEAK FUNC 2 android::Singleton<AdrenoMemInfo>::Singleton()
58 0x00001ddc 0x00001ddc WEAK FUNC 2 android::Singleton<AdrenoMemInfo>::Singleton()
60 0x00002e38 0x00003e38 GLOBAL OBJ 24 vtable for gralloc::IonController
61 ---------- 0x0000400c GLOBAL OBJ 4 gralloc::IAllocController::sController
62 ---------- 0x00004004 GLOBAL OBJ 4 android::Singleton<AdrenoMemInfo>::sInstance
63 ---------- 0x00004008 GLOBAL OBJ 4 android::Singleton<AdrenoMemInfo>::sLock
64 ---------- 0x00004004 GLOBAL NOTYPE 0 _edata
65 ---------- 0x00004004 GLOBAL NOTYPE 0 __bss_start
66 ---------- 0x00004010 GLOBAL NOTYPE 0 _end
1 0x00000000 0x00000000 GLOBAL FUNC 16 imp.__cxa_finalize
2 0x00000000 0x00000000 GLOBAL FUNC 16 imp.__cxa_atexit
4 0x00000000 0x00000000 GLOBAL FUNC 16 imp.__aeabi_unwind_cpp_pr0
5 0x00000000 0x00000000 GLOBAL FUNC 16 imp._ZdlPv
7 0x00000000 0x00000000 GLOBAL FUNC 16 imp.munmap
8 0x00000000 0x00000000 GLOBAL FUNC 16 imp.__errno
9 0x00000000 0x00000000 GLOBAL FUNC 16 imp.strerror
10 0x00000000 0x00000000 GLOBAL FUNC 16 imp.__android_log_print
12 0x00000000 0x00000000 GLOBAL FUNC 16 imp.open
14 0x00000000 0x00000000 GLOBAL FUNC 16 imp.ioctl
16 0x00000000 0x00000000 GLOBAL FUNC 16 imp.mmap
18 0x00000000 0x00000000 GLOBAL FUNC 16 imp.pthread_mutex_lock
19 0x00000000 0x00000000 GLOBAL FUNC 16 imp.close
20 0x00000000 0x00000000 GLOBAL FUNC 16 imp.pthread_mutex_unlock
23 0x00000000 0x00000000 GLOBAL FUNC 16 imp.pthread_mutex_destroy
25 0x00000000 0x00000000 GLOBAL FUNC 16 imp.__cxa_pure_virtual
29 0x00000000 0x00000000 GLOBAL FUNC 16 imp._Znwj
30 0x00000000 0x00000000 GLOBAL FUNC 16 imp.property_get
31 0x00000000 0x00000000 GLOBAL FUNC 16 imp.strncmp
32 0x00000000 0x00000000 GLOBAL FUNC 16 imp.__stack_chk_fail
33 0x00000000 0x00000000 GLOBAL OBJ 16 imp.__stack_chk_guard
34 0x00000000 0x00000000 GLOBAL OBJ 16 imp._ZN7android9SingletonIN7qdutils17QCCompositionTypeEE5sLockE
35 0x00000000 0x00000000 GLOBAL OBJ 16 imp._ZN7android9SingletonIN7qdutils17QCCompositionTypeEE9sInstanceE
37 0x00000000 0x00000000 GLOBAL FUNC 16 imp.dlopen
38 0x00000000 0x00000000 GLOBAL FUNC 16 imp.dlsym
41 0x00000000 0x00000000 GLOBAL FUNC 16 imp.dlclose
44 0x00000000 0x00000000 GLOBAL FUNC 16 imp.strncasecmp
46 0x00000000 0x00000000 GLOBAL FUNC 16 imp.pthread_mutex_init
53 0x00000000 0x00000000 GLOBAL OBJ 16 imp.__page_size
59 0x00000000 0x00000000 GLOBAL FUNC 16 imp.__aeabi_atexit
EOF
CMDS=<<EOF
is

View File

@ -291,17 +291,17 @@ EXPECT=<<EOF
vaddr paddr type name
---------------------------------
0x00010006 0x00001006 SET_32 emx.1
0x0001000d 0x0000100d SET_32 emx.2
0x0001d210 0x0000e210 SET_32 doscalls.273
0x0001d234 0x0000e234 SET_32 doscalls.253
0x0001d266 0x0000e266 SET_32 doscalls.283
0x0001d282 0x0000e282 SET_32 doscalls.229
0x0001d2f2 0x0000e2f2 SET_32 doscalls.257
0x0001d389 0x0000e389 SET_32 doscalls.282
0x0001d39f 0x0000e39f SET_32 doscalls.257
0x0001d3d9 0x0000e3d9 SET_32 doscalls.281
0x0001d3f4 0x0000e3f4 SET_32 doscalls.257
0x00010006 0x00001006 SET_32 emx.1
0x0001000d 0x0000100d SET_32 emx.2
0x0001d210 0x0000e210 SET_32 doscalls.273
0x0001d234 0x0000e234 SET_32 doscalls.253
0x0001d266 0x0000e266 SET_32 doscalls.283
0x0001d282 0x0000e282 SET_32 doscalls.229
0x0001d2f2 0x0000e2f2 SET_32 doscalls.257
0x0001d389 0x0000e389 SET_32 doscalls.282
0x0001d39f 0x0000e39f SET_32 doscalls.257
0x0001d3d9 0x0000e3d9 SET_32 doscalls.281
0x0001d3f4 0x0000e3f4 SET_32 doscalls.257
11 relocations
@ -350,9 +350,9 @@ FILE=../bins/le/GNUGREP.DLL
EXPECT=<<EOF
[Symbols]
nth paddr vaddr bind type size name
------------------------------------------------
1 0x00000000 0x00010ddc GLOBAL FUNC 0 grepmain
nth paddr vaddr bind type size lib name
----------------------------------------------------
1 0x00000000 0x00010ddc GLOBAL FUNC 0 grepmain
EOF
CMDS=<<EOF
is

View File

@ -257,11 +257,11 @@ ARGS=-a x86 -b32 -B 0x90000000
EXPECT=<<EOF
[Symbols]
nth paddr vaddr bind type size name
------------------------------------------------
0 0x00005000 0x90000000 GLOBAL FUNC 0 __mh_execute_header
1 0x00005000 0x95613542 LOCAL FUNC 0 radr://5614542
2 0x00005f94 0x90000f94 LOCAL FUNC 0 imp.exit
nth paddr vaddr bind type size lib name
----------------------------------------------------
0 0x00005000 0x90000000 GLOBAL FUNC 0 __mh_execute_header
1 0x00005000 0x95613542 LOCAL FUNC 0 radr://5614542
2 0x00005f94 0x90000f94 LOCAL FUNC 0 imp.exit
EOF
CMDS=<<EOF
is

View File

@ -77,13 +77,14 @@ RUN
NAME=MSVC import symbol demangling
FILE=../bins/pe/libzmq-v100-mt-4_0_4.dll
CMDS=f~0x1004e0f4[2]
EXPECT=sym.public:_void___thiscall_std::basic_ostream_char__struct_std::char_traits_char__::_Osfx_void
EXPECT='sym.imp.MSVCP100.dll_public:_void___thiscall_std::basic_ostream_char__struct_std::char_traits_char__::_Osfx_void
'
RUN
NAME=C++ demangle relocs
FILE=../bins/elf/libstdc++.so.6
EXPECT=<<CMDS
0x00091004 488b159d880f. mov rdx, qword [reloc.vtable_for_std::bad_alloc_168] ; [0x1898a8:8]=0
0x00091004 488b159d880f. mov rdx, qword [reloc.vtable_for_std::bad_alloc] ; [0x1898a8:8]=0
CMDS=<<RUN
pd 1 @0x00091004
RUN
@ -91,10 +92,10 @@ RUN
NAME=C++ demangle exported GLIBCXX symbols
FILE=../bins/elf/libstdc++.so.6
EXPECT=<<CMDS
3770 0x0008ce50 0x0008ce50 GLOBAL FUNC 609 std::istream::ignore(long)
3771 0x0008ce50 0x0008ce50 GLOBAL FUNC 609 std::istream::ignore(long)
5087 0x0008ce50 0x0008ce50 GLOBAL FUNC 609 std::istream::ignore(long)
5345 0x0008ce50 0x0008ce50 GLOBAL FUNC 609 std::istream::ignore(long)
3770 0x0008ce50 0x0008ce50 GLOBAL FUNC 609 std::istream::ignore(long)
3771 0x0008ce50 0x0008ce50 GLOBAL FUNC 609 std::istream::ignore(long)
5087 0x0008ce50 0x0008ce50 GLOBAL FUNC 609 std::istream::ignore(long)
5345 0x0008ce50 0x0008ce50 GLOBAL FUNC 609 std::istream::ignore(long)
CMDS=<<RUN
iE~0x0008ce50
RUN
@ -135,21 +136,21 @@ e asm.demangle=false
EXPECT=<<RUN
0x0804921a call sym.__x86.get_pc_thunk.si
0x08049249 call method QFlags<Qt::WindowType>::QFlags(int QFlags<Qt::WindowType>::Private::*) ; method.QFlags_Qt::WindowType_.QFlags_int_QFlags_Qt::WindowType_::Private::
0x08049278 call sym QLabel::QLabel(QString const&, QWidget*, QFlags<Qt::WindowType>) ; sym.QLabel::QLabel_QString_const___QWidget___QFlags_Qt::WindowType
0x08049278 call sym QLabel::QLabel(QString const&, QWidget*, QFlags<Qt::WindowType>) ; sym.imp.QLabel::QLabel_QString_const___QWidget___QFlags_Qt::WindowType
0x0804921a call sym.__x86.get_pc_thunk.si
; method.QFlags_Qt::WindowType_.QFlags_int_QFlags_Qt::WindowType_::Private::
0x08049249 call method QFlags<Qt::WindowType>::QFlags(int QFlags<Qt::WindowType>::Private::*)
; sym.QLabel::QLabel_QString_const___QWidget___QFlags_Qt::WindowType
; sym.imp.QLabel::QLabel_QString_const___QWidget___QFlags_Qt::WindowType
0x08049278 call sym QLabel::QLabel(QString const&, QWidget*, QFlags<Qt::WindowType>)
| 0x0804921a call sym.__x86.get_pc_thunk.si
| 0x08049249 call method QFlags<Qt::WindowType>::QFlags(int QFlags<Qt::WindowType>::Private::*) ; method.QFlags_Qt::WindowType_.QFlags_int_QFlags_Qt::WindowType_::Private::
| 0x08049278 call sym QLabel::QLabel(QString const&, QWidget*, QFlags<Qt::WindowType>) ; sym.QLabel::QLabel_QString_const___QWidget___QFlags_Qt::WindowType
| 0x08049278 call sym QLabel::QLabel(QString const&, QWidget*, QFlags<Qt::WindowType>) ; sym.imp.QLabel::QLabel_QString_const___QWidget___QFlags_Qt::WindowType
| 0x0804921a call sym.__x86.get_pc_thunk.si
| 0x08049249 call method.QFlags_Qt::WindowType_.QFlags_int_QFlags_Qt::WindowType_::Private::
| 0x08049278 call sym.QLabel::QLabel_QString_const___QWidget___QFlags_Qt::WindowType
| 0x08049278 call sym.imp.QLabel::QLabel_QString_const___QWidget___QFlags_Qt::WindowType
RUN
NAME=c++ xref demangling (xref from fcn)

View File

@ -169,20 +169,20 @@ RUN
NAME=: 32bit - symbols resolving 1
FILE=../bins/mdmp/hello.dmp
EXPECT=<<EOF
1 0x0009dcda 0x00406108 NONE FUNC 0 imp.KERNEL32.dll_DeleteCriticalSection
1 0x0009dcda 0x00406108 NONE FUNC 0 KERNEL32.dll imp.DeleteCriticalSection
EOF
CMDS=<<EOF
is~imp.KERNEL32.dll_DeleteCriticalSection:0
is~DeleteCriticalSection:0
EOF
RUN
NAME=: 32bit - symbols resolving 2
FILE=../bins/mdmp/hello.dmp
EXPECT=<<EOF
358 0x001c2176 0x76fb05a4 NONE FUNC 0 imp.ntdll.dll_RtlDeleteCriticalSection
358 0x001c2176 0x76fb05a4 NONE FUNC 0 ntdll.dll imp.RtlDeleteCriticalSection
EOF
CMDS=<<EOF
is~ntdll.dll_RtlDeleteCriticalSection:0
is~RtlDeleteCriticalSection:0
EOF
RUN
@ -199,10 +199,10 @@ RUN
NAME=: 32bit - imports resolving
FILE=../bins/mdmp/hello.dmp
EXPECT=<<EOF
17 0x00406148 NONE FUNC KERNEL32.dll_TerminateProcess
17 0x00406148 NONE FUNC KERNEL32.dll TerminateProcess
EOF
CMDS=<<EOF
ii~KERNEL32.dll_TerminateProcess
ii~TerminateProcess~KERNEL32.dll
EOF
RUN
@ -219,10 +219,10 @@ RUN
NAME=: 32bit - exports resolving
FILE=../bins/mdmp/hello.dmp
EXPECT=<<EOF
1992 0x0041f1f2 0x77802620 GLOBAL FUNC 0 ntdll.dll_Ordinal_1
1992 0x0041f1f2 0x77802620 GLOBAL FUNC 0 ntdll.dll Ordinal_1
EOF
CMDS=<<EOF
iE~ntdll.dll_Ordinal_1
iE~Ordinal_1
EOF
RUN
@ -239,17 +239,17 @@ RUN
NAME=: 32bit - relocs resolving
FILE=../bins/mdmp/hello.dmp
EXPECT=<<EOF
0x00406160 0x0009dd32 SET_32 msvcrt.dll___dllonexit
0x00406160 0x0009dd32 SET_32 msvcrt.dll___dllonexit
EOF
CMDS=<<EOF
ir~msvcrt.dll___dllonexit
ir~__dllonexit
EOF
RUN
NAME=: 32bit - relocs following
FILE=../bins/mdmp/hello.dmp
EXPECT=<<EOF
;-- msvcrt.dll_vfprintf:
;-- vfprintf:
0x773e7430 8bff mov edi, edi
0x773e7432 55 push rbp
0x773e7433 8bec mov ebp, esp
@ -332,20 +332,20 @@ RUN
NAME=: 64bit - symbols resolving 1
FILE=../bins/mdmp/hello64.dmp
EXPECT=<<EOF
1 0x0009ae8b 0x004081fc NONE FUNC 0 imp.KERNEL32.dll_DeleteCriticalSection
1 0x0009ae8b 0x004081fc NONE FUNC 0 KERNEL32.dll imp.DeleteCriticalSection
EOF
CMDS=<<EOF
is~imp.KERNEL32.dll_DeleteCriticalSection
is~imp.DeleteCriticalSection~KERNEL32.dll
EOF
RUN
NAME=: 64bit - symbols resolving 2
FILE=../bins/mdmp/hello64.dmp
EXPECT=<<EOF
8 0x001eb87f 0x77728bf0 GLOBAL FUNC 0 ntdll.dll_A_SHAFinal
8 0x001eb87f 0x77728bf0 GLOBAL FUNC 0 ntdll.dll A_SHAFinal
EOF
CMDS=<<EOF
is~ntdll.dll_A_SHAFinal
is~A_SHAFinal
EOF
RUN
@ -362,10 +362,10 @@ RUN
NAME=: 64bit - imports resolving
FILE=../bins/mdmp/hello64.dmp
EXPECT=<<EOF
4 0x00408214 NONE FUNC KERNEL32.dll_GetCurrentProcessId
4 0x00408214 NONE FUNC KERNEL32.dll GetCurrentProcessId
EOF
CMDS=<<EOF
ii~KERNEL32.dll_GetCurrentProcessId
ii~KERNEL32.dll~GetCurrentProcessId
EOF
RUN
@ -382,10 +382,10 @@ RUN
NAME=: 64bit - exports resolving
FILE=../bins/mdmp/hello64.dmp
EXPECT=<<EOF
38 0x0029513f 0x777d24b0 GLOBAL FUNC 0 ntdll.dll_CsrVerifyRegion
38 0x0029513f 0x777d24b0 GLOBAL FUNC 0 ntdll.dll CsrVerifyRegion
EOF
CMDS=<<EOF
iE~ntdll.dll_CsrVerifyRegion
iE~CsrVerifyRegion
EOF
RUN
@ -402,7 +402,7 @@ RUN
NAME=: 64bit - relocs resolving
FILE=../bins/mdmp/hello64.dmp
EXPECT=<<EOF
0x004081fc 0x0009ae8b SET_64 KERNEL32.dll_DeleteCriticalSection
0x004081fc 0x0009ae8b SET_64 KERNEL32.dll_DeleteCriticalSection
EOF
CMDS=<<EOF
ir~KERNEL32.dll_DeleteCriticalSection
@ -412,7 +412,7 @@ RUN
NAME=: 64bit - relocs following
FILE=../bins/mdmp/hello64.dmp
EXPECT=<<EOF
;-- msvcrt.dll_vfprintf:
;-- vfprintf:
0x7fefdb0a1a4 4883ec38 sub rsp, 0x38
0x7fefdb0a1a8 4c89442420 mov qword [rsp + 0x20], r8
0x7fefdb0a1ad 4c8bc2 mov r8, rdx

View File

@ -3,12 +3,12 @@ FILE=../bins/ne/anim8.exe
EXPECT=<<CMDS
[Symbols]
nth paddr vaddr bind type size name
------------------------------------------------
0 0x00000a00 0x00000a00 NONE NONE 0 ANIM8
1 0x00000d8e 0x00000d8e GLOBAL NONE 0 WNDPROC
2 0x00002b5a 0x00002b5a GLOBAL NONE 0 DIAL_ABOUT
0 0x00000a00 0x00000a00 NONE NONE 0 ANIM8
nth paddr vaddr bind type size lib name
----------------------------------------------------
0 0x00000a00 0x00000a00 NONE NONE 0 ANIM8
1 0x00000d8e 0x00000d8e GLOBAL NONE 0 WNDPROC
2 0x00002b5a 0x00002b5a GLOBAL NONE 0 DIAL_ABOUT
0 0x00000a00 0x00000a00 NONE NONE 0 ANIM8
CMDS=<<RUN
is
RUN
@ -31,12 +31,12 @@ NAME=NE Module imports
FILE=../bins/ne/anim8.exe
EXPECT=<<CMDS
[Imports]
nth vaddr bind type name
-----------------------------
1 0x00000000 NONE NONE KERNEL
2 0x00000000 NONE NONE USER
3 0x00000000 NONE NONE GDI
4 0x00000000 NONE NONE WIN87EM
nth vaddr bind type lib name
---------------------------------
1 0x00000000 NONE NONE KERNEL
2 0x00000000 NONE NONE USER
3 0x00000000 NONE NONE GDI
4 0x00000000 NONE NONE WIN87EM
CMDS=<<RUN
ii
@ -53,25 +53,25 @@ RUN
NAME=NE Relocs and resolve function ordinal names
FILE=../bins/ne/anim8.exe
EXPECT=<<CMDS
0x00004c98 0x00004c98 SET_32 WIN87EM.__FPMATH
0x00004cb2 0x00004cb2 SET_16 WIN87EM.__FPMATH
0x00004cb8 0x00004cb8 SET_16 WIN87EM.__FPMATH
0x00004cbd 0x00004cbd SET_32 WIN87EM.__FPMATH
0x00004ccb 0x00004ccb SET_32 WIN87EM.__FPMATH
0x0000569a 0x0000569a ADD_16 WIN87EM.0
0x000056a0 0x000056a0 ADD_16 WIN87EM.0
0x000056b3 0x000056b3 ADD_16 WIN87EM.0
0x00005891 0x00005891 ADD_16 WIN87EM.0
0x00004c98 0x00004c98 SET_32 WIN87EM.__FPMATH
0x00004cb2 0x00004cb2 SET_16 WIN87EM.__FPMATH
0x00004cb8 0x00004cb8 SET_16 WIN87EM.__FPMATH
0x00004cbd 0x00004cbd SET_32 WIN87EM.__FPMATH
0x00004ccb 0x00004ccb SET_32 WIN87EM.__FPMATH
0x0000569a 0x0000569a ADD_16 WIN87EM.0
0x000056a0 0x000056a0 ADD_16 WIN87EM.0
0x000056b3 0x000056b3 ADD_16 WIN87EM.0
0x00005891 0x00005891 ADD_16 WIN87EM.0
[Relocations]
vaddr paddr type name
---------------------------------
0x00000a01 0x00000a01 SET_32 KERNEL.INITTASK
0x00000a25 0x00000a25 SET_32 KERNEL.LOCKSEGMENT
0x00000a3c 0x00000a3c SET_32 KERNEL.WAITEVENT
0x00000a45 0x00000a45 SET_32 USER.INITAPP
0x00000a74 0x00000a74 SET_32 KERNEL.GETWINFLAGS
0x00000ad0 0x00000ad0 SET_32 KERNEL.UNLOCKSEGMENT
0x00000f5e 0x00000f5e SET_32 USER.SETTIMER
0x00000a01 0x00000a01 SET_32 KERNEL.INITTASK
0x00000a25 0x00000a25 SET_32 KERNEL.LOCKSEGMENT
0x00000a3c 0x00000a3c SET_32 KERNEL.WAITEVENT
0x00000a45 0x00000a45 SET_32 USER.INITAPP
0x00000a74 0x00000a74 SET_32 KERNEL.GETWINFLAGS
0x00000ad0 0x00000ad0 SET_32 KERNEL.UNLOCKSEGMENT
0x00000f5e 0x00000f5e SET_32 USER.SETTIMER
CMDS=<<RUN
ir~WIN87EM
ir~:0..10

View File

@ -23,9 +23,9 @@ FILE=../bins/omf/hello_world
EXPECT=<<EOF
[Symbols]
nth paddr vaddr bind type size name
----------------------------------------------
1 0x00000073 0x00001000 NONE NONE 0 _start
nth paddr vaddr bind type size lib name
--------------------------------------------------
1 0x00000073 0x00001000 NONE NONE 0 _start
EOF
CMDS=<<EOF
is
@ -96,9 +96,9 @@ FILE=../bins/omf/hello_world32
EXPECT=<<EOF
[Symbols]
nth paddr vaddr bind type size name
----------------------------------------------
1 0x00000074 0x00001000 NONE NONE 0 _start
nth paddr vaddr bind type size lib name
--------------------------------------------------
1 0x00000074 0x00001000 NONE NONE 0 _start
EOF
CMDS=<<EOF
is
@ -136,10 +136,10 @@ FILE=../bins/omf/multi_pubdef
EXPECT=<<EOF
[Symbols]
nth paddr vaddr bind type size name
----------------------------------------------
1 0x00000084 0x00001000 NONE NONE 0 _start
2 0x00000097 0x00001013 NONE NONE 0 second_symbol
nth paddr vaddr bind type size lib name
--------------------------------------------------
1 0x00000084 0x00001000 NONE NONE 0 _start
2 0x00000097 0x00001013 NONE NONE 0 second_symbol
EOF
CMDS=<<EOF
is
@ -151,9 +151,9 @@ FILE=../bins/omf/null_checks
EXPECT=<<EOF
[Symbols]
nth paddr vaddr bind type size name
----------------------------------------------
1 0x00000073 0x00001000 NONE NONE 0 _start
nth paddr vaddr bind type size lib name
--------------------------------------------------
1 0x00000073 0x00001000 NONE NONE 0 _start
EOF
CMDS=<<EOF
is

View File

@ -52,35 +52,35 @@ EXPECT=<<EOF
0x00401cb0 0 _LeaveCriticalSection@4
0x00401c30 0 _printf
0x00401c40 0 _vfprintf
0x004060b8 0 imp.KERNEL32.dll_DeleteCriticalSection
0x004060bc 0 imp.KERNEL32.dll_EnterCriticalSection
0x004060c0 0 imp.KERNEL32.dll_ExitProcess
0x004060c4 0 imp.KERNEL32.dll_GetLastError
0x004060c8 0 imp.KERNEL32.dll_GetModuleHandleA
0x004060cc 0 imp.KERNEL32.dll_GetProcAddress
0x004060d0 0 imp.KERNEL32.dll_InitializeCriticalSection
0x004060d4 0 imp.KERNEL32.dll_LeaveCriticalSection
0x004060d8 0 imp.KERNEL32.dll_SetUnhandledExceptionFilter
0x004060dc 0 imp.KERNEL32.dll_TlsGetValue
0x004060e0 0 imp.KERNEL32.dll_VirtualProtect
0x004060e4 0 imp.KERNEL32.dll_VirtualQuery
0x004060ec 0 imp.msvcrt.dll___getmainargs
0x004060f0 0 imp.msvcrt.dll___p__environ
0x004060f4 0 imp.msvcrt.dll___p__fmode
0x004060f8 0 imp.msvcrt.dll___set_app_type
0x004060fc 0 imp.msvcrt.dll__cexit
0x00406100 0 imp.msvcrt.dll__iob
0x00406104 0 imp.msvcrt.dll__onexit
0x00406108 0 imp.msvcrt.dll__setmode
0x0040610c 0 imp.msvcrt.dll_abort
0x00406110 0 imp.msvcrt.dll_atexit
0x00406114 0 imp.msvcrt.dll_calloc
0x00406118 0 imp.msvcrt.dll_free
0x0040611c 0 imp.msvcrt.dll_fwrite
0x00406120 0 imp.msvcrt.dll_memcpy
0x00406124 0 imp.msvcrt.dll_printf
0x00406128 0 imp.msvcrt.dll_signal
0x0040612c 0 imp.msvcrt.dll_vfprintf
0x004060b8 0 KERNEL32.dll imp.DeleteCriticalSection
0x004060bc 0 KERNEL32.dll imp.EnterCriticalSection
0x004060c0 0 KERNEL32.dll imp.ExitProcess
0x004060c4 0 KERNEL32.dll imp.GetLastError
0x004060c8 0 KERNEL32.dll imp.GetModuleHandleA
0x004060cc 0 KERNEL32.dll imp.GetProcAddress
0x004060d0 0 KERNEL32.dll imp.InitializeCriticalSection
0x004060d4 0 KERNEL32.dll imp.LeaveCriticalSection
0x004060d8 0 KERNEL32.dll imp.SetUnhandledExceptionFilter
0x004060dc 0 KERNEL32.dll imp.TlsGetValue
0x004060e0 0 KERNEL32.dll imp.VirtualProtect
0x004060e4 0 KERNEL32.dll imp.VirtualQuery
0x004060ec 0 msvcrt.dll imp.__getmainargs
0x004060f0 0 msvcrt.dll imp.__p__environ
0x004060f4 0 msvcrt.dll imp.__p__fmode
0x004060f8 0 msvcrt.dll imp.__set_app_type
0x004060fc 0 msvcrt.dll imp._cexit
0x00406100 0 msvcrt.dll imp._iob
0x00406104 0 msvcrt.dll imp._onexit
0x00406108 0 msvcrt.dll imp._setmode
0x0040610c 0 msvcrt.dll imp.abort
0x00406110 0 msvcrt.dll imp.atexit
0x00406114 0 msvcrt.dll imp.calloc
0x00406118 0 msvcrt.dll imp.free
0x0040611c 0 msvcrt.dll imp.fwrite
0x00406120 0 msvcrt.dll imp.memcpy
0x00406124 0 msvcrt.dll imp.printf
0x00406128 0 msvcrt.dll imp.signal
0x0040612c 0 msvcrt.dll imp.vfprintf
EOF
CMDS=<<EOF
isq

View File

@ -3,17 +3,17 @@ FILE=../bins/pe/Lab05-01.dll
EXPECT=<<EOF
[Exports]
nth paddr vaddr bind type size name
------------------------------------------------
0 0x0000cc47 0x1000d847 GLOBAL FUNC 0 xdll.dll_InstallRT
1 0x0000d2c1 0x1000dec1 GLOBAL FUNC 0 xdll.dll_InstallSA
2 0x0000dc92 0x1000e892 GLOBAL FUNC 0 xdll.dll_InstallSB
3 0x00006425 0x10007025 GLOBAL FUNC 0 xdll.dll_PSLIST
4 0x0000c330 0x1000cf30 GLOBAL FUNC 0 xdll.dll_ServiceMain
5 0x000072cb 0x10007ecb GLOBAL FUNC 0 xdll.dll_StartEXS
6 0x0000e805 0x1000f405 GLOBAL FUNC 0 xdll.dll_UninstallRT
7 0x0000de05 0x1000ea05 GLOBAL FUNC 0 xdll.dll_UninstallSA
8 0x0000e538 0x1000f138 GLOBAL FUNC 0 xdll.dll_UninstallSB
nth paddr vaddr bind type size lib name
---------------------------------------------------------
0 0x0000cc47 0x1000d847 GLOBAL FUNC 0 xdll.dll InstallRT
1 0x0000d2c1 0x1000dec1 GLOBAL FUNC 0 xdll.dll InstallSA
2 0x0000dc92 0x1000e892 GLOBAL FUNC 0 xdll.dll InstallSB
3 0x00006425 0x10007025 GLOBAL FUNC 0 xdll.dll PSLIST
4 0x0000c330 0x1000cf30 GLOBAL FUNC 0 xdll.dll ServiceMain
5 0x000072cb 0x10007ecb GLOBAL FUNC 0 xdll.dll StartEXS
6 0x0000e805 0x1000f405 GLOBAL FUNC 0 xdll.dll UninstallRT
7 0x0000de05 0x1000ea05 GLOBAL FUNC 0 xdll.dll UninstallSA
8 0x0000e538 0x1000f138 GLOBAL FUNC 0 xdll.dll UninstallSB
EOF
CMDS=<<EOF
iE
@ -42,15 +42,15 @@ RUN
NAME=PE: export function names SIMPLE
FILE=../bins/pe/Lab05-01.dll
EXPECT=<<EOF
0x1000d847 0 xdll.dll_InstallRT
0x1000dec1 0 xdll.dll_InstallSA
0x1000e892 0 xdll.dll_InstallSB
0x10007025 0 xdll.dll_PSLIST
0x1000cf30 0 xdll.dll_ServiceMain
0x10007ecb 0 xdll.dll_StartEXS
0x1000f405 0 xdll.dll_UninstallRT
0x1000ea05 0 xdll.dll_UninstallSA
0x1000f138 0 xdll.dll_UninstallSB
0x1000d847 0 xdll.dll InstallRT
0x1000dec1 0 xdll.dll InstallSA
0x1000e892 0 xdll.dll InstallSB
0x10007025 0 xdll.dll PSLIST
0x1000cf30 0 xdll.dll ServiceMain
0x10007ecb 0 xdll.dll StartEXS
0x1000f405 0 xdll.dll UninstallRT
0x1000ea05 0 xdll.dll UninstallSA
0x1000f138 0 xdll.dll UninstallSB
EOF
CMDS=<<EOF
iEq

View File

@ -1,7 +1,7 @@
NAME=dll import function names bug for ws2_32.dll
FILE=../bins/pe/Lab05-01.dll
EXPECT=<<EOF
52 0x100163cc NONE FUNC WS2_32.dll_gethostbyname
52 0x100163cc NONE FUNC WS2_32.dll gethostbyname
EOF
CMDS=<<EOF
ii~&WS2_32,52

View File

@ -2,17 +2,17 @@ NAME=PE: corkami imports.exe - open
FILE=../bins/pe/imports.exe
EXPECT=<<EOF
[Imports]
nth vaddr bind type name
-----------------------------
1 0x004010c0 NONE FUNC kernel32.dll_ExitProcess
1 0x004010c8 NONE FUNC msvcrt.dll_printf
nth vaddr bind type lib name
------------------------------------------
1 0x004010c0 NONE FUNC kernel32.dll ExitProcess
1 0x004010c8 NONE FUNC msvcrt.dll printf
[Symbols]
nth paddr vaddr bind type size name
----------------------------------------------
1 0x000002c0 0x004010c0 NONE FUNC 0 imp.kernel32.dll_ExitProcess
1 0x000002c8 0x004010c8 NONE FUNC 0 imp.msvcrt.dll_printf
nth paddr vaddr bind type size lib name
-----------------------------------------------------------
1 0x000002c0 0x004010c0 NONE FUNC 0 kernel32.dll imp.ExitProcess
1 0x000002c8 0x004010c8 NONE FUNC 0 msvcrt.dll imp.printf
0x4010c8
EOF
CMDS=<<EOF
@ -21,3 +21,31 @@ is
?v sym.imp.msvcrt.dll_printf
EOF
RUN
NAME=PE: corkami imports.exe - json output
FILE=../bins/pe/imports.exe
EXPECT=<<EOF
[
{
"ordinal": 1,
"bind": "NONE",
"type": "FUNC",
"name": "ExitProcess",
"libname": "kernel32.dll",
"plt": 4198592
},
{
"ordinal": 1,
"bind": "NONE",
"type": "FUNC",
"name": "printf",
"libname": "msvcrt.dll",
"plt": 4198600
}
]
EOF
CMDS=<<EOF
iij~{}
EOF
RUN

View File

@ -1,8 +1,32 @@
NAME=PE: corkami imports_tinyW7.exe - open
FILE=../bins/pe/imports_tinyW7.exe
EXPECT=<<EOF
EOF
EXPECT=''
CMDS=<<EOF
q!
EOF
RUN
NAME=PE: resolve reloc name by ordinal from sdb
FILE=../bins/pe/imports_tinyW7.exe
EXPECT=<<EOF
[Relocations]
vaddr paddr type name
---------------------------------
0x8000011c 0x00000248 SET_32 kernel32_FindAtomW
0x800004f4 0x00000234 SET_32 msvcrt_Ordinal_1268
2 relocations
[Imports]
nth vaddr bind type lib name
---------------------------------------
284 0x00000000 NONE FUNC kernel32 FindAtomW
1268 0x00401034 NONE FUNC msvcrt Ordinal_1268
EOF
CMDS=<<EOF
ir
ii
EOF
RUN

View File

@ -20,3 +20,19 @@ CMDS=<<EOF
pid 4
EOF
RUN
NAME=PE: corkami mz.exe - dis asm.flags.real
FILE=../bins/pe/mz.exe
EXPECT=<<EOF
push 0x401018
call dword [printf]
add esp, 4
nop
push 0
call dword [ExitProcess]
EOF
CMDS=<<EOF
e asm.flags.real=true
pi 6
EOF
RUN

View File

@ -43,8 +43,8 @@ RUN
NAME=PE: corkami imports
FILE=../bins/pe/normal64.exe
EXPECT=<<EOF
kernel32.dll_ExitProcess
msvcrt.dll_printf
kernel32.dll ExitProcess
msvcrt.dll printf
EOF
CMDS=<<EOF
iiq

View File

@ -47,26 +47,26 @@ EXPECT=<<EOF
vaddr paddr type name
---------------------------------
0x000050fc 0x000012a0 SET_32 KERNEL32.dll_AddAtomA
0x00005108 0x000012a4 SET_32 KERNEL32.dll_ExitProcess
0x00005116 0x000012a8 SET_32 KERNEL32.dll_FindAtomA
0x00005122 0x000012ac SET_32 KERNEL32.dll_GetAtomNameA
0x00005132 0x000012b0 SET_32 KERNEL32.dll_SetUnhandledExceptionFilter
0x00005150 0x000012bc SET_32 msvcrt.dll___getmainargs
0x00005160 0x000012c0 SET_32 msvcrt.dll___p__environ
0x00005170 0x000012c4 SET_32 msvcrt.dll___p__fmode
0x0000517e 0x000012c8 SET_32 msvcrt.dll___set_app_type
0x00005190 0x000012cc SET_32 msvcrt.dll__assert
0x0000519a 0x000012d0 SET_32 msvcrt.dll__cexit
0x000051a4 0x000012d4 SET_32 msvcrt.dll__iob
0x000051ac 0x000012d8 SET_32 msvcrt.dll__onexit
0x000051b6 0x000012dc SET_32 msvcrt.dll__setmode
0x000051c2 0x000012e0 SET_32 msvcrt.dll_abort
0x000051ca 0x000012e4 SET_32 msvcrt.dll_atexit
0x000051d4 0x000012e8 SET_32 msvcrt.dll_free
0x000051dc 0x000012ec SET_32 msvcrt.dll_malloc
0x000051e6 0x000012f0 SET_32 msvcrt.dll_printf
0x000051f0 0x000012f4 SET_32 msvcrt.dll_signal
0x000050fc 0x000012a0 SET_32 KERNEL32.dll_AddAtomA
0x00005108 0x000012a4 SET_32 KERNEL32.dll_ExitProcess
0x00005116 0x000012a8 SET_32 KERNEL32.dll_FindAtomA
0x00005122 0x000012ac SET_32 KERNEL32.dll_GetAtomNameA
0x00005132 0x000012b0 SET_32 KERNEL32.dll_SetUnhandledExceptionFilter
0x00005150 0x000012bc SET_32 msvcrt.dll___getmainargs
0x00005160 0x000012c0 SET_32 msvcrt.dll___p__environ
0x00005170 0x000012c4 SET_32 msvcrt.dll___p__fmode
0x0000517e 0x000012c8 SET_32 msvcrt.dll___set_app_type
0x00005190 0x000012cc SET_32 msvcrt.dll__assert
0x0000519a 0x000012d0 SET_32 msvcrt.dll__cexit
0x000051a4 0x000012d4 SET_32 msvcrt.dll__iob
0x000051ac 0x000012d8 SET_32 msvcrt.dll__onexit
0x000051b6 0x000012dc SET_32 msvcrt.dll__setmode
0x000051c2 0x000012e0 SET_32 msvcrt.dll_abort
0x000051ca 0x000012e4 SET_32 msvcrt.dll_atexit
0x000051d4 0x000012e8 SET_32 msvcrt.dll_free
0x000051dc 0x000012ec SET_32 msvcrt.dll_malloc
0x000051e6 0x000012f0 SET_32 msvcrt.dll_printf
0x000051f0 0x000012f4 SET_32 msvcrt.dll_signal
20 relocations
@ -83,26 +83,26 @@ EXPECT=<<EOF
vaddr paddr type name
---------------------------------
0x000050fc 0x000012a0 SET_32 KERNEL32.dll_AddAtomA
0x00005108 0x000012a4 SET_32 KERNEL32.dll_ExitProcess
0x00005116 0x000012a8 SET_32 KERNEL32.dll_FindAtomA
0x00005122 0x000012ac SET_32 KERNEL32.dll_GetAtomNameA
0x00005132 0x000012b0 SET_32 KERNEL32.dll_SetUnhandledExceptionFilter
0x00005150 0x000012bc SET_32 msvcrt.dll___getmainargs
0x00005160 0x000012c0 SET_32 msvcrt.dll___p__environ
0x00005170 0x000012c4 SET_32 msvcrt.dll___p__fmode
0x0000517e 0x000012c8 SET_32 msvcrt.dll___set_app_type
0x00005190 0x000012cc SET_32 msvcrt.dll__assert
0x0000519a 0x000012d0 SET_32 msvcrt.dll__cexit
0x000051a4 0x000012d4 SET_32 msvcrt.dll__iob
0x000051ac 0x000012d8 SET_32 msvcrt.dll__onexit
0x000051b6 0x000012dc SET_32 msvcrt.dll__setmode
0x000051c2 0x000012e0 SET_32 msvcrt.dll_abort
0x000051ca 0x000012e4 SET_32 msvcrt.dll_atexit
0x000051d4 0x000012e8 SET_32 msvcrt.dll_free
0x000051dc 0x000012ec SET_32 msvcrt.dll_malloc
0x000051e6 0x000012f0 SET_32 msvcrt.dll_printf
0x000051f0 0x000012f4 SET_32 msvcrt.dll_signal
0x000050fc 0x000012a0 SET_32 KERNEL32.dll_AddAtomA
0x00005108 0x000012a4 SET_32 KERNEL32.dll_ExitProcess
0x00005116 0x000012a8 SET_32 KERNEL32.dll_FindAtomA
0x00005122 0x000012ac SET_32 KERNEL32.dll_GetAtomNameA
0x00005132 0x000012b0 SET_32 KERNEL32.dll_SetUnhandledExceptionFilter
0x00005150 0x000012bc SET_32 msvcrt.dll___getmainargs
0x00005160 0x000012c0 SET_32 msvcrt.dll___p__environ
0x00005170 0x000012c4 SET_32 msvcrt.dll___p__fmode
0x0000517e 0x000012c8 SET_32 msvcrt.dll___set_app_type
0x00005190 0x000012cc SET_32 msvcrt.dll__assert
0x0000519a 0x000012d0 SET_32 msvcrt.dll__cexit
0x000051a4 0x000012d4 SET_32 msvcrt.dll__iob
0x000051ac 0x000012d8 SET_32 msvcrt.dll__onexit
0x000051b6 0x000012dc SET_32 msvcrt.dll__setmode
0x000051c2 0x000012e0 SET_32 msvcrt.dll_abort
0x000051ca 0x000012e4 SET_32 msvcrt.dll_atexit
0x000051d4 0x000012e8 SET_32 msvcrt.dll_free
0x000051dc 0x000012ec SET_32 msvcrt.dll_malloc
0x000051e6 0x000012f0 SET_32 msvcrt.dll_printf
0x000051f0 0x000012f4 SET_32 msvcrt.dll_signal
20 relocations
@ -150,134 +150,134 @@ NAME=pe32 imported functions (ii)
FILE=../bins/pe/imports_1210.exe
EXPECT=<<EOF
[Imports]
nth vaddr bind type name
-----------------------------
1 0x0041217c NONE FUNC kernel32.dll_DeleteCriticalSection
2 0x00412180 NONE FUNC kernel32.dll_LeaveCriticalSection
3 0x00412184 NONE FUNC kernel32.dll_EnterCriticalSection
4 0x00412188 NONE FUNC kernel32.dll_InitializeCriticalSection
5 0x0041218c NONE FUNC kernel32.dll_VirtualFree
6 0x00412190 NONE FUNC kernel32.dll_VirtualAlloc
7 0x00412194 NONE FUNC kernel32.dll_LocalFree
8 0x00412198 NONE FUNC kernel32.dll_LocalAlloc
9 0x0041219c NONE FUNC kernel32.dll_GetVersion
10 0x004121a0 NONE FUNC kernel32.dll_GetCurrentThreadId
11 0x004121a4 NONE FUNC kernel32.dll_WideCharToMultiByte
12 0x004121a8 NONE FUNC kernel32.dll_MultiByteToWideChar
13 0x004121ac NONE FUNC kernel32.dll_GetThreadLocale
14 0x004121b0 NONE FUNC kernel32.dll_GetStartupInfoA
15 0x004121b4 NONE FUNC kernel32.dll_GetModuleFileNameA
16 0x004121b8 NONE FUNC kernel32.dll_GetLocaleInfoA
17 0x004121bc NONE FUNC kernel32.dll_GetCommandLineA
18 0x004121c0 NONE FUNC kernel32.dll_FreeLibrary
19 0x004121c4 NONE FUNC kernel32.dll_ExitProcess
20 0x004121c8 NONE FUNC kernel32.dll_WriteFile
21 0x004121cc NONE FUNC kernel32.dll_UnhandledExceptionFilter
22 0x004121d0 NONE FUNC kernel32.dll_RtlUnwind
23 0x004121d4 NONE FUNC kernel32.dll_RaiseException
24 0x004121d8 NONE FUNC kernel32.dll_GetStdHandle
1 0x004121e0 NONE FUNC user32.dll_GetKeyboardType
2 0x004121e4 NONE FUNC user32.dll_MessageBoxA
3 0x004121e8 NONE FUNC user32.dll_CharNextA
1 0x004121f0 NONE FUNC advapi32.dll_RegQueryValueExA
2 0x004121f4 NONE FUNC advapi32.dll_RegOpenKeyExA
3 0x004121f8 NONE FUNC advapi32.dll_RegCloseKey
1 0x00412200 NONE FUNC oleaut32.dll_SysFreeString
2 0x00412204 NONE FUNC oleaut32.dll_SysReAllocStringLen
3 0x00412208 NONE FUNC oleaut32.dll_SysAllocStringLen
1 0x00412210 NONE FUNC kernel32.dll_TlsSetValue
2 0x00412214 NONE FUNC kernel32.dll_TlsGetValue
3 0x00412198 NONE FUNC kernel32.dll_LocalAlloc
4 0x0041221c NONE FUNC kernel32.dll_GetModuleHandleA
1 0x00412224 NONE FUNC advapi32.dll_RegSetValueExA
2 0x004121f0 NONE FUNC advapi32.dll_RegQueryValueExA
3 0x004121f4 NONE FUNC advapi32.dll_RegOpenKeyExA
4 0x00412230 NONE FUNC advapi32.dll_RegEnumValueA
5 0x00412234 NONE FUNC advapi32.dll_RegDeleteKeyA
6 0x00412238 NONE FUNC advapi32.dll_RegCreateKeyExA
7 0x0041223c NONE FUNC advapi32.dll_RegCreateKeyA
8 0x004121f8 NONE FUNC advapi32.dll_RegCloseKey
9 0x00412244 NONE FUNC advapi32.dll_OpenProcessToken
10 0x00412248 NONE FUNC advapi32.dll_LookupAccountNameA
11 0x0041224c NONE FUNC advapi32.dll_IsValidSid
12 0x00412250 NONE FUNC advapi32.dll_GetUserNameA
1 0x00412258 NONE FUNC kernel32.dll_lstrlenA
2 0x0041225c NONE FUNC kernel32.dll_lstrcmpiA
3 0x00412260 NONE FUNC kernel32.dll_WriteProcessMemory
4 0x004121c8 NONE FUNC kernel32.dll_WriteFile
5 0x00412268 NONE FUNC kernel32.dll_WaitForSingleObject
6 0x0041226c NONE FUNC kernel32.dll_VirtualProtect
7 0x0041218c NONE FUNC kernel32.dll_VirtualFree
8 0x00412274 NONE FUNC kernel32.dll_VirtualAllocEx
9 0x00412190 NONE FUNC kernel32.dll_VirtualAlloc
10 0x0041227c NONE FUNC kernel32.dll_Sleep
11 0x00412280 NONE FUNC kernel32.dll_SizeofResource
12 0x00412284 NONE FUNC kernel32.dll_SetFilePointer
13 0x00412288 NONE FUNC kernel32.dll_SetFileAttributesA
14 0x0041228c NONE FUNC kernel32.dll_ReadProcessMemory
15 0x00412290 NONE FUNC kernel32.dll_ReadFile
16 0x00412294 NONE FUNC kernel32.dll_OpenProcess
17 0x00412298 NONE FUNC kernel32.dll_LockResource
18 0x0041229c NONE FUNC kernel32.dll_LoadResource
19 0x004122a0 NONE FUNC kernel32.dll_LoadLibraryA
20 0x004122a4 NONE FUNC kernel32.dll_GlobalFree
21 0x004122a8 NONE FUNC kernel32.dll_GetVersionExA
22 0x004122ac NONE FUNC kernel32.dll_GetTickCount
23 0x004122b0 NONE FUNC kernel32.dll_GetProcAddress
24 0x004122b4 NONE FUNC kernel32.dll_GetPrivateProfileStringA
25 0x004122b8 NONE FUNC kernel32.dll_GetPrivateProfileIntA
26 0x0041221c NONE FUNC kernel32.dll_GetModuleHandleA
27 0x004122c0 NONE FUNC kernel32.dll_GetLastError
28 0x004122c4 NONE FUNC kernel32.dll_GetFileSize
29 0x004122c8 NONE FUNC kernel32.dll_GetFileAttributesA
30 0x004122cc NONE FUNC kernel32.dll_GetExitCodeThread
31 0x004122d0 NONE FUNC kernel32.dll_GetCurrentProcess
32 0x004122d4 NONE FUNC kernel32.dll_FreeResource
33 0x004121c0 NONE FUNC kernel32.dll_FreeLibrary
34 0x004122dc NONE FUNC kernel32.dll_FindResourceA
35 0x004122e0 NONE FUNC kernel32.dll_FindFirstFileA
36 0x004122e4 NONE FUNC kernel32.dll_FindClose
37 0x004121c4 NONE FUNC kernel32.dll_ExitProcess
38 0x004122ec NONE FUNC kernel32.dll_DeleteFileA
39 0x004122f0 NONE FUNC kernel32.dll_CreateRemoteThread
40 0x004122f4 NONE FUNC kernel32.dll_CreateProcessA
41 0x004122f8 NONE FUNC kernel32.dll_CreateMutexA
42 0x004122fc NONE FUNC kernel32.dll_CreateFileA
43 0x00412300 NONE FUNC kernel32.dll_CreateDirectoryA
44 0x00412304 NONE FUNC kernel32.dll_CopyFileA
45 0x00412308 NONE FUNC kernel32.dll_CloseHandle
1 0x00412310 NONE FUNC user32.dll_wvsprintfA
2 0x00412314 NONE FUNC user32.dll_TranslateMessage
3 0x00412318 NONE FUNC user32.dll_ToAscii
4 0x0041231c NONE FUNC user32.dll_SetWindowsHookExA
5 0x00412320 NONE FUNC user32.dll_PeekMessageA
6 0x00412324 NONE FUNC user32.dll_GetWindowThreadProcessId
7 0x00412328 NONE FUNC user32.dll_GetKeyboardState
8 0x0041232c NONE FUNC user32.dll_FindWindowA
9 0x00412330 NONE FUNC user32.dll_DispatchMessageA
10 0x00412334 NONE FUNC user32.dll_CharLowerA
11 0x00412338 NONE FUNC user32.dll_CharUpperA
1 0x00412340 NONE FUNC ole32.dll_OleInitialize
2 0x00412344 NONE FUNC ole32.dll_CoCreateInstance
1 0x0041234c NONE FUNC ole32.dll_CoTaskMemFree
1 0x00412354 NONE FUNC pstorec.dll_PStoreCreateInstance
1 0x0041235c NONE FUNC ole32.dll_StringFromCLSID
1 0x00412364 NONE FUNC rasapi32.dll_RasGetEntryDialParamsA
2 0x00412368 NONE FUNC rasapi32.dll_RasEnumEntriesA
1 0x00412370 NONE FUNC shell32.dll_SHGetSpecialFolderPathA
1 0x00412378 NONE FUNC advapi32.dll_LsaFreeMemory
2 0x0041237c NONE FUNC advapi32.dll_LsaClose
3 0x00412380 NONE FUNC advapi32.dll_LsaRetrievePrivateData
4 0x00412384 NONE FUNC advapi32.dll_LsaOpenPolicy
5 0x00412388 NONE FUNC advapi32.dll_ConvertSidToStringSidA
1 0x00412390 NONE FUNC crypt32.dll_CryptUnprotectData
1 0x00412398 NONE FUNC advapi32.dll_CredEnumerateA
1 0x004123a0 NONE FUNC advapi32.dll_CryptDestroyHash
2 0x004123a4 NONE FUNC advapi32.dll_CryptHashData
3 0x004123a8 NONE FUNC advapi32.dll_CryptCreateHash
4 0x004123ac NONE FUNC advapi32.dll_CryptGetHashParam
5 0x004123b0 NONE FUNC advapi32.dll_CryptReleaseContext
6 0x004123b4 NONE FUNC advapi32.dll_CryptAcquireContextA
nth vaddr bind type lib name
------------------------------------------
1 0x0041217c NONE FUNC kernel32.dll DeleteCriticalSection
2 0x00412180 NONE FUNC kernel32.dll LeaveCriticalSection
3 0x00412184 NONE FUNC kernel32.dll EnterCriticalSection
4 0x00412188 NONE FUNC kernel32.dll InitializeCriticalSection
5 0x0041218c NONE FUNC kernel32.dll VirtualFree
6 0x00412190 NONE FUNC kernel32.dll VirtualAlloc
7 0x00412194 NONE FUNC kernel32.dll LocalFree
8 0x00412198 NONE FUNC kernel32.dll LocalAlloc
9 0x0041219c NONE FUNC kernel32.dll GetVersion
10 0x004121a0 NONE FUNC kernel32.dll GetCurrentThreadId
11 0x004121a4 NONE FUNC kernel32.dll WideCharToMultiByte
12 0x004121a8 NONE FUNC kernel32.dll MultiByteToWideChar
13 0x004121ac NONE FUNC kernel32.dll GetThreadLocale
14 0x004121b0 NONE FUNC kernel32.dll GetStartupInfoA
15 0x004121b4 NONE FUNC kernel32.dll GetModuleFileNameA
16 0x004121b8 NONE FUNC kernel32.dll GetLocaleInfoA
17 0x004121bc NONE FUNC kernel32.dll GetCommandLineA
18 0x004121c0 NONE FUNC kernel32.dll FreeLibrary
19 0x004121c4 NONE FUNC kernel32.dll ExitProcess
20 0x004121c8 NONE FUNC kernel32.dll WriteFile
21 0x004121cc NONE FUNC kernel32.dll UnhandledExceptionFilter
22 0x004121d0 NONE FUNC kernel32.dll RtlUnwind
23 0x004121d4 NONE FUNC kernel32.dll RaiseException
24 0x004121d8 NONE FUNC kernel32.dll GetStdHandle
1 0x004121e0 NONE FUNC user32.dll GetKeyboardType
2 0x004121e4 NONE FUNC user32.dll MessageBoxA
3 0x004121e8 NONE FUNC user32.dll CharNextA
1 0x004121f0 NONE FUNC advapi32.dll RegQueryValueExA
2 0x004121f4 NONE FUNC advapi32.dll RegOpenKeyExA
3 0x004121f8 NONE FUNC advapi32.dll RegCloseKey
1 0x00412200 NONE FUNC oleaut32.dll SysFreeString
2 0x00412204 NONE FUNC oleaut32.dll SysReAllocStringLen
3 0x00412208 NONE FUNC oleaut32.dll SysAllocStringLen
1 0x00412210 NONE FUNC kernel32.dll TlsSetValue
2 0x00412214 NONE FUNC kernel32.dll TlsGetValue
3 0x00412198 NONE FUNC kernel32.dll LocalAlloc
4 0x0041221c NONE FUNC kernel32.dll GetModuleHandleA
1 0x00412224 NONE FUNC advapi32.dll RegSetValueExA
2 0x004121f0 NONE FUNC advapi32.dll RegQueryValueExA
3 0x004121f4 NONE FUNC advapi32.dll RegOpenKeyExA
4 0x00412230 NONE FUNC advapi32.dll RegEnumValueA
5 0x00412234 NONE FUNC advapi32.dll RegDeleteKeyA
6 0x00412238 NONE FUNC advapi32.dll RegCreateKeyExA
7 0x0041223c NONE FUNC advapi32.dll RegCreateKeyA
8 0x004121f8 NONE FUNC advapi32.dll RegCloseKey
9 0x00412244 NONE FUNC advapi32.dll OpenProcessToken
10 0x00412248 NONE FUNC advapi32.dll LookupAccountNameA
11 0x0041224c NONE FUNC advapi32.dll IsValidSid
12 0x00412250 NONE FUNC advapi32.dll GetUserNameA
1 0x00412258 NONE FUNC kernel32.dll lstrlenA
2 0x0041225c NONE FUNC kernel32.dll lstrcmpiA
3 0x00412260 NONE FUNC kernel32.dll WriteProcessMemory
4 0x004121c8 NONE FUNC kernel32.dll WriteFile
5 0x00412268 NONE FUNC kernel32.dll WaitForSingleObject
6 0x0041226c NONE FUNC kernel32.dll VirtualProtect
7 0x0041218c NONE FUNC kernel32.dll VirtualFree
8 0x00412274 NONE FUNC kernel32.dll VirtualAllocEx
9 0x00412190 NONE FUNC kernel32.dll VirtualAlloc
10 0x0041227c NONE FUNC kernel32.dll Sleep
11 0x00412280 NONE FUNC kernel32.dll SizeofResource
12 0x00412284 NONE FUNC kernel32.dll SetFilePointer
13 0x00412288 NONE FUNC kernel32.dll SetFileAttributesA
14 0x0041228c NONE FUNC kernel32.dll ReadProcessMemory
15 0x00412290 NONE FUNC kernel32.dll ReadFile
16 0x00412294 NONE FUNC kernel32.dll OpenProcess
17 0x00412298 NONE FUNC kernel32.dll LockResource
18 0x0041229c NONE FUNC kernel32.dll LoadResource
19 0x004122a0 NONE FUNC kernel32.dll LoadLibraryA
20 0x004122a4 NONE FUNC kernel32.dll GlobalFree
21 0x004122a8 NONE FUNC kernel32.dll GetVersionExA
22 0x004122ac NONE FUNC kernel32.dll GetTickCount
23 0x004122b0 NONE FUNC kernel32.dll GetProcAddress
24 0x004122b4 NONE FUNC kernel32.dll GetPrivateProfileStringA
25 0x004122b8 NONE FUNC kernel32.dll GetPrivateProfileIntA
26 0x0041221c NONE FUNC kernel32.dll GetModuleHandleA
27 0x004122c0 NONE FUNC kernel32.dll GetLastError
28 0x004122c4 NONE FUNC kernel32.dll GetFileSize
29 0x004122c8 NONE FUNC kernel32.dll GetFileAttributesA
30 0x004122cc NONE FUNC kernel32.dll GetExitCodeThread
31 0x004122d0 NONE FUNC kernel32.dll GetCurrentProcess
32 0x004122d4 NONE FUNC kernel32.dll FreeResource
33 0x004121c0 NONE FUNC kernel32.dll FreeLibrary
34 0x004122dc NONE FUNC kernel32.dll FindResourceA
35 0x004122e0 NONE FUNC kernel32.dll FindFirstFileA
36 0x004122e4 NONE FUNC kernel32.dll FindClose
37 0x004121c4 NONE FUNC kernel32.dll ExitProcess
38 0x004122ec NONE FUNC kernel32.dll DeleteFileA
39 0x004122f0 NONE FUNC kernel32.dll CreateRemoteThread
40 0x004122f4 NONE FUNC kernel32.dll CreateProcessA
41 0x004122f8 NONE FUNC kernel32.dll CreateMutexA
42 0x004122fc NONE FUNC kernel32.dll CreateFileA
43 0x00412300 NONE FUNC kernel32.dll CreateDirectoryA
44 0x00412304 NONE FUNC kernel32.dll CopyFileA
45 0x00412308 NONE FUNC kernel32.dll CloseHandle
1 0x00412310 NONE FUNC user32.dll wvsprintfA
2 0x00412314 NONE FUNC user32.dll TranslateMessage
3 0x00412318 NONE FUNC user32.dll ToAscii
4 0x0041231c NONE FUNC user32.dll SetWindowsHookExA
5 0x00412320 NONE FUNC user32.dll PeekMessageA
6 0x00412324 NONE FUNC user32.dll GetWindowThreadProcessId
7 0x00412328 NONE FUNC user32.dll GetKeyboardState
8 0x0041232c NONE FUNC user32.dll FindWindowA
9 0x00412330 NONE FUNC user32.dll DispatchMessageA
10 0x00412334 NONE FUNC user32.dll CharLowerA
11 0x00412338 NONE FUNC user32.dll CharUpperA
1 0x00412340 NONE FUNC ole32.dll OleInitialize
2 0x00412344 NONE FUNC ole32.dll CoCreateInstance
1 0x0041234c NONE FUNC ole32.dll CoTaskMemFree
1 0x00412354 NONE FUNC pstorec.dll PStoreCreateInstance
1 0x0041235c NONE FUNC ole32.dll StringFromCLSID
1 0x00412364 NONE FUNC rasapi32.dll RasGetEntryDialParamsA
2 0x00412368 NONE FUNC rasapi32.dll RasEnumEntriesA
1 0x00412370 NONE FUNC shell32.dll SHGetSpecialFolderPathA
1 0x00412378 NONE FUNC advapi32.dll LsaFreeMemory
2 0x0041237c NONE FUNC advapi32.dll LsaClose
3 0x00412380 NONE FUNC advapi32.dll LsaRetrievePrivateData
4 0x00412384 NONE FUNC advapi32.dll LsaOpenPolicy
5 0x00412388 NONE FUNC advapi32.dll ConvertSidToStringSidA
1 0x00412390 NONE FUNC crypt32.dll CryptUnprotectData
1 0x00412398 NONE FUNC advapi32.dll CredEnumerateA
1 0x004123a0 NONE FUNC advapi32.dll CryptDestroyHash
2 0x004123a4 NONE FUNC advapi32.dll CryptHashData
3 0x004123a8 NONE FUNC advapi32.dll CryptCreateHash
4 0x004123ac NONE FUNC advapi32.dll CryptGetHashParam
5 0x004123b0 NONE FUNC advapi32.dll CryptReleaseContext
6 0x004123b4 NONE FUNC advapi32.dll CryptAcquireContextA
EOF
CMDS=<<EOF
@ -292,132 +292,132 @@ EXPECT=<<EOF
vaddr paddr type name
---------------------------------
0x000123ca 0x0000097c SET_32 kernel32.dll_DeleteCriticalSection
0x000123e2 0x00000980 SET_32 kernel32.dll_LeaveCriticalSection
0x000123fa 0x00000984 SET_32 kernel32.dll_EnterCriticalSection
0x00012412 0x00000988 SET_32 kernel32.dll_InitializeCriticalSection
0x0001242e 0x0000098c SET_32 kernel32.dll_VirtualFree
0x0001243c 0x00000990 SET_32 kernel32.dll_VirtualAlloc
0x0001244c 0x00000994 SET_32 kernel32.dll_LocalFree
0x00012458 0x00000998 SET_32 kernel32.dll_LocalAlloc
0x00012466 0x0000099c SET_32 kernel32.dll_GetVersion
0x00012474 0x000009a0 SET_32 kernel32.dll_GetCurrentThreadId
0x0001248a 0x000009a4 SET_32 kernel32.dll_WideCharToMultiByte
0x000124a0 0x000009a8 SET_32 kernel32.dll_MultiByteToWideChar
0x000124b6 0x000009ac SET_32 kernel32.dll_GetThreadLocale
0x000124c8 0x000009b0 SET_32 kernel32.dll_GetStartupInfoA
0x000124da 0x000009b4 SET_32 kernel32.dll_GetModuleFileNameA
0x000124f0 0x000009b8 SET_32 kernel32.dll_GetLocaleInfoA
0x00012502 0x000009bc SET_32 kernel32.dll_GetCommandLineA
0x00012514 0x000009c0 SET_32 kernel32.dll_FreeLibrary
0x00012522 0x000009c4 SET_32 kernel32.dll_ExitProcess
0x00012530 0x000009c8 SET_32 kernel32.dll_WriteFile
0x0001253c 0x000009cc SET_32 kernel32.dll_UnhandledExceptionFilter
0x00012558 0x000009d0 SET_32 kernel32.dll_RtlUnwind
0x00012564 0x000009d4 SET_32 kernel32.dll_RaiseException
0x00012576 0x000009d8 SET_32 kernel32.dll_GetStdHandle
0x00012592 0x000009e0 SET_32 user32.dll_GetKeyboardType
0x000125a4 0x000009e4 SET_32 user32.dll_MessageBoxA
0x000125b2 0x000009e8 SET_32 user32.dll_CharNextA
0x000125cc 0x000009f0 SET_32 advapi32.dll_RegQueryValueExA
0x000125e0 0x000009f4 SET_32 advapi32.dll_RegOpenKeyExA
0x000125f0 0x000009f8 SET_32 advapi32.dll_RegCloseKey
0x0001260c 0x00000a00 SET_32 oleaut32.dll_SysFreeString
0x0001261c 0x00000a04 SET_32 oleaut32.dll_SysReAllocStringLen
0x00012632 0x00000a08 SET_32 oleaut32.dll_SysAllocStringLen
0x00012654 0x00000a10 SET_32 kernel32.dll_TlsSetValue
0x00012662 0x00000a14 SET_32 kernel32.dll_TlsGetValue
0x00012670 0x00000a18 SET_32 kernel32.dll_LocalAlloc
0x0001267e 0x00000a1c SET_32 kernel32.dll_GetModuleHandleA
0x000126a0 0x00000a24 SET_32 advapi32.dll_RegSetValueExA
0x000126b2 0x00000a28 SET_32 advapi32.dll_RegQueryValueExA
0x000126c6 0x00000a2c SET_32 advapi32.dll_RegOpenKeyExA
0x000126d6 0x00000a30 SET_32 advapi32.dll_RegEnumValueA
0x000126e6 0x00000a34 SET_32 advapi32.dll_RegDeleteKeyA
0x000126f6 0x00000a38 SET_32 advapi32.dll_RegCreateKeyExA
0x00012708 0x00000a3c SET_32 advapi32.dll_RegCreateKeyA
0x00012718 0x00000a40 SET_32 advapi32.dll_RegCloseKey
0x00012726 0x00000a44 SET_32 advapi32.dll_OpenProcessToken
0x0001273a 0x00000a48 SET_32 advapi32.dll_LookupAccountNameA
0x00012750 0x00000a4c SET_32 advapi32.dll_IsValidSid
0x0001275e 0x00000a50 SET_32 advapi32.dll_GetUserNameA
0x0001277c 0x00000a58 SET_32 kernel32.dll_lstrlenA
0x00012788 0x00000a5c SET_32 kernel32.dll_lstrcmpiA
0x00012794 0x00000a60 SET_32 kernel32.dll_WriteProcessMemory
0x000127aa 0x00000a64 SET_32 kernel32.dll_WriteFile
0x000127b6 0x00000a68 SET_32 kernel32.dll_WaitForSingleObject
0x000127cc 0x00000a6c SET_32 kernel32.dll_VirtualProtect
0x000127de 0x00000a70 SET_32 kernel32.dll_VirtualFree
0x000127ec 0x00000a74 SET_32 kernel32.dll_VirtualAllocEx
0x000127fe 0x00000a78 SET_32 kernel32.dll_VirtualAlloc
0x0001280e 0x00000a7c SET_32 kernel32.dll_Sleep
0x00012816 0x00000a80 SET_32 kernel32.dll_SizeofResource
0x00012828 0x00000a84 SET_32 kernel32.dll_SetFilePointer
0x0001283a 0x00000a88 SET_32 kernel32.dll_SetFileAttributesA
0x00012850 0x00000a8c SET_32 kernel32.dll_ReadProcessMemory
0x00012864 0x00000a90 SET_32 kernel32.dll_ReadFile
0x00012870 0x00000a94 SET_32 kernel32.dll_OpenProcess
0x0001287e 0x00000a98 SET_32 kernel32.dll_LockResource
0x0001288e 0x00000a9c SET_32 kernel32.dll_LoadResource
0x0001289e 0x00000aa0 SET_32 kernel32.dll_LoadLibraryA
0x000128ae 0x00000aa4 SET_32 kernel32.dll_GlobalFree
0x000128bc 0x00000aa8 SET_32 kernel32.dll_GetVersionExA
0x000128cc 0x00000aac SET_32 kernel32.dll_GetTickCount
0x000128dc 0x00000ab0 SET_32 kernel32.dll_GetProcAddress
0x000128ee 0x00000ab4 SET_32 kernel32.dll_GetPrivateProfileStringA
0x0001290a 0x00000ab8 SET_32 kernel32.dll_GetPrivateProfileIntA
0x00012922 0x00000abc SET_32 kernel32.dll_GetModuleHandleA
0x00012936 0x00000ac0 SET_32 kernel32.dll_GetLastError
0x00012946 0x00000ac4 SET_32 kernel32.dll_GetFileSize
0x00012954 0x00000ac8 SET_32 kernel32.dll_GetFileAttributesA
0x0001296a 0x00000acc SET_32 kernel32.dll_GetExitCodeThread
0x0001297e 0x00000ad0 SET_32 kernel32.dll_GetCurrentProcess
0x00012992 0x00000ad4 SET_32 kernel32.dll_FreeResource
0x000129a2 0x00000ad8 SET_32 kernel32.dll_FreeLibrary
0x000129b0 0x00000adc SET_32 kernel32.dll_FindResourceA
0x000129c0 0x00000ae0 SET_32 kernel32.dll_FindFirstFileA
0x000129d2 0x00000ae4 SET_32 kernel32.dll_FindClose
0x000129de 0x00000ae8 SET_32 kernel32.dll_ExitProcess
0x000129ec 0x00000aec SET_32 kernel32.dll_DeleteFileA
0x000129fa 0x00000af0 SET_32 kernel32.dll_CreateRemoteThread
0x00012a10 0x00000af4 SET_32 kernel32.dll_CreateProcessA
0x00012a22 0x00000af8 SET_32 kernel32.dll_CreateMutexA
0x00012a32 0x00000afc SET_32 kernel32.dll_CreateFileA
0x00012a40 0x00000b00 SET_32 kernel32.dll_CreateDirectoryA
0x00012a54 0x00000b04 SET_32 kernel32.dll_CopyFileA
0x00012a60 0x00000b08 SET_32 kernel32.dll_CloseHandle
0x00012a7a 0x00000b10 SET_32 user32.dll_wvsprintfA
0x00012a88 0x00000b14 SET_32 user32.dll_TranslateMessage
0x00012a9c 0x00000b18 SET_32 user32.dll_ToAscii
0x00012aa6 0x00000b1c SET_32 user32.dll_SetWindowsHookExA
0x00012aba 0x00000b20 SET_32 user32.dll_PeekMessageA
0x00012aca 0x00000b24 SET_32 user32.dll_GetWindowThreadProcessId
0x00012ae6 0x00000b28 SET_32 user32.dll_GetKeyboardState
0x00012afa 0x00000b2c SET_32 user32.dll_FindWindowA
0x00012b08 0x00000b30 SET_32 user32.dll_DispatchMessageA
0x00012b1c 0x00000b34 SET_32 user32.dll_CharLowerA
0x00012b2a 0x00000b38 SET_32 user32.dll_CharUpperA
0x00012b42 0x00000b40 SET_32 ole32.dll_OleInitialize
0x00012b52 0x00000b44 SET_32 ole32.dll_CoCreateInstance
0x00012b70 0x00000b4c SET_32 ole32.dll_CoTaskMemFree
0x00012b8c 0x00000b54 SET_32 pstorec.dll_PStoreCreateInstance
0x00012bae 0x00000b5c SET_32 ole32.dll_StringFromCLSID
0x00012bce 0x00000b64 SET_32 rasapi32.dll_RasGetEntryDialParamsA
0x00012be8 0x00000b68 SET_32 rasapi32.dll_RasEnumEntriesA
0x00012c06 0x00000b70 SET_32 shell32.dll_SHGetSpecialFolderPathA
0x00012c2e 0x00000b78 SET_32 advapi32.dll_LsaFreeMemory
0x00012c3e 0x00000b7c SET_32 advapi32.dll_LsaClose
0x00012c4a 0x00000b80 SET_32 advapi32.dll_LsaRetrievePrivateData
0x00012c64 0x00000b84 SET_32 advapi32.dll_LsaOpenPolicy
0x00012c74 0x00000b88 SET_32 advapi32.dll_ConvertSidToStringSidA
0x00012c9a 0x00000b90 SET_32 crypt32.dll_CryptUnprotectData
0x00012cbe 0x00000b98 SET_32 advapi32.dll_CredEnumerateA
0x00012cde 0x00000ba0 SET_32 advapi32.dll_CryptDestroyHash
0x00012cf2 0x00000ba4 SET_32 advapi32.dll_CryptHashData
0x00012d02 0x00000ba8 SET_32 advapi32.dll_CryptCreateHash
0x00012d14 0x00000bac SET_32 advapi32.dll_CryptGetHashParam
0x00012d28 0x00000bb0 SET_32 advapi32.dll_CryptReleaseContext
0x00012d3e 0x00000bb4 SET_32 advapi32.dll_CryptAcquireContextA
0x000123ca 0x0000097c SET_32 kernel32.dll_DeleteCriticalSection
0x000123e2 0x00000980 SET_32 kernel32.dll_LeaveCriticalSection
0x000123fa 0x00000984 SET_32 kernel32.dll_EnterCriticalSection
0x00012412 0x00000988 SET_32 kernel32.dll_InitializeCriticalSection
0x0001242e 0x0000098c SET_32 kernel32.dll_VirtualFree
0x0001243c 0x00000990 SET_32 kernel32.dll_VirtualAlloc
0x0001244c 0x00000994 SET_32 kernel32.dll_LocalFree
0x00012458 0x00000998 SET_32 kernel32.dll_LocalAlloc
0x00012466 0x0000099c SET_32 kernel32.dll_GetVersion
0x00012474 0x000009a0 SET_32 kernel32.dll_GetCurrentThreadId
0x0001248a 0x000009a4 SET_32 kernel32.dll_WideCharToMultiByte
0x000124a0 0x000009a8 SET_32 kernel32.dll_MultiByteToWideChar
0x000124b6 0x000009ac SET_32 kernel32.dll_GetThreadLocale
0x000124c8 0x000009b0 SET_32 kernel32.dll_GetStartupInfoA
0x000124da 0x000009b4 SET_32 kernel32.dll_GetModuleFileNameA
0x000124f0 0x000009b8 SET_32 kernel32.dll_GetLocaleInfoA
0x00012502 0x000009bc SET_32 kernel32.dll_GetCommandLineA
0x00012514 0x000009c0 SET_32 kernel32.dll_FreeLibrary
0x00012522 0x000009c4 SET_32 kernel32.dll_ExitProcess
0x00012530 0x000009c8 SET_32 kernel32.dll_WriteFile
0x0001253c 0x000009cc SET_32 kernel32.dll_UnhandledExceptionFilter
0x00012558 0x000009d0 SET_32 kernel32.dll_RtlUnwind
0x00012564 0x000009d4 SET_32 kernel32.dll_RaiseException
0x00012576 0x000009d8 SET_32 kernel32.dll_GetStdHandle
0x00012592 0x000009e0 SET_32 user32.dll_GetKeyboardType
0x000125a4 0x000009e4 SET_32 user32.dll_MessageBoxA
0x000125b2 0x000009e8 SET_32 user32.dll_CharNextA
0x000125cc 0x000009f0 SET_32 advapi32.dll_RegQueryValueExA
0x000125e0 0x000009f4 SET_32 advapi32.dll_RegOpenKeyExA
0x000125f0 0x000009f8 SET_32 advapi32.dll_RegCloseKey
0x0001260c 0x00000a00 SET_32 oleaut32.dll_SysFreeString
0x0001261c 0x00000a04 SET_32 oleaut32.dll_SysReAllocStringLen
0x00012632 0x00000a08 SET_32 oleaut32.dll_SysAllocStringLen
0x00012654 0x00000a10 SET_32 kernel32.dll_TlsSetValue
0x00012662 0x00000a14 SET_32 kernel32.dll_TlsGetValue
0x00012670 0x00000a18 SET_32 kernel32.dll_LocalAlloc
0x0001267e 0x00000a1c SET_32 kernel32.dll_GetModuleHandleA
0x000126a0 0x00000a24 SET_32 advapi32.dll_RegSetValueExA
0x000126b2 0x00000a28 SET_32 advapi32.dll_RegQueryValueExA
0x000126c6 0x00000a2c SET_32 advapi32.dll_RegOpenKeyExA
0x000126d6 0x00000a30 SET_32 advapi32.dll_RegEnumValueA
0x000126e6 0x00000a34 SET_32 advapi32.dll_RegDeleteKeyA
0x000126f6 0x00000a38 SET_32 advapi32.dll_RegCreateKeyExA
0x00012708 0x00000a3c SET_32 advapi32.dll_RegCreateKeyA
0x00012718 0x00000a40 SET_32 advapi32.dll_RegCloseKey
0x00012726 0x00000a44 SET_32 advapi32.dll_OpenProcessToken
0x0001273a 0x00000a48 SET_32 advapi32.dll_LookupAccountNameA
0x00012750 0x00000a4c SET_32 advapi32.dll_IsValidSid
0x0001275e 0x00000a50 SET_32 advapi32.dll_GetUserNameA
0x0001277c 0x00000a58 SET_32 kernel32.dll_lstrlenA
0x00012788 0x00000a5c SET_32 kernel32.dll_lstrcmpiA
0x00012794 0x00000a60 SET_32 kernel32.dll_WriteProcessMemory
0x000127aa 0x00000a64 SET_32 kernel32.dll_WriteFile
0x000127b6 0x00000a68 SET_32 kernel32.dll_WaitForSingleObject
0x000127cc 0x00000a6c SET_32 kernel32.dll_VirtualProtect
0x000127de 0x00000a70 SET_32 kernel32.dll_VirtualFree
0x000127ec 0x00000a74 SET_32 kernel32.dll_VirtualAllocEx
0x000127fe 0x00000a78 SET_32 kernel32.dll_VirtualAlloc
0x0001280e 0x00000a7c SET_32 kernel32.dll_Sleep
0x00012816 0x00000a80 SET_32 kernel32.dll_SizeofResource
0x00012828 0x00000a84 SET_32 kernel32.dll_SetFilePointer
0x0001283a 0x00000a88 SET_32 kernel32.dll_SetFileAttributesA
0x00012850 0x00000a8c SET_32 kernel32.dll_ReadProcessMemory
0x00012864 0x00000a90 SET_32 kernel32.dll_ReadFile
0x00012870 0x00000a94 SET_32 kernel32.dll_OpenProcess
0x0001287e 0x00000a98 SET_32 kernel32.dll_LockResource
0x0001288e 0x00000a9c SET_32 kernel32.dll_LoadResource
0x0001289e 0x00000aa0 SET_32 kernel32.dll_LoadLibraryA
0x000128ae 0x00000aa4 SET_32 kernel32.dll_GlobalFree
0x000128bc 0x00000aa8 SET_32 kernel32.dll_GetVersionExA
0x000128cc 0x00000aac SET_32 kernel32.dll_GetTickCount
0x000128dc 0x00000ab0 SET_32 kernel32.dll_GetProcAddress
0x000128ee 0x00000ab4 SET_32 kernel32.dll_GetPrivateProfileStringA
0x0001290a 0x00000ab8 SET_32 kernel32.dll_GetPrivateProfileIntA
0x00012922 0x00000abc SET_32 kernel32.dll_GetModuleHandleA
0x00012936 0x00000ac0 SET_32 kernel32.dll_GetLastError
0x00012946 0x00000ac4 SET_32 kernel32.dll_GetFileSize
0x00012954 0x00000ac8 SET_32 kernel32.dll_GetFileAttributesA
0x0001296a 0x00000acc SET_32 kernel32.dll_GetExitCodeThread
0x0001297e 0x00000ad0 SET_32 kernel32.dll_GetCurrentProcess
0x00012992 0x00000ad4 SET_32 kernel32.dll_FreeResource
0x000129a2 0x00000ad8 SET_32 kernel32.dll_FreeLibrary
0x000129b0 0x00000adc SET_32 kernel32.dll_FindResourceA
0x000129c0 0x00000ae0 SET_32 kernel32.dll_FindFirstFileA
0x000129d2 0x00000ae4 SET_32 kernel32.dll_FindClose
0x000129de 0x00000ae8 SET_32 kernel32.dll_ExitProcess
0x000129ec 0x00000aec SET_32 kernel32.dll_DeleteFileA
0x000129fa 0x00000af0 SET_32 kernel32.dll_CreateRemoteThread
0x00012a10 0x00000af4 SET_32 kernel32.dll_CreateProcessA
0x00012a22 0x00000af8 SET_32 kernel32.dll_CreateMutexA
0x00012a32 0x00000afc SET_32 kernel32.dll_CreateFileA
0x00012a40 0x00000b00 SET_32 kernel32.dll_CreateDirectoryA
0x00012a54 0x00000b04 SET_32 kernel32.dll_CopyFileA
0x00012a60 0x00000b08 SET_32 kernel32.dll_CloseHandle
0x00012a7a 0x00000b10 SET_32 user32.dll_wvsprintfA
0x00012a88 0x00000b14 SET_32 user32.dll_TranslateMessage
0x00012a9c 0x00000b18 SET_32 user32.dll_ToAscii
0x00012aa6 0x00000b1c SET_32 user32.dll_SetWindowsHookExA
0x00012aba 0x00000b20 SET_32 user32.dll_PeekMessageA
0x00012aca 0x00000b24 SET_32 user32.dll_GetWindowThreadProcessId
0x00012ae6 0x00000b28 SET_32 user32.dll_GetKeyboardState
0x00012afa 0x00000b2c SET_32 user32.dll_FindWindowA
0x00012b08 0x00000b30 SET_32 user32.dll_DispatchMessageA
0x00012b1c 0x00000b34 SET_32 user32.dll_CharLowerA
0x00012b2a 0x00000b38 SET_32 user32.dll_CharUpperA
0x00012b42 0x00000b40 SET_32 ole32.dll_OleInitialize
0x00012b52 0x00000b44 SET_32 ole32.dll_CoCreateInstance
0x00012b70 0x00000b4c SET_32 ole32.dll_CoTaskMemFree
0x00012b8c 0x00000b54 SET_32 pstorec.dll_PStoreCreateInstance
0x00012bae 0x00000b5c SET_32 ole32.dll_StringFromCLSID
0x00012bce 0x00000b64 SET_32 rasapi32.dll_RasGetEntryDialParamsA
0x00012be8 0x00000b68 SET_32 rasapi32.dll_RasEnumEntriesA
0x00012c06 0x00000b70 SET_32 shell32.dll_SHGetSpecialFolderPathA
0x00012c2e 0x00000b78 SET_32 advapi32.dll_LsaFreeMemory
0x00012c3e 0x00000b7c SET_32 advapi32.dll_LsaClose
0x00012c4a 0x00000b80 SET_32 advapi32.dll_LsaRetrievePrivateData
0x00012c64 0x00000b84 SET_32 advapi32.dll_LsaOpenPolicy
0x00012c74 0x00000b88 SET_32 advapi32.dll_ConvertSidToStringSidA
0x00012c9a 0x00000b90 SET_32 crypt32.dll_CryptUnprotectData
0x00012cbe 0x00000b98 SET_32 advapi32.dll_CredEnumerateA
0x00012cde 0x00000ba0 SET_32 advapi32.dll_CryptDestroyHash
0x00012cf2 0x00000ba4 SET_32 advapi32.dll_CryptHashData
0x00012d02 0x00000ba8 SET_32 advapi32.dll_CryptCreateHash
0x00012d14 0x00000bac SET_32 advapi32.dll_CryptGetHashParam
0x00012d28 0x00000bb0 SET_32 advapi32.dll_CryptReleaseContext
0x00012d3e 0x00000bb4 SET_32 advapi32.dll_CryptAcquireContextA
126 relocations

View File

@ -32,9 +32,9 @@ FILE=../bins/xbe/default.xbe
EXPECT=<<EOF
[Symbols]
nth paddr vaddr bind type size name
----------------------------------------------
0 0x000016c0 0x000116c0 NONE NONE 4 kt.vsnprintf
nth paddr vaddr bind type size lib name
--------------------------------------------------
0 0x000016c0 0x000116c0 NONE NONE 4 kt.vsnprintf
EOF
CMDS=<<EOF
is

View File

@ -245,10 +245,10 @@ FILE=../bins/mach0/fatmach0-3true
CMDS=!rabin2 -a x86 -b 32 -i ${R2_FILE}
EXPECT=<<RUN
[Imports]
nth vaddr bind type name
-----------------------------
0 0x00001f94 NONE FUNC exit
1 0x00000000 NONE FUNC dyld_stub_binder
nth vaddr bind type lib name
---------------------------------
0 0x00001f94 NONE FUNC exit
1 0x00000000 NONE FUNC dyld_stub_binder
RUN
@ -257,10 +257,10 @@ FILE=../bins/mach0/fatmach0-3true
CMDS=!rabin2 -G 0x5000 -i ${R2_FILE}
EXPECT=<<RUN
[Imports]
nth vaddr bind type name
-----------------------------
0 0x00001f94 NONE FUNC exit
1 0x00000000 NONE FUNC dyld_stub_binder
nth vaddr bind type lib name
---------------------------------
0 0x00001f94 NONE FUNC exit
1 0x00000000 NONE FUNC dyld_stub_binder
RUN
@ -446,81 +446,81 @@ vaddr=0x080483b0 paddr=0x000003b0 hvaddr=0x080495a0 hpaddr=0x000005a0 type=fini
[Main]
vaddr=0x08048400 paddr=0x00000400
[Imports]
nth vaddr bind type name
---------------------------------
1 0x080482d0 GLOBAL FUNC puts
2 0x080482e0 WEAK NOTYPE __gmon_start__
3 0x080482f0 GLOBAL FUNC __libc_start_main
nth vaddr bind type lib name
-------------------------------------
1 0x080482d0 GLOBAL FUNC puts
2 0x080482e0 WEAK NOTYPE __gmon_start__
3 0x080482f0 GLOBAL FUNC __libc_start_main
[Symbols]
nth paddr vaddr bind type size name
--------------------------------------------------
4 0x000004ac 0x080484ac GLOBAL OBJ 4 _IO_stdin_used
1 0x00000134 0x08048134 LOCAL SECT 0 .interp
2 0x00000148 0x08048148 LOCAL SECT 0 .note.ABI-tag
3 0x00000168 0x08048168 LOCAL SECT 0 .note.gnu.build-id
4 0x0000018c 0x0804818c LOCAL SECT 0 .gnu.hash
5 0x000001ac 0x080481ac LOCAL SECT 0 .dynsym
6 0x000001fc 0x080481fc LOCAL SECT 0 .dynstr
7 0x00000246 0x08048246 LOCAL SECT 0 .gnu.version
8 0x00000250 0x08048250 LOCAL SECT 0 .gnu.version_r
9 0x00000270 0x08048270 LOCAL SECT 0 .rel.dyn
10 0x00000278 0x08048278 LOCAL SECT 0 .rel.plt
11 0x00000290 0x08048290 LOCAL SECT 0 .init
12 0x000002c0 0x080482c0 LOCAL SECT 0 .plt
13 0x00000300 0x08048300 LOCAL SECT 0 .text
14 0x00000494 0x08048494 LOCAL SECT 0 .fini
15 0x000004a8 0x080484a8 LOCAL SECT 0 .rodata
16 0x000004c0 0x080484c0 LOCAL SECT 0 .eh_frame_hdr
17 0x000004ec 0x080484ec LOCAL SECT 0 .eh_frame
18 0x0000059c 0x0804959c LOCAL SECT 0 .init_array
19 0x000005a0 0x080495a0 LOCAL SECT 0 .fini_array
20 0x000005a4 0x080495a4 LOCAL SECT 0 .jcr
21 0x000005a8 0x080495a8 LOCAL SECT 0 .dynamic
22 0x00000690 0x08049690 LOCAL SECT 0 .got
23 0x00000694 0x08049694 LOCAL SECT 0 .got.plt
24 0x000006ac 0x080496ac LOCAL SECT 0 .data
25 ---------- 0x080496b4 LOCAL SECT 0 .bss
26 ---------- 0x00000000 LOCAL SECT 0 .comment
27 ---------- 0x00000000 LOCAL FILE 0 init.c
28 ---------- 0x00000000 LOCAL FILE 0
29 ---------- 0x00000000 LOCAL FILE 0 crtstuff.c
30 0x000005a4 0x080495a4 LOCAL OBJ 0 __JCR_LIST__
31 0x00000340 0x08048340 LOCAL FUNC 0 deregister_tm_clones
32 0x00000370 0x08048370 LOCAL FUNC 0 register_tm_clones
33 0x000003b0 0x080483b0 LOCAL FUNC 0 __do_global_dtors_aux
34 ---------- 0x080496b4 LOCAL OBJ 1 completed.5979
35 0x000005a0 0x080495a0 LOCAL OBJ 0 __do_global_dtors_aux_fini_array_entry
36 0x000003d0 0x080483d0 LOCAL FUNC 0 frame_dummy
37 0x0000059c 0x0804959c LOCAL OBJ 0 __frame_dummy_init_array_entry
38 ---------- 0x00000000 LOCAL FILE 0 hello.c
39 ---------- 0x00000000 LOCAL FILE 0 crtstuff.c
40 0x00000598 0x08048598 LOCAL OBJ 0 __FRAME_END__
41 0x000005a4 0x080495a4 LOCAL OBJ 0 __JCR_END__
42 ---------- 0x00000000 LOCAL FILE 0
43 0x000005a0 0x080495a0 LOCAL NOTYPE 0 __init_array_end
44 0x000005a8 0x080495a8 LOCAL OBJ 0 _DYNAMIC
45 0x0000059c 0x0804959c LOCAL NOTYPE 0 __init_array_start
46 0x00000694 0x08049694 LOCAL OBJ 0 _GLOBAL_OFFSET_TABLE_
47 0x00000490 0x08048490 GLOBAL FUNC 2 __libc_csu_fini
49 0x00000330 0x08048330 GLOBAL FUNC 4 __x86.get_pc_thunk.bx
50 0x000006ac 0x080496ac WEAK NOTYPE 0 data_start
51 ---------- 0x080496b4 GLOBAL NOTYPE 0 _edata
52 0x00000494 0x08048494 GLOBAL FUNC 0 _fini
53 0x000006ac 0x080496ac GLOBAL NOTYPE 0 __data_start
56 0x000006b0 0x080496b0 GLOBAL OBJ 0 __dso_handle
59 0x00000420 0x08048420 GLOBAL FUNC 97 __libc_csu_init
60 ---------- 0x080496b8 GLOBAL NOTYPE 0 _end
61 0x00000300 0x08048300 GLOBAL FUNC 0 _start
62 0x000004a8 0x080484a8 GLOBAL OBJ 4 _fp_hw
63 ---------- 0x080496b4 GLOBAL NOTYPE 0 __bss_start
64 0x00000400 0x08048400 GLOBAL FUNC 28 main
66 ---------- 0x080496b4 GLOBAL OBJ 0 __TMC_END__
68 0x00000290 0x08048290 GLOBAL FUNC 0 _init
1 0x000002d0 0x080482d0 GLOBAL FUNC 16 imp.puts
2 0x000002e0 0x080482e0 WEAK NOTYPE 16 imp.__gmon_start__
3 0x000002f0 0x080482f0 GLOBAL FUNC 16 imp.__libc_start_main
nth paddr vaddr bind type size lib name
------------------------------------------------------
4 0x000004ac 0x080484ac GLOBAL OBJ 4 _IO_stdin_used
1 0x00000134 0x08048134 LOCAL SECT 0 .interp
2 0x00000148 0x08048148 LOCAL SECT 0 .note.ABI-tag
3 0x00000168 0x08048168 LOCAL SECT 0 .note.gnu.build-id
4 0x0000018c 0x0804818c LOCAL SECT 0 .gnu.hash
5 0x000001ac 0x080481ac LOCAL SECT 0 .dynsym
6 0x000001fc 0x080481fc LOCAL SECT 0 .dynstr
7 0x00000246 0x08048246 LOCAL SECT 0 .gnu.version
8 0x00000250 0x08048250 LOCAL SECT 0 .gnu.version_r
9 0x00000270 0x08048270 LOCAL SECT 0 .rel.dyn
10 0x00000278 0x08048278 LOCAL SECT 0 .rel.plt
11 0x00000290 0x08048290 LOCAL SECT 0 .init
12 0x000002c0 0x080482c0 LOCAL SECT 0 .plt
13 0x00000300 0x08048300 LOCAL SECT 0 .text
14 0x00000494 0x08048494 LOCAL SECT 0 .fini
15 0x000004a8 0x080484a8 LOCAL SECT 0 .rodata
16 0x000004c0 0x080484c0 LOCAL SECT 0 .eh_frame_hdr
17 0x000004ec 0x080484ec LOCAL SECT 0 .eh_frame
18 0x0000059c 0x0804959c LOCAL SECT 0 .init_array
19 0x000005a0 0x080495a0 LOCAL SECT 0 .fini_array
20 0x000005a4 0x080495a4 LOCAL SECT 0 .jcr
21 0x000005a8 0x080495a8 LOCAL SECT 0 .dynamic
22 0x00000690 0x08049690 LOCAL SECT 0 .got
23 0x00000694 0x08049694 LOCAL SECT 0 .got.plt
24 0x000006ac 0x080496ac LOCAL SECT 0 .data
25 ---------- 0x080496b4 LOCAL SECT 0 .bss
26 ---------- 0x00000000 LOCAL SECT 0 .comment
27 ---------- 0x00000000 LOCAL FILE 0 init.c
28 ---------- 0x00000000 LOCAL FILE 0
29 ---------- 0x00000000 LOCAL FILE 0 crtstuff.c
30 0x000005a4 0x080495a4 LOCAL OBJ 0 __JCR_LIST__
31 0x00000340 0x08048340 LOCAL FUNC 0 deregister_tm_clones
32 0x00000370 0x08048370 LOCAL FUNC 0 register_tm_clones
33 0x000003b0 0x080483b0 LOCAL FUNC 0 __do_global_dtors_aux
34 ---------- 0x080496b4 LOCAL OBJ 1 completed.5979
35 0x000005a0 0x080495a0 LOCAL OBJ 0 __do_global_dtors_aux_fini_array_entry
36 0x000003d0 0x080483d0 LOCAL FUNC 0 frame_dummy
37 0x0000059c 0x0804959c LOCAL OBJ 0 __frame_dummy_init_array_entry
38 ---------- 0x00000000 LOCAL FILE 0 hello.c
39 ---------- 0x00000000 LOCAL FILE 0 crtstuff.c
40 0x00000598 0x08048598 LOCAL OBJ 0 __FRAME_END__
41 0x000005a4 0x080495a4 LOCAL OBJ 0 __JCR_END__
42 ---------- 0x00000000 LOCAL FILE 0
43 0x000005a0 0x080495a0 LOCAL NOTYPE 0 __init_array_end
44 0x000005a8 0x080495a8 LOCAL OBJ 0 _DYNAMIC
45 0x0000059c 0x0804959c LOCAL NOTYPE 0 __init_array_start
46 0x00000694 0x08049694 LOCAL OBJ 0 _GLOBAL_OFFSET_TABLE_
47 0x00000490 0x08048490 GLOBAL FUNC 2 __libc_csu_fini
49 0x00000330 0x08048330 GLOBAL FUNC 4 __x86.get_pc_thunk.bx
50 0x000006ac 0x080496ac WEAK NOTYPE 0 data_start
51 ---------- 0x080496b4 GLOBAL NOTYPE 0 _edata
52 0x00000494 0x08048494 GLOBAL FUNC 0 _fini
53 0x000006ac 0x080496ac GLOBAL NOTYPE 0 __data_start
56 0x000006b0 0x080496b0 GLOBAL OBJ 0 __dso_handle
59 0x00000420 0x08048420 GLOBAL FUNC 97 __libc_csu_init
60 ---------- 0x080496b8 GLOBAL NOTYPE 0 _end
61 0x00000300 0x08048300 GLOBAL FUNC 0 _start
62 0x000004a8 0x080484a8 GLOBAL OBJ 4 _fp_hw
63 ---------- 0x080496b4 GLOBAL NOTYPE 0 __bss_start
64 0x00000400 0x08048400 GLOBAL FUNC 28 main
66 ---------- 0x080496b4 GLOBAL OBJ 0 __TMC_END__
68 0x00000290 0x08048290 GLOBAL FUNC 0 _init
1 0x000002d0 0x080482d0 GLOBAL FUNC 16 imp.puts
2 0x000002e0 0x080482e0 WEAK NOTYPE 16 imp.__gmon_start__
3 0x000002f0 0x080482f0 GLOBAL FUNC 16 imp.__libc_start_main
[Strings]
nth paddr vaddr len size section type string
-------------------------------------------------------
@ -571,10 +571,10 @@ libc.so.6
vaddr paddr type name
---------------------------------
0x08049690 0x00000690 SET_32 __gmon_start__
0x080496a0 0x000006a0 SET_32 puts
0x080496a4 0x000006a4 SET_32 __gmon_start__
0x080496a8 0x000006a8 SET_32 __libc_start_main
0x08049690 0x00000690 SET_32 __gmon_start__
0x080496a0 0x000006a0 SET_32 puts
0x080496a4 0x000006a4 SET_32 __gmon_start__
0x080496a8 0x000006a8 SET_32 __libc_start_main
4 relocations
@ -723,9 +723,9 @@ NAME=rabin2 -s right symbols
FILE=../bins/elf/libc.so.0
CMDS=!rabin2 -s ${R2_FILE} | grep 0002edb0
EXPECT=<<EOF
149 0x0002edb0 0x0002edb0 GLOBAL FUNC 356 getc_unlocked
402 0x0002edb0 0x0002edb0 GLOBAL FUNC 356 __fgetc_unlocked
980 0x0002edb0 0x0002edb0 GLOBAL FUNC 356 fgetc_unlocked
149 0x0002edb0 0x0002edb0 GLOBAL FUNC 356 getc_unlocked
402 0x0002edb0 0x0002edb0 GLOBAL FUNC 356 __fgetc_unlocked
980 0x0002edb0 0x0002edb0 GLOBAL FUNC 356 fgetc_unlocked
EOF
RUN
@ -883,9 +883,13 @@ RUN
NAME=rabin2 -E
FILE=../bins/pe/dll.dll
CMDS=!rabin2 -E ${R2_FILE} | grep -c dll_export
CMDS=!rabin2 -E ${R2_FILE}
EXPECT=<<EOF
1
[Exports]
nth paddr vaddr bind type size lib name
--------------------------------------------------------
0 0x00000224 0x01001024 GLOBAL FUNC 0 dll.dll export
EOF
RUN