Advertisement
Guest User

Untitled

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