Advertisement
Guest User

Untitled

a guest
Dec 10th, 2016
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.32 KB | None | 0 0
  1. rand_seed = *(int*)input_buffer_ptr;
  2. moving_input_ptr = (BYTE*)((int*)input_buffer_ptr + 1);
  3.  
  4. RAM: .... [8bit][8bit][8bit][8bit][8bit][8bit][8bit][8bit][8bit][8bit] ....
  5.  
  6. .... [8bit][8bit][8bit][8bit][8bit][8bit][8bit][8bit][8bit][8bit] ....
  7. ^
  8. input_buffer_ptr
  9.  
  10. (int*)input_buffer_ptr; // casts this pointer to int*,
  11. //so now you treat data under this pointer as 4 bytes integer
  12.  
  13. *(int*)input_buffer_ptr; // operator * before pointer gets data under
  14. //that pointer, in this case, integer (4 bytes).
  15.  
  16. .... [8bit][8bit][8bit][8bit][8bit][8bit][8bit][8bit][8bit][8bit] ....
  17. | random_seed |
  18.  
  19. (int*)input_buffer_ptr + 1
  20. // ^ ^
  21. // casting to int* moving pointer to size of int (4 bytes)
  22.  
  23. .... [8bit][8bit][8bit][8bit][8bit][8bit][8bit][8bit][8bit][8bit] ....
  24. ^
  25. ((int*)input_buffer_ptr + 1)
  26.  
  27. (BYTE*)((int*)input_buffer_ptr + 1);
  28. // ^
  29. // casting pointer to BYTE*, so it points to the same place
  30. // but now treated as one byte pointer.
  31.  
  32. *(BYTE*)((int*)input_buffer_ptr + 1);
  33.  
  34. .... [8bit][8bit][8bit][8bit][8bit][8bit][8bit][8bit][8bit][8bit] ....
  35. | |
  36. ^
  37. *(BYTE*)((int*)input_buffer_ptr + 1)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement