[Forensics-changes] [yara] 228/368: pe: Move, improve OptionalHeader macro

Hilko Bengen bengen at moszumanska.debian.org
Sat Jul 1 10:30:42 UTC 2017


This is an automated email from the git hooks/post-receive script.

bengen pushed a commit to annotated tag v3.5.0
in repository yara.

commit 5411431c3f6befe54b3d3bf8c4d4a2c1a8b2e192
Author: Hilko Bengen <bengen at hilluzination.de>
Date:   Tue Mar 15 21:41:46 2016 +0100

    pe: Move, improve OptionalHeader macro
---
 libyara/modules/pe.c | 35 ++++++++++++++++++-----------------
 1 file changed, 18 insertions(+), 17 deletions(-)

diff --git a/libyara/modules/pe.c b/libyara/modules/pe.c
index c7b88fd..ce16cc7 100644
--- a/libyara/modules/pe.c
+++ b/libyara/modules/pe.c
@@ -371,6 +371,12 @@ PIMAGE_DATA_DIRECTORY pe_get_directory_entry(
 }
 
 
+#define OptionalHeader(pe,field)                \
+  (IS_64BITS_PE(pe) ?                           \
+   pe->header64->OptionalHeader.field :         \
+   pe->header->OptionalHeader.field)
+
+
 int64_t pe_rva_to_offset(
     PE* pe,
     uint64_t rva)
@@ -1326,11 +1332,6 @@ void pe_parse_header(
   char section_name[IMAGE_SIZEOF_SHORT_NAME + 1];
   int i, scount;
 
-#define OptionalHeader(field) \
-    (IS_64BITS_PE(pe) ? \
-        pe->header64->OptionalHeader.field : \
-        pe->header->OptionalHeader.field)
-
   set_integer(
       pe->header->FileHeader.Machine,
       pe->object, "machine");
@@ -1349,48 +1350,48 @@ void pe_parse_header(
 
   set_integer(
       flags & SCAN_FLAGS_PROCESS_MEMORY ?
-        base_address + OptionalHeader(AddressOfEntryPoint) :
-        pe_rva_to_offset(pe, OptionalHeader(AddressOfEntryPoint)),
+        base_address + OptionalHeader(pe, AddressOfEntryPoint) :
+        pe_rva_to_offset(pe, OptionalHeader(pe, AddressOfEntryPoint)),
       pe->object, "entry_point");
 
   set_integer(
-      OptionalHeader(ImageBase),
+      OptionalHeader(pe, ImageBase),
       pe->object, "image_base");
 
   set_integer(
-      OptionalHeader(MajorLinkerVersion),
+      OptionalHeader(pe, MajorLinkerVersion),
       pe->object, "linker_version.major");
 
   set_integer(
-      OptionalHeader(MinorLinkerVersion),
+      OptionalHeader(pe, MinorLinkerVersion),
       pe->object, "linker_version.minor");
 
   set_integer(
-      OptionalHeader(MajorOperatingSystemVersion),
+      OptionalHeader(pe, MajorOperatingSystemVersion),
       pe->object, "os_version.major");
 
   set_integer(
-      OptionalHeader(MinorOperatingSystemVersion),
+      OptionalHeader(pe, MinorOperatingSystemVersion),
       pe->object, "os_version.minor");
 
   set_integer(
-      OptionalHeader(MajorImageVersion),
+      OptionalHeader(pe, MajorImageVersion),
       pe->object, "image_version.major");
 
   set_integer(
-      OptionalHeader(MinorImageVersion),
+      OptionalHeader(pe, MinorImageVersion),
       pe->object, "image_version.minor");
 
   set_integer(
-      OptionalHeader(MajorSubsystemVersion),
+      OptionalHeader(pe, MajorSubsystemVersion),
       pe->object, "subsystem_version.major");
 
   set_integer(
-      OptionalHeader(MinorSubsystemVersion),
+      OptionalHeader(pe, MinorSubsystemVersion),
       pe->object, "subsystem_version.minor");
 
   set_integer(
-      OptionalHeader(Subsystem),
+      OptionalHeader(pe, Subsystem),
       pe->object, "subsystem");
 
   pe_iterate_resources(

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/forensics/yara.git



More information about the forensics-changes mailing list