Guest User

Untitled

a guest
Jun 13th, 2018
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.58 KB | None | 0 0
  1. void SetupHelpView(WindowProcess P)
  2. {
  3. // Arrays to be written
  4. unsigned char JmpData[5] = {0};
  5. JmpData[0] = 0xE9;
  6. unsigned char CallData[5] = {0};
  7. CallData[0] = 0xE8;
  8. unsigned char JmpBackData[5] = {0};
  9. JmpBackData[0] = 0xE9;
  10. unsigned char NopPadding[] = {0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90,
  11. 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90,
  12. 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90,
  13. 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90,
  14. 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90,
  15. 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90};
  16. ///////////////////////////////////////////////
  17.  
  18. // Create cave location
  19. char* Addy = (char*)P.MakeCodeCave(sizeof(JmpData) + sizeof(CallData) + sizeof(JmpBackData) + sizeof(NopPadding));
  20.  
  21. // Set up all the arrays before they get written
  22. char* TempAddy = Addy - 0x00450C23;
  23. memcpy(&JmpData[1], &TempAddy, 4);
  24.  
  25. int JmpLocation;
  26. TempAddy = Addy + sizeof(NopPadding) + 5;
  27. JmpLocation = 0x00450B90 - (int)TempAddy;
  28. memcpy(&CallData[1], &JmpLocation, 4);
  29.  
  30. TempAddy += 5;
  31. JmpLocation = 0x00450C23 - (int)TempAddy;
  32. memcpy(&JmpBackData[1], &JmpLocation, 4);
  33. //////////////////////////////////////////////
  34.  
  35. // Now right the arrays into memory
  36. P.WriteMemory(&JmpData[0], (void*)0x00450C1E, 5);
  37. P.WriteMemory(&NopPadding[0], Addy, sizeof(NopPadding));
  38. P.WriteMemory(&CallData[0], Addy + sizeof(NopPadding), sizeof(CallData));
  39. P.WriteMemory(&JmpBackData[0], Addy + sizeof(NopPadding) + 5, sizeof(JmpBackData));
  40.  
  41. //////////////////////////////////////////////
  42. }
  43.  
  44. _________ __
  45. / _____/ _____ _____ ____ | | __ ______
  46. \_____ \ / \\__ \ _/ ___\| |/ / / ___/
  47. / \ Y Y \/ __ \\ \___| < \___ \
  48. /_______ /__|_| (____ /\___ >__|_ \/____ >
  49. \/ \/ \/ \/ \/ \/
  50. ___________ .__
  51. \__ ___/___________ |__| ____ ___________
  52. | | \_ __ \__ \ | |/ \_/ __ \_ __ \
  53. | | | | \// __ \| | | \ ___/| | \/
  54. |____| |__| (____ /__|___| /\___ >__|
  55. \/ \/ \/
Add Comment
Please, Sign In to add comment