第十章外挂的編寫



進入到遊戲界面,時隔七八年的時間他又再一次聽到那熟悉的遊戲背景音效,看着自己号裏那些如今已經絕版了的裝備,突然覺得過去的生活是那麽的輕松自在,一時間竟覺得有些累了,他緩緩閉上了眼睛,腦海中回想起了曾經的生活,就在這時!父親的身影在腦海中慢慢浮現又慢慢消失,劉毅猛地睜開了閉上的眼睛。

“幹正事兒要緊!”劉毅揉了揉自己的眼睛想讓自己清醒一點。

“噔噔噔”電腦傳出一陣敲門的提示聲,是飛揚雪發來了一條消息,“天哥,有什麽事兒和我說,需要什麽工具我這兒都有。”

劉毅的網名叫做天賜,因爲他的計算機技術比飛揚雪能高一點,所以也不管年齡的大小飛揚雪天哥天哥的叫了他很多年。

看着發來的消息,劉毅緊跟着回了一條消息,“老闆,今晚兒八點之前交貨!”

“啪!”一個回車鍵信息發送出去,也沒看飛揚雪回的信息,抓緊時間開始工作了。

對于地上城這款遊戲,劉毅也沒有全面研究過,據他所掌握,遊戲外挂的大緻可以分爲兩類,一類是内存形式的外挂,也就是通過修改遊戲進程内所執行的代碼,修改遊戲内技能,物品等等一些東西,另一種也就是脫機外挂,脫機顧名思義就是脫離客戶端程序,一個外挂程序模拟官方客戶端進行登錄,遊戲,從而進行,自動打怪,自動撿物,交易等等,這種模式的外挂制作起來是比較困難的,因爲這需要了解很多遊戲的内部技術資料,這些資料也都是屬于商業機密範疇,一般人很難能夠得到,對于這種以格鬥爲主的遊戲,隻能通過第一類,内存進程作爲切入點。

内存外挂?首先必須得想辦法将我現在所用的工具注入到遊戲進程當中,exe程序顯然不行,這是這是屬于應用程序範疇不能直接執行内存操作,隻剩下dll動态鏈接庫,動态鏈接庫還不能直接執行代碼。

一時間各樣的問題出現而來,劉毅找了紙筆,打算将自己的計劃寫在上邊兒,這是他多年留下的習慣,凡是寫一個程序,所有的步驟全部仔細記錄下來,一是爲了方便之後的調試,二是爲了讓自己的思路更開闊。

劉毅操控着遊戲當中的人物進了打怪的圖,進去之後,劉毅沒有讓自己操作的人物站在那不動,看着怪打自己的方式,随後劉毅将遊戲界面切出,來到了桌面,找到EE聊天軟件,開始聯系飛揚雪,因爲屏幕的切換,使得輸入法打成了字母,見此,劉毅開始切換輸入法想要切換成拼音輸入法。

“這個輸入法?”

劉毅看着屏幕又下角,鍵盤shift+ctrl一直換着換着換着,大腦飛速思考起來。

“哈哈,我知道了!”

輸入法!就是輸入法!輸入法就是用user32。dll操作的,同樣都是DLL,輸入法在系統目錄上是以ime爲拓展文件,切換輸入法的同時,就是在加載對應的ime拓展文件,而就因爲這個原因,輸入法才可以在任意一個可以輸入文字的程序執行文字輸入操作,若是我把我寫的dll轉變成一個空的輸入法目錄,那麽再制作一個類似于注入器的程序将DLL注入到那個空的輸入法目錄,然後通過切換輸入法到這個空目錄,不就可以進行内存操作了嗎!

有了思路,劉毅也沒聯系飛揚雪,将自己的思路寫在了紙上,開始分析下一個問題,這樣已經打開了遊戲的内存,要想在這當中修改什麽還需要提升自己權限,畢竟那裏邊兒不是自己的家,總不能自己想幹什麽就幹什麽,提權這種事兒對于劉毅來說那是再簡單不過,因爲他的特長就是破解程序以及網站滲透,最基本的東西已經差不多了,現在最終要的還需要各類基址,和程序設計,基址飛揚雪應該會有,畢竟他是做這一行的,這些東西若是沒有,那他算是白幹了。

基址就是遊戲中内存所在地址,通過基址可以找到一個基本點再加上偏移值來确定絕對位置,确定位置之後通過修改基址,外挂所修改的功能就會展現出來。

“飛揚雪,把基址都發給我。”劉毅在EE上鍵入消息發送過去,一眨眼的功夫,聊天窗口就出現了十幾行基址以及各類技能代碼,劉毅看着幾十行代碼,有些高興,因爲這些正是他自己想要的。

