Advertisement
Guest User

Untitled

a guest
Oct 15th, 2017
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. [ENABLE]
  3.  
  4. aobscanmodule(_Teleport,ShadowOfWar.exe,C9 F2 0F 10 81 AC 00 00 00) // should be unique
  5. alloc(newmem,$1000,ShadowOfWar.exe)
  6. alloc(_SavePosition,8)
  7. alloc(_LoadPosition,8)
  8. alloc(_UndoTeleport,8)
  9. alloc(_X_Coord,8)
  10. alloc(_Y_Coord,8)
  11. alloc(_Z_Coord,8)
  12. alloc(_X_Coord_Undo,8)
  13. alloc(_Y_Coord_Undo,8)
  14. alloc(_Z_Coord_Undo,8)
  15. registersymbol(_Teleport)
  16. registersymbol(_SavePosition)
  17. registersymbol(_LoadPosition)
  18. registersymbol(_UndoTeleport)
  19. registersymbol(_X_Coord)
  20. registersymbol(_Y_Coord)
  21. registersymbol(_Z_Coord)
  22. label(code)
  23. label(return)
  24. label(Save)
  25. label(Load)
  26. label(Undo)
  27.  
  28.  
  29.  
  30. newmem:
  31. cmp byte ptr [_SavePosition],1
  32. je Save
  33. cmp byte ptr [_LoadPosition],1
  34. je Load
  35. cmp byte ptr [_UndoTeleport],1
  36. je Undo
  37. jmp code
  38.  
  39. Save:
  40. mov byte ptr [_SavePosition],0
  41. push rbx
  42. mov rbx,[rcx+000000AC] // X
  43. mov [_X_Coord],rbx
  44. mov rbx,[rcx+000000B0] // Y
  45. mov [_Y_Coord],rbx
  46. mov rbx,[rcx+000000B4] // Z
  47. mov [_Z_Coord],rbx
  48. pop rbx
  49. jmp code
  50.  
  51. Load:
  52. mov byte ptr [_LoadPosition],0
  53. push rbx
  54. mov rbx,[_X_Coord]
  55. mov [rcx+000000AC],rbx
  56. mov rbx,[_Y_Coord]
  57. mov [rcx+000000B0],rbx
  58. mov rbx,[_Z_Coord]
  59. mov [rcx+000000B4],rbx
  60. pop rbx
  61. // Save Position again for Undo
  62. push rdx
  63. mov rdx,[rcx+000000AC] // X
  64. mov [_X_Coord_Undo],rdx
  65. mov rdx,[rcx+000000B0] // Y
  66. mov [_Y_Coord_Undo],rdx
  67. mov rdx,[rcx+000000B4] // Z
  68. mov [_Z_Coord_Undo],rdx
  69. pop rdx
  70. jmp code
  71.  
  72. Undo:
  73. mov byte ptr [_UndoTeleport],0
  74. push rdx
  75. mov rdx,[_X_Coord_Undo]
  76. mov [rcx+000000AC],rdx
  77. mov rdx,[_Y_Coord_Undo]
  78. mov [rcx+000000B0],rdx
  79. mov rdx,[_Z_Coord_Undo]
  80. mov [rcx+000000B4],rdx
  81. pop rdx
  82. jmp code
  83.  
  84.  
  85. _SavePosition:
  86. dd 0
  87. _LoadPosition:
  88. dd 0
  89. _UndoTeleport:
  90. dd 0
  91.  
  92. code:
  93.   movsd xmm0,[rcx+000000AC]
  94.   jmp return
  95.  
  96. _Teleport+01:
  97.   jmp newmem
  98.   nop
  99.   nop
  100.   nop
  101. return:
  102.  
  103.  
  104. [DISABLE]
  105.  
  106. _Teleport+01:
  107.   db F2 0F 10 81 AC 00 00 00
  108.  
  109. unregistersymbol(_Teleport)
  110. dealloc(newmem)
  111. dealloc(_SavePosition)
  112. dealloc(_LoadPosition)
  113. dealloc(_UndoTeleport)
  114. dealloc(_X_Coord)
  115. dealloc(_Y_Coord)
  116. dealloc(_Z_Coord)
  117. dealloc(_X_Coord_Undo)
  118. dealloc(_Y_Coord_Undo)
  119. dealloc(_Z_Coord_Undo)
  120. unregistersymbol(_Teleport)
  121. unregistersymbol(_SavePosition)
  122. unregistersymbol(_LoadPosition)
  123. unregistersymbol(_UndoTeleport)
  124. unregistersymbol(_X_Coord)
  125. unregistersymbol(_Y_Coord)
  126. unregistersymbol(_Z_Coord)
  127. {
  128. // ORIGINAL CODE - INJECTION POINT: "ShadowOfWar.exe"+15E81D
  129.  
  130. "ShadowOfWar.exe"+15E7F9: 84 C0                       -  test al,al
  131. "ShadowOfWar.exe"+15E7FB: 74 EB                       -  je ShadowOfWar.exe+15E7E8
  132. "ShadowOfWar.exe"+15E7FD: 49 8B C9                    -  mov rcx,r9
  133. "ShadowOfWar.exe"+15E800: 48 83 C4 28                 -  add rsp,28
  134. "ShadowOfWar.exe"+15E804: E9 C3 CF 65 00              -  jmp ShadowOfWar.exe+7BB7CC
  135. "ShadowOfWar.exe"+15E809: E8 EE 8A 62 00              -  call ShadowOfWar.exe+7872FC
  136. "ShadowOfWar.exe"+15E80E: EB CE                       -  jmp ShadowOfWar.exe+15E7DE
  137. "ShadowOfWar.exe"+15E810: 48 83 EC 38                 -  sub rsp,38
  138. "ShadowOfWar.exe"+15E814: 8B 81 B4 00 00 00           -  mov eax,[rcx+000000B4]
  139. "ShadowOfWar.exe"+15E81A: 45 33 C9                    -  xor r9d,r9d
  140. // ---------- INJECTING HERE ----------
  141. "ShadowOfWar.exe"+15E81D: F2 0F 10 81 AC 00 00 00     -  movsd xmm0,[rcx+000000AC]
  142. // ---------- DONE INJECTING  ----------
  143. "ShadowOfWar.exe"+15E825: F2 0F 11 44 24 20           -  movsd [rsp+20],xmm0
  144. "ShadowOfWar.exe"+15E82B: 89 44 24 28                 -  mov [rsp+28],eax
  145. "ShadowOfWar.exe"+15E82F: 48 8B 81 B0 24 00 00        -  mov rax,[rcx+000024B0]
  146. "ShadowOfWar.exe"+15E836: F3 0F 10 88 E0 03 00 00     -  movss xmm1,[rax+000003E0]
  147. "ShadowOfWar.exe"+15E83E: E9 BD 17 E8 FF              -  jmp 13FFE0000
  148. "ShadowOfWar.exe"+15E843: 90                          -  nop
  149. "ShadowOfWar.exe"+15E844: 90                          -  nop
  150. "ShadowOfWar.exe"+15E845: 90                          -  nop
  151. "ShadowOfWar.exe"+15E846: 48 8B 05 93 C7 1C 02        -  mov rax,[ShadowOfWar.exe+232AFE0]
  152. "ShadowOfWar.exe"+15E84D: 4C 8B 80 18 6D 00 00        -  mov r8,[rax+00006D18]
  153. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement