1. 程式人生 > >JAVA程式保護方案(JAVA加密保護,防止反編譯、防拷貝)

JAVA程式保護方案(JAVA加密保護,防止反編譯、防拷貝)

  JAVA程式保護方案(防止反編譯、防拷貝) 眾所周知,java為開發語言提供了很方便的開發平臺,但開發出來的程式很容易在不同的平臺上面被移植,現在越來越多的人使用它開發軟體。 Java有它方便的一個方面,但它同時也帶給了開發者一個煩惱,這就是保護的辦法不多,而且大多數不是很好用,這樣自己辛苦開發出來的程式很容易被人複製而據為己有,一般情況下,大多數的人都是用混編器(java obfuscator)來把開發出來的程式進行打亂以達到沒有辦法來反編譯觀看原始碼,但是這種辦法在網上很容易找到相關的軟體來重新整理,那麼這個混編只能控制一些本來也沒有辦法動您的軟體的人,而對於一些掌握工具的人幾乎是透明的,還有就是利用硬體加密鎖,但大多數公司提供的硬體加密鎖只是提供了一些dll的連線或簡單的api呼叫,只要反編譯他們,就很容易把一些api呼叫去掉,這樣硬體加密鎖也就不起作用了,但是現在到底有沒有更好的辦法呢? 此加密鎖提供的外殼加密工具中有一個叫做資料加密的功能,這個功能就能很好的防止去除api的呼叫,各位都知道:硬體加密鎖的保護原理就是要你被加密過的軟體和加密鎖的硬體要緊緊地結合在一起,而且不容易被輕易的剔出原來的呼叫,這樣才能很好的保證您的軟體不被盜版,同時這種方式也很容易被程式設計師掌握,要對一個軟體實現保護,大約只需要幾分鐘的時間就可以了,下面簡單介紹一下他的原理:運用加密鎖提供的外殼工具先把呼叫你的java直譯器來進行加密,那麼就是說如果要運用這個直譯器就需要有一把特定的加密鎖存在,然後我們再運用它提供的外殼加密工具中的資料加密把你寫好的java程式(CLASS或JAR包)當作一個檔案來處理而對他進行加密並生成新的JAVA程式(CLASS或JAR包),這個加密是採用的AES128位的演算法的,這樣這個加密過的資料檔案無論採用任何一種反編譯工具都無法反編譯出來。——您的軟體就只能被您的保護過的java直譯器並在有HASP加密鎖的前提下才能正常執行,但是如果沒有加密鎖就不能夠執行您的軟體,從而達到真正保護您的軟體的目的。 如果你對我們的產品感興趣,歡迎來電索取詳細資料 公司:廣州新奧科技有限公司 聯 系 人:李旭堅  手機:13527652717 聯絡電話 020-32707006    22276776 email:[email protected]

相關推薦

JAVA程式保護方案JAVA加密保護防止編譯拷貝

  JAVA程式保護方案(防止反編譯、防拷貝) 眾所周知,java為開發語言提供了很方便的開發平臺,但開發出來的程式很容易在不同的平臺上面被移植,現在越來越多的人使用它開發軟體。 Java有它方便的一個方面,但它同時也帶給了開發者一個煩惱,這就是保護的辦法不多,而且大多

.NET 產品版權保護方案 (.NET原始碼加密保護)

說 明:你希望自己用.net辛辛苦苦做出來的軟體被人輕易破解嗎?你希望自己花了大量人力物力用.net開發出來的產品被競爭對手輕易獲取核心程式碼嗎?這是 一篇比較詳盡地介紹如何保護自己的.net原始碼的文章,如混淆、加密和強名稱等,出於保護原作者的角度,所以本人沒有掐頭去尾作為自己個人的文章,正因 為

Java代碼加密的兩種方式防止編譯

java加密使用Virbox Protector對Java項目加密有兩種方式,一種是對War包加密,一種是對Jar包加密。Virbox Protector支持這兩種文件格式加密,可以加密用於解析class文件的java.exe,並且可以實現項目源碼綁定制定設備,防止部署到客戶服務器的項目被整體拷貝。兩種加密方

Python學習筆記第三天文件操作函數

input 釋放空間 打開方式 只需要 不能 解決 信息 無法查看 一個 一、文件處理   1、文件打開模式    打開文本的模式,默認添加t,需根據寫入或讀取編碼情況添加encoding參數。    r 只讀模式,默認模式,文件必須存在,不能存在則報異常。    w

《你不知道的javascript上卷》讀書筆記kyle simpson 著趙望野梁譯

def javascrip arr fin type fine sim imp func 一、關於this篇: 1.this實際上是在函數被調用時發生的綁定,它指向什麽完全取決於函數在哪裏被調用 2.this優先級:new>顯示綁定>隱式綁定>默認綁定。

unity 加密防止編譯mono編譯

最近在弄unity的打包安全的問題,下面就記錄下自己搞定整個過程踩過來的坑吧,一方面留個記錄,另一方面給新手一個指引。 為什麼要加密呢 這個問題怎麼說呢?打個比方吧,就好比人為什麼要穿漂亮衣服打扮下自己一樣,無非是不讓別人看到不改看的地方。。。此處省略一

