冰楓論壇

 找回密碼
 立即註冊
查看: 2403|回覆: 9
打印 上一主題 下一主題

[需過CRC檢測] cms187.3 CRC=No-Mapping

  [複製鏈接]

12

主題

1

好友

22

積分

新手上路

Rank: 1

UID
169543
帖子
123
主題
12
精華
0
積分
22
楓幣
422
威望
21
存款
0
贊助金額
0
推廣
0
GP
27
閱讀權限
10
性別
男
在線時間
14 小時
註冊時間
2016-11-7
最後登入
2023-7-25
跳轉到指定樓層
1樓
發表於 2022-3-28 01:53:27 |只看該作者 |倒序瀏覽
本帖最後由 仁二 於 2022-3-28 13:23 編輯

複製代碼
  1. //cms187.3 CRC=No-Mapping
  2. //修复进出商城后 BUFF丢失的问题
  3. //collaborator:EvansFix
  4. define(qtjz,1453090E0)
  5. define(crc,141898638)
  6. define(show_buff_offset,00002460)//  (+08) 1437321FF
  7. define(show_buff_onoff,14237E904)
  8. [ENABLE]
  9. globalalloc(crc_org,5)
  10. crc_org:
  11. readmem(crc,5)
  12. //----
  13. globalalloc(show_buff,128,$process)
  14. label(show_buff_ret)
  15. show_buff:
  16. mov rax,[qtjz]
  17. cmp rax,0
  18. je show_buff_ret
  19. mov rcx,[rax+show_buff_offset]
  20. readmem(show_buff_onoff,4)
  21. show_buff_ret:
  22. ret
  23. crc:
  24. call show_buff
  25. [DISABLE]
  26. crc:
  27. readmem(crc_org,5)
複製代碼
距离上次发帖 已经有一段时间了。看到KK的文章:“https://bingfong.com/thread-1832312-1-3.html”
得知BUG 并修复 虽然很早以前已经确定了这个BUG 但是复现困难 在KK的提示下
在朋友“EvansFix” 经过多次进出商城调试 (我只是打辅助的)
确定了显示BUFF的关键call 并作出了修复 *这个不修复 强迫症属实挺难受的 看不到右上角BUFF
修复了换图飞游戏的问题……只需要操作开关即可

已有 2 人評分鑰匙 GP 收起 理由
liyaodong + 1 有神快拜!
2022CNY + 1

總評分: 鑰匙 + 1  GP + 1   查看全部評分

收藏收藏0 推推1 噓噓0

分享這篇文章



把本文推薦給朋友或其他網站上,每次被點擊增加您在本站積分: 1鑰匙
複製連結並發給好友,以賺取推廣點數
簡單兩步驟,註冊、分享網址,即可獲得獎勵! 一起推廣文章換商品、賺$$

12

主題

1

好友

22

積分

新手上路

Rank: 1

UID
169543
帖子
123
主題
12
精華
0
積分
22
楓幣
422
威望
21
存款
0
贊助金額
0
推廣
0
GP
27
閱讀權限
10
性別
男
在線時間
14 小時
註冊時間
2016-11-7
最後登入
2023-7-25
2樓
發表於 2022-3-28 01:57:07 |只看該作者
本帖最後由 仁二 於 2022-3-28 02:22 編輯

因为游戏更新了X64位 很多功能都没来得及更新
还有目前对X64的基础 并不牢固 或者说 不熟悉 有错误或者问题 希望大家大胆指出
会在相应的时候 做出修复。
CMS187.3 CEM:https://drive.google.com/drive/folders/1axQu3oJ0m-eZkaY7FlH5F-xQ5kN-0ZYj?usp=sharing
回覆

使用道具 舉報

1

主題

1

好友

0

積分

新手上路

Rank: 1

UID
338477
帖子
5
主題
1
精華
0
積分
0
楓幣
24
威望
0
存款
0
贊助金額
0
推廣
0
GP
0
閱讀權限
10
性別
保密
在線時間
9 小時
註冊時間
2022-3-27
最後登入
2025-4-19
3樓
發表於 2022-3-28 02:36:09 |只看該作者
感谢大佬,请问大佬有无其他的数据,求教

點評

仁二  晚点 应该会发布 其他研究……但是 可能不一定是能直接打勾的成品 只做学术交流 版上TWMS有好多数据 更新就能使用的 可以到那块版区看看  發表於 2022-3-28 14:59
回覆

使用道具 舉報

33

主題

0

好友

1518

積分

副站長

Rank: 8Rank: 8

UID
523
帖子
645
主題
33
精華
0
積分
1518
楓幣
34193
威望
891
存款
32285
贊助金額
0
推廣
82
GP
201
閱讀權限
180
性別
男
在線時間
12537 小時
註冊時間
2011-12-15
最後登入
2026-10-17