基址以及技能代碼已經有了,他打開了一款名叫,Y語言的全華夏語程序編輯軟件,很久之前,他是通過飛揚雪了解到了這個軟件,自己學習了幾天覺得整體上的感覺還是不錯,畢竟編輯這種小的軟件,最主要的還是自己用的舒服,技術方面他認爲,除了那些漢化的編程軟件,這款Y語言的整個程序框架最爲清晰,最主要的是整個編程模式都是按照華夏人的習慣進行的,其中它的數據庫比較龐大與公衆所周知的c語言沒什麽特别大的差距。

打開了Y語言,劉毅首先開始的是輸入法注入的編寫,其次是程序框的構造,整個程序界面他不想設計的太過複雜,因爲他知道使用外挂的網友不一定都是電腦通,所以整個程序界面隻添加一個名叫注入按鈕放在程序中間,随後單擊注入按鈕正式進入到代碼編寫界面。

注入器的原理就是将編輯好的DLL文件保存到注入器中,然後通過注入器創建輸入法空目錄,這個時候登錄遊戲,切換輸入法到了空目錄這一欄,DLL文件就會注入到當前進程當中,随後通過進程就可以執行内存操作。

劉毅按着思路眼睛緊盯着屏幕代碼一排排出現在屏幕之中,大約過了半個小時的時間,注入器穿件輸入法空目錄制作完成就差将DLL加載到程序當中,随後他将注入器放到一邊,開始最重要的DLL的編寫工作,DLL編寫需要格外的嚴謹,一旦中間環節有一點兒的出人,程序執行之後都會面臨無法執行的效果。

劉毅看了看項目單上所需要的功能。

極速過圖,這個簡單,隻要測試出來人物從第入口到出口的坐标系數就可以,遠程修理買賣,這個隻要知道修理基址,買賣基址就可以解決,這個攻擊的方式可以通過人偶響應,劉毅知道地上城有一種叫做人偶的道具,隻要消耗一個,就會出現一個遊戲NPC通過這個NPC的基址出發技能,修改技能傷害,和傷害範圍,如此,主要功能已經差不多了,看了看電腦上的時間,此時已經到了下午三點,看着時間已經不早了,很快,他進入狀态聚精會神的開始編寫程序代碼。

經過了不到一個多小時的編寫,程序主要功能修改的差不多了,代碼行數達到了三百多行,看着這龐大的工程量,他比較自戀的佩服起自己的手速,一切準備完成,按起Y語言最上邊一個綠色的調試鍵,程序代碼迅速進行調試,三百多行代碼沒有一處錯誤,他比較興奮,因爲距離成功又近了一步,劉毅保存dll到桌面,一個齒輪狀的文件出現在桌面上,之後劉毅切換到編寫注入器的界面,将編譯成功的DLL文件以圖片的形式保存到注入器程序中,隻見剛剛保存到桌面的dll文件消失了,進入到注入器那個程序當中。

見dll文件成功加載進注入器裏邊,劉毅開始編譯注入器爲可執行程序,随着注入器的打包生成,接下來,進入到激動人心的外挂測試階段。

追書top10

熊學派的阿斯塔特 |

道詭異仙 |

靈境行者 |

苟在妖武亂世修仙 |

深海餘燼 |

亂世書 |

明克街13号 |

詭秘之主 |

誰讓他修仙的! |

宇宙職業選手

網友top10

苟在妖武亂世修仙 |

苟在高武疊被動 |

全民機車化:無敵從百萬增幅開始 |

我得給這世界上堂課 |

說好制作爛遊戲,泰坦隕落什麽鬼 |

亂世書 |

英靈召喚:隻有我知道的曆史 |

大明國師 |

參加戀綜,這個小鮮肉過分接地氣 |

這爛慫截教待不下去了

搜索top10

宇宙職業選手 |

苟在妖武亂世修仙 |

靈境行者 |

棄妃竟是王炸:偏執王爺傻眼倒追 |

光明壁壘 |

亂世書 |

明克街13号 |

這遊戲也太真實了 |

道詭異仙 |

大明國師

收藏top10

死靈法師隻想種樹 |

乘龍仙婿 |

參加戀綜,這個小鮮肉過分接地氣 |

當不成儒聖我就掀起變革 |

牧者密續 |

我得給這世界上堂課 |

從皇馬踢後腰開始 |

這個文明很強,就是科技樹有點歪 |

熊學派的阿斯塔特 |

重生的我沒有格局

完本top10

深空彼岸 |

終宋 |

我用閑書成聖人 |

術師手冊 |

天啓預報 |

重生大時代之1993 |

不科學禦獸 |

陳醫生,别慫! |

修仙就是這樣子的 |

美漫世界黎明軌迹