這一篇文章裡面將會告訴你如何用原生的sdk 對你的專案程式碼/圖片進行保護。 (建議已經升級1.6版本的作者才使用) 這篇教學有點繁雜,所以不說廢話了,看完這篇可以得到以下效果
- 學到如何保護程式碼,不讓其他人看光你的檔案
- 學會如何利用簡單技巧防止別人反編譯你的圖片(下一篇才會教,但你要先看懂這篇)
說明: 這篇文章將會利用原生nwjs的SDK工具,將程式碼進行編譯。編譯後的程式碼與圖片基本上可以得到一定程度的保護。
(此範例適用MV1.6版, 1.5版主要差再sdk的版本要使用0.22版本,其餘皆相同。)
事前準備
首先來下載主要使用的工具
nwjs SDK 0.29.0 (RMMV 1.6的核心nwjs為 0.29)點我
nwjs-v0.29.0-win-x64.zip / nwjs-sdk-v0.29.0-win-x64.zip 這兩者都會用到,請把它抓下來並且解壓縮,這也是最主要用來加密的工具
接著是Resource Hacker,這個工具主要是用來修改執行檔的icon
連結
STEP 1: 輸出專案
這部分就不多做說明了,輸出專案之後我們可以看到目錄結構長這樣
STEP 2-1: 進入nwjs-sdk-v0.29.0-win-x64資料夾
這邊要進入加密了,所以請跟好每個步驟! 請注意這邊是進入解壓縮後的SDK資料夾
#請確認有看到nwjc.exe這個檔案的資料夾才是正確的喔
STEP 2-2: 建立js資料夾
這個步驟不是必要的,但是不懂的朋友們可以照著步驟做就好!
STEP 2-3: 把專案中js底下的檔案複製到sdk的js目錄中
這個步驟主要是把你想要加密的程式碼複製進來,本次教學則是 把所有都加密,只加密圖片的部分在後續會說明到。
STEP 2-4: 修改rpg_manager.js
這個步驟主要是把原本讀取 plugins/*.js的地方修改為讀取 .bin檔案
STEP 2-5: 製作加密用的批次檔
請先nwjc同一層目錄建立toBin.txt檔案來編輯。 我們主要使用nwjc來建立加密的檔案 他的基本語法如下
nwjc 轉換的檔案名稱.js 要輸出的檔案名稱.bin
利用此語法可以將js編譯成bin檔,因此我們在toBin.txt中先進行撰寫 此範例圖片,我們把基本要轉換的js檔案都填入
plugins資料夾底下則看你有多少js需要進行轉換,請依照自己使用 的狀況填寫
STEP 2-6:修改toBin.txt為toBin.bat
這個步驟就是要實際進行轉換了,修改檔名後雙點兩下 toBin.bat
bat檔案執行中
執行完畢,你會發現每個js都有對應的bin檔
STEP 3: 複製專案主要檔案到 nwjs-v0.29.0-win-x64中
還記得最開始我們有下載nwjs-v0.29.0-win嗎? 記得先將他解壓縮,然後把輸出專案中的 www資料夾package.json 複製到此資料夾中
STEP 4: 把轉換的js檔案都換成bin檔
這個階段,我們將有轉換成的bin檔的js檔案都替換到
nwjs-v0.29.0-win/www/js 中
替換完基本上你就看不到js檔案才對喔!
STEP 5: 修改nwjs-v0.29.0-win-x64/www/index.html
最後,把index.html中所有讀取js的檔案改為 nw.Window.get().evalNWBin(null, 'www/js/對應的檔案.bin');
STEP 6: 基本程式碼加密完成!
基本上專案加密這樣就完成了,當然你可以把nwjs-v0.29.0-win-x64修改成自己的專案名稱,要執行遊戲的時候只要點擊 nw.exe即可進行遊戲了!
(nw.exe 可以直接修改檔案名稱,可以正常執行)
STEP 7: 修改遊戲執行ICON
因為使用原生的nwjs檔案,所以執行檔是預設的圖片
本篇文章參考
nwjs 官方文檔 http://docs.nwjs.io/en/latest/For%20Users/Advanced/Protect%20JavaScript%20Source%20Code/
aceofaces_mod rmmv cook tool 教學 https://forums.rpgmakerweb.com/index.php?members/aceofaces_mod.46244/&page=2
由於篇幅關係,防止別人破解圖片教學,我們移動到
下一篇!!(被揍 (基本上要懂這一篇才會看得懂如何防圖片破解)