導航:首頁 > 文檔加密 > 如何開發加密軟體

如何開發加密軟體

發布時間:2024-10-16 22:00:38

❶ 電腦如何給軟體加密

問題一:怎樣把電腦上的應用軟體加密 廈門天銳公司的綠盾加密軟體可以加密所有軟體生成的文檔。一般常用的已加到我們的軟體列表上。
Word、Excel、PowerPoint、金山WPS、寫字板、AutoCAD、Pro/E、UG、Solidworks、CAXA、Pretel DXP、開目CAD、 Soild Edge、Cimatron、Power Mill、Mentor、Esprit2004、3DMAX、犀牛、CorelDRAW、PhotoShop、Illustrator、中望CAD、浩辰CAD等、支持Visual C++、Delphi等,如果有特別的軟體或者沒有在這個列表上,可以自已添加。不需要廠家對新軟體的分析。
綠盾採用國際先進的驅動加密技術,因此從技術平台本身是具有應用程序無關性的,可以對任意的軟體和文件類型進行加密控制。
同時, 綠盾 也是國內 最先 一個完全開發策略庫,允許用戶自定義策略的加密軟體。用戶可以自己填寫需要控制的應用程序、文件類型,並可自己選擇加密的時機(如打開文件時加密、關閉文件時加密、修改文件時加密、重命名文件時加密等),同時可以自行定義對文件操作的許可權(如拒絕讀、拒絕寫、拒絕創建、拒絕重命名、拒絕刪除等)
《綠盾文件安全方案》
1.全新的驅動加密技術,直接在緩存中進行加解密,寫硬碟的速度更快,加解密效率更高,幾乎不改變指轎答windows運行速度。在windows緩存中保存的是密文,可以防止別有用心的人從windows緩沖中竊取明文數據,導致泄密。不但可以實現強制加密功能,而且也可以根據需要輕松的實現強制解密功能,更加符合企業的實際加密管理需求;
2.同時監控本地硬碟和網路驅動器的讀寫加密。對任何應用程序生成的任何文件進行加密控制。同時,透明加解密的過程中,不產生臨時文件;
3.採用國際先進的AES和RC4兩種加密演算法的結合,它採用國際公認的AES和RC4兩種加密演算法相結合,來對文件和密鑰進行加密,並為每個企業、每個部門、每個用戶都單獨分配一個獨立的密鑰,對每個文件加密都生成一個隨機密鑰。也就是說,同一個文件,分別加密兩次,兩次加密的密鑰都是不同的。其次,還因為它採用了IBM公司出品的160位高強度加密演算法,足以應付任何的惡意暴力破解;
4.加密後的文件始終處於加密狀態,拷貝到任何地方,在任何環境下都是加密的,不依賴於加密軟體。

問題二:如何給自己電腦中的軟體加密使用 軟體是不可以直接加密的,但是你可以給文件夾加密,把你用的軟體放在一個文件夾里,加密文件夾!下面是文件夾加密/解密方法
一、加密文件或文件夾
步驟一:打開Windows資源管理器。
步驟二:右鍵單擊要加密的文件或文件夾,然後單擊「屬性」。
步驟三:在「常規」選項卡上,單擊「高級」。選中「加密內容以便保護數據」復選框
在加密過程中還要注意以下五點:
1.要打開「Windows 資源管理器」,請單擊「開始→程序→附件」,然後單擊「Windows 資源管理器」。
2.只可以加密NTFS分區卷上的文件和文件夾,FAT分區卷上的文件和文件夾無效。(注意重裝系統時先解密,否則後果嚴重。)
3.被壓縮的文件或文件夾也可以加密。如果要加密一個壓縮文件或文件夾,則該文件或文件夾將會被解壓
4.無法加密標記為「系統」屬性的文件,並且位於systemroot目錄結構中的文件也無法加密。
5.在加密文件夾時,系統將詢問是否要同時加密它的子文件夾。如果選擇是,那它的子文件夾也會被加密,以後所有添加進文件夾中的文件和帆褲子文件夾都將在添加時自動加密。
二、解密文件或文件夾
步驟一:打開Windows資源管理器。
步驟二:右鍵單擊加密文件或文件夾,然後單擊「屬性」。
步驟三:在「常規」選項卡上,單擊「高級」。
步驟四:清除「加密唯慧內容以便保護數據」復選框。
同樣,我們在使用解密過程中要注意以下問題:
1.要打開「Windows資源管理器」,請單擊「開始→程序→附件」,然後單擊「Windows資源管理器」。
2.在對文件夾解密時,系統將詢問是否要同時將文件夾內的所有文件和子文件夾解密。如果選擇僅解密文件夾,則在要解密文件夾中的加密文件和子文件夾仍保持加密。但是,在已解密文件夾內創立的新文件和文件夾將不會被自動加密。
以上就是使用文件加、解密的方法!
加密後還是可以刪除的,不過可以隱藏掉你加密的文件。

問題三:怎樣給電腦軟體單個加密 1、修改文件後綴名。如:文檔文件後綴名為「.doc」的,更改為.jpg或其它後綴名,別人就無法查看該文件的內容了。
2、將文件隱藏。將不想讓別人看見的文件設為隱藏文件。
3、利用軟體進行加密。
4、直接加密。方法是:右鍵單擊所要加密的文件,選擇「屬性」,在彈出的對話框中找到最底下那一行,點擊「高級」,彈出一個「高級屬性」對話框,找到最下面一行,勾選「加密內容以便保護數據」,點擊「確定」即可。

問題四:電腦桌面上的文件怎麼加密 方法/步驟
很簡單的事情,就是網路一下易捷文件夾加密軟體,然後找到這個軟體的下載地址,安裝這個軟體到電腦上,然後就可以正常使用了。
在電腦桌面上找到需要加密的文件夾,然後滑鼠選擇文件夾,右擊,會出現選擇使用該軟體進行加密,然後會跳出一個選擇進入軟體的界面,按照軟體提示進行操作即可。
3
此時大家只需要在跳出的頁面中輸入兩次一模一樣的密碼哦,記得是兩次一樣的,確保一致。
4
最後點擊加密就可以成功對文件夾進行加密了。

問題五:怎麼給電腦的應用軟體加密要密碼才能啟動打開?有些應用不想被人看到。 一般軟體會自帶加密設置,比如開啟密碼或者防查看密碼;
如果軟體沒帶加密功能,我想很難找到第三方軟體支持你的應用軟體加密;
但你可以在你系統里簡單隱藏你的應用軟體,設置只有你才知道的路徑,比如設置對應執行文件為隱藏屬性、設置訪問許可權等等

問題六:怎麼把電腦里的個別軟體鎖住 鎖住還不簡單,加入許可權唄,或者對文件夾進行加密,又或者指定2個賬戶,一個賬戶沒有另一罰許可權高,也看不到那些文件!

問題七:電腦怎麼給軟體加密,有的加密軟體用了之後用其他方式還是可以打開 你可以把你的軟體放一個文件夾里,進行文件夾加密,比較出名的文件夾加密軟體eitool。。。或者最簡單的,控制面板,文件夾選項,打開,有個隱藏文件夾,你右鍵選擇那個文件夾,把隱藏打上對勾,就看不到了。。。純手打,望採納

問題八:電腦文件加密怎麼設置 給文件夾加密有兩種方法:
方法一: 右擊文件夾--添加到壓縮文件--高級--設置密碼,不要忘記密碼,否則就很難找回了。
方法二:還是建議直接下載個加密軟體,更簡單方便
方法三:隱藏文件 我的電腦-工具-文件夾選項-查看-不顯示隱藏的文件-【Ps 隱藏文件夾 點擊文件屬性】

問題九:如何在電腦上給一個文件或文件夾加密? 1、進入您要行加密保護的文件夾中,在空白處單擊滑鼠右鍵,選擇自定義文件夾...選項;
2、單擊下一步選擇自定義並在副選框中選擇選擇或編輯該文件夾的Html模板,單擊下一步;
3、在選擇模板類型中選擇標准,並將編輯該模板選項選中,單擊下一步;
4、在彈出的Folder文件中找到〈script language=javaScript〉,在其下方頂頭輸入以下內容: var pass = prompt(請輸入密碼) if(pass != 123) ---123處換成您自己設定的密碼--- {window.location=c:}
5、保存Folder文件之後,選擇完成,文件夾加密就完成了,您可以進行測試啦!
如果需要去掉保護,只需要把Folder文件修改回原樣就好啦!

❷ 在蘋果手機上開發軟體是用什麼方法進行軟體加密

對於還沒有越獄的iPhone、iPad或iPodtouch,可以通過【設置】-【通用】-【訪問限制】來開啟部分系統App如Safari、AppStore的訪問限制。但是越獄後,依託強大的Cydia插件,整個加密過程更加簡單也直觀。iPhone加密前提條件當然,需要首先越獄你的iOS設備,適用設備已越獄的iPhone、iPad或iPodtouch,支持iOS4–iOS6單個App加密方法實現給單個App加密我們需要一款名為IconPasscode的Cydia插件1、從Cydia里搜索安裝這款插件如何使用Cydia安裝插件2、打開【設置】-【IconPasscode】,首先會讓你輸入一個密碼,這個密碼就是以後在打開加密App時需要輸入的密碼,一定要記住!3、在IconPasscode的設置界面,第一個選項【LockAppSwitcher】的意思是是否同時加密鎖定iOS後台控制器(即雙擊HOME鍵打開的後台)4、點擊【LockedApplications】即可進入詳細的應用程序列表,打開任意一個程序的開關,這個App就被加密了5、試試退回到主界面再打開這個App吧!是不是需要輸密碼了呢?文件夾加密方法給文件夾加密的過程和給單個App加密稍微有些不同,這次我們需要的插件是FolderPasscode。1、按照上面的步驟安裝FolderPasscode2、打開【設置】-【FolderPasscode】,首先也需要輸入一個密碼,記好了。但是在FolderPasscode的設置界面沒有任何東西,我們要怎麼加密呢?3、退回到主界面,找到任意一個文件夾,長按進入編輯模式4、刪除文件夾的標題,輸入然後完成編輯5、系統會提示【xxxLocked】,此時這個文件夾就完成加密了!6、不過比較奇葩的是,貌似沒有方法可以解除某個文件夾的加密狀態。一旦某個文件夾被加密後,每次打開這個文件夾都需要加密。加密小結總的來說,給任何東西加密還是很鬧心的,但是如果你真的有重要的或者隱私的數據,有這么一種加密方法也不錯不是嗎?此外,蘋果教程網還為大家介紹過一款神級的信息加密插件,這款插件可以讓你對需要發送的信息加密,然後將密文發送給對方,然後對方使用同一款插件進行解密,

❸ 如何製作加密狗

問題一:USB加密狗是怎麼製作的 電腦狗,即加密狗,現在所說的加密狗,一般都是硬體加密狗。是一種類碰山似於u盤一樣的東西,是一種防盜版的方式。一般是把程序的一小部分或解密部分 *** 到加密狗的硬體中,防止軟體的盜版。加密狗(dongle),經常被認為是硬體保護,它是一個可被附加在計算機並口、串口或USB上的小插件,它包含廠家燒制的EPROM和定製的專用集成電路。dongle保護的的原理就是軟體開發者在程序里經常檢查dongle中的單元(Cell)的並對比返回值,這種檢查伏吵螞可以是直接讀單元或者是使用某種內部演算法(此時單元受到保護無法直接讀)。

問題二:怎麼做U盤加密狗 你可以用ALock來做個閃盤鎖,開機時需插入閃盤才能啟動,拔出閃盤就自動鎖定。
打開ALock.exe插入要作為登錄鑰匙的閃盤,選擇USB鑰匙盤盤符,單擊「啟動」按鈕。然後重新啟動系統即可。
注意,啟用ALock後,用戶每次登錄都需要插入鑰匙盤。
你可以在以下這個軟體包中找到以上提到的軟體,下載地址:
work.newhua/cfan/201007/ysrj.rar(你只需將該地址粘貼在迅雷新建任務窗口的地址欄中,點擊下載就可以了)

問題三:很多人自製的盜版軟體加密狗,是怎麼做的 著是你收銀的系統以與加密狗做過結合,你想進入系統需要插入加密狗。才能進入運行。加密狗的存在,就是防止盜版,防止信息被復制。你需要拿到加密狗插上加密狗。你就可以運行了。

問題四:如何自製加密狗 基本上是不可能的事了,你也不要考慮了,如果相中什麼軟體了,就想辦法找免狗的,如果不行就花幾個錢吧~如果都能自製狗就發了~有的好狗上千塊,你要能做就仙了,所以不要想自製了,你需要有解密程序寫進去才可以,不過基本上是不可能

問題五:如何破解和製作「加密狗」程序! 硬體加密鎖,俗程「加密狗」,對於加密狗的破解大致可以分為三種方法,一種是通過硬體克隆或者復制,一種是通過SoftICE等Debug工具調試跟蹤解密,一種是通過編寫攔截程序修改軟體和加密狗之間的通訊。 硬體克隆復制主要是針對國產晶元的加密狗,因為國產加密狗公司一般沒有核心加密晶元的製造能力,因此有缺埋些使用了市場上通用的晶元,破解者分析出晶元電路以及晶元里寫的內容後,就可以立刻復制或克隆一個完全相同的加密狗。不過國外的加密狗就無法使用這種方法,國外加密狗硬體使用的是安全性很好的自己研製開發的晶元,通常很難進行復制,而且現在國內加密狗也在使用進口的智能卡晶元,因此這種硬體克隆的解密方法用處越來越少。 對於Debug調試破解,由於軟體的復雜度越來越高,編譯器產生的代碼也越來越多,通過反匯編等方法跟蹤調式破解的復雜度已經變得越來越高,破解成本也越來越高,目前已經很少有人願意花費大量精力進行如此復雜的破解,除非被破解的軟體具有極高的價值。 目前加密鎖(加密狗)的解密破解工作主要集中在應用程序與加密動態庫之間的通訊攔截。這種方法成本較低,也易於實現,對待以單片機等晶元為核心的加密鎖(加密狗)具有不錯的解密效果。 由於加密鎖(加密狗)的應用程序介面(API)基本上都是公開的,因此從網上可以很容易下載到加密狗的編程介面API、用戶手冊、和其它相關資料,還可以了解加密狗技術的最新進展。 例如,某個國內知名的美國加密狗提供商的一款很有名的加密狗,其全部編程資料就可以從網上獲取到,經過對這些資料的分析,我們知道這個加密鎖(加密狗)有64個內存單元,其中56個可以被用戶使用,這些單元中的每一個都可以被用為三種類型之一:演算法、數據值和計數器。 數據值比較好理解,數據值是用戶存儲在可讀寫的單元中的數據,就和存儲在硬碟里一樣,用戶可以使用Read函數讀出存儲單元裡面的數據,也可以使用Write函數保存自己的信息到存儲單元。 計數器是這樣一種單元,軟體開發商在其軟體中使用Decrement函數可以把其值減一,當計數器和某種活動的(active)演算法關聯時,計數器為零則會封閉(deactive)這個演算法。 演算法單元較難理解一些,演算法(algorithm)是這樣一種技術,你用Query(queryData)函數訪問它,其中queryData是查詢值,上述函數有一個返回值,被加密的程序知道一組這樣的查詢值/返回值對,在需要加密的地方,用上述函數檢查狗的存在和真偽。對於被指定為演算法的單元,軟體上是無法讀和修改的,即使你是合法的用戶也是如此,我理解這種技術除了增加程序復雜性以外,主要是為了對付使用模擬器技術的破解。 此加密鎖(加密狗)的所有API函數調用都會有返回值,返回值為0的時候表示成功。 因此,破解思路就出來了,就是使用我們自己的工具(如VB、VC等)重新編寫構造一個和加密狗API一樣的DLL動態庫文件,裡面也包含Read、Write等全部API中包含的函數,使用的參量及返回值和原來的函數一樣,所有函數返回零。然後對Query、Read函數進行處理,返回應用軟體需要的數值即可。 這個新的DLL文件編寫成功後,直接替換掉原來的DLL文件,這時候再運行應用軟體,軟體訪問加密狗的操作就全部會被攔截,攔截程序永遠會返回正確的數據給軟體,從而實現了模擬加密狗的運行。 以上是目前破解軟體加密狗(加密鎖)的一些常見思路,對於這種破解,軟體開發者還是有相應的一些對策的,下一回我將在《軟體加密鎖編程技巧》一文中具體介紹一下軟體開發者將如何編寫安全可靠的代碼,使得這種類似的破解......>>

