2010年9月11日 星期六

天子傳奇外掛製作紀錄(1) - 起源


這是我目前正在寫的一款網路遊戲外掛 , 已有小小的成果了
所以決定把開發過程的一點點心得記錄下來!!




大概在1個月之前有網友艾莫斯請我幫他解一個遊戲的封包

我看了一下發現 , 這個遊戲送出相同動作的封包都是一模一樣的

心裡就有底 , 應該有80%的機會可以解出來

結果沒想到這款遊戲是用最原始的方式來加密(XOR , 與其說加密不如說只是編碼)

沒三兩下就找出了加密的Key值 , 成功的解出了封包

一問之下才知道這是最近廣告打很兇的線上遊戲 "天子傳奇"

於是就引起我對開發這款遊戲外掛的高度興趣!!

趕緊翻箱倒櫃找出當年開發亂online外掛時所自製的封包分析工具(VB寫的)

結果發現不是很合用 ,  而且問題一堆

加上VB我已經荒廢多年 , 都忘的差不多 , 要修改起來非常痛苦

於是決定還是使用C#來重新撰寫這個工具吧!!!

由於從來沒有使用過.net攔截封包 , 於是上網搜尋了一下

發現有一個非常好用的Library 叫 "EasyHook" , 他能完全使用.net來撰寫注入的DLL

實在非常的方便 , 不過在開發的過程中發現 , 他雖然非常的好用

但可能是因為他Hook的方式非常特別 , 速度上似乎稍微慢了點

且有時候會發生無法將DLL完全的卸載乾淨

此時只能使用gacutil.exe /uf指令來移除

雖然有上述的一些缺點但EasyHook還是瑕不掩瑜的成為我首選的Hook工具

因此沒有多久新版的封包分析工具就完成了

終於開始漫長的分析工作了!!

沒有留言:

張貼留言