From effc180050a31fc976de96db47a2cca3dcafcbfc Mon Sep 17 00:00:00 2001 From: RamiLego4Game Date: Thu, 10 May 2018 13:37:05 +0300 Subject: [PATCH] Reached the sections table --- icon-changer.lua | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/icon-changer.lua b/icon-changer.lua index ef8fd57..588bac9 100644 --- a/icon-changer.lua +++ b/icon-changer.lua @@ -50,11 +50,7 @@ function icapi.extractIcon(exeFile) local NumberOfSections = decodeNumber(exeFile:read(2)) - exeFile:read(12) --Skip 3 long values (12 bytes). - - local SizeOfOptionalHeader = decodeNumber(exeFile:read(2)) - - exeFile:read(2) --Skip a short value (2 bytes) (Characteristics). + exeFile:read(16) --Skip 3 long values (12 bytes) and 2 short values (4 bytes). --PE Optional Header local PEOptionalHeaderSignature = decodeNumber(exeFile:read(2)) @@ -68,6 +64,18 @@ function icapi.extractIcon(exeFile) else return error("ROM images are not supported !") end + + exeFile:read(x64 and 106 or 90) --Skip 106 bytes for x64, and 90 bytes for x86 + + local NumberOfRvaAndSizes = decodeNumber(exeFile:read(4)) + + local DataDirectories = {} + + for i=1, NumberOfRvaAndSizes do + DataDirectories[i] = {decodeNumber(exeFile:read(4)), decodeNumber(exeFile:read(4))} + end + + --Sections Table end return icapi \ No newline at end of file