問題六:怎麼把u盤做成加密狗 不能。 加密狗,一般都是硬體加密狗。是一種類似於u盤一樣的東西,是一種防盜版的方式。一般是把程序的一小部分或解密部分 *** 到加密狗的硬體中,防止軟體的盜版。 加密狗保密很安全,還沒有什麼破解方法。 所以無法用做U盤了。

問題七:我有個加密狗,能製作一個一模一樣的出來嗎 加密狗是軟體商用來寶華軟體版權,防止盜版的,多年前老的單片機加密狗是可以被復制的,現在新的一般都是智能卡晶元的,目前無法被復制。

問題八:如何用普通u盤做加密狗 普通U盤是做不了加密狗的,加密狗都有專門的硬體的,U盤只是用來存儲的。

問題九:怎樣為軟體製作加密狗? 不難,軟體狗的生產廠商專門有一組軟體狗的程序,你在程序中調用專門的函數來判斷是否有加密狗就行了.
主要你先需要確認用何種加密狗,聯系廠商,買個測試狗,就可以了.
宏正軟體 [email protected] 我們的系列軟體(倉庫管理軟體,進銷存軟體等)有加密狗版本.

問題十:USB加密狗是怎麼製作的 電腦狗,即加密狗,現在所說的加密狗,一般都是硬體加密狗。是一種類似於u盤一樣的東西,是一種防盜版的方式。一般是把程序的一小部分或解密部分 *** 到加密狗的硬體中,防止軟體的盜版。加密狗(dongle),經常被認為是硬體保護,它是一個可被附加在計算機並口、串口或USB上的小插件,它包含廠家燒制的EPROM和定製的專用集成電路。dongle保護的的原理就是軟體開發者在程序里經常檢查dongle中的單元(Cell)的並對比返回值,這種檢查可以是直接讀單元或者是使用某種內部演算法(此時單元受到保護無法直接讀)。

❹ 怎麼給手機軟體加密碼

蘋果手機單獨給App加鎖的方法有兩種,分別如下:


方法一:使用屏幕使用時間



  1. 打開蘋果手機進入設置頁面後,點擊【屏幕使用時間】。

  2. 進入一個新的頁面之後,點擊【App限額】。

  3. 切換頁面之後,點擊頁面中的【添加限額】。

  4. 進入選取app頁面之後,選擇一項類別。

  5. 打開下拉菜單後,選擇一個需要加密的應用,並點擊右上方的【下一步】。

  6. 切換頁面之後,設置限額的時間並點擊右上方的【添加】。

  7. 完成以上步驟後,回到屏幕使用時間頁面,點擊【為屏幕使用時間設置密碼】。

  8. 進入到設置密碼頁面中,設置密碼即可單獨給app加密了。


方法二:使用快捷指令



  1. 把時鍾里的計時器設置為靜音模式。

  2. 打開快捷指令的自動化頁面,創建個人自動化。

  3. 選擇App,在App中選擇想要上鎖的App,點擊下一步。

  4. 點擊添加操作,添加開始計時,把計時時間設置為一秒鍾。

  5. 點擊下一步,關掉運行前詢問,點擊完成。


拓展知識:


iPhone是蘋果公司(Apple Inc. )於2007年1月9日開始發售的搭載iOS操作系統的系列手機產品 。


截至2022年9月,蘋果公司(Apple Inc. )已發布37款手機產品 ;iPhone系列產品靜音鍵在設備正面的左側 ;iPhone 5之前機型使用30Pin(即30針)介面,iPhone 5(包含)之後產品使用Lightning介面。iPhone X之前機型配置Home鍵;iPhone X(包含)之後(除iPhone SE 第二、三代)機型取消了實體Home鍵。


iPhone系列機型自iPhone 4之後配置Apple Silicon自研晶元。Touch ID在iPhone 5s上首次出現;iPhone 6s 和iPhone 6s Plus首次在屏幕上加入了3D Touch壓力感應觸控;無線充電在iPhone8、iPhone 8 Plus機型首次出現,採用Qi(Chee)無線充電標准  。2022年5月25日消息,蘋果提醒開發者,從2022年6月30日起,所有支持創建帳戶的應用程序都需要具備刪除帳戶的功能,並且需刪除與該帳戶關聯的所有個人數據。 蘋果公司宣布將於2023年9月12日在其位於加利福尼亞庫比蒂諾的總部舉行新聞發布會,屆時預計將公布新款iPhone。

