冰楓論壇

標題: [已解決] CEASM 轉 VC++ ASM 失敗求解 [打印本頁]

作者: maplenico    時間: 2016-8-22 00:15
標題: [已解決] CEASM 轉 VC++ ASM 失敗求解
本帖最後由 maplenico 於 2016-8-22 01:52 編輯

我試著將跳怪跟隨轉成 VC++ 的 ASM

寫入楓之谷後,跳怪只會往右跑,不會跟著人物QQ,我猜測讀取人物 X 軸的部分有寫錯,麻煩高手指點一下<(_ _)>
  1. static const DWORD ADDR0x00B4E146 = 0x00B4E146;
  2. static const DWORD ADDR0x011EB13C = 0x011EB13C;

  3. void __declspec(naked) __stdcall MyLR()
  4. {
  5. __asm
  6. {
  7. MyLR:
  8.         cmp dword ptr[esp + 0x24], 0x011EB13C
  9.         je JmpLR1
  10.         jmp dword ptr[ADDR0x00B4E146]
  11. JmpLR1 :
  12.         mov dword ptr[esp + 0x24], offset JmpLR
  13.         jmp dword ptr[ADDR0x00B4E146]
  14. JmpLR :
  15.         mov eax, dword ptr [0x01bfe918]
  16.         mov eax, dword ptr [eax + 0x00011fb8]
  17.         cmp eax, dword ptr [esi + 0x7f4]
  18.         mov eax, 0x2
  19.         jg JmpLRback
  20.         mov eax, 0x3
  21. JmpLRback:
  22.         jmp dword ptr[ADDR0x011EB13C]
  23. }
  24. }
複製代碼

作者: Doem    時間: 2016-8-22 00:20
那個命名方式....=口="
作者: maplenico    時間: 2016-8-22 01:52
  1. static const DWORD ADDR0x00B4E146 = 0x00B4E146;
  2. static const DWORD ADDR0x011EB13C = 0x011EB13C;

  3. void __declspec(naked) __stdcall MyLR()
  4. {
  5. __asm
  6. {
  7. MyLR:
  8.         cmp dword ptr[esp + 0x24], 0x011EB13C        //跳怪跟隨
  9.         je JmpLR1
  10.         jmp dword ptr[ADDR0x00B4E146]
  11. JmpLR1 :
  12.         mov dword ptr[esp + 0x24], offset JmpLR
  13.         jmp dword ptr[ADDR0x00B4E146]
  14. JmpLR :
  15.         mov eax, dword ptr[ADDR0x01bfe918]
  16.         mov eax, dword ptr[eax]
  17.         mov eax, dword ptr[eax + 0x00011fb8]
  18.         cmp eax, dword ptr[esi + 0x7f4]
  19.         mov eax, 0x2
  20.         jg JmpLRback
  21.         mov eax, 0x3
  22. JmpLRback:
  23.         jmp dword ptr[ADDR0x011EB13C]
  24. }
  25. }
複製代碼
加一行解決囉! 感謝 Doem 大提示~




歡迎光臨 冰楓論壇 (https://bingfong.com/) Powered by 冰楓