MemoryModule icon indicating copy to clipboard operation
MemoryModule copied to clipboard

Cant load kernel32 windows 10 home

Open jazzybecker opened this issue 7 years ago • 7 comments

Since i update to this version, it cant load kernel32.dll that with previous version is work.

jazzybecker avatar Sep 22 '16 06:09 jazzybecker

What exactly is the previous and what is this version?

fancycode avatar Sep 22 '16 06:09 fancycode

the version 0.0.3 is work very good sir. why in this version cant load kernel32.dll from memory ?

jazzybecker avatar Sep 23 '16 19:09 jazzybecker

Windows 10 trying to load Kernel32.dll gives me ERROR_BAD_EXE_FORMAT at 512th line in MemoryModule.h :

    GetNativeSystemInfo(&sysInfo);
    alignedImageSize = AlignValueUp(old_header->OptionalHeader.SizeOfImage, sysInfo.dwPageSize);
    if (alignedImageSize != AlignValueUp(lastSectionEnd, sysInfo.dwPageSize)) {
        SetLastError(ERROR_BAD_EXE_FORMAT);
        return NULL;
    }

"%1 is not a valid Win32 application."

Shell32.dll loads and run fine.

MemoryModule loads the kernel32.dll without any problem if I just comment out that if check.

undergroundwires avatar Feb 06 '17 21:02 undergroundwires

Yes, I have the same problem when load "ntdll.dll" on win7 x64. It seems the alignment checking are failed, due to old_header->OptionalHeader.SectionAlignment is 0x1000 for normal dlls, but for ntdll is 0x10000, and the kernel32 is also 0x10000!

the previous version don't have AlignValueUp stuff, so should be work.

lynnux avatar Dec 10 '18 06:12 lynnux

Why do you want to load ntdll.dll or kernel32.dll into any running process? These are the first DLLs which Windows loads into ANY process as the first DLLs when the process is started. Use GetModuleHandle("ntdll.dll") or GetModuleHandle("kernel32.dll") instead!

Elmue avatar Jun 22 '20 18:06 Elmue

Very interesting what is the purpose to load kernel32 or ntdll with MemoryModule?

akasandra avatar Jun 23 '20 10:06 akasandra

Hello, sorry for late reply. Back then, i used to "cheat" on game that using nProtect. Yes it can direct syscall, but im too lazy writing shellcode for different Windows. xD

jazzybecker avatar Jun 30 '23 12:06 jazzybecker