製作進度
上班日,研究日
碎碎念
因為一些原因
今天又開始了加密之旅...
這次是 Unity Script 的加密
因為 Unity 本身如果 iOS 不使用 IL2CPP 的編譯模式的話
或者輸出 Android Apk 的狀況下
他的 Script 是完全不會進行加密的
要看是一清二楚的
所以如何進行 Script 加密就是這次的課題囉~
研究結果有三種
最簡單的方式
把重要的部分寫成 dll 或者 jar 這類的 lib 檔
然後用匯入的方式使用
第二種我沒看懂
就是將編譯出來的 Script 加密打包成 Assetbundle
那...
怎麼解密我就暫時想不到方法囉
有查到這方面的建議,卻沒有一個有說怎麼解!
最強大的一種
把編譯出來的 Script 進行演算法的加密之後!
接著
修改 Apk 或者 Ipa 檔案中,根據平台有幾個不同的資料夾
關建檔案叫做 libmono.so 這個檔案
要利用反編譯的程式去反編出來
並且修改底下的一個 Function
mono_image_open_from_data_with_name(data)
這個 Function 主要是會在程式啟動前將所有檔案都通過這裡一次
所以只要檢查到 data 開頭是 DLL 的
就把他進行解密,這樣 Script 就會在啟動時,被反解出來進入 VM 內 Run 了
不過要修改這個東西,需要專門的工具
畢竟那是一個 lib 檔
_________________________________
本周目標!
將 SendMessage 的架構轉為 Socket 的傳輸架構
應該算是小改,除了 ip 問題比較麻煩以外...
因為不給用 127.0.0.1
而 IP 列表的 index 會變動
這禮拜就解決這個問題就好