From 50a573ac5c4755fa6aedb0281efb960e12377502 Mon Sep 17 00:00:00 2001 From: Sam Date: Fri, 5 Nov 2021 02:14:44 +0700 Subject: [PATCH] Bug fix --- RenJack/RenJack.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/RenJack/RenJack.cpp b/RenJack/RenJack.cpp index ce2a551..da2c3dd 100644 --- a/RenJack/RenJack.cpp +++ b/RenJack/RenJack.cpp @@ -306,7 +306,7 @@ std::vector> GetExports32(LPVOID pMap, bool bFu PDWORD pFunctions = reinterpret_cast(reinterpret_cast(pMap) + pExportDirectory->AddressOfFunctions - unDelta); PWORD pOrdinals = reinterpret_cast(reinterpret_cast(pMap) + pExportDirectory->AddressOfNameOrdinals - unDelta); - PCHAR* pNames = reinterpret_cast(reinterpret_cast(pMap) + pExportDirectory->AddressOfNames - unDelta); + PDWORD pNames = reinterpret_cast(reinterpret_cast(pMap) + pExportDirectory->AddressOfNames - unDelta); for (DWORD j = 0; j < pExportDirectory->NumberOfFunctions; ++j) { for (DWORD l = 0; l < pExportDirectory->NumberOfNames; ++l) { @@ -314,7 +314,7 @@ std::vector> GetExports32(LPVOID pMap, bool bFu //PRINT_INFO("Export: 0x%08X `%s`", unFunction, reinterpret_cast(pMap) + reinterpret_cast(pNames[l]) - unDelta); //std::tuple>() if (!bFunctionsOnly) { - vecData.push_back(std::tuple(&(pFunctions[j]), &(pOrdinals[l]), reinterpret_cast(pMap) + reinterpret_cast(pNames[l]) - unDelta)); + vecData.push_back(std::tuple(&(pFunctions[j]), &(pOrdinals[l]), reinterpret_cast(pMap) + pNames[l] - unDelta)); } else { for (DWORD k = 0; k < pFH->NumberOfSections; ++k) { @@ -323,7 +323,7 @@ std::vector> GetExports32(LPVOID pMap, bool bFu if ((reinterpret_cast(pFunction) >= reinterpret_cast(pRawOffset)) && (reinterpret_cast(pFunction) <= (reinterpret_cast(pRawOffset) + pFirstSection[k].SizeOfRawData))) { if ((pFirstSection[k].Characteristics & (IMAGE_SCN_CNT_CODE | IMAGE_SCN_MEM_EXECUTE | IMAGE_SCN_MEM_READ)) == pFirstSection[k].Characteristics) { - vecData.push_back(std::tuple(&(pFunctions[j]), &(pOrdinals[l]), reinterpret_cast(pMap) + reinterpret_cast(pNames[l]) - unDelta)); + vecData.push_back(std::tuple(&(pFunctions[j]), &(pOrdinals[l]), reinterpret_cast(pMap) + pNames[l] - unDelta)); } } } @@ -416,7 +416,7 @@ std::vector> GetExports64(LPVOID pMap, bool bFu PDWORD pFunctions = reinterpret_cast(reinterpret_cast(pMap) + pExportDirectory->AddressOfFunctions - unDelta); PWORD pOrdinals = reinterpret_cast(reinterpret_cast(pMap) + pExportDirectory->AddressOfNameOrdinals - unDelta); - PCHAR* pNames = reinterpret_cast(reinterpret_cast(pMap) + pExportDirectory->AddressOfNames - unDelta); + PDWORD pNames = reinterpret_cast(reinterpret_cast(pMap) + pExportDirectory->AddressOfNames - unDelta); for (DWORD j = 0; j < pExportDirectory->NumberOfFunctions; ++j) { for (DWORD l = 0; l < pExportDirectory->NumberOfNames; ++l) { @@ -424,7 +424,7 @@ std::vector> GetExports64(LPVOID pMap, bool bFu //PRINT_INFO("Export: 0x%08X `%s`", &(pFunctions[j]), reinterpret_cast(pMap) + reinterpret_cast(pNames[l]) - unDelta); //std::tuple>() if (!bFunctionsOnly) { - vecData.push_back(std::tuple(&(pFunctions[j]), &(pOrdinals[l]), reinterpret_cast(pMap) + reinterpret_cast(pNames[l]) - unDelta)); + vecData.push_back(std::tuple(&(pFunctions[j]), &(pOrdinals[l]), reinterpret_cast(pMap) + pNames[l] - unDelta)); } else { for (DWORD k = 0; k < pFH->NumberOfSections; ++k) { @@ -433,7 +433,7 @@ std::vector> GetExports64(LPVOID pMap, bool bFu if ((reinterpret_cast(pFunction) >= reinterpret_cast(pRawOffset)) && (reinterpret_cast(pFunction) <= (reinterpret_cast(pRawOffset) + pFirstSection[k].SizeOfRawData))) { if ((pFirstSection[k].Characteristics & (IMAGE_SCN_CNT_CODE | IMAGE_SCN_MEM_EXECUTE | IMAGE_SCN_MEM_READ)) == pFirstSection[k].Characteristics) { - vecData.push_back(std::tuple(&(pFunctions[j]), &(pOrdinals[l]), reinterpret_cast(pMap) + reinterpret_cast(pNames[l]) - unDelta)); + vecData.push_back(std::tuple(&(pFunctions[j]), &(pOrdinals[l]), reinterpret_cast(pMap) + pNames[l] - unDelta)); } } } @@ -697,7 +697,7 @@ std::vector Assembly64(ULONGLONG nBaseAddress, PCHAR szAsm) { } int main(int argc, char* argv[], char* envp[]) { - clrprintf(ConsoleColor::White, "RenJack by Ren (zeze839@gmail.com) [Version 2.2]\n\n"); + clrprintf(ConsoleColor::White, "RenJack by Ren (zeze839@gmail.com) [Version 2.2_1]\n\n"); char szMainFileName[32]; memset(szMainFileName, 0, sizeof(szMainFileName));