diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2009-03-15 13:38:22 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2009-03-15 13:38:22 (GMT) |
commit | 4ad9e532a78401f787f0a8a6742095512b520488 (patch) | |
tree | 2b71914a52fc930be78939362b16756efe9caa68 /src/analysis/line.h | |
parent | a2b767b244e03f00c6a987bbd9872796ed385f47 (diff) |
Avoided to crash when analysing crackmes such as grainne.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@55 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'src/analysis/line.h')
-rw-r--r-- | src/analysis/line.h | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/src/analysis/line.h b/src/analysis/line.h index b0635bf..bb628b6 100644 --- a/src/analysis/line.h +++ b/src/analysis/line.h @@ -43,6 +43,15 @@ typedef enum _RenderingLineType } RenderingLineType; +/* Image à afficher en marge de ligne */ +typedef enum _RenderingLineFlag +{ + RLF_NONE = (0 << 0), /* Ligne commune */ + RLF_ENTRY_POINT = (1 << 0), /* Point d'entrée du prgm. */ + RLF_BREAK_POINT = (1 << 1) /* Point d'arrêt */ + +} RenderingLineFlag; + /* Passage de paramètres compact */ typedef struct _disass_options { @@ -60,6 +69,17 @@ typedef struct _disass_options typedef struct _rendering_line rendering_line; +/* Ajoute une information supplémentaire à une ligne. */ +void add_rendering_line_flag(rendering_line *, RenderingLineFlag); + +/* Retire une information supplémentaire d'une ligne. */ +void remove_rendering_line_flag(rendering_line *, RenderingLineFlag); + +/* Fournit les informations supplémentaires d'une ligne. */ +RenderingLineFlag get_rendering_line_flags(const rendering_line *); + + + /* Ajoute une ligne à un ensemble existant. */ void add_line_to_rendering_lines(rendering_line **, rendering_line *); @@ -67,6 +87,9 @@ void add_line_to_rendering_lines(rendering_line **, rendering_line *); /* Insère une ligne dans un ensemble existant. */ void insert_line_into_rendering_lines(rendering_line **, rendering_line *, bool); +/* Recherche une ligne d'après sa position en mémoire/physique. */ +rendering_line *find_offset_in_rendering_lines(const rendering_line **, uint64_t); + /* Met à jour la nombre d'octets maximale par instruction. */ @@ -79,7 +102,7 @@ void set_rendering_line_max_binary_len(rendering_line *, off_t); void get_rendering_line_size(rendering_line *, int *, int *); /* Procède à l'initialisation des bases d'une représentation. */ -void draw_rendering_line(rendering_line *, GdkDrawable *, GdkGC *, gint, gint); +void draw_rendering_line(rendering_line *, GdkDrawable *, GdkGC *, gint, gint, gint, gint); |