2019-03-25|閱讀時間 ‧ 約 6 分鐘

【RM教學 2.0】 使用原生sdk保護你的專案 - 1

    這一篇文章裡面將會告訴你如何用原生的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'); 範例index下載 (請依照自己是不是有額外load腳本做修改) STEP 6: 基本程式碼加密完成! 基本上專案加密這樣就完成了,當然你可以把nwjs-v0.29.0-win-x64修改成自己的專案名稱,要執行遊戲的時候只要點擊 nw.exe即可進行遊戲了! (nw.exe 可以直接修改檔案名稱,可以正常執行) STEP 7: 修改遊戲執行ICON 因為使用原生的nwjs檔案,所以執行檔是預設的圖片 如果想要把ICON改成符合自己遊戲的icon 可以參考這篇教學 順便附上ResourceHacker的官方下載點 再附上線上將icon轉成ico的工具 本篇文章參考 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 由於篇幅關係,防止別人破解圖片教學,我們移動到下一篇!!(被揍 (基本上要懂這一篇才會看得懂如何防圖片破解)

    分享至
    成為作者繼續創作的動力吧!
    © 2024 vocus All rights reserved.