微信小程式 保持登入狀態自己服務端的session的解決方案java

問題:由於wx.request()發起的每次請求對於伺服器來說都是不同的會話(wx.request()請求是先經過微信伺服器再到達我們的伺服器),這樣導致後續請求都相當於未登入的狀態。解決方案:session資訊存放在cookie中以請求頭的方式帶回給服務端JSESSIONI

微信小程式+java後臺實現登入java操作

登入,在微信小程式上面稱為當一個使用者使用該小程式,進入到小程式中,我們拿到該使用者的資訊,進行一系列的操作,並記錄下來。 微信小程式與java介面實現登入操作,大致思路如下: 1.微信小程式端通過呼叫對應的api,將對應的變數傳入後臺(code、iv、encr

給你的JAVA程式配置引數Properties的使用

我們在寫JAVA程式時,很多時候執行程式的引數是需要動態改變的 測試時一系列引數,執行時一系列引數 又或者資料庫地址也需要配一套引數,以方便今後的動態部署 這些變數的初始化,我們在寫小DEMO時完全可以寫死在JAVA檔案中 但程式需要釋出或者區域性部署時,這些引數

微信小程式+java後臺實現支付java操作

支付,在微信小程式上面稱為當一個使用者使用該小程式,當進入到支付環節,我們需要呼叫微信支付介面過程,進行一系列的操作,並記錄下來。 微信小程式與java介面實現支付操作,大致思路如下: 1.微信小程式呼叫Java後臺方法獲取引數, 2.java 後臺設定引數等並

java程式執行順序main方法 靜態 非靜態 以及衍生出的部分定義

Java程式執行時,第一件事情就是試圖訪問main方法,因為main相等於程式的入口,如果沒有main方法,程式將無法啟動,main方法更是佔一個獨立的執行緒。 下面是一段程式碼 幫助我們分析class A { public A() { System

應用jacob元件造成的記憶體溢位解決方案java.lang.OutOfMemoryError: Java heap space

轉自(http://www.myexception.cn/ruby-rails/903889.html) 使用jacob元件造成的記憶體溢位解決方案(java.lang.OutOfMemoryError: Java heap space) 都說記憶體洩漏是C++的通病,記

Sublime Text 3 配置java程式執行環境可輸入

1、首先得配置好java環境2、Sublime Text 3--->Preference--->Browse Packages,開啟User資料夾,新建記事本,複製下面程式碼並儲存命名為java.sublime-build{ "cmd": ["javac"

java程式流程控制ifswitchfor

java程式流程控制  1.判斷結構 2.選擇結構 3.迴圈結構 一》if語句三種格式 1.if(條件表示式) {     執行語句; } 2.if(條件表示式) {   執行語句; } else {   執行語句; } 3.if(條件表示式) {   執行語句; } el

Linux下java程式啟動指令碼可做開機自啟動Service指令碼

轉載:http://www.tudaxia.com/archives/10 Java專案開發過程中經常會碰到將Java應用程式佈置到Linux下的需求,很多時候還有系統開機自動啟動的要求。為了編寫啟動Java程式的指令碼,到網上搜索,卻收穫不大。有的寫的過於簡單,有的又寫得

Sublime Text3配置java程式執行環境引入不同jar包輸入

相信很多童鞋都喜歡Sublime Text3這個編輯器,它的程式碼高亮等等都做的很好,也已經有很多人用它做c++程式的開發,但是關於java程式配置的資料卻幾乎沒有,網上我找到的都是最基本執行java的配置,花了兩天時間更加深入的研究了一下,以下給出能夠引入不同jar包以及

java內存模型Java Memory Model

ble watermark 了解 計算機 als stack lin 方法 兩個 內容導航: Java內存模型硬件存儲體系結構Java內存模型和硬件存儲體系之間的橋梁: 共享對象的可見性 競爭條件 Java內存模型規定了JVM怎樣與計算機存儲系統(RA

Java學習筆記31集合框架五:set接口哈希表的介紹

ins gpo 自己 static 增強for {} ati 兩個 公式 set接口的特點: 1.不包含重復元素 2.set集合沒有索引,只能用叠代器或增強for循環遍歷 3.set的底層是map集合 方法和Collection的方法基本一樣 set接口的實現類Hash

探秘 Java 熱部署三Java agent agentmain

des 一個 事情 AD read initial virtual ring tran 前言 讓我們繼續探秘 Java 熱部署。在前文 探秘 Java 熱部署二(Java agent premain)中,我們介紹了 Java agent premain。通過在main方法

探秘 Java 熱部署二Java agent premain

業務 方法 instr 自己 就是 還要 是我 java 代理 命令 # 前言 在前文 探秘 Java 熱部署 中,我們通過在死循環中重復加載 ClassLoader 和 Class 文件實現了熱部署的功能,但我們也指出了缺點-----不夠靈活。需要手動修改文件等操作。