Пабудаваць файл JAR, які можа быць выкананы толькі?

Мой праект не з'яўляецца поўным, але я хацеў бы, каб распаўсюджваць некаторыя дэма-версіі.

Ці ёсць спосаб, каб зрабіць выкананы файл JAR, які не дасць карыстальнікам доступ да сваіх класах (напрыклад, пры імпарце ў Eclipse)?

1
Калі вы кажаце, «класы», вы маеце на ўвазе .class файлы або файлы .java? Калі апошні: тады не ўключаць іх у банку :)
дададзена аўтар Mark Rotteveel, крыніца

3 адказы

Ваша адзіная надзея ляжыць праз заблытванне або шыфраванне. Ні ўсё, што дзіўным з пункту гледжання абароны ад пэўнага покер-arounder. Вы ўпэўненыя, што гэта каштуе?

ProGuard is a free obfuscator (among other things). Encryptors use custom classloaders to decrypt encrypted byte code on loading.

2
дададзена

Не, баночка файл паштовы файл і няма ніякага спосабу, каб спыніць карыстальнікаў ад пошуку ўнутры яго - таму што JVM трэба шукаць ўнутры яго, каб запусціць яго.

Вы можаце, аднак:

  • Паспрабуйце пераўтварыць яго ў роднай выкананы файл (ёсць некалькі інструментаў, каб зрабіць гэта)
  • Запуск обфускатора над ім (ёсць нават больш прылад для гэтага)

Мой досвед працы з обфускаторы, што яны не робяць дастаткова добрую працу, каб acutally спыніць каго-небудзь, хто сапраўды зацікаўлены. Я паспрабаваў запусціць декомпиляторов па мностве класаў збіваюць з панталыку, і яны ўсё яшчэ досыць лёгка зразумець.

Калі вы зацікаўлены ў роднай ехе шляху, а затым гэтым артыкуле можа дапамагчы.

Наогул кажучы, я не думаю, што варта працягваць. Калі тое, што вы распаўсюджваеце дастаткова, што каштоўна для людзей, вы даяце яго, то яны знойдуць спосаб, каб выкапаць ўнутры, калі яны хочуць. Ці, калі яны заслугоўваюць даверу, то яны не будуць. Але тэхналагічныя рашэнні, верагодна, не зменіць.

Did you try Export>Java>Runnable JAR file option in Eclipse?

0
дададзена