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

更新 發佈閱讀 6 分鐘

這一篇文章裡面將會告訴你如何用原生的sdk 對你的專案程式碼/圖片進行保護。 (建議已經升級1.6版本的作者才使用) 這篇教學有點繁雜,所以不說廢話了,看完這篇可以得到以下效果

  • 學到如何保護程式碼,不讓其他人看光你的檔案
  • 學會如何利用簡單技巧防止別人反編譯你的圖片(下一篇才會教,但你要先看懂這篇)

說明: 這篇文章將會利用原生nwjs的SDK工具,將程式碼進行編譯。編譯後的程式碼與圖片基本上可以得到一定程度的保護。

(此範例適用MV1.6版, 1.5版主要差再sdk的版本要使用0.22版本,其餘皆相同。)

參考文章: AceOfAces RMMVCoolTool



事前準備

首先來下載主要使用的工具 nwjs SDK 0.29.0 (RMMV 1.6的核心nwjs為 0.29)點我

raw-image

nwjs-v0.29.0-win-x64.zip / nwjs-sdk-v0.29.0-win-x64.zip 這兩者都會用到,請把它抓下來並且解壓縮,這也是最主要用來加密的工具

接著是Resource Hacker,這個工具主要是用來修改執行檔的icon 連結


STEP 1: 輸出專案

這部分就不多做說明了,輸出專案之後我們可以看到目錄結構長這樣

raw-image

STEP 2-1: 進入nwjs-sdk-v0.29.0-win-x64資料夾

這邊要進入加密了,所以請跟好每個步驟! 請注意這邊是進入解壓縮後的SDK資料夾

#請確認有看到nwjc.exe這個檔案的資料夾才是正確的喔


STEP 2-2: 建立js資料夾

這個步驟不是必要的,但是不懂的朋友們可以照著步驟做就好!


raw-image

STEP 2-3: 把專案中js底下的檔案複製到sdk的js目錄中

這個步驟主要是把你想要加密的程式碼複製進來,本次教學則是 把所有都加密,只加密圖片的部分在後續會說明到。

raw-image

STEP 2-4: 修改rpg_manager.js

