Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int pagesize = sysconf(_SC_PAGE_SIZE);
- char *start =
- (char *)(((uintptr_t)dwAddress) & ~(pagesize - 1));
- char *end =
- (char *)(((uintptr_t)dwAddress + iSize + pagesize - 1) & ~(pagesize - 1));
- int mprotect_result = mprotect(start, start - end, PROT_READ | PROT_WRITE | PROT_EXEC);
- if(mprotect_result == 0)
- memcpy(dwAddress, bData, iSize);
- else
- {
- printf_MessageBox("an error from mprotect, value: %d error: %d %s, dwAddress: 0x%X, 0x%X, 0x%X, 0x%X",
- mprotect_result,
- errno,
- strerror(errno),
- dwAddress,
- pagesize,
- start,
- end
- );
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement