冰楓論壇

標題: 更新怪物掉落問題 [打印本頁]

作者: btb    時間: 2017-9-10 12:38
標題: 更新怪物掉落問題
這是我從199.2更新成201.2版本,但一直出錯,請高手幫我看錯誤地方,並說明更正方法,要是能成功直接給錢。
//V200.1.2怪物掉落
[enable]
alloc(MyLR,4096)
registersymbol(MyLR)
alloc(rx,4)
label(MyLRend)
label(mob1)
label(mobR)
label(mobj)
Alloc(FakeDump,1024)
Alloc(CRCBypass,4)
Label(MSmemcpy)


//================================
MyLR:
        cmp [esp+18],0085E074        
        je mob1
        cmp [CRCBypass],0
        je MSmemcpy
        jmp MyLRend
MyLRend:
        jmp 012816E0
//================================
mob1:
        cmp [CRCBypass],0
        je MyLRend
        mov [esp+18],mobR
        jmp MyLRend
//================================
mobR:
        cmp [edi],02bbe120
        jne 0083f8d4
        mov [edi+000003b8],eax
        mov ecx,eax
        xor eax,baadf00d
        xor ecx,esi
        ror ecx,05
        ror eax,05
        add eax,ecx
        mov [edi+000003bc],ecx
        mov [edi+000003c0],eax
        mov eax,FakeDump
        mov [edi],eax
        mov ecx,edi
        mov eax,[edi]
        push ebx
        call dword ptr [eax+2c]
        mov [edi],02bbe120 //ADD1
        jmp 0085E09F

mobj:
        push ebp
        mov ebp,esp
        sub esp,14
        push ebx
        mov ebx,[03065110]
        push esi
        mov esi,ecx
        mov [ebp-08],eax
        push edi
        cmp dword ptr [esi+00000408],02
        jmp 01db530c        

MSmemcpy:
        pushad
        mov edi,FakeDump
        mov esi,02bbe120
      mov ecx,0000080      
        repe movsd
        mov edi,FakeDump
        mov [edi+08],008395c0      
        mov eax,mobj               
        mov [edi+0c],eax
        ret
        mov [CRCBypass],1
        jmp MyLRend
03038DD4:
DD MyLR
[disable]
03038DD4:
dd 012816E0
dealloc(MyLR)
unregistersymbol(MyLR)


作者: xmax    時間: 2017-9-10 12:38
  1. //TwMS v201.2_ICS_怪物掉落
  2. [enable]
  3. alloc(MyLR,4096)
  4. registersymbol(MyLR)
  5. registersymbol(TEMP)
  6. alloc(rx,4)
  7. alloc(TEMP,4)
  8. label(MyLRend)
  9. label(mob1)
  10. label(mobR)
  11. label(mobj)
  12. Alloc(FakeDump,1024)
  13. Alloc(CRCBypass,256)
  14. Label(MSmemcpy)

  15. CreateThread(MSmemcpy)

  16. CRCBypass:
  17. MSmemcpy:
  18.         mov edi,FakeDump
  19.         mov esi,02BBE120        //?
  20.         mov ecx,0000080        //128*8=1024
  21.         repe movsd
  22.         mov edi,FakeDump
  23.         mov [edi+08],00857CA0        //走怪 //55 8B EC 6A FF 68 ** ** ** ** 64 A1 00 00 00 00 50 81 EC ** 00 00 00 56 57 A1 ** ** ** ** 33 C5 50 8D 45 ** 64 A3 00 00 00 00 8B F1 89 75 ** 8B 4D ** 0F 57 C0
  24.         mov eax,mobj                //跳怪
  25.         mov [edi+0c],eax
  26.         ret
  27. //================================
  28. MyLR:
  29.         cmp [esp+18],0085E074        //走怪掉落 //89 87 ** ** 00 00 8B C8 35 0D F0 AD BA 33 CE C1 C9 ** C1 C8 ** 03 C1 89 8F ** ** 00 00 89 87 ** ** 00 00 8B CF 8B 07 53
  30.         je mob1
  31.         jmp MyLRend
  32. MyLRend:
  33.         jmp 012816E0
  34. //================================
  35. mob1:
  36.         mov [esp+18],mobR
  37.         jmp MyLRend
  38. //================================
  39. mobR:
  40.         push [edi]
  41.         pop [TEMP]                //我不會找下面那個值 但我用Temp讀到兩種值(02BBE120,02AE9A74)
  42.         cmp [edi],02BBE120      //? 兩個都試過,另一個會不能怪物掉落
  43.         jne 0085E074
  44. //--
  45.         mov [edi+000003b8],eax
  46.         mov ecx,eax
  47.         xor eax,baadf00d
  48.         xor ecx,esi
  49.         ror ecx,05
  50.         ror eax,05
  51.         add eax,ecx
  52.         mov [edi+000003bc],ecx
  53.         mov [edi+000003c0],eax
  54.         mov eax,FakeDump
  55.         mov [edi],eax
  56.         mov ecx,edi
  57.         mov eax,[edi]
  58.         push ebx
  59.         call dword ptr [eax+2c]
  60. //--
  61.         mov [edi],02BBE120
  62.         jmp 0085E09F //call dword ptr [eax+2c] -> Next


  63. mobj:
  64.         push ebp
  65.         mov ebp,esp
  66.         sub esp,14
  67.         push ebx
  68.         mov ebx,[03065110]
  69.         push esi
  70.         mov esi,ecx
  71.         mov [ebp-08],eax
  72.         push edi
  73.         cmp dword ptr [esi+00000408],02
  74.         jmp 01DB530C        //jne //8B 86 ** ** 00 00 83 F8 ** 0F 85 ** ** ** ** 8B 8E ** 00 00 00 33 DB

  75. 03038DD4:
  76. DD MyLR
  77. [disable]
  78. 03038DD4:
  79. DD 012816E0
  80. dealloc(MyLR)
  81. unregistersymbol(MyLR)
  82. dealloc(TEMP)
  83. unregistersymbol(TEMP)
複製代碼
附上AoB和不專業講解 ....  自己測試是確定可以讓走怪和跳怪掉落。如果還有甚麼問題可以互相討論








作者: btb    時間: 2017-9-10 15:11
本帖最後由 btb 於 2017-9-10 15:15 編輯
xmax 發表於 2017-9-10 14:47 [url=forum.php?mod=redirect&goto=findpost&pid=2204924&ptid=537535][/url]
附上AoB和不專業講解 ....  自己測試是確定可以讓走怪和跳怪掉落。如果還有甚麼問題可以互相討論  ...

不好意思我不能用CreateThread能不能轉成uce版本
作者: prt    時間: 2017-9-10 16:07
xmax 發表於 2017-9-10 14:47
附上AoB和不專業講解 ....  自己測試是確定可以讓走怪和跳怪掉落。如果還有甚麼問題可以互相討論  ...

你好黑喔




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