本文轉貼來源&作者micoco40
需要之軟體
1.WINRAR
2.IDA PRO
3.Hex Editor Neo
4.AndroidResEdit
下面我舉例修改召喚獸的案例給各位做參考,其餘其他修改方式都一樣.畢竟我不是學程式的,所以有些說明很口語,也不一定正確就將就一點吧.
修改參數下載
1.首先下載到最新版的FFBE apk 檔案.
2.點選apk,會顯示如下圖
3.點選libarmeabi-v7a 就會看到libgame.so檔
4. 將libgame.so 移出複製到桌面
5. 打開軟體IDA pro
6.點選open
7.選擇libgame.so
8,點選OK
9.如果是第二次開啟libgame.so會出現下面畫面選擇overwrite,如果是第一次開啟libgame.so不會出現這個畫面
10.畫面為libgame.so 反譯後的畫面 1.IDA view-A 為原始碼 2.Hex View-1 為相對應的Hex碼(16進制碼) 3.Exports 可以選擇function
11. 點選Exports,可以看到許多程式名稱,可以點選Name用名字排列,或是點選address由編碼順序排列
12.使用工具列的search
13. 輸入 BattleParty::isFullSummonp按OK
14.畫面會跳到這個選項,點選BattleParty::isFullSummonp(void)
15.點選後會跳回IDA view-A的畫面,下面為能否召喚幻獸的程式,一般來說當打到魔物,會掉落召喚水晶,當集滿10顆就可以召喚幻獸,下面的描述是說 當召喚水晶小於等於9顆時,召喚條沒滿也就是無法召喚,如果超過9顆,就滿可以召喚,所以我們要修改,不管水晶幾顆,我都能夠召喚 CMP R0, #9 if (x <= 9) | ITE LE | MOVLE R0, #0 x = 0; | MOVGT R0, #1 else x = 1; |
16.點選00523462 這個位置,我們要把它修改成MOVLE R0, #1
17.再點選Hex View-1 可以知道MOVLE R0, #1, Hex碼為00 20 所以我們要將他修改成01 20
18.我不知道怎用ida pro直接修改,所以我使用Hex Editor Neo來達成我的目的 (如果你會用ida pro直接修改,也希望你能教我)
19.點選libgame.so,其餘檔案是使用IDA pro 產生的檔案,不要理他 20. 點選圖左上address輸入位置,輸入00523462 21.跳到0052462後可以看到編碼,可以與IDA pro 對照確定沒找錯位置,將該位置修改成01後存檔
22.為了確認沒改錯,可以將ida pro關掉,重新開啟修改後的libgame.so
23.可以直接在IDA View-A 點選address 按右鍵,選擇Jump toaddress 24. 輸入00523462 25.可以看到已經修改成MOVLE R0, #1,也就是我們不管召喚水晶幾顆都可以使用幻獸 26.當然可以做許多修改我只舉一個案例,再來就是將修改後的libgame.so丟回去 libarmeabi-v7a 裡面.
27.這樣的檔案是無法安裝成功的,還需要重新簽名,點選META-INF 28.將CERT.SF與CERT.DSA刪除
30.選擇工具列的簽名apk文件
31.選擇修改完的apk檔,並選擇存檔位置
32.待程式顯示簽名完成
33. 後面有寫SignFile 的檔案就是最後完成的檔案, 放到手機安裝就可以享受修改的樂趣.
|