Advertisement
Riremito

JMS v20 Bring your own rope

May 31st, 2023
214
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.94 KB | None | 0 0
  1. // Bring Your Own Rope
  2. [Enable]
  3. Alloc(Hook, 512)
  4. Label(Return)
  5. Label(FakeRopeStruct)
  6. Label(FakeRope)
  7. Label(_FindRope)
  8. Label(Hook_End)
  9.  
  10. Hook:
  11. push ebp
  12. mov ebp,esp
  13. push esi
  14. push edi
  15.  
  16. mov esi,ecx
  17.  
  18. push [ebp+14]
  19. push [ebp+10]
  20. push [ebp+C]
  21. push [ebp+8]
  22. mov ecx,esi
  23. call _FindRope
  24. test eax,eax
  25. jne Hook_End
  26. mov edi,[0065F40C]
  27. mov esi,[edi+3C]
  28. cmp [esi+78],0
  29. jne Hook_End
  30. mov eax,[edi+3E0] // CharX
  31. mov [FakeRope+C],eax
  32. mov eax,[edi+3E4] // CharY
  33. sub eax,#1000
  34. mov [FakeRope+10],eax
  35. lea eax,[FakeRope]
  36. Hook_End:
  37. pop edi
  38. pop esi
  39. mov esp,ebp
  40. pop ebp
  41. ret 0010
  42.  
  43. _FindRope:
  44. mov eax,[esp+04]
  45. mov edx,[esp+0C]
  46. jmp Return
  47.  
  48. FakeRopeStruct:
  49. dd #1 // number of ropes
  50. dd #0
  51. dd #0
  52. dd #0
  53. dd #0
  54. dd #0
  55. dd #0
  56. dd #0
  57. FakeRope:
  58. dd #1
  59. dd #1
  60. dd #1
  61. dd #0 // X
  62. dd #0 // Y
  63. dd #1000 // length
  64. dd #0
  65. dd #0
  66.  
  67.  
  68. 005EDBB0:
  69. jmp Hook
  70. nop
  71. nop
  72. nop
  73. Return:
  74.  
  75. [Disable]
  76. 005EDBB0:
  77. mov eax,[esp+04]
  78. mov edx,[esp+0C]
  79.  
  80. DeAlloc(Hook)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement