封包,包分析以及HOOK封包的重要性

2021-02-19 任鳥飛逆向

在對一款遊戲的數據分析中,明文封包的重要地位是無可取代的,準確的發送封包可以讓我們在實現功能時避免很多風險與麻煩。比如,我們可以節省大量的功能函數的參數分析與特徵定位,也可以跳過大量中間函數的判斷,直接實現功能,甚至可以實現很多普通玩家無法做到的特殊功能。

然而,這一切都是建立在「準備」這兩個字上面的,如果胡亂的使用封包,或者某些結構數據沒有分析完全,很有可能會讓事情變糟,掉線,崩潰,甚至封號等等。

準確的分析封包,不只限於對單個封包的結構進行分析,因為很多功能並不單一封包可以實現的,如果不能將所有相關的封包一一發送,也許無法實現某些功能,甚至可能會在「漏發」之後出現一些未知的錯誤。下面我們對一款本地架設的遊戲封包進行分析。

我們先調到明文封包的位置,分析一個最簡單的打開NPC。

圖中是最外層明文包頭部地址,之前的線程發包分析過程我們就不做講解了。

我們在這個頭部下斷,並打開NPC,遊戲會斷下

返回後重新下斷,對結構體進行分析

這款遊戲有一個特點,就是我們需要通過遊戲自帶的函數申請內存,才可以對明文CALL進行調用,否則遊戲就會崩潰,雖然功能也會實現。

申請結構體之後會在下面的函數中進行組包

根據組包函數的參數可以分析出我們只需要傳入一個NPCID即可

那麼我們通過代碼注入器來對這個封包進行發送

發送之後遊戲沒有反應,NPC並沒有打開。多次嘗試之後依然如此。這說明我們找的封包並不是打開NPC的。相信很多人已經想到問題所在了,再打開NPC之前,有一個前置封包對我們進行了幹擾,而這個封包就是選中NPC。而遊戲中沒有反應的原因是因為選中NPC的本地效果在外層,所以並沒有顯示出來。

那麼我們通過左鍵先選中NPC,然後再次點擊左鍵打開,這時遊戲會斷到一個新的返回地址。

這個函數和選中NPC唯一不同的地址就是組包函數的地址,那麼我們修改之後再次調用

打開NPC成功了

以上的問題常常會對萌新造成一些麻煩,但是注意一些還是可以避免的。

單個的功能實現比較簡單,但是如果我們將這些封包以一定的邏輯組合起來,編成一個腳本的話,會發現可能會出現一些未知的錯誤。

比如,我們發送以下連續封包打開NPC----交任務----接任務

這時就會發現,接受任務無法成功

這時如果手動打開NPC也無法打開NPC,以及接受任務。

這說明我們在這個過程中忽略一些東西,而出現這種問題的主要原因是我們通過函數頭部下斷去分析封包很麻煩,各種跟包和心跳會影響我們的判斷。

想要避免這種問題的出現,我們就需要對明文封包進行HOOK,通過調試輸出對發包流程進行觀察。

由於外層函數HOOK起來比較麻煩,而且還需要調用遊戲自帶的申請內存。所以我們在內層尋找一個比較合適的地方進行HOOK,並分析了加密函數,自我實現send發包。

具體的分析過程略過,感興趣的話可以通過相關課程進行了解。

接著上面繼續分析,由於提交任務是成功的,但是接受任務失敗了,所以我們主要對提交任務的封包進行觀察

在提交任務後,我們得到了這些封包,第一個包很明顯是交任務包,第二個包則是打開NPC,

單獨調用打開NPC,會跟著輸出一個包

單獨發送一次交任務包,會跟出另外兩個包

那麼也就是說我們在提交任務之後,需要再次發送一個打開NPC包,這樣才能夠繼續接受任務。

下面做一個連續測試,打開NPC----交任務----打開NPC----接任務

接受任務成功,說明我們的分析是沒有問題的。

以上就是我們對封包實現功能的分析過程,在這個過程中,HOOK封包使我們的分析簡單多了很多,雖然通過OD去逐條分析每一個訪問也可以達到效果,但是很明顯會麻煩很多。

本文中的實例都是比較簡單的,還有很多遊戲的封包比這個要麻煩很多,不過分析的方法是沒有區別的。如果有什麼意見和疑問,請關注相關群和課程,大家共同探討。

喜訊!2020年度第七期實地課程報名了!

知識改變命運,改變未來!

報名掃描下方二維碼

相關焦點

  • 寫在「封包」之後
    先將凡士林和西瓜霜噴劑混在一起,塗抹在患處,再用保鮮膜封包。為了防止保鮮膜脫離,小編會把老婆的絲襪加工一番,自己套上。某次鄰居敲門借東西,忘了遮擋直接開門遞出去,事後覺得那哥們的眼神很奇怪,估計把我當特殊愛好人士了。什麼時候小編手拿皮鞭、腳蹬皮靴,去你家敲門看你怕不怕,哼!封包時間由自己決定,沒有統一的標準。
  • 封包軟兒梨
    封包軟兒梨
  • 封包輔助「初體驗」
    尋找明文封包3. 尋找加密函數 分析封包:客戶端告訴服務端我釋放了某某技能,總不可能寫得漢字吧,所以我們需要分析封包,知道釋放技能應該以什麼形式描述。找明文包:系統發包函數上下斷確實可以獲得封包內容,但是多半是加密的,而且加密的密鑰可能隨時會發生變化,加密後的內容基本就是一團亂碼無從下手沒法分析,所以我們得找到內容還未被加密的地方。
  • 中醫封包療法
    一、什麼是封包療法:中藥封包療法是將加熱好的中藥藥包置於身體的患病部位或身體的某一特定位置如穴位上。通過奄包的熱蒸氣使局部的毛細血管擴張血液循環加速利用其溫熱達到溫經通絡、調和氣血、祛溼驅寒為目的的一種外治方法。
  • 【遊戲漏洞】頁遊逆向—摩爾莊園封包解密
    摩爾莊園則是一款Flash遊戲,網頁屬於客戶端,與伺服器通信就會產生封包,我們只需要構建出封包數據,就可以實現遊戲內的所有動作,通過修改封包數據,還可以實現很多客戶端本身沒有的功能(如刷金幣刷道具等)。因此網頁遊戲為了安全都會將封包加密再發送,而又為了減輕伺服器的負擔,封包的加密不會很複雜,且封包的加密算法一般都可在本地緩存的swf文件中找到。
  • 簡易信封包教程{ 壹 }【教程分享】
    下期預告(信封包2):  【往期回顧】【皮的一千種表情】● 皮的一千種表情系列【回復"1000"】【皮藝初級教程】● 信封包1【回復"C10"】● 真皮手環
  • 封包輔助「不得不說的秘密」(2)
    上幾篇筆記我們討論了封包輔zhu的原理和實例,成功的實現了封包吃藥的功能,相比調用遊戲功能Call實現功能,繞開了本地代碼也繞開了本地檢測。 但是有一個非常重要的事情沒能解決,發送吃藥封包有一個很重要的參數——藥品在背包中的位置下標。也是呢,不知道藥品的位置咋嗑藥啊,總不可能我們打開背包去數吧....
  • 銀川一小區業主憂心安全封包露天陽臺,執法部門:屬違建強行拆除
    無論是對業主來說,還是對物業公司來說,封包陽臺似乎成為了一道難題,特別是那些剛交付的新小區。這不,這幾天,綠城御園的幾位業主向晚報記者講述了他們的困惑:他們想要封包陽臺,可是物業公司不讓。「自己家的陽臺能不能封包,到底是誰說了算?
  • 香港時尚資訊:信封包迅速竄紅 大牌熱門款全搜羅
    設計師stefano pilati以聖羅蘭先生早年寫給ysl巴黎總部的信為素材,充分發揮想像,創作出y mail系列手包。其外形緊扣「信封」主題,手寫字母部分恰如收件地址,連右上角的郵票都如實展現,不但方便日常使用更具備收藏價值。jimmy choo
  • YSL魚子醬信封包真假貨辨別技巧對比圖(附細節圖)
    根據數據顯示,ysl魚子醬信封包在代購或者海淘的渠道當中贗品率很高。今天就通過真假包包細節的對比,來總結下關於它的鑑定技巧吧!看五金logo正品logo壓痕很淺、logo 字母尖角處都十分平直;仿品 logo 整體比正品粗一點, 字母尖角處都具有一定弧度。
  • 賽爾號都在用的CE封包為什麼那麼神?雙機蓋的玩家你還活著嗎?
    而當年在2017-2018就有人在巔峰使用封包外掛,即使BAND掉聖譜之後依舊可選,而這種的就屬於「被關注對象」。CE封包,是當前比較常見的一個「穿越性」手段,可以調整序號來參加往期活動。最多的還是白嫖水晶這類活動,還有一些低鑽卡精靈。例如2017-2018年的「雙機蓋」事件。
  • 簡易信封包教程{ 貳 }【教程分享】
    【往期回顧】【皮的一千種表情】● 皮的一千種表情系列【回復"1000"】【皮藝初級教程】● 信封包1【回復"C10"】● 真皮手環【回復"C9"】
  • 信封包、口紅、首飾DIY,拓印、魔術、爵士舞...
    信封包、口紅、首飾DIY,拓印、魔術、爵士舞…13門免費好課開始報名!》閱讀原文
  • hook是「鉤子」,那美國人常說的「hook up」是什麼意思呢?
    off the hookhook做名詞解釋是「掛鈎,吊鉤」,做動詞解釋是「鉤住」,off有「離開、脫掉」之意,那off the hook字面意思就是「脫掉了掛鈎,擺脫掉了」,延伸過來,我們就能知道,本意是指「擺脫困境、脫身」。所以「I am off the hook」意思就是「我終於解脫了」。