Open lxwcv opened 3 months ago
bool MEM::FixCr3() { PVMMDLL_MAP_MODULEENTRY module_entry = NULL;
bool result = VMMDLL_Map_GetModuleFromNameU(this->vmm_handle, this->PID, const_cast<LPSTR>(client11().c_str()), &module_entry, NULL);
if (result)
return true;
if (!VMMDLL_InitializePlugins(this->vmm_handle))
{
return false;
}
std::this_thread::sleep_for(std::chrono::milliseconds(500));
while (true)
{
DWORD progress = 0;
bool success = VMMDLL_GetProgressFromMemory(this->vmm_handle, &progress);
if (success && progress == 100)
break;
std::this_thread::sleep_for(std::chrono::milliseconds(100));
}
VMMDLL_VFS_FILELIST2 VfsFileList;
VfsFileList.dwVersion = VMMDLL_VFS_FILELIST_VERSION;
VfsFileList.h = 0;
VfsFileList.pfnAddDirectory = 0;
VfsFileList.pfnAddFile = cbAddFile1;
result = VMMDLL_VfsListU(this->vmm_handle, const_cast<LPSTR>("\\misc\\procinfo\\"), &VfsFileList);
if (!result)
return false;
//read the data from the memory and parse it
const size_t buffer_size = cbSize1;
std::unique_ptr<BYTE[]> bytes(new BYTE[buffer_size]);
DWORD j = 0;
auto nt = VMMDLL_ReadMemory(this->vmm_handle, /* memory address */, bytes.get(), buffer_size - 1, &j);
This is an example, you need to respond to your project
Read VMMhandle directly from memory. Discard calling VMMDLL_Sap_GetModulus FromNameUodelU again. Avoid dumping files. Because you have already called DMA once during installation
Read VMMhandle directly from memory. Discard calling VMMDLL_Sap_GetModulus FromNameUodelU again. Avoid dumping files. Because you have already called DMA once during installation
VMMDLL_GetProgressFromMemory How do you define that
Originally posted by @subeoy1 in https://github.com/Metick/DMALibrary/issues/25#issuecomment-2278121011 Brother, how did you solve it?