第五十一章:修改封包的外掛
在台北極光的會長室裡,兩人討論著有關新版外掛程式的事。
任逍遙問:「已經完成了嗎?」
郭崙新說:「沒有問題,這是上海極光的江唯,協助我們台北極光的簡德昌與秦天罡所開發出來的外掛,世界上任一版 soul 均適用的物品修改器。」
任逍遙問:「江唯?是炎黃系統的研發者嗎?」
郭崙新說:「是的,就是他新開發的炎黃系統,被視為取代原來天龍系統的最強大作品,這次的新系統是透過HTTP通訊協定傳輸的,防火牆很難擋的了封包。」
任逍遙說:「原來是他,果然了得。對了,你說新的外掛,是如何使用的?」
郭崙新說:「新的外掛是建立在物品碼的更改上,由於 soul 的程式會將許多判斷式都做到玩家端,藉由修改物品碼的方式,我們可以更改任何一種道具,比如把一顆雞蛋變成鳳凰,把石頭變成火紋合金劍,只要配合銀行倉庫就可以了。」
任逍遙說:「只修改物品碼應該不至於會變動到伺服器端,難道...」
郭崙新點頭說:「您猜的沒錯,他們已經解析完 soul 的『封包』了!」
任逍遙問:「所謂的封包,應該是指 soul 程式傳送到伺服器去的資料吧?如果他們真的解析出 soul 的封包格式,那麼應該可以做到更多事吧?」
郭崙新說:「不,事實上,soul的傳訊格式主要被切成五個訊框封包為一個傳訊單位。第一個紀錄使用者的帳號角色等人物資訊,第二個則是處理動作,第三個是地圖位置。而我們修改的主要是第四個 data 訊框封包,它會傳輸物品的資料碼到 Server 端,並且同時修改第二個封包傳送 F8B7 這個十六進制位元訊號,也就是Update 訊號,更新銀行倉庫裡的物品碼成為 data 封包的資料。」
任逍遙知道後問:「可是對方的伺服器應該會有『封包過濾』決定是否通過吧?而且第五個訊框封包呢?傳訊的啟動與終止又如何決定?」
郭崙新說:「按照他們給的資料,第五個訊框封包應該是驗證機制,決定被切細的內容是否與驗證機制相同。這是一個 128bits 加密編碼過後的訊號,的確在初期因為沒有解開第五個驗證封包加密的演算方式,所以封包會被過濾掉。但最後他們似乎計算出來銀行倉庫物品更新的演算法,所以這版外掛程式目前只能夠對銀行物品清單做修改。在傳訊開始會先送出 SOT,結束也有EOT。」
任逍遙看了看資料說:「SOT,Start of Transaction;EOT,End of Transaction。照這情形看來,被切細的封包內容格式已經解析完成,但不同動作的加密編碼演算式才是問題!好,那在修改上還有什麼問題嗎?」
郭崙新說:「我們都知道 soul 的銀行是利用一次讀取和一次寫入的方式降低伺服器的訊號流量,因此這版外掛在傳送訊號上也會是切細許多格資料後一次寫入,但是這也會造成我們開啟銀行後讀取一次,卻寫入兩次的問題。」
任逍遙問:「你認為他們會發現有這種情況進而封閉兩次寫入造成的錯亂?」
郭崙新說:「我們並不能排除這種可能,所以最好不要大量流出。」
任逍遙說:「好,我知道了,利用這種外掛程式把所有的寶物都修改出來。」
郭崙新問:「是否也採取公開原始碼的方式?」
任逍遙說:「公開原始碼,但僅限極光的會員,說不定他們之中有人還能改寫的更棒或發現其他動作的加密編碼方式。因為這個限制,所不採用自由授權,採用極光授權法第四條的『內部二級限制授權與開放原始碼』條例授權。」
郭崙新點頭說:「我知道了,那我現在立即開始處理!」
極光駭客組織開始動員所有人複製修改...................
宇成和雲飛和天玄回到家後,習慣性打開 soul 來看看發生了什麼事。
突然有人在宇成和雲飛角色前面丟下寶物就走人,原來是郭崙新。
宇成說:「疑,這不是我被回收的不死鳥和火紋合金劍嗎?」
雲飛說:「他丟了新的木精靈給我,看樣子,他們又入侵成功了。」
郭崙新密他們說:「對不起,我還要給很多會員東西,等等再聊。」
天玄張大眼睛問:「你們...你們怎麼會有那麼棒的東西?不是被回收了?」
宇成竊笑說:「嘻嘻!這件事嘛,你還是不要知道比較好。」
天玄又問:「對了,你們之前變成駭客,那這一定是你們用駭客的能力取得的囉?」
宇成說:「好吧,我就告訴你也沒關係,這個是我們駭客組織裡的人給我的。」
天玄興奮的說:「好棒啊!對了,可不可以也給我一些好東西?宇成大哥!」
宇成說:「好啊,我幫你弄弄看,雲飛,來吧,準備雙登入。」
天玄問:「什麼?雙登入?這是大絕招嗎?」
雲飛說:「你先回去,到主城銀行去等我們把東西給你。」
天玄興高采烈的回到房間,宇成和雲飛便用雙登入大法複製東西。
宇成說:「雲飛,要開始囉?」
雲飛點頭說:「嗯,我要喊了!1、2、3!」
宇成和雲飛已經熟練雙登入的默契,很快的運用同樣的 bug 洗出物品。
天玄拿到東西後說:「太好了,我終於沒有白玩這款遊戲,太棒了啊!」
宇成和著如此高興的天玄,內心卻沒有助人為樂的快感,又開始想著:「我這麼做是對的嗎?天玄如此高興,為什麼我沒有一絲絲為他高興的感覺呢?又有罪惡感了嗎?可惡...我應該不會這樣的啊!我不是已經決定了要這麼做了?」
正當宇成又要開始發呆思考的同時,時間並沒有允許他這麼做。雲飛對他說:「宇成,切到公會頻道,會長有話要對我們說。」宇成便迅速切過去。
任逍遙說:「各位會員,很高興你們為執行這一任務而付出的努力。今天,我們和上海極光共同開發完成了 soul 的物品修改外掛程式,正式放在本會網站上供會員下載,請不要對外散佈本程式,它是基於極光授權法第四條而授權的。」
郭崙新補充說:「第四條是『內部二級限制授權與開放原始碼』,對原始碼有興趣的可以自行編譯自己改寫的外掛,但嚴禁對外散佈。」
任逍遙繼續說:「本程式是基於 soul 在讀取銀行時,物品碼是一次讀取到本機,再利用修改完才寫入伺服器資料庫的法則而製作的。使用本程式時需打開銀行倉庫,然後利用外掛程式在銀行物品欄位上寫入修改過後的值,並儲存這項物品,被修改過後的值就會在全部確定後寫入。假設你在雞蛋上寫入修改值使之變成鳳凰,則存放在銀行的雞蛋會儲存成鳳凰,就是這樣操作懂了嗎?」
所有極光的成員得知此消息後,紛紛上網站去抓取外掛程式來使用。
雲飛問宇成:「你想不想要去抓這個程式來用?」
宇成搖搖頭說:「我不要,我不想,我不喜歡做修改這種事情。」
雲飛說:「好吧,既然你不想,那我自己抓來看看好了。」
雲飛便連線到極光駭客網站的下載點,同時抓取原始碼與已經編譯完的程式,同時重新啟動 soul 主程式與外掛。表面上說不喜歡外掛的宇成,再次浮現的罪惡感還是敵不過追求知識的好奇心,悄悄跑到雲飛旁邊觀看。
雲飛打開原始碼對宇成說:「你看起來還是很好奇嘛?那就來研究研究吧!」
宇成摸摸頭說:「真是不好意思!對了,這程式碼到底是什麼?我完全看不懂!」
雲飛說:「身為駭客,你至少也該看懂一些程式碼吧?像這裡,便是將位元訊號切細成封包的程式,這似乎是 soul 傳送訊號的傳訊基本格式。」
宇成不好意思的問:「到底...封包是什麼?」
雲飛跌倒說:「不會這麼離譜吧!」隨即站起來把椅子扶正說:「所謂的封包,便是 Packet 這個英文單字,包裹的意思。輸送端將各種訊號位元拆開來包裝成一個一個包裹後一次丟出去,而接收端再將收到的包裹打開來把裡面被拆開的位元重新組合成訊號來處理。因為電腦是高速處理的,所以同時可以傳遞許多被切開的訊號再組合在一起。」
雲飛坐到椅子上繼續說:「用封包也能被設定成固定的大小好包裝與拆開,假設我們兩人各傳訊『今天天氣真好』及『中午太陽好大』,而封包固定成三個字為一組的話,就可以切細成『今天天』『中午太』『氣真好』『陽好大』四個封包然後我們兩人各傳兩個封包出去,接收端再按照封包頭的資訊組合被切細的封包,於是就會把我們兩個說的話組合起來成為完整的句子,而線路也沒有被我們兩個人的任何一個佔用。」
宇成點點頭說:「我大概懂了,原來這就是封包啊!」
soul裡,極光的動作,使遊戲世界瀰漫起小小的詭異氣氛...待續
(幕後畫面!天玄:「你們有垃圾要丟嗎?」 宇成:「等等,為了避免丟垃圾的路被我們佔用,我先分成十小包,一次丟一包,跑十趟!」 雲飛:「....」) |