diff options
| author | Cyrille Bagard <nocbos@gmail.com> | 2008-11-10 01:28:23 (GMT) | 
|---|---|---|
| committer | Cyrille Bagard <nocbos@gmail.com> | 2008-11-10 01:28:23 (GMT) | 
| commit | 12b4201890b4b2eefffaa6615b4b3076253dff6f (patch) | |
| tree | 3756393810dc392658de2e05fc2589cbd119b2a8 /src/format | |
| parent | 7c7109c1a8aaedea40af4b96d4b81d6ba4496226 (diff) | |
Shown/hidden virtual addresses / binary code.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@41 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'src/format')
| -rw-r--r-- | src/format/elf/symbol.c | 2 | ||||
| -rw-r--r-- | src/format/exe_format.c | 29 | ||||
| -rw-r--r-- | src/format/exe_format.h | 2 | 
3 files changed, 32 insertions, 1 deletions
| diff --git a/src/format/elf/symbol.c b/src/format/elf/symbol.c index 4b7740d..c8a0dac 100644 --- a/src/format/elf/symbol.c +++ b/src/format/elf/symbol.c @@ -513,7 +513,7 @@ asm_instr **decode_elf_relocations(elf_format *format, size_t *count)      {          offset = rel_vaddress + pos; -        instr = decode_instruction(proc, &EXE_FORMAT(format)->content[rel_start], &pos, rel_size, offset); +        instr = decode_instruction(proc, &EXE_FORMAT(format)->content[rel_start], &pos, rel_size, 0/* FIXME*/, offset);          result = (asm_instr **)realloc(result, ++(*count) * sizeof(asm_instr *));          result[*count - 1] = instr; diff --git a/src/format/exe_format.c b/src/format/exe_format.c index 30976f1..7fcbcfb 100644 --- a/src/format/exe_format.c +++ b/src/format/exe_format.c @@ -166,6 +166,35 @@ void delete_bin_part(bin_part *part)  /* ---------------------------------------------------------------------------------- */ + + + + +/****************************************************************************** +*                                                                             * +*  Paramètres  : format = description de l'exécutable à consulter.            * +*                target = nom de la section recherchée.                       * +*                length = taille du contenu à fournir. [OUT]                  * +*                                                                             * +*  Description : Fournit une référence vers le contenu binaire analysé.       * +*                                                                             * +*  Retour      : Adresse du tampon contenant le contenu du binaire.           * +*                                                                             * +*  Remarques   : -                                                            * +*                                                                             * +******************************************************************************/ + +const uint8_t *get_exe_content(const exe_format *format, off_t *length) +{ +    if (length != NULL) *length = format->length; + +    return format->content; + +} + + + +  /******************************************************************************  *                                                                             *  *  Paramètres  : format  = description de l'exécutable à consulter.           * diff --git a/src/format/exe_format.h b/src/format/exe_format.h index 9be91fb..8e4932f 100644 --- a/src/format/exe_format.h +++ b/src/format/exe_format.h @@ -78,6 +78,8 @@ typedef enum _ResolvedType  } ResolvedType; +/* Fournit une référence vers le contenu binaire analysé. */ +const uint8_t *get_exe_content(const exe_format *, off_t *);  /* Recherche une section donnée au sein de binaire. */  bool find_exe_section(const exe_format *, const char *, off_t *, off_t *, uint64_t *); | 
