謝謝邀請!修改程式軟體用OD,修改之前需要備份原始檔,修改前提是你需要有反彙編知識,不然你是修改不了的,我剛才做了一個例子,永久修改單機遊戲《羅馬復興》的資料(exe進行修改了,我不是用的OD,我用的是自己做的二進位制檔案編輯器),我大概修改了兩個東西,一個是資源上限和人口上限。
先把遊戲載入到編輯器中,在編輯器中搜索資源的預設值,這裡要注意是以位元組方式搜尋,搜到相關資料後,就可以在檔案指定偏移處修改我們自己的資料了,要注意把數字轉為位元組,修改完了儲存exe,下次進遊戲預設資源就是你修改的值了,然後我又修改了人口上限,遊戲預設值是50,十六進位制是32,此時在編輯器中搜索是不行的,因為他是固定的值,而且是一個位元組,搜尋結果很多,這時候我們就不知道哪個才是正確的,所以需要進去遊戲,藉助記憶體搜尋工具(推薦用ce),根據當前值搜尋,搜到後在它的記憶體區域以反彙編檢視,因為要判斷人口上限,所以附近就會有一個條件比較指令,比較的物件是0x32,我們把這條指令在編輯器中查詢,在檔案偏移106F80處找到了32,把它改為c8(200)儲存,進遊戲後人口上限就是200了。我們知道了資料的偏移後,就能做一個專門修改此遊戲資料的小程式啦!
謝謝邀請!修改程式軟體用OD,修改之前需要備份原始檔,修改前提是你需要有反彙編知識,不然你是修改不了的,我剛才做了一個例子,永久修改單機遊戲《羅馬復興》的資料(exe進行修改了,我不是用的OD,我用的是自己做的二進位制檔案編輯器),我大概修改了兩個東西,一個是資源上限和人口上限。
先把遊戲載入到編輯器中,在編輯器中搜索資源的預設值,這裡要注意是以位元組方式搜尋,搜到相關資料後,就可以在檔案指定偏移處修改我們自己的資料了,要注意把數字轉為位元組,修改完了儲存exe,下次進遊戲預設資源就是你修改的值了,然後我又修改了人口上限,遊戲預設值是50,十六進位制是32,此時在編輯器中搜索是不行的,因為他是固定的值,而且是一個位元組,搜尋結果很多,這時候我們就不知道哪個才是正確的,所以需要進去遊戲,藉助記憶體搜尋工具(推薦用ce),根據當前值搜尋,搜到後在它的記憶體區域以反彙編檢視,因為要判斷人口上限,所以附近就會有一個條件比較指令,比較的物件是0x32,我們把這條指令在編輯器中查詢,在檔案偏移106F80處找到了32,把它改為c8(200)儲存,進遊戲後人口上限就是200了。我們知道了資料的偏移後,就能做一個專門修改此遊戲資料的小程式啦!