本帖最後由 fan61 於 2010-3-18 12:38 編輯
2010/03/18
補充:
沒想到二年前寫的文,現在還有人在回貼~YCT63B看到很多人在提第二篇權限高的問題,主要是因為..裡面有實際找一個遊戲來做反譯記憶體的教學範例,這個有點...呃....該說是....不是很守法的行為......所以..YCT37B
前言:
各位版友大家好,我是版版內某一遊戲版裡免費輔助程式的作者,我不想把哪一個遊戲寫的太明,雖然目前此[外掛研發學院]版版算封閉式的版,但未來不知是否會開放,因此還是保留一點好!因為這裡是台灣,不是....對岸,如果寫外掛賣或散播,吃官司的機率很大!除非你有辦法讓人抓不到你!!例如請對岸的朋友幫你賣或散播!!也許你會想說,為什麼會吃官司?遊戲公司要用什麼罪名來告你?其實很簡單,除了類script語法的軟體,如按鍵精靈或EZSCRIP.....等不需要去破解原遊戲外,其餘不管寫輔助程式或外掛,都一定要做一個動作!!就是要反匯編遊戲程式或截取遊戲軟體的封包來做破解!!此動作.....讓你被告的機率很大!!因此如果想用此來削錢,建議你就此打住!!我會發佈某一遊戲的輔助程式,是因為我不以營利為目的,並且不去寫對遊戲軟體公司有利益衝突的程式,如自動打怪...等等的功能!他遊戲內本身就有內掛的功能,但不是很好用,如果我寫輔助程式對他本身公司軟體不足的地方去做補強,也許還能幫他公司增加收入!!如此一來,被告的機會就降低許多了!
好了,以上的認知你們了解就好,接下來就要說到想寫外掛需要的基本必備能力了,此部份會講到寫外掛的基本流程,我帶過即可,你們只要了解需要什麼能力即可!其實也很簡單,就是.....至少要會寫程式吧yociexp118.gif !如果連個最基本的VB,VC,delphi等等的程式都不會,其實就不用多談了!!而反匯編呢?要說深入了解,也許不比寫程式簡單,但會寫程式的人,基本上要學個皮毛倒是不會很困難!!因為我就是過來人,我以實際的親身體驗來告訴你們!對反匯編很熟的版友們也不需要對我筆戰!此篇主要是要告訴想學外掛的版友們,只要你會寫程式,要寫外掛就容易多了!連程式都不會寫,說真的,想學寫外掛.....難如登天了...
針對會寫程式的版友們(VB,VC,DELPHI.....),想學寫外掛,有機會的!
寫外掛時大略流程如下:
1.針對遊戲軟體做記憶體反匯編或截取封包,以取得相關必要的資訊!!
2.針對取得的資訊去做程式的控制及撰寫!
就這兩點而巳,就這麼簡單!會寫程式的人,其實主要就是針對第2點,再學一些如何用你寫的程式去控制所謂記憶體的位址存取或封包的發送,此為固定引用API元件的語法,如果有範本可參考一下,相信會寫程式的人都不難理解!接著就是學一下反匯編遊戲記憶體的位址!!一個外掛的形成就有望了!以下要說的概念,會寫程式的人應該一聽就懂了!!日後我如果有空,再慢慢補引用API的語法及後面的實際操作的文章!!
好了,概念來了!!試想,有一個遊戲,你的角色血量有2000,如果你在打怪的過程中,能在VB或你會的程式裡由遊戲裡取得這個一直在變動的值,是不是代表了...當你每隔100毫秒或500毫秒偵測他一次,即可知道你現在的血量有多少?這樣一來,是否就可以由你會的程式裡去做一個判斷,當血少於多少時做什麼動作?比如模擬MOUSE或鍵盤,假如補血是按F1,是不是就可以讓程式模擬按一次F1,又或是如果可以得知遊戲記憶體裡,某一個址執行時就代表補血,那是不是只要直接執行此址,就可以補血了!接下來可改以%分比來做判斷,失血多少%要補到多少%為止!以此例為延伸,其他所有的功能就能接著來做了! |