- UID
- 2173943
- 熱心
- 2713 值
- 嘉獎
- 0 次
- 違規
- 0 次
- 在線時間
- 835 小時
- 經驗
- 6164 點
- 積分
- 21768
- 精華
- 6
- 最後登錄
- 2015-6-4
- 閱讀權限
- 70
- 註冊時間
- 2014-10-29
- 論壇幣
- 10026 幣
- 聯合幣
- 220 枚
- 幸運鑽
- 23 顆
- 招待卷
- 0 點
|
本帖最後由 千年眼 於 2015-2-23 16:04 編輯
《白貓 Project》DLL修改基礎 新手教學
首先我們需要以下工具【點擊下載】:
解壓工具 - 7zip (從.apk中解壓出DLL)
組譯工具及反組譯工具 - ilasm + ildasm (用於反反組譯DLL,以及組譯IL)
DLL查看及修改工具 - Net Reflector + Reflexil 插件
APK解壓及簽名工具組合 - APKTool + jarsign
Java運行平台 - Java JRE載點
Net Reflector激活器下載
以上軟體安裝方面我就不解釋了,弄不到可以去Google找
有些人也許用ILspy來查看DLL,但是我使用Net Reflector因為用起來方便可以直接修改等還可以直接看到IL指令功能解釋。
1, 使用APKTool解壓白貓APK
a. 把apktool解壓在C:/盤內 , 把白貓Project APK拉倒裡面去吧
b. 在apktool文件內打開CMD [Shift+右鍵]
c. 輸入分別以下指令進行解壓及安裝框架
- apktool if jp.colopl.wcat1.0.22.apk
- apktool d jp.colopl.wcat1.0.22.apk
d. 完成後就會像這樣(抱歉圖中用台版,因為剛好修改着台版順便做教程)
e. 最後打開解壓好的文件我們要修改的就是這個Assembly-CSharp.dll
注:為了方便,我把文件拉到組譯工具同個文件夾內,如圖
完成後就會看到新的APK了!
4, APK簽名
a, 文件夾內打開CMD
運行以下指令
- java -jar SignApk.jar testkey.x509.pem testkey.pk8 [要簽名檔案名稱] [簽名後檔案名稱]
- 例子
- java -jar SignApk.jar testkey.x509.pem testkey.pk8 jp.colopl.wcat1.0.22.apk WC_1.0.22Modified.apk
5,部分修改提示!!
新手建議先使用Net Reflector熟習整個DLL的構造
三圍的修改,修改位置為Player > SetupParameterFromUnitModel(Param) : Void
HP倍數的例子:
IL語言是一個疊成然後一行推送去下一行的這個概念,所以這裡的意思是把1000這個值推入HPRate中
繼續往下看會看到以下其他的這些:
get_TownAddSPRate() << 明顯是SP倍數
get_TownAddAtkRate() << 攻擊倍數
get_TownAddDefRate() << 防衛倍數
get_TownAddHitRate() << 忘了,應該是暴擊
get_TownAddAgiRate() <<忘了,應該也是暴擊
大家看的出來嗎,其實我們在改的是城中建築物的效果加成倍數。而我們這樣修改就是改變建築物的效果倍數。
當然如果你可以發現其他地方,如隊長技能等也可以找到相關的倍數修改處。
跑速,修改位置為Player > GetRunSpeed() : Single
其餘的各種修改請大家自己慢慢研究吧。
另外給大家一些基本的修改邏輯以及思維方向。
所謂修改客戶端,只能修改伺服器方不驗證/不同步的參數。說明了,寶石之類基本不可能通過修改APK達成。
目前不被驗證的就是戰鬥時候的參數,也就是你能往戰鬥方面/地圖方面去修改。
再給點提示,
InGameManager,StageManager等都是有關戰鬥參數的,請自己研究吧!
|
|