回覆列表
  • 1 # 使用者4152825952792

    1、熟練的C語言知識

    目前的外掛大部分都是用BC或者是vc寫的,擁有熟練的C語言知識是寫外掛的基本條件

    2、具有很強的彙編基礎 一般遊戲都不可能有原始碼的,必須*反彙編或者跟蹤的辦

    法來探索其中的機理 ,所以有強的彙編基礎也是必不可少的條件

    3、熟練掌握跟蹤和除錯的工具

    有了上面2個條件後,掌握一些工具也是很有必要的

    跟蹤的工具,softice當然是不二之選,至於反彙編的工具,我推薦用IDA PRO

    這個工具反彙編出來的程式碼結構清晰,非常好讀

    如果你不具有上面的條件,還是先把基礎打好,再來寫外掛吧,一分耕耘,一分收穫,天下沒有白掉的餡餅的

    二、寫外掛面臨的基本技術問題

    1、修改程序的執行程式碼 要修改程序的執行程式碼,要先取得程序的ID,如果是由外掛程式啟動,返回值裡就有程序ID,

    如果不是的話,

    需要用findwindow找到視窗控制代碼,再用GetWindowProcessID取得程序ID,取得程序ID以後,就可以用

    writeprocessmemory來修改程序的執行程式碼了,使程式按照我們的意願來執行,石器外掛裡的不遇敵、寸步遇敵

    就是用這樣的方法來實現的

    2、截獲外掛傳送和接收的封包

    除了透過修改程式碼來實現的功能以外,很多的功能都是透過修改封包來實現的,要修改封包,首先要能截獲它。

    第一步是要跟蹤出發和收的位置,至於怎麼跟蹤,我以後會提到,找到位置以後,有2個辦法,一是在那個位置加一

    個jmp語句,跳到你的處理函式位置,處理完後,再跳回來,這種方法要求比較高,需要處理好很多事情,另一種辦法

    是往那個位置寫條能造成例外的指令,比如int 3,然後用DebugActiveProcess除錯遊戲程序,這樣每當遊戲執行到那個 位置的時候,就會停下來,到外掛程式裡面去,等外掛程式處理完以後,用ContinueDebugEvent 繼續執行程式。

    可能這些東西看起來會很枯燥,但是你要是入門了,就會輕鬆起來,可以去找一個水平高的老師帶著你,這樣能夠很好的提高自己的水平

    如果對計算機逆向這塊技術感興趣的可以找我交流

  • 中秋節和大豐收的關聯?
  • 腫瘤有哪些早期診斷方法?