冰楓論壇

 找回密碼
 立即註冊
ads_sugarbook
搜索
查看: 941|回覆: 2
打印 上一主題 下一主題

[求助/徵求] 技能注入call求助

[複製鏈接]

42

主題

0

好友

84

積分

新手上路

Rank: 1

UID
290224
帖子
381
主題
42
精華
0
積分
84
楓幣
267
威望
75
存款
0
贊助金額
0
推廣
0
GP
50
閱讀權限
10
性別
保密
在線時間
179 小時
註冊時間
2020-9-13
最後登入
2024-6-2
跳轉到指定樓層
1
發表於 2021-11-8 01:22:59 |顯示全部樓層 |倒序瀏覽
上個版本有位大大新發布了一個新的技能注入的方法,但注入之後是普攻,所以我嘗試去分析他
其中有一段
call 0311ECC0
mov ebx,[eax+04]
mov ecx,[04386E60]
lea eax,[esp-0C]
push 01
push 00
push 00
push 00
push eax
push [skillid]
mov [esp-0C],00000000
push ebx
call 00A11BC0
.....省略
我認為是從這段遊戲的源碼改寫的
call 0311ECC0
cmp dword ptr [ebp-0C],00
mov eax,[eax+04]
mov [ebp-08],eax
........省略
mov ecx,[04386E60]
lea eax,[ebp-04]
push 01
push 00
push 00
push 00
push eax
mov eax,[ebp+08]
mov [ebp-04],00000000
push [eax]
push [ebp-08]
call 00A11BC0
......省略
我在想是否是技能id沒寫進去
TwMs 222.2
  • Label1:
  • mov dword ptr [edi+00016660],技能代碼
  • //------------------------------------
  • mov ecx,[03DCF220]
  • lea eax,[temp+10]
  • push 01
  • push 00
  • push 00
  • push 00
  • push eax
  • push [edi+00016660]
  • mov [temp+10],00000000
  • push [temp+08]
  • call 0084ECF0
結合以前版上的歷史數據,我嘗試修改
mov eax,[skillid]
mov dword ptr [edi+000130E4],eax
push [edi+000130E4]
發現還是普攻,那麼就不是id沒push進去的問題。
我試著將原有的寫法,改為我認為應該是遊戲調用的寫法,但遊戲一下閃退了。
花了一段時間,我嘗試去辨認,push進去的其它值
lea eax,[esp-0C]
push 01
push 00
push 00
push 00
push eax
push [skillid]
mov [esp-0C],00000000
push ebx   // 我认为是正确的
call 00A11BC0
那麼問題應該是在[esp-0C]這裡
我想求助的是,我是否是往正確的方向上走,注入之後普攻的問題是否是[esp-0C],注入之後是普攻的問題是什麼導致的?



已有 1 人評分楓幣 彩票 GP 收起 理由
v168 + 1 + 1 + 1 我很認同!

總評分: 楓幣 + 1  彩票 + 1  GP + 1   查看全部評分

收藏收藏1 推0 噓0


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

42

主題

0

好友

84

積分

新手上路

Rank: 1

UID
290224
帖子
381
主題
42
精華
0
積分
84
楓幣
267
威望
75
存款
0
贊助金額
0
推廣
0
GP
50
閱讀權限
10
性別
保密
在線時間
179 小時
註冊時間
2020-9-13
最後登入
2024-6-2
2
發表於 2021-11-9 01:45:07 |顯示全部樓層
讓來我試著回答我之前的問題,之前那位大大發的寫法有一點小問題,所以注入之後才會變成普攻。
既然之前的入參是 [esp - 14] , 那麼後面就不應該寫[esp - 0C],而是[esp - 04],並且沒有往edi中放入技能id,導致最後一個call push進去的edi裡面的技能id為0,所以最後打出來是普攻。
收穫還是很多,技能注入不會有一個標準的寫法,它可以hook任何api調用,或者更極端一點可以寫個線程調用,可以控制它的調用頻率或使用技能次數,並不是固定地一秒33次,而可以是更多次。
push 00
push 00
push 00
push 00
push 00
push 00
push ? ?
push 00
push 00
push 00
push ? ?
push? ?
push 01
push 00
push 00
push 00
push 00
push 00
push ecx
push edx
mov ecx,edi
遊戲裡的源碼,問號的地方都是沒有固定值的,可以填一些別的值,也是很有趣的一個地方。


此貼終結

點評

qwas963563  寫個線程調用估計你遊戲就崩了  發表於 2021-11-10 23:04
回覆

使用道具 舉報

42

主題

0

好友

84

積分

新手上路

Rank: 1

UID
290224
帖子
381
主題
42
精華
0
積分
84
楓幣
267
威望
75
存款
0
贊助金額
0
推廣
0
GP
50
閱讀權限
10
性別
保密
在線時間
179 小時
註冊時間
2020-9-13
最後登入
2024-6-2
3
發表於 2021-11-10 22:35:35 |顯示全部樓層
更新一下我的错误,堆栈里保存的第一个出参,和第二个出参的位置间隔是8,所以,在push进call里的时候,两个数字相差8即可,需要保证保存出参的内存的干净,然后将skill放进edi即可
[發帖際遇]: ningmeng 被錢袋砸中進醫院,看病花了 2 楓幣 幸運榜 / 衰神榜
回覆

使用道具 舉報

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

廣告刊登意見回饋關於我們管群招募本站規範DMCA隱私權政策

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

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

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

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

GMT+8, 2024-6-7 21:33

回頂部