性別(男) 懶人勳章 積分勳章 論壇粉絲 神手勳章 除蟲大隊 熱心助人 論壇支持王 長老勳章 解說達人 在線終極王 發帖達人 音樂勳章 私服達人 2015端午節紀念勳章 2015年紀念勳章 副站長勳章 核心勳章 管理者 2017端午節紀念勳章 2019聖誕節紀念勳章 2020年紀念勳章 太陽勳章 2020中秋節紀念勳章 2021端午節紀念勳章 2022端午節紀念勳章 2023端午節紀念勳章 2024端午節紀念勳章 2026中秋節紀念勳章

4樓
發表於 2022-3-28 18:10:20 |只看該作者
感謝大佬  
轉更新發布一個TMS的版本

點評

仁二  额  發表於 2022-3-29 22:49

.
回覆

使用道具 舉報

3

主題

0

好友

8

積分

新手上路

Rank: 1

UID
252383
帖子
24
主題
3
精華
0
積分
8
楓幣
73
威望
3
存款
0
贊助金額
0
推廣
0
GP
3
閱讀權限
10
性別
保密
在線時間
103 小時
註冊時間
2018-11-26
最後登入
2026-2-5

Apple勳章

5樓
發表於 2022-3-29 02:40:33 |只看該作者
大佬好久不见,64位更新以后很多地方都不熟悉,想请教一下吸怪call
以前的32位都是push 00 push 00 push 64 ... push 07 ... call xxxxx 这个形式
但是在64位更新后很多push 都变成了 mov [rsp+xx],xx 这个形式,请问这种情况要怎么独立调用一些call,
感觉现在堆栈里的数据很难复刻..

點評

asd9988   windows x64平台fastcall调用约定的主要特性如下: 前四个整型或指针类型参数由RCX,RDX,R8,R9依次传递,前四个浮点类型参数由XMM0,XMM1,XMM2,XMM3依次传递。...   發表於 2022-3-29 11:43
回覆

使用道具 舉報

12

主題

0

好友

39

積分

新手上路

Rank: 1

UID
81995
帖子
74
主題
12
精華
0
積分
39
楓幣
1498
威望
34
存款
0
贊助金額
0
推廣
0
GP
15
閱讀權限
10
性別
保密
在線時間
95 小時
註冊時間
2014-9-23
最後登入
2023-9-12

2021中秋節紀念勳章 神手勳章 太陽勳章 2021年紀念勳章

6樓
發表於 2022-3-29 11:44:14 |只看該作者
liyaodong 發表於 2022-3-29 02:40
大佬好久不见,64位更新以后很多地方都不熟悉,想请教一下吸怪call
以前的32位都是push 00 push 00 push 64 ...

 windows x64平台fastcall调用约定的主要特性如下:

前四个整型或指针类型参数由RCX,RDX,R8,R9依次传递,前四个浮点类型参数由XMM0,XMM1,XMM2,XMM3依次传递。
调用函数为前四个参数在调用栈上保留相应的空间,称作shadow space或spill slot。即使被调用方没有或小于4个参数,调用函数仍然保留那么多的栈空间,这有助于在某些特殊情况下简化调用约定。
除前四个参数以外的任何其他参数通过栈来传递,从右至左依次入栈。
由调用函数负责清理调用栈。
小于等于64位的整型或指针类型返回值由RAX传递。
浮点返回值由XMM0传递。
更大的返回值(比如结构体),由调用方在栈上分配空间,并有RCX持有该空间的指针并传递给被调用函数,因此整型参数使用的寄存器依次右移一格,实际只可以利用3个寄存器,其余参数入栈。函数调用结束后,RAX返回该空间的指针。
除RCX,RDX,R8,R9以外,RAX、R10、R11、XMM4 和 XMM5也是易变化的(volatile)寄存器。
RBX, RBP, RDI, RSI, R12, R14, R14, and R15寄存器则必须在使用时进行保护。
在寄存器中,所有参数都是右对齐的。小于64位的参数并不进行高位零扩展,也就是高位是无法预测的垃圾数据。
回覆

使用道具 舉報

12

主題

1

好友

22

積分

新手上路

Rank: 1

UID
169543
帖子
123
主題
12
精華
0
積分
22
楓幣
422
威望
21
存款
0
贊助金額
0
推廣
0
GP
27
閱讀權限
10
性別
男
在線時間
14 小時
註冊時間
2016-11-7
最後登入
2023-7-25
7樓
發表於 2022-3-29 22:41:35 |只看該作者
本帖最後由 仁二 於 2022-3-29 22:44 編輯
liyaodong 發表於 2022-3-29 02:40
大佬好久不见,64位更新以后很多地方都不熟悉,想请教一下吸怪call
以前的32位都是push 00 push 00 push 64 ...

rsp+内容查看(进call后rsp-08)
00        08        10        18
[rsp]        rcx        rdx        r8d
20        28        30        38
r9d        [rsp+20][rsp+28][rsp+30]

