diff options
| -rw-r--r-- | ChangeLog | 5 | ||||
| -rw-r--r-- | src/glibext/generators/prologue.c | 18 | 
2 files changed, 22 insertions, 1 deletions
| @@ -1,3 +1,8 @@ +17-08-15  Cyrille Bagard <nocbos@gmail.com> + +	* src/glibext/generators/prologue.c: +	Find a location for disassembly prologues in all cases. +  17-08-13  Cyrille Bagard <nocbos@gmail.com>  	* src/glibext/gbufferview.c: diff --git a/src/glibext/generators/prologue.c b/src/glibext/generators/prologue.c index 03db327..00259d0 100644 --- a/src/glibext/generators/prologue.c +++ b/src/glibext/generators/prologue.c @@ -225,7 +225,23 @@ GIntroGenerator *g_intro_generator_new(const GBinFormat *format, const GCodingLa      vmpa2t first;                           /* Première position           */      if (!g_exe_format_translate_offset_into_vmpa(G_EXE_FORMAT(format), 0, &first)) -        return NULL; +    { +        /** +         * Dans les faits, le premier octet d'en-tête est toujours chargé en mémoire +         * (du moins chez les ELF). +         * +         * Cependant, il s'agit plus d'une facilité que d'une contrainte. Donc rien +         * n'empêcherait la position 0 de ne pas avoir de correspondance en mémoire +         * virtuelle. +         * +         * Dans tous les cas, la mise en place d'un prologue est attendue, et on ne +         * peut donc pas échouer ici, que la correspondance existe ou non. On fait +         * ainsi avec le peu qu'on sait. +         */ + +        init_vmpa(&first, 0, VMPA_NO_VIRTUAL); + +    }      result = g_object_new(G_TYPE_INTRO_GENERATOR, NULL); | 
