给软件制作加密狗
使用加密狗進(jìn)行程序的加密保護(hù)是非常成熟的加密方案。目前市面上比較常見的加密鎖:深思的精銳5,威步,safenet。國內(nèi)比較老牌的加密鎖公司是深思,深思的鎖從精銳4,到現(xiàn)在的精銳5,都是比較不錯的產(chǎn)品,加密安全性高,使用體驗好,性價比高,比較推薦這一款。
如何用加密狗加密程序流程:
1、 獲取加密SDK包。
2、 使用加密狗配套的加殼工具對程序直接加殼。
3、 使用控制鎖和寫鎖工具制作配套使用的用戶鎖。
4、 發(fā)給用戶加密后的程序及配套用戶鎖。
加密鎖授權(quán)管理
精銳5系列的加密鎖可實現(xiàn)軟件的授權(quán)管理、遠(yuǎn)程升級等功能。
1. 限時限次功能。軟件按訂閱式銷售,訂閱到期可通過遠(yuǎn)程升級的方式升級軟件許可。
2. 網(wǎng)絡(luò)鎖功能。局域網(wǎng)內(nèi)實現(xiàn)服務(wù)器一把鎖,同一局域網(wǎng)下其他電腦也可使用軟件。
3. 限功能模塊。限制軟件的不同的功能模塊銷售。
加殼工具對程序加密流程
直接將帶加密的程序的exe或者dll直接拖到加殼工具中,選擇要加密的函數(shù),同時選擇保護(hù)方式。Virbox Protector加殼工具對函數(shù)的保護(hù)方式有四種:代碼虛擬化/代碼混淆/代碼碎片化/代碼加密。
代碼碎片化是深思自主知識產(chǎn)權(quán)的最新技術(shù):基于 LLVM 和 ARM 虛擬機技術(shù),自動抽取海量代碼移入 SS 內(nèi)核態(tài)模塊,極大的降低了使用門檻, 不再需要手動移植算法,可移植的算法從有限的幾個增長到幾乎無限多,支持的語言也不再限于 C, 這是加密技術(shù)的一次綜合應(yīng)用,效果上類似于將軟件打散執(zhí)行,讓調(diào)試者無從下手。安全度高、建議關(guān)鍵函數(shù)或調(diào)用加密鎖方法;使用太多會影響效率。
代碼加密,將代碼塊作為數(shù)據(jù),用許可加密函數(shù)存儲, 程序執(zhí)行到該函數(shù)時驗證許可并解 密,內(nèi)存中不會暴露完整的代碼塊。
代碼虛擬化:針對X86代碼:是指將機器代碼翻譯為機器和人都無法識別的一串偽代碼字節(jié)流;在具體執(zhí)行時再對這些偽代碼進(jìn)行一一翻譯解釋,逐步還原為原始代碼并執(zhí)行。這段用于翻譯偽代碼并負(fù)責(zé)具體執(zhí)行的子程序就叫作虛擬機VM(好似一個抽象的CPU)。它以一個函數(shù)的形式存在,函數(shù)的參數(shù)就是字節(jié)碼的內(nèi)存地址。由于虛擬機代碼和虛擬機CPU的實現(xiàn)可以做到每次都是隨機設(shè)計和隨機執(zhí)行并且代碼每次可以隨機變化,包括一些邏輯上的等價變化可以參考硬件N個與非門NOT-AND實現(xiàn)各種邏輯門,算法和訪問內(nèi)存形式的變化,包括數(shù)學(xué)上的非等價變化,代碼體積幾乎可以膨脹達(dá)到100到10000倍,造成機器無法做算法還原到原有邏輯。代碼虛擬化的特點是:安全度中、不會影響效率。
轉(zhuǎn)載于:https://my.oschina.net/virbox/blog/3060290
總結(jié)
- 上一篇: 添加dubbo.xsd的方法
- 下一篇: LINQ - 對付 SQL Inject