call内的[rsp+28]
是
call前的[rsp+20]
--------------------------------------------
这个是我之前刚刚认识X64做的笔记 但是不全对。。因为call前的20的空间用来记录保护别的暂存器的也有
调用吸怪call有点麻烦 要认真分析一下他有一个的参数了 不能直接丢0好像
虽然我已经调用成功了 但是还没做稳定性测试 我说一下大概调用
依次push 一下需要保护的暂存器
sub rsp,100//这个数值只是个例子 看自己需要申请rsp的空间
mov [rsp+80],00
mov [rsp+78],00
mov [rsp+70],00
mov [rsp+68],00
mov [rsp+60],00
mov [rsp+58],#????        //技能ID
mov [rsp+50],64
mov [rsp+48],00
mov [rsp+40],00
mov eax,[人物y]
mov [rsp+38],eax
mov eax,[人物x]
mov [rsp+30],eax
mov [rsp+28],12//控怪模式
mov [rsp+20],01
lea r9,[xxxx???]        //这个可能是自己需要去分析的参数
mov r8d,01
mov edx,07
mov rcx,r14
call Move_Mob   //调用吸怪call
add rsp,100//还原rsp保持堆栈平衡
依次pop出来还原

[發帖際遇]: 仁二 雖然沒有「哈味」,但全身卻散發出「魯」味,獲得路人同情施捨 1 楓幣 幸運榜 / 衰神榜
回覆

使用道具 舉報

3

主題

0

好友

8

積分

新手上路

Rank: 1

UID
252383
帖子
24
主題
3
精華
0
積分
8
楓幣
73
威望
3
存款
0
贊助金額
0
推廣
0
GP
3
閱讀權限
10
性別
保密
在線時間
103 小時
註冊時間
2018-11-26
最後登入
2026-2-5

Apple勳章

8樓
發表於 2022-3-29 22:48:07 |只看該作者
仁二 發表於 2022-3-29 22:41
rsp+内容查看(进call后rsp-08)
00        08        10        18
[rsp]        rcx        rdx         ...

感觉有点通顺了,非常感谢!!我去尝试调用一下
回覆

使用道具 舉報

3

主題

0

好友

8

積分

新手上路

Rank: 1

UID
252383
帖子
24
主題
3
精華
0
積分
8
楓幣
73
威望
3
存款
0
贊助金額
0
推廣
0
GP
3
閱讀權限
10
性別
保密
在線時間
103 小時
註冊時間
2018-11-26
最後登入
2026-2-5

Apple勳章

9樓
發表於 2022-3-30 01:03:40 |只看該作者
仁二 發表於 2022-3-29 22:41
rsp+内容查看(进call后rsp-08)
00        08        10        18
[rsp]        rcx        rdx         ...

更新一下结果:
1、hook点还是选用的32位版本吸怪一样的点位,个人认为这个点是为了拿r14的值,也下断验证了;

2、代码几乎和大佬你提供的一致,skillID 这里我选了我下断测试的职业自带的可拉怪技能,kain:63111004;

3、lea r9,[xxxx] 这里我在 原技能调用call 的地址下断确定了 这里应该是 lea r9,[rsp+90] (GMS的偏移,不一定一致)

但通过这样的方式调用还是会断线,推测是这三点原因中其中一个,希望大佬可以解惑。
调用call断线不知道怎么系统的debug
回覆

使用道具 舉報

12

主題

1

好友

22

積分

新手上路

Rank: 1

UID
169543
帖子
123
主題
12
精華
0
積分
22
楓幣
422
威望
21
存款
0
贊助金額
0
推廣
0
GP
27
閱讀權限
10
性別
男
在線時間
14 小時
註冊時間
2016-11-7
最後登入
2023-7-25
10樓
發表於 2022-4-16 07:52:30 |只看該作者
本帖最後由 仁二 於 2022-4-16 07:54 編輯
liyaodong 發表於 2022-3-30 01:03
更新一下结果:
1、hook点还是选用的32位版本吸怪一样的点位,个人认为这个点是为了拿r14的值,也下断验 ...

lea r9,[xxxx???]        //这个可能是自己需要去分析的参数
似乎这个参数也不是必要的 随便传递一下空地址或者丢0 可能都可以
飞游戏的话rsp必须16字节对齐 不然DUMP都不会出现。。
现在内存中很多mouaps这种操作[rsp/rbp+N]的在调用call前 保证你的堆栈是0结尾的就行了
就是+8/-8的事 举个例子 你调试自己的调用点 看进call前的rsp是多少 比如005a688这样是8结尾 rsp多-08
保证16字节对齐
回覆

使用道具 舉報

您需要登入後才可以回文 登入 | 立即註冊

廣告刊登∣意見回饋∣關於我們∣管群招募∣本站規範∣DMCA∣隱私權政策∣詐騙防範及資料調閱

Copyright © 2011-2026 冰楓論壇, All rights reserved

免責聲明:本網站是以即時上載留言的方式運作,本站對所有留言的真實性、完整性及立場等,不負任何法律責任。

而一切留言之言論只代表留言者個人意見,並非本網站之立場,用戶不應信賴內容,並應自行判斷內容之真實性。

小黑屋|手機版|冰楓論壇

GMT+8, 2026-10-17 22:43

APP Store下載 Play Store下載
回頂部