簡體   English   中英

停止對可運行 Jar 的外部庫訪問

[英]Stop external library access to runnable Jar

所以我有一個 Java 應用程序,我將有償發布給我的一個社區。 該應用程序即將完成並准備進行混淆,但問題是;

我發現當我將 Jar 添加到 Eclipse 中的另一個項目時,您可以在外部實例化類並將我的程序用作外部庫以在我的程序之外制作腳本。 這不是我想要在這里實現的目標......我是自學的,所以我有一些灰色的知識領域,因為我還沒有正式學習過,但我在 Java 方面仍然很有經驗......我試過了谷歌搜索它並沒有出現,也許我的措辭不正確。 但如果我能得到一些幫助,我將不勝感激。

這是我的包裹結構:

src.com
Contains main class
src.com.scripts
Contains Abstract Script class
src.com.scripts.impl
Contains the actual scripts that extend the abstract Script class

我嘗試做的事情:

我從抽象腳本類中刪除了公共標識符,但是主類看不到它,因為它在之前的包中調用它。 那么當我的項目按包排序並且它們都需要相互訪問時,我該如何處理呢?

沒有解決辦法。

如果人們想對您的代碼進行逆向工程,他們會這樣做。 你無法改變這一點。 除了幫助您編寫良好的可移植代碼之外, public / private基本上沒有意義。

話雖如此,Java 通常比其他語言更容易進行逆向工程和綁定。 Java 不內聯函數,除非另有說明,否則它甚至會完整保留所有類和方法名稱。 如果您使用過像 C 這樣的語言,那么使用優化的二進制文件會更麻煩,但結果仍然相同。

只需混淆罐子並收工。 手動更改您編寫代碼的方式對您的危害比對他們的危害更大。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM