外掛聯合國討論區

 找回密碼
 註冊

熱門外掛

  • 大家都在用
  • 即將登場
  • 免費試用
  • 優惠活動
查看: 43049|回覆: 269
打印 上一主題 下一主題

[作弊修改] 淺談抽卡類遊戲的卡片改法     [複製鏈接]

1736

主題

71

好友

2萬

積分

外掛研發達人

Rank: 5Rank: 5Rank: 5

跳轉到指定樓層
貴賓席
千年眼 發表於 2014-12-31 14:48:58 |只看該作者 |倒序瀏覽
[作弊修改] 淺談抽卡類遊戲的卡片改法



請注意!以下文章內容全部估狗而來,與本帖作者完全無關:

相信手機卡牌類遊戲不斷換皮不換肉,改個包裝換個名字又重新出場的這種風氣下,
剛開始接觸遊戲修改的人一定會認為,
疑!?為什麼不修改卡片就好了,可是看看APK.TW充斥的都是各種無敵、秒怪,就是沒有人改卡片...
或許有,我不確定,因為某彈珠本魯沒玩過,聽說可以改蛋是吧?
那個修改的原理本魯猜一猜大概是因為戰鬥後的獎勵結算是在client進行,再request給sever(btw,我不確定)
打開封包攔截的相關軟體應該就可以知道大概...如果你用的軟體可以回傳封包甚至不用燒餅啊、八門啊、泡椒沙毀...blabla一堆修改軟體的就可以改了

如果你懂一點MVC,懂一點封包,懂一點資料庫,那這篇文章可以給你很大的啟示。

重點就是,你在自己的手機上、電腦上看到的牌組不過都是經由sever回傳給你的結果,透過你這台終端機顯示出來而已
所以修改卡片就無望了嗎?
答案是否定的,這必須要看你的遊戲是屬於下列哪一種。

1. 抽卡由sever處理
(最近比較火紅的遊戲都屬於這種,對於遊戲公司來說,安全,因為抽卡是他們最大收入來源。)

2.抽卡由client處理
(很少見了,通常比較破的單機遊戲才會這樣處理,有的連線遊戲原本這樣也是後來也改了。)




對於第一種類型的解法,因為我們不能決定自己抽到什麼卡片,所以我們得換個想法。
通常,當我們按下抽卡的瞬間時,會送出一個packet給遊戲的Sever。
並且馬上有Response回傳給你。通常會是result:"卡片ID、技能類型ID、種族blabla"......一堆的
這就像是為什麼很多遊戲都有人說,其實你按下去的瞬間早就決定是什麼卡片了,抽卡的動畫不過是看爽的......

如果我們不能決定抽什麼卡,那我們只好用別的方式了。
通常遊戲會有代幣,可能扣五枚代幣可以抽一次卡片,那假如扣一次代幣我們可以抽好幾次呢?

是的,這就是突破點之一,當然還有很多想法大家可以自己腦補看看,對!就是腦補,發揮你的想像力!
一個遊戲的Sever如果不給力,那像是Charles這種軟體便可以很輕易的辦到這種事情,

例如Charles中的repeat advanced功能,就可以『同時且快速』的送出抽卡要求的packet!
通常這種packet的request都很簡潔,加上最近的遊戲都不是單抽,就是十一抽,所以通常會寫成:
「type(抽卡種類ex.聖誕抽、友情抽、火系抽之類bla...)、number(數量,如果單抽就1,十一抽就11)」
連扣遊戲代幣扣幾顆的欄位都不存在,因為根本不需要,都在sever那邊定義好直接資料庫連結到你的帳戶資料表直接扣了。
如果伺服器來不及處理或根本無法處理這麼即時且大量的packet?會發生什麼事?


很有可能你因此拿到了兩張、三張或多張卡片,因為它來不及更新你的代幣,抽卡的處理程序就先跑了好幾回,因為每次判斷時都跟上一次剩餘代幣相同。

(有些遊戲比較嚴謹,packet會隨時間而變化,過一段時間可能你要重抽一次卡看它新的pack怎麼寫)

簡單來講,整個抽卡的流程:
伺服器接到玩家client端抽卡的packet,會去資料庫找你那張寫有你剩餘代幣的資料表,
判斷你的代幣夠不夠抽卡,然後創建一張獨一無二的卡片資料,寫進你的背包資料表裡,
而這張卡通常擁有整個遊戲中獨一無二的代碼,因為資料庫的主鍵不能重複,
(...補充一下除了主鍵不能重複的原因外,通常還有一個原因是因為現在卡牌遊戲都可以升級卡片,分開弄比較好處理...)
最後update你的代幣的Value。

(這邊有個地方要注意,通常代幣的值當初購買時會直接存Sever上,但也可能是存在你的手機上,像某通訊軟體的遊戲好像就是...這種的就可以直接改代幣數量,測試方法就是換手機登入同一個帳號看代幣有沒有一樣。)

所以每當有人說修改代幣或把封包的卡片ID改成你想要的東西,在板上看很久了,其實本魯看了都在偷笑(抱歉ㄏㄏ)。
如果你只是改response的卡片ID,你要怎麼寫進遊戲公司的資料庫?駭進去?
那你直接select那張資料表再update代幣或卡片的value就好了啊。

對於第二種的修改法,就很好處理了,
因為不管是直接打開手機裡暫存的xml改或是透過燒餅之類的修改方是應該都很簡單,
會採用這種方式的,通常是在抽卡時把你的抽卡結果(卡片ID)的packet送到Sever,然後Sever再進行扣代幣,把資料寫進你背包資料表的動作。
而且這種方式也與目前某些手機遊戲的戰鬥獎勵結算雷同,所以你可能可以修改每場戰鬥結束後的經驗、金錢等等。
如果你會改的話,某塔改鎖血倍攻的鎖帳號問題根本不存在,charles的Breakpoint夠你用了。
甚至你只要直接回傳戰鬥開始的packed(通常request一個mission ID、responseㄧ個roomID)+戰鬥結果的packed(通常要request前面的roomID來判斷是同一場戰鬥)+戰鬥獎勵的packed即可....
你畫面上根本沒顯示可是實際上Sever認為你打完了一場遊戲。
(有看過ㄧ些網路遊戲的脫機版外掛吧?)

遊客,如果您要查看本帖隱藏內容請回覆

分享分享0 收藏收藏1 讚3 幹0 分享分享 FB分享
回覆

使用道具 舉報

0

主題

0

好友

3

積分

外掛幼幼班

沙發
lokyanq 發表於 2015-1-15 00:53:36 |只看該作者
thankyoufor shareing i learn many form this
回覆

使用道具 舉報

0

主題

0

好友

102

積分

外掛國小六級生

Rank: 2Rank: 2

長椅
kkx03047770 發表於 2015-1-15 19:09:52 來自手機 |只看該作者
感恩感恩感恩感感恩感恩感恩感恩 趕快來看看內容
回覆

使用道具 舉報

0

主題

0

好友

17

積分

外掛大班

Rank: 1

4
l147896325 發表於 2015-1-16 20:51:39 |只看該作者
謝謝樓主分享
回覆

使用道具 舉報

0

主題

0

好友

5

積分

外掛小班

Rank: 1

5
吳仲霖 發表於 2015-1-17 10:35:20 |只看該作者
感恩感恩感恩感感恩感恩感恩感恩 趕快來看看內容

回覆

使用道具 舉報

0

主題

0

好友

3

積分

外掛幼幼班

6
CalvinNg 發表於 2015-1-17 14:39:51 |只看該作者
遊戲的卡cvhffhfgh1r454rtreh1h2fg4jg5gh74j65g478h
回覆

使用道具 舉報

2

主題

0

好友

164

積分

外掛國小六級生

Rank: 2Rank: 2

7
☆雪雪雪☆ 發表於 2015-2-5 15:43:42 |只看該作者
就是需要這種的資訊
萬分感謝大大的分享
回覆

使用道具 舉報

0

主題

0

好友

142

積分

外掛國小六級生

Rank: 2Rank: 2

8
gloom19960510 發表於 2015-2-5 20:15:20 |只看該作者
感謝分享感謝分享感謝分享感謝分享感謝分享感謝分享感謝分享感謝分享∼
回覆

使用道具 舉報

0

主題

0

好友

3

積分

外掛幼幼班

9
JohnKao 發表於 2015-2-7 18:09:43 |只看該作者
很棒喔.........很棒喔.........很棒喔.........很棒喔.........
回覆

使用道具 舉報

0

主題

0

好友

573

積分

外掛高中初級生

Rank: 4Rank: 4

10
rzam96723 發表於 2015-2-8 13:45:46 |只看該作者
=謝謝大大無私分享!!!!!!!!!!!!
讓我們有福同享!!!!!!!!!!!!
回覆

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 註冊


回頂部