這個步驟主要是把原本讀取 plugins/*.js的地方修改為讀取 .bin檔案

raw-image

STEP 2-5: 製作加密用的批次檔

請先nwjc同一層目錄建立toBin.txt檔案來編輯。 我們主要使用nwjc來建立加密的檔案 他的基本語法如下
nwjc 轉換的檔案名稱.js 要輸出的檔案名稱.bin

利用此語法可以將js編譯成bin檔,因此我們在toBin.txt中先進行撰寫 此範例圖片,我們把基本要轉換的js檔案都填入

plugins資料夾底下則看你有多少js需要進行轉換,請依照自己使用 的狀況填寫

raw-image

範例批次檔下載

STEP 2-6:修改toBin.txt為toBin.bat

這個步驟就是要實際進行轉換了,修改檔名後雙點兩下 toBin.bat

bat檔案執行中

raw-image

執行完畢,你會發現每個js都有對應的bin檔

raw-image

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檔案才對喔!

raw-image

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檔案,所以執行檔是預設的圖片

raw-image


如果想要把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

由於篇幅關係,防止別人破解圖片教學,我們移動到下一篇!!(被揍 (基本上要懂這一篇才會看得懂如何防圖片破解)


留言
avatar-img
留言分享你的想法!
avatar-img
Maker製造機 - Chimaki的沙龍
11會員
17內容數
記錄了包含開發日誌以及參展的種種心得
2020/10/17
這陣子比較有空一些,於是就開始了一些獨立遊戲工作室的參訪。 順手也做個紀錄,讓大家更了解獨立遊戲工作室的生態:)
Thumbnail
2020/10/17
這陣子比較有空一些,於是就開始了一些獨立遊戲工作室的參訪。 順手也做個紀錄,讓大家更了解獨立遊戲工作室的生態:)
Thumbnail
2020/10/16
近期Steamworks 的SDK進行更新了,有許多朋友發生無法上傳depot檔案的問題。 今天這篇很簡單的分享一下修改方式,讓Depot可以正常上傳。
Thumbnail
2020/10/16
近期Steamworks 的SDK進行更新了,有許多朋友發生無法上傳depot檔案的問題。 今天這篇很簡單的分享一下修改方式,讓Depot可以正常上傳。
Thumbnail
2020/10/16
今年到目前為止 (2017/4/21) ,Maker制造機的教學相關文章更新的速度較慢。 在1月的時候,其實就在規劃新的遊戲。 2月到3月 就比較複雜了一點,除了舉辦紙娃娃生產器活動的活動之外,也在協助貓咪學園寫了RM的多語系 / 影子事件 等功能。並在期間有空就寫SLG的系統。現在算有一些些小進度
Thumbnail
2020/10/16
今年到目前為止 (2017/4/21) ,Maker制造機的教學相關文章更新的速度較慢。 在1月的時候,其實就在規劃新的遊戲。 2月到3月 就比較複雜了一點,除了舉辦紙娃娃生產器活動的活動之外,也在協助貓咪學園寫了RM的多語系 / 影子事件 等功能。並在期間有空就寫SLG的系統。現在算有一些些小進度
Thumbnail
看更多
你可能也想看
Thumbnail
在撰寫這篇文章之前,我曾認為Unity的遊戲比使用JavaScript編寫的網頁遊戲更安全。因為編譯出的遊戲apk檔案是以二進制形式儲存,相較於使用純文字JavaScript程式碼建立的遊戲,要逆向工程遊戲應該非常困難。 然而,在進行了一些實驗後,我發現我的理論是錯誤的,因此決定寫下這篇教學文章。
Thumbnail
在撰寫這篇文章之前,我曾認為Unity的遊戲比使用JavaScript編寫的網頁遊戲更安全。因為編譯出的遊戲apk檔案是以二進制形式儲存,相較於使用純文字JavaScript程式碼建立的遊戲,要逆向工程遊戲應該非常困難。 然而,在進行了一些實驗後,我發現我的理論是錯誤的,因此決定寫下這篇教學文章。
Thumbnail
介紹有關於一些小修改的方便插件。
Thumbnail
介紹有關於一些小修改的方便插件。
Thumbnail
Step1: 下載程式 下載連結: https://github.com/chase5ws/BlackChain_ASC/blob/main/ASC_Web3.zip Step2: 用Vscode打開程式 打開public->config資料夾內的abi 之後打開你的Remix 編輯器 https:
Thumbnail
Step1: 下載程式 下載連結: https://github.com/chase5ws/BlackChain_ASC/blob/main/ASC_Web3.zip Step2: 用Vscode打開程式 打開public->config資料夾內的abi 之後打開你的Remix 編輯器 https:
Thumbnail
今天要分享撰寫腳本人員可能會用到的debugger工具,這次使用的是vs code 原文出處: https://forums.rpgmakerweb.com/index.php?threads/debug-rmmv-plugins-with-vs-code.99980/   . 說明: 使
Thumbnail
今天要分享撰寫腳本人員可能會用到的debugger工具,這次使用的是vs code 原文出處: https://forums.rpgmakerweb.com/index.php?threads/debug-rmmv-plugins-with-vs-code.99980/   . 說明: 使
Thumbnail
由於 MZ 的機制上跟 MV 本身並沒有太大的差別,詳細的一些基本入門都可以直接參考 MV 來使用跟學習,另外關於 MZ 本身的功能已經在大部分的文章跟官方預告都有提過了,因此本篇將會速覽目前已釋出插件的部分。
Thumbnail
由於 MZ 的機制上跟 MV 本身並沒有太大的差別,詳細的一些基本入門都可以直接參考 MV 來使用跟學習,另外關於 MZ 本身的功能已經在大部分的文章跟官方預告都有提過了,因此本篇將會速覽目前已釋出插件的部分。
Thumbnail
更改存檔、讀檔畫面使其簡潔。
Thumbnail
更改存檔、讀檔畫面使其簡潔。
Thumbnail
在 RMMV 中的功能達不到我要的效果怎麼辦?那麼就來使用插件擴展功能!這篇會跟大家講解「插件」,並且推薦想要了解 RMMV 架構的人一些講座。
Thumbnail
在 RMMV 中的功能達不到我要的效果怎麼辦?那麼就來使用插件擴展功能!這篇會跟大家講解「插件」,並且推薦想要了解 RMMV 架構的人一些講座。
Thumbnail
打開之後不懂怎麼操作 RMMV ?這裡將詳細講解基本操作以及工具設定!
Thumbnail
打開之後不懂怎麼操作 RMMV ?這裡將詳細講解基本操作以及工具設定!
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News