10 2012 档案
摘要:#define ArrLen(arr) (sizeof(arr)/sizeof(arr[0]))int main(int argc, char *argv[]){ // Open process with HANDLE processHandle = OpenProcess(PROCESS_QUERY_INFORMATION // | PROCESS_CREATE_THREAD // Required by 'CreateRemoteThread()'. ...
阅读全文
摘要:MEMORY_BASIC_INFORMATION mbi = {}; for (unsigned char *pBase = nullptr; VirtualQuery(static_cast<void *>(pBase), &mbi, sizeof(mbi)) == sizeof(mbi); pBase += mbi.RegionSize) { if (mbi.AllocationBase == mbi.BaseAddress && mbi.AllocationBase != nullptr) { c...
阅读全文
摘要:Edit file in place: HANDLE hFile = CreateFile("dst", GENERIC_READ | GENERIC_WRITE, 0, nullptr, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); HANDLE hFileMap = CreateFileMapping(hFile, NULL, PAGE_READWRITE, 0, 0, nullptr); char *pContent = static_cast<char *>(MapViewOfFile(hFileMap, FI
阅读全文
浙公网安备 33010602011771号