❺ 如何用java語言對即時通訊軟體進行加密

一、Java軟體加密基本思路
對於應用軟體的保護筆者從兩個方面進行考慮,第一是阻止盜版使用軟體,第二是阻止競爭對手對軟體反編譯,即阻止對軟體的逆向工程。
1、阻止盜版
在軟體運行時對自身存在的合法性進行判斷,如果認為自身的存在和運行是被授權的、合法的,就運行;否則終止運行。這樣即使軟體可以被隨意復制,只要盜版用戶沒有相應的授權信息就無法使用軟體。
2、阻止反編譯
對編譯產生的Class文件加密處理,並在運行時進行解密,解密者無法對軟體進行反編譯。
二、Java軟體加密的總體流程
為了保護用Java語言開發的軟體,我們設計並實現了一個實用、高強度的加密演算法。以下稱需要保護的Java軟體為「受保護程序」,稱對「受保護程序」進行加密保護的軟體為「加密程序」。對軟體加密保護的流程如圖1所示。

三、加密演算法分析設計
1、用戶信息提取器設計
為了防止用戶發布序列號而導致「一次發行,到處都是」的盜版問題,提取用戶機器中硬體相關的、具有唯一性的信息——用戶計算機的硬碟分區C的序列號,並要求用戶將此信息與用戶名一起返回,之後用「序列號生成器」根據用戶返回信息生成一個唯一合法的軟體注冊序列號發回用戶,用戶即可使用此號碼注冊使用軟體。
這個信息提取器使用Winclows 32匯編以一個獨立的小程序方式實現,程序代碼如圖2所示。

2、序列號生成器與序列號合法性判斷函數的設計
序列號生成器與序列號合法性判斷函數中運用RSA加密演算法。在序列號生成器中是使用私鑰將用戶返回的信息(硬碟序列號,用戶名)進行加密得到相應的注冊序列號;在序列號合法性判斷函數中使用私鑰將用戶輸入的注冊序列號解密,再與(硬碟序列號,用戶名)進行比較,一致則調用程序裝載器將程序其他部分解密裝入內存,初始化刪環境並運行程序主體;否則退出。
RSA加密演算法的實現需要使用大數運算庫,我們使用MIRACL大數庫來實現RSA計算,序列號生成器的主要代碼如下:
char szlnputString[]=」機器碼和用戶名組成的字元串」;
char szSerial[256]=[0];//用於存放生成的注冊碼
bign,d,c,m; //MIRACL中的大數類型
mip→IBASE=16; //以16進制模式
n= mlrvar(0); //初始化大數
d= mirvar(0);
c= mirvar(0); //C存放輸入的字元串大數
m= mlrva(o);
bytes to big( len, szlnputString,c);
//將輸入字元串轉換成大數形式並存入變數c中
cinstr(n,」以字元串形成表示的模數」);//初始化模數
cinstr(d,」以字元串形成表示的公鑰」)://初始化公鑰
powmod(c,d,n,m); //計算m=cdmod n
cotstr(m,szSerial);//m的16進制字元串即為注冊碼
序列號合法性檢測函數的主要代碼如下:
char szlnputStringL]=」機器碼和用戶名組成的字元串」;
char szSerial[ 256]=」用戶輸入的序列號」
bign,e,c,m; //MIRACL中的大數類型
mip→IBASE=16; //以16進制模式
cinstr(m,szSerial); //將序列號的16進制轉成大數形式
cinstr(n,」模數n的字元串形式」);//初始化模數n
cinstr(e,」字元串形式的公鑰」);//初始化公鑰
if compare(m,n)==-1) //m<n時才進行解密
{
powmod(m,e,n,c);//計算m=me mod n
big_to _bytes(0,c,szSerial,0); //轉為字元串
return lstrcmp( szlnputString,szSerial);
}
3、強耦合關系的設計
如果在序列號合法性檢測函數中簡單地使用圖3所示流程:

解密者可以使用以下幾種手段進行攻擊:
(1)修改「判斷合法性子函數」的返回指令,讓它永遠返回正確值,這樣可以使用任意的序列號,安裝/使用軟體。
(2)修改判斷後的跳轉指令,使程序永遠跳到正確的分支運行,效果和上一種一樣。
(3)在「判斷合法性子函數」之前執行一條跳轉指令,繞過判斷,直接跳轉到「正常執行」分支運行,這樣可以不用輸入序列號安裝/使用軟體。
為阻止以上攻擊手段,筆者在程序中增加了「序列號合法性檢測函數」與程序其他部分「強耦合」(即增強其與程序其他部分的關聯度,成為程序整體密不可分的一部分,一旦被修改程序將無法正常工作)的要求(見圖1),並且設置一個「完整性檢測函數」用於判斷相關的代碼是否被修改過。當然,基於同樣的原因,「完整性檢測函數」也必須與程序其他部分存在「強耦合」關系。
強耦合關系通過以下方式建立:
在程序其他部分的函數(例如函數A)中隨機的訪問需要強耦合的「序列號合法性檢測函數」和「完整性檢測函數」,在調用時隨機的選擇使用一個錯誤的序列號或是用戶輸入的序列號,並根據返回結果選擇執行A中正常的功能代碼還是錯誤退出的功能代碼,流程如圖4所示。

經過這種改進,如果破解者通過修改代碼的方式破解將因「完整性檢測」失敗導致程序退出;如果使用SMC等技術繞過「序列號合法性判斷函數」而直接跳至序列號正確時的執行入口,在後續的運行中,將因為隨機的耦合調用失敗導致程序退出。破解者要破解軟體將不得不跟蹤所有進行了耦合調用的函數,這顯然是一個艱巨的任務。
4、完整性檢測函數的設計
我們使用CRC演算法算出需進行完整性檢測的文件的校驗碼,並用RSA加密演算法的公鑰(不同於序列號合法性檢測中的公鑰/私鑰對)將其加密存放在特定的文件中,在檢測時先用CRC演算法重新生成需進行完
整性檢測的文件的校驗碼,並用私鑰將保存的校驗碼解密,兩者相比較,相等則正常運行;否則退出。
5、程序載入器的設計
與編譯成機器碼執行的程序不同,Java程序只能由Java虛擬機解釋執行,因此程序載入器的工作包括:初始化Java虛擬機;在內存中解密當前要運行的class文件;使解密後的c:lass文件在虛擬機中運行,在
需要時解密另一個class文件。圖5是用於初始化JVM的代碼:

以上介紹了我們設計的針對Java軟體的加密保護方法,其中綜合運用了多種加密技術,抗破解強度高;使用純軟體保護技術,成本低。經筆者在Windows系列平台上進行測試,運行穩定,效果良好。
在研宄開發過程中,我們還總結出加密保護軟體的一些經驗:
1、對關鍵代碼和數據要靜態加密,再動態解密執行;要結合具體的工作平台使用反跟蹤/調試技術;
2、要充分利用系統的功能,如在Windows下使用DLL文件或驅動程序形式能得到最大的豐又限,可以充分利用系統具有的各種功能;
3、如果可能應該將關鍵代碼存放在不可禚復制的地方;
4、序列號要與機器碼等用戶信息相關以阻止鹽復布序列號;
5、加密流程的合理性比加密演算法本身的強度更重要。

閱讀全文

與如何開發加密軟體相關的資料

熱點內容
pythondjango面試題 瀏覽:360
無線遙控單片機 瀏覽:113
rpg命令 瀏覽:106
怎麼用手機打開pdf 瀏覽:575
電腦怎麼掛伺服器上 瀏覽:339
成都源碼時代解析 瀏覽:641
選股源碼哪裡下載 瀏覽:298
win7系統重啟命令 瀏覽:927
攝影學pdf 瀏覽:213
python3中文版使用手冊 瀏覽:226
命令面板6 瀏覽:488
aes單片機 瀏覽:723
如何給360安全雲盤同步版加密 瀏覽:387
天美程序員年薪 瀏覽:157
單片機網路編程 瀏覽:788
21款朗逸大屏怎麼安裝app應用 瀏覽:635
如何開發加密軟體 瀏覽:150
為什麼安卓11玩不了俠盜獵車 瀏覽:297
土的壓縮量計算公式 瀏覽:390
javastring字元串加 瀏覽:38