我從blog看到jxcore可以創建基於js代碼的可執行文件(作爲命令行應用程序運行)並保護源代碼不被輕易看到。jxcore無法保護源代碼
但是,當我嘗試以下,只見excutable文件(在Ubuntu)仍含有
# jx package test1.js
# change library and extract attribute in file test1.jxp to be false
# jx compile test1.jxp
# grep "this is test1" test1
Binary file test1 matches
小JS文件test1.js
console.log("this is test1");
我知道沒人源完美的保護應用程序不被顛倒的方式。但我只是希望沒有簡單的方法(如「字符串」命令)從可執行文件中獲取源代碼。
看看你是否可以grep for'console.log'。如果不是,那麼字符串的編碼方式與二進制文件中的編碼方式相同,實際的代碼仍然處於隱藏狀態。 – jdgregson
如果是這種情況,隱藏字符串對你來說真的很重要,你可以嘗試編碼它們,例如:'var test1 = atob('this is test1')' – jdgregson
@jdgregson你的'atob()'例子沒有工作。首先,源字符串仍然可能出現在二進制文件中。而且,'atob()'只適用於Base64數據。例如,'btoa(atob('hello world'))=='helloworlQ ==''。 – duskwuff