Advertisement
fastman92

mprotect in the FLA

Oct 24th, 2016
268
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.58 KB | None | 0 0
  1.     int pagesize = sysconf(_SC_PAGE_SIZE);
  2.  
  3.     char *start =
  4.         (char *)(((uintptr_t)dwAddress) & ~(pagesize - 1));
  5.     char *end =
  6.         (char *)(((uintptr_t)dwAddress + iSize + pagesize - 1) & ~(pagesize - 1));
  7.  
  8.    
  9.     int mprotect_result = mprotect(start, start - end, PROT_READ | PROT_WRITE | PROT_EXEC);
  10.    
  11.     if(mprotect_result == 0)
  12.         memcpy(dwAddress, bData, iSize);
  13.     else
  14.     {      
  15.         printf_MessageBox("an error from mprotect, value: %d error: %d %s, dwAddress: 0x%X, 0x%X, 0x%X, 0x%X",
  16.             mprotect_result,
  17.             errno,
  18.             strerror(errno),
  19.             dwAddress,
  20.             pagesize,
  21.             start,
  22.             end
  23.         );
  24.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement