搜索
 找回密码
 加入

[1.298, 1.310] Server command to reload any EVT (/reload_evt)

Twisted 2011-9-27 21:35:14 3131
ere's a server command I wrote a while back to reload any given EVT.
Usage: /reload_evt <zone>

So, to reload 21.evt, you'd use: /reload_evt 21

1.298

  1. 004256B8   > E9 6B600400     JMP 0046B728
  2. 004256BD     90              NOP
复制代码
Code-cave:

  1. 0046B71C   . 2F 72 65 6C 6F 61 64 5F 65 76 74 00     ASCII "/reload_evt",0
  2. 0046B728   > 8D85 DCFEFFFF                            LEA EAX,DWORD PTR SS:[EBP-124]
  3. 0046B72E   . 68 1CB74600                              PUSH 0046B71C                                 ;   ASCII "/reload_evt"
  4. 0046B733   . 50                                        PUSH EAX
  5. 0046B734   . E8 2A87F9FF                              CALL 00403E63
  6. 0046B739   . 59                                        POP ECX
  7. 0046B73A   . 85C0                                      TEST EAX,EAX
  8. 0046B73C   . 59                                        POP ECX
  9. 0046B73D     75 6A                                    JNZ SHORT 0046B7A9
  10. 0046B73F   . 8B45 08                                  MOV EAX,DWORD PTR SS:[EBP+8]
  11. 0046B742   . 36:8D8428 5CFDFFFF                       LEA EAX,DWORD PTR SS:[EAX+EBP-2A4]
  12. 0046B74A   . 50                                        PUSH EAX
  13. 0046B74B   . 8D85 DCFEFFFF                            LEA EAX,DWORD PTR SS:[EBP-124]
  14. 0046B751   . 50                                        PUSH EAX
  15. 0046B752   . E8 7F5FF9FF                              CALL 004016D6
  16. 0046B757   . 8D85 DCFEFFFF                            LEA EAX,DWORD PTR SS:[EBP-124]                         ; |
  17. 0046B75D   . 50                                        PUSH EAX                                                   ; |Arg1
  18. 0046B75E   . E8 1D600900                              CALL 00501780                                 ; \00501780
  19. 0046B763   . 83C4 0C                                  ADD ESP,0C
  20. 0046B766   . 85C0                                      TEST EAX,EAX
  21. 0046B768     74 3F                                    JE SHORT 0046B7A9
  22. 0046B76A   . 60                                        PUSHAD
  23. 0046B76B   . 9C                                        PUSHFD
  24. 0046B76C   . BF 80276800                              MOV EDI,00682780
  25. 0046B771   . 57                                        PUSH EDI                                                   ; /pCriticalSection => Ebenezer.00682780
  26. 0046B772   . 8BD8                                      MOV EBX,EAX                                          ; |
  27. 0046B774   . FF15 18996800                            CALL DWORD PTR DS:[689918]     ; \EnterCriticalSection
  28. 0046B77A   . 8BCE                                      MOV ECX,ESI
  29. 0046B77C   . 53                                        PUSH EBX
  30. 0046B77D   . 81C1 98140000                            ADD ECX,1498
  31. 0046B783   . E8 475CF9FF                              CALL 004013CF
  32. 0046B788   . 57                                        PUSH EDI                                                   ; /pCriticalSection
  33. 0046B789   . 8BC8                                      MOV ECX,EAX                                          ; |
  34. 0046B78B   . FF15 14996800                            CALL DWORD PTR DS:[689914]     ; \LeaveCriticalSection
  35. 0046B791   . 85C9                                      TEST ECX,ECX
  36. 0046B793     74 0D                                    JE SHORT 0046B7A2
  37. 0046B795     51                                        PUSH ECX
  38. 0046B796     E8 206BF9FF                              CALL 004022BB
  39. 0046B79B     59                                        POP ECX
  40. 0046B79C     53                                        PUSH EBX
  41. 0046B79D     E8 DE6EF9FF                              CALL 00402680
  42. 0046B7A2     9D                                        POPFD
  43. 0046B7A3     61                                        POPAD
  44. 0046B7A4    ^E9 8FA7FBFF                              JMP 00425F38
  45. 0046B7A9     8D85 DCFEFFFF                            LEA EAX,DWORD PTR SS:[EBP-124]
  46. 0046B7AF    ^E9 0A9FFBFF                              JMP 004256BE
复制代码
1.310

  1. 0050227F   . 2F 72 65 6C 6F>ASCII "/reload_evt",0

  2. 005023AD   > 8D85 D8FEFFFF  LEA EAX,DWORD PTR SS:[EBP-128]
  3. 005023B3   . 68 7F225000    PUSH 0050227F                                                      ;  ASCII "/reload_evt"
  4. 005023B8   . 50             PUSH EAX
  5. 005023B9   . E8 0BA7F1FF    CALL 0041CAC9
  6. 005023BE   . 59             POP ECX
  7. 005023BF   . 85C0           TEST EAX,EAX
  8. 005023C1   . 59             POP ECX
  9. 005023C2   . 75 68          JNZ SHORT 0050242C
  10. 005023C4   . 8B45 08        MOV EAX,DWORD PTR SS:[EBP+8]
  11. 005023C7   . 36:8D8428 D8FD>LEA EAX,DWORD PTR SS:[EAX+EBP-228]
  12. 005023CF   . 50             PUSH EAX
  13. 005023D0   . 8D85 D8FEFFFF  LEA EAX,DWORD PTR SS:[EBP-128]
  14. 005023D6   . 50             PUSH EAX
  15. 005023D7   . E8 83A6F1FF    CALL 0041CA5F
  16. 005023DC   . 8D85 D8FEFFFF  LEA EAX,DWORD PTR SS:[EBP-128]
  17. 005023E2   . 50             PUSH EAX                                                                    ; /s
  18. 005023E3   . E8 1EF4FBFF    CALL _atoi                                                         ; \_atoi
  19. 005023E8   . 83C4 0C        ADD ESP,0C
  20. 005023EB   . 85C0           TEST EAX,EAX
  21. 005023ED     74 38          JE SHORT 00502427
  22. 005023EF   . 60             PUSHAD
  23. 005023F0   . BF F8BC5200    MOV EDI,52BCF8
  24. 005023F5   . 8BD8           MOV EBX,EAX
  25. 005023F7   . 57             PUSH EDI                                                                    ; /pCriticalSection => OFFSET ?g_map_critical@@3U_RTL_CRITICAL_SECTION@@A
  26. 005023F8   . FF15 04335000  CALL DWORD PTR DS:[503304]
  27. 005023FE   . 8BCE           MOV ECX,ESI
  28. 00502400   . 53             PUSH EBX
  29. 00502401   . 81C1 98140000  ADD ECX,1478                                                                ;  ; ??????
  30. 00502407   . E8 746AFAFF    CALL 004A8E80
  31. 0050240C   . 57             PUSH EDI                                                                    ; /pCriticalSection
  32. 0050240D   . 8BC8           MOV ECX,EAX                                                                 ; |
  33. 0050240F   . FF15 00335000  CALL DWORD PTR DS:[503300]
  34. 00502415   . 85C9           TEST ECX,ECX
  35. 00502417   . 74 0D          JE SHORT 00502426
  36. 00502419   . 51             PUSH ECX
  37. 0050241A   . E8 781DF3FF    CALL 00434197
  38. 0050241F   . 59             POP ECX
  39. 00502420   . 53             PUSH EBX
  40. 00502421   . E8 A819F3FF    CALL 00433DCE
  41. 00502426   > 61             POPAD
  42. 00502427   .^E9 CDA5F1FF    JMP 0041C9F9
  43. 0050242C   > 8D85 D8FEFFFF  LEA EAX,DWORD PTR SS:[EBP-128]
  44. 00502432   .^E9 A498F1FF    JMP 0041BCDB


  45. 0041BCD5     E9 D3660E00    JMP 005023AD
  46. 0041BCDA     90             NOP
复制代码
Edit:
Replaced Olly's attempt at making life simple (naming functions from the IAT) with the actual addresses of the functions, so you can just copy & paste those lines in and assemble. You will still, however, need to select the bytes you'll need for /reload_evt, right-click & use "Binary edit" and patch in those bytes as you see them on the left.

2 回复

雪皓松松
2011-9-26 18:59:33
点击查看详情
这是关于做任务的?
evaydd
2011-9-27 21:35:14
好像是改什么代码的吧!!!!
高级模式
游客