diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2023-08-18 00:07:39 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2023-08-18 00:07:39 (GMT) |
commit | 2424c52c4f3bc44ce5f36348442cfa103e0989c2 (patch) | |
tree | f68aea488f403b234d4fcc6fd6e0f7b88a628ac8 /src/analysis/scan/patterns/tokens/plain.h | |
parent | 1c5a0e67186def152536d9c506e2e6c3a3a265c5 (diff) |
Create some modifiers and handle match properties inside ROST.
Diffstat (limited to 'src/analysis/scan/patterns/tokens/plain.h')
-rw-r--r-- | src/analysis/scan/patterns/tokens/plain.h | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/src/analysis/scan/patterns/tokens/plain.h b/src/analysis/scan/patterns/tokens/plain.h index de1d4ec..80a0b4d 100644 --- a/src/analysis/scan/patterns/tokens/plain.h +++ b/src/analysis/scan/patterns/tokens/plain.h @@ -26,41 +26,44 @@ #include <glib-object.h> -#include <stdint.h> +#include "../modifier.h" #include "../../pattern.h" +#include "../../../../common/szstr.h" -#define G_TYPE_PLAIN_BYTES g_plain_bytes_get_type() -#define G_PLAIN_BYTES(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), G_TYPE_PLAIN_BYTES, GPlainBytes)) -#define G_IS_PLAIN_BYTES(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), G_TYPE_PLAIN_BYTES)) -#define G_PLAIN_BYTES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), G_TYPE_PLAIN_BYTES, GPlainBytesClass)) -#define G_IS_PLAIN_BYTES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), G_TYPE_PLAIN_BYTES)) -#define G_PLAIN_BYTES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), G_TYPE_PLAIN_BYTES, GPlainBytesClass)) +#define G_TYPE_SCAN_PLAIN_BYTES g_scan_plain_bytes_get_type() +#define G_SCAN_PLAIN_BYTES(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), G_TYPE_SCAN_PLAIN_BYTES, GScanPlainBytes)) +#define G_IS_SCAN_PLAIN_BYTES(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), G_TYPE_SCAN_PLAIN_BYTES)) +#define G_SCAN_PLAIN_BYTES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), G_TYPE_SCAN_PLAIN_BYTES, GScanPlainBytesClass)) +#define G_IS_SCAN_PLAIN_BYTES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), G_TYPE_SCAN_PLAIN_BYTES)) +#define G_SCAN_PLAIN_BYTES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), G_TYPE_SCAN_PLAIN_BYTES, GScanPlainBytesClass)) /* Représentation d'une suite d'octets à retrouver (instance) */ -typedef struct _GPlainBytes GPlainBytes; +typedef struct _GScanPlainBytes GScanPlainBytes; /* Représentation d'une suite d'octets à retrouver (classe) */ -typedef struct _GPlainBytesClass GPlainBytesClass; +typedef struct _GScanPlainBytesClass GScanPlainBytesClass; /* Propriétés d'un élément textuel à rechercher */ -typedef enum _StringTokenAttrib +typedef enum _ScanPlainBytesFlags { - STP_CASE_INSENSITIVE, + SPBF_NONE = 0x0, /* Aucune particularité */ + SPBF_CASE_INSENSITIVE = 0x1, /* Ignorance de la casse */ + SPBF_FULL_WORD = 0x2, /* Recherche de mot entier */ -} StringTokenAttrib; +} ScanPlainBytesFlags; /* Indique le type défini pour une suite d'octets à retrouver dans un binaire. */ -GType g_plain_bytes_get_type(void); +GType g_scan_plain_bytes_get_type(void); /* Construit un gestionnaire de recherche de texte brut. */ -GSearchPattern *g_plain_bytes_new(const uint8_t *, size_t); +GSearchPattern *g_scan_plain_bytes_new(const sized_binary_t *, GScanTokenModifier *, ScanPlainBytesFlags); |