From 8cdd39d867c093b45c6b9ed8bbfa4ff1bb2e1834 Mon Sep 17 00:00:00 2001 From: ehgus607 Date: Sun, 1 Mar 2026 23:34:38 +0900 Subject: [PATCH 1/2] bug-fix:order args of `mmap` --- src/e9tool/e9frontend.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/e9tool/e9frontend.cpp b/src/e9tool/e9frontend.cpp index 080e751..1ac5f4a 100644 --- a/src/e9tool/e9frontend.cpp +++ b/src/e9tool/e9frontend.cpp @@ -895,7 +895,7 @@ ELF *e9tool::parseELF(const char *filename, intptr_t base) strerror(errno)); size_t size = (size_t)stat.st_size; - void *ptr = mmap(NULL, size, MAP_SHARED, PROT_READ, fd, 0); + void *ptr = mmap(NULL, size, PROT_READ, MAP_SHARED, fd, 0); if (ptr == MAP_FAILED) error("failed to map file \"%s\" into memory: %s", filename, strerror(errno)); @@ -1355,7 +1355,7 @@ ELF *e9tool::parsePE(const char *filename) strerror(errno)); size_t size = (size_t)stat.st_size; - void *ptr = mmap(NULL, size, MAP_SHARED, PROT_READ, fd, 0); + void *ptr = mmap(NULL, size, PROT_READ, MAP_SHARED, fd, 0); if (ptr == MAP_FAILED) error("failed to map file \"%s\" into memory: %s", filename, strerror(errno)); From d03f658ae46a0dccfaac2b29538a3fe76feae9b5 Mon Sep 17 00:00:00 2001 From: ehgus607 Date: Sun, 1 Mar 2026 23:59:41 +0900 Subject: [PATCH 2/2] bug-fix:condition of RIP-relative LEA --- src/e9patch/e9CFR.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/e9patch/e9CFR.cpp b/src/e9patch/e9CFR.cpp index 1e334c8..4c96ca3 100644 --- a/src/e9patch/e9CFR.cpp +++ b/src/e9patch/e9CFR.cpp @@ -241,7 +241,7 @@ void targetAnalysis(Binary *B) uint8_t modRM = data[j+2]; uint8_t mod = (modRM & 0xc0) >> 6; uint8_t rm = modRM & 0x7; - if (mod != 0x00 && rm != 0x05) + if (mod != 0x00 || rm != 0x05) continue; target = j + 7 + *(int32_t *)(data + j + 3); if (target >= 0 && target % sizeof(int32_t) == 0)