summaryrefslogtreecommitdiff
path: root/src/analysis/disass/dragon.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/analysis/disass/dragon.c')
-rw-r--r--src/analysis/disass/dragon.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/analysis/disass/dragon.c b/src/analysis/disass/dragon.c
index 04f5190..ad20b24 100644
--- a/src/analysis/disass/dragon.c
+++ b/src/analysis/disass/dragon.c
@@ -28,6 +28,9 @@
#include <malloc.h>
+#include "block.h"
+
+
/* ---------------------------- ENCAPSULATION DES NOEUDS ---------------------------- */
@@ -801,6 +804,7 @@ dragon_node *find_knight_node_for_instruction(const dragon_knight *knight, bool
/******************************************************************************
* *
* Paramètres : knight = rassemblement des complexités de code. *
+* binary = binaire contenant l'ensemble des instructions. *
* *
* Description : Traduit une complexité de noeuds en liste de blocs basiques. *
* *
@@ -810,7 +814,7 @@ dragon_node *find_knight_node_for_instruction(const dragon_knight *knight, bool
* *
******************************************************************************/
-GBlockList *translate_dragon_knight(const dragon_knight *knight)
+GBlockList *translate_dragon_knight(const dragon_knight *knight, GLoadedBinary *binary)
{
GBlockList *result; /* Liste à retourner */
dragon_node *nodes; /* Liste des noeuds détectés */
@@ -819,7 +823,7 @@ GBlockList *translate_dragon_knight(const dragon_knight *knight)
dragon_node *node; /* Noeud à traiter */
GArchInstruction *first; /* Première instruction */
GArchInstruction *last; /* Dernière instruction */
- GBasicBlock *block; /* Nouveau bloc basique */
+ GCodeBlock *block; /* Nouveau bloc basique */
get_dragon_knight_content(knight, &nodes, &count);
@@ -831,7 +835,7 @@ GBlockList *translate_dragon_knight(const dragon_knight *knight)
get_dragon_node_bounding_instructions(node, &first, &last);
- block = g_basic_block_new(first, last, node->bits);
+ block = g_basic_block_new(binary, first, last, node->bits);
g_block_list_add_block(result, block, i);