MemoryModulePP
MemoryModulePP copied to clipboard
MemoryModule which compatible with Win32 API and support exception handling
Service process crash with system permissions. X86 process running on win11 [10.0.22621.2361] 100% probability of crashing during startup RtlInitUnicodeString(&us, buffer); InitializeObjectAttributes(&oa, &us, 0, nullptr, nullptr); li.QuadPart = 0x1000; ServiceMessageBox("MmpAllocateGlobalData", "MmpAllocateGlobalData...
Hi, thank you for your great job. I compile MemoryModulePP to MemoryModulePP.dll I have host.exe that is dynamically linked with MemoryModulePP.dll Host.exe loads plugin.dll from byte[] using MemoryModulePP App crash...
`if (MmpGlobalDataPtr->MmpTls->MmpTlsList.Flink != &MmpGlobalDataPtr->MmpTls->MmpTlsList) { assert(NtCurrentTeb()->ThreadLocalStoragePointer == nullptr); }` file: MmpTls , line:378 不知道啥原因
Crash!!!
test.exe a normal exe with not use mmpp i comment this line:// const NTSTATUS Initializer = Initialize(); a.dll build with mmpp static libirary,export loaddll func void loaddll() { Initialize(); mmload("b.dll");...
想问下,如何使用这个来实现注入dll到指定进程
两层内存加载情况下,Win7下多线程程序不能运行,创建线程就会崩溃,单线程程序正常;多线程程序在Win10下正常 加载顺序:MemoryModule(https://github.com/fancycode/MemoryModule) -> MemoryModulePP binary -> APP binary 跟踪代码发现MmpTLS.cpp->MmpUserThreadStart中的auto size = CONTAINING_RECORED(record->TlspLdrBlock, TLS_VERCTOR, ModuleTlsData)->Length;获取到的size不正常,值为大数,但Win10中其是正常的 MemoryModulePP的API使用的LoadLibraryMemory 同时我注释掉了以下代码,以下代码会直接崩溃 auto tls = CONTAINING_RECORD(NtCurrentTeb()->ThreadLocalStoragePointer, TLS_VECTOR, TLS_VECTOR::ModuleTlsData); if (tls && tls->Length > MMP_START_TLS_INDEX) { RtlRaiseStatus(STATUS_NOT_SUPPORTED);...
OS:Win11 22H2 64为 编译环境:VS2022
请问是什么原因呀?
无论我加载任何dll,一旦执行这个VirtualAccessCheck就会报错 STATUS_ACCESS_VIOLATION  于是我尝试注释掉,无论如何返回True  这样做了之后一切工作正常 我不太清楚这个问题发生的原因 希望能修复吧
现象描述: 我先用loadlibrary加载一个dll,然后再用LdrLoadDllMemoryExW加载同样的dll,LdrLoadDllMemoryExW没有办法识别已经加载过的loadlibrary,无法对dll引用进行自增,而是重复执行dll加载代码。 无法识别的代码段: 函数位置LdrLoadDllMemoryExW->MapMemoryModuleHandle 具体代码:pModule->Signature != MEMORY_MODULE_SIGNATURE和pModule->codeBase != (LPBYTE)hModule都为true,导致返回结果为nullptr