一、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、加密流程的合理性比加密演算法本身的強度更重要。
2. 怎麼防止軟體被破解
首先要防止被寫出注冊機,你的軟體的注冊機一旦被發表,那你完全有理由做成免費軟體了。防止被寫出注冊機最簡單的方法就是保護你的校驗演算法,具體的做法就是千萬別使用校驗函數,把你的校驗演算法嵌入功能代碼里是比較保險的,這樣破解者至少要花很多精力去研究那一部分是校驗演算法。當然這還不夠,你還可以把檢驗演算法分散到2個地方,當然更多地方效果會更好,只是將來代碼維護起來會很麻煩的。我想如果不是象WinZIP、ACDsee這樣的大牌軟體,很少會有人去找出檢驗演算法了(太頭疼了)。做完了這些,你還可以用Aspack,upx之類的壓縮執行文件工具做進一步的保護。完了嗎?還沒有,我這里還有一些更用的東西。現在的脫殼工具太多了,可以說是沒有脫不掉的殼。那怎麼辦?我這里有一段Delphi5代碼更進一步的保護你的軟體:procere TForm1.FormCreate(Sender: TObject); Var exefile :file of byte; ConstStr:byte; begin AssignFile(exefile, Application.ExeName); reset(exefile); filemode := 0; //讀寫屬性設置為只讀,這樣才不會出錯! seek(exefile,5); //exe文件的第5+1個位置(自己設要查找的位置) Read(exefile,ConstStr); //showmessage(inttostr(ord(constmi)));//看看實際是多少(假定為56) closefile(exefile); if ConstStr <> chr(56) then exit;//如果第5+1個位置的值不是56退出(說明你的軟體被改動了) end; 這段代碼隨時隨地都可以加入,真的非常方便。不過你要注意的是,萬一用戶的機器染上了病毒怎麼辦。保護了檢驗演算法,還要保護什麼呢?校驗演算法只是讓Cracker很難寫出注冊機,但是這還防止不了軟體被破解(也就是常說的暴破)。暴破的原理很簡單:你的軟體寫完後編譯成可執行文件,當Cracker得到這個軟體就可以進行反編譯,得到匯編代碼。你的那段「If 檢驗不成功 Then ...」,就變成了cmp xx,xx,jp xx,xx。稍微改動一下變成cmp xx,xx,rop,rop,rop,rop。整個前面的校驗演算法也就作廢了。我想應該是沒有太好的方法,只是千萬不要用明文比較。再想保護深一點就加入一些冗餘代碼,讓Cracker在這堆代碼里轉的頭暈腦漲,你的目的就達到了。 最後,有些話不吐不快。1.(引用別人:)加密是救不了共享軟體業的!在好的加密技術也有人能解開的!與其花費時間去加密,不如把自己軟體的功能增強些!這樣可能會有更多的人支持您的!!(整天跳出窗口是誰也煩了)! 2.我認為Cracker們其實挺可愛。
3. Android 12 兼容之行為變更
Android 12 平台包含一些行為變更,這些變更可能會影響您的應用。以下行為變更將影響在 Android 12 上運行的 所有應用 ,無論採用哪種 targetSdkVersion 都不例外。您應該測試您的應用,然後根據需要進行修改,以適當地支持這些變更。
此外,請務必查看 僅影響以 Android 12 為目標平台的應用的行為變更 列表。
在搭載 Android 12 及更高版本的設備上, 滾動事件 的視覺行為發生了變化。
在 Android 11 及更低版本中,滾動事件會使視覺元素發光。在 Android 12 及更高版本中,發生拖動事件時,視覺元素會拉伸和反彈;發生快速滑動事件時,它們會快速滑動和反彈。
如需了解詳情,請參閱 動畫演示滾動手勢 指南。
如果您之前在 Android 11 或更低版本中實現了自定義啟動畫面,則需要將您的應用遷移到 SplashScreen API,以確保它從 Android 12 開始正確顯示。如果不遷移您的應用,則可能會導致應用啟動體驗變差或出乎預期。
如需了解相關說明,請參閱 將現有的啟動畫面實現遷移到 Android 12 。
此外,從 Android 12 開始,在所有應用的 冷啟動 和 溫啟動 期間,系統始終會應用新的 Android 系統默認啟動畫面 。 默認情況下,此系統默認啟動畫面由應用的啟動器圖標元素和主題的 windowBackground (如果是單色)構成。
如需了解詳情,請參閱 啟動畫面開發者指南 。
從 Android 12(API 級別 31)開始,僅當您的應用獲准處理某個通用網路 intent 中包含的特定網域時,該網路 intent 才會解析為應用中的 activity。如果您的應用未獲准處理相應的網域,則該網路 intent 會解析為用戶的默認瀏覽器應用。
應用可通過執行以下某項操作來獲准處理相應的網域:
如果您的應用調用網路 intent,不妨考慮添加一個提示或對話框,要求用戶確認操作。
Android 12 整合了現有行為,讓用戶可以 在沉浸模式下更輕松地執行手勢導航命令 。此外,Android 12 還為 粘性沉浸模式提供了向後兼容性行為 。
Android 設備有許多不同的外形規格,如大屏設備、平板電腦和可折疊設備。為了針對每種設備適當地呈現內容,您的應用需要確定屏幕或顯示屏尺寸。隨著時間的推移,Android 提供了不同的 API 來檢索這些信息。在 Android 11 中,我們引入了 WindowMetrics API 並廢棄了以下方法:
在 Android 12 中,我們繼續建議使用 WindowMetrics ,並且正在逐步廢棄以下方法:
為了緩解應用使用 Display API 檢索應用邊界的行為,Android 12 限制了 API 為不完全可調整大小的應用返回的值。這可能會對將此信息與 MediaProjection 一起使用的應用產生影響。
應用應使用 WindowMetrics API 查詢其窗口的邊界,並使用 Configuration.densityDpi 查詢當前的密度。
為了與較低的 Android 版本實現更廣泛的兼容性,您可以使用 Jetpack WindowManager 庫,它包含一個 WindowMetrics 類,該類支持 Android 4.0(API 級別 14)及更高版本。
首先,確保應用的 activity 完全可調整大小 。
activity 應依賴於來自 activity 上下文的 WindowMetrics 來執行任何與界面相關的工作,尤其是 WindowManager.getCurrentWindowMetrics() 或 Jetpack 的 WindowMetricsCalculator.computeCurrentWindowMetrics() 。
如果您的應用創建了 MediaProjection ,則必須正確地調整邊界的大小,因為投影會捕獲運行投影儀應用的顯示分區。
如果應用完全可調整大小,則 activity 上下文會返回正確的邊界,如下所示:
如果應用並非完全可調整大小,則它必須從 WindowContext 實例進行查詢,並使用 WindowManager.getMaximumWindowMetrics() 或 Jetpack 方法 WindowMetricsCalculator.computeMaximumWindowMetrics() 檢索 activity 邊界的 WindowMetrics 。
注意 :任何使用 MediaProjection 的庫也應遵循這些建議,並查詢相應的 WindowMetrics 。
Android 12 將多窗口模式作為標准行為。
在大屏設備 (sw >= 600dp) 中,所有應用都將在多窗口模式下運行,無論應用配置為何。如果 resizeableActivity="false" ,應用會在必要時進入兼容模式,以適應顯示屏尺寸。
在小屏設備 (sw < 600dp) 中,系統會檢查 activity 的 minWidth 和 minHeight ,來確定 activity 能否在多窗口模式下運行。如果 resizeableActivity="false" ,則無論最小寬度和高度如何,應用都無法在多窗口模式下運行。
如需了解詳情,請參閱 多窗口模式支持 。
相機應用通常假定設備的屏幕方向和相機預覽的寬高比呈固定關系。但是,大屏設備類型(例如可折疊設備)和顯示模式(例如多窗口和多屏幕)挑戰著這一假設。
在 Android 12 上,請求特定屏幕方向且不可調整大小 ( resizeableActivity="false" ) 的相機應用會自動進入邊襯區人像模式,從而確保相機預覽的屏幕方向和寬高比正確。在可折疊設備和其他具有相機硬體抽象層 ( HAL ) 的設備上,會對相機輸出應用額外的旋轉以補償相機感測器方向,並會剪裁相機輸出以匹配應用相機預覽的寬高比。無論設備屏幕方向如何以及設備是處於折疊狀態還是展開狀態,剪裁和額外的旋轉可確保應用正確呈現相機預覽。
除了 一些例外情況 之外,為了為短時間運行的 前台服務 提供流暢體驗,搭載 Android 12 或更高版本的設備可以將前台服務通知的顯示延遲 10 秒。此更改使某些短期任務可在顯示通知之前完成。
Android 11(API 級別 30)引入了 受限存儲分區 作為應用待機模式存儲分區。從 Android 12 開始,此存儲分區默認處於活躍狀態。在所有存儲分區中,受限存儲分區的優先順序最低(限制最高)。存儲分區按優先順序從高到低的順序排列如下:
除了使用模式之外,系統還會考慮應用的行為,以決定是否要將您的應用放在受限存儲分區中。
如果您的應用更負責地使用系統資源,就不太可能被放在受限存儲分區中。此外,如果用戶直接與您的應用互動,系統會將其放在一個限制較少的存儲分區中。
如需檢查系統是否已將您的應用放在受限存儲分區中,請調用 getAppStandbyBucket() 。如果此方法的返回值為 STANDBY_BUCKET_RESTRICTED ,則您的應用在受限存儲分區中。
如需測試您的應用在系統將其放在受限存儲分區中時的行為,您可以手動將您的應用移至該存儲分區。為此,請在終端窗口中運行以下命令:
在搭載 Android 12 或更高版本的受支持設備上,用戶可以通過按一個切換開關選項,為設備上的所有應用啟用和停用攝像頭和麥克風使用許可權。用戶可以從 快捷設置 訪問可切換的選項(如圖 1 所示),也可以從系統設置中的「隱私設置」屏幕訪問。
詳細了解這些 切換開關 以及如何檢查您的應用是否遵循了關於 CAMERA 和 RECORD_AUDIO 許可權的最佳實踐。
在搭載 Android 12 或更高版本的設備上,當應用使用麥克風或相機時,圖標會出現在狀態欄中。
詳細了解這些 指標 以及如何檢查您的應用是否遵循了關於 CAMERA 和 RECORD_AUDIO 許可權的最佳實踐。
[圖片上傳中...(image-bd519-1643780883994-1)]
<figcaption style="box-sizing: inherit; font-size: 14px; margin-top: -4px;"> 圖 1. 「快捷設置」中的麥克風和攝像頭切換開關。</figcaption>
[圖片上傳中...(image-f49bfd-1643780883994-0)]
<figcaption style="box-sizing: inherit; font-size: 14px; margin-top: -4px;"> 圖 2. 麥克風和攝像頭指示標志,顯示了最近的數據訪問。</figcaption>
在搭載 Android 12 或更高版本的設備上,根據應用對其他應用的 軟體包可見性 ,以 Android 11(API 級別 30)或更高版本為目標平台且調用以下某種方法的應用會收到一組過濾後的結果:
Android 12 移除了之前棄用的加密演算法的許多 BouncyCastle 實現,包括所有 AES 演算法。系統改用這些演算法的 Conscrypt 實現。
如果符合以下任何條件,則此變更會影響您的應用:
在 Android 12 及更高版本中,當某個應用首次調用 getPrimaryClip() 以 從另一個應用訪問剪輯數據 時,會彈出一個消息框消息,通知用戶對剪貼板的訪問。
消息框消息內的文本包含以下格式: <var translate="no" style="box-sizing: inherit; color: var(--devsite-var-color); -webkit-font-smoothing: auto; font-weight: 500;">APP</var> pasted from your clipboard.
注意 :您的應用可能會調用 getPrimaryClipDescription() 以接收有關 剪貼板上當前數據的信息 。當您的應用調用此方法時,系統不會顯示消息框消息。
在 Android 12 及更高版本中, getPrimaryClipDescription() 可以檢測到以下詳細信息:
為了加強用戶與應用和系統互動時的控制,從 Android 12 開始,棄用了 ACTION_CLOSE_SYSTEM_DIALOGS intent 操作。除了 一些特殊情況 之外,當應用嘗試 調用包含此操作的 intent 時,系統會基於應用的目標 SDK 版本執行以下操作之一:
在以下情況下,應用仍然可以在 Android 12 或更高版本上關閉系統對話框:
為了維持系統安全並保持良好的用戶體驗,Android 12 會阻止應用使用 觸摸事件 ,使用觸摸事件時疊加層會以不安全的方式遮掩應用。 換言之,系統會屏蔽穿透某些窗口的觸摸操作,但 有一些例外情況 。
此變更會影響選擇讓觸摸操作穿透其窗口的應用,例如使用 FLAG_NOT_TOUCHABLE 標志。包括但不限於以下示例:
在以下情況下,允許執行「穿透」觸摸操作:
如果系統屏蔽觸摸操作, Logcat 會記錄以下消息:
在搭載 Android 12 或更高版本的設備上,不受信任的觸摸功能默認被屏蔽。如需允許不受信任的觸摸操作,請在終端窗口中運行以下 ADB 命令 :
如需將行為還原為默認設置(不受信任的觸摸操作被屏蔽),請運行以下命令:
Android 12 更改了在按下「返回」按鈕時系統對為其任務根的啟動器 activity 的默認處理方式。在以前的版本中,系統會在按下「返回」按鈕時完成這些 activity。在 Android 12 中,現在系統會將 activity 及其任務移到後台,而不是完成 activity。當使用主屏幕按鈕或手勢從應用中導航出應用時,新行為與當前行為一致。
注意 :系統僅會將新行為應用於為其任務根的啟動器 activity,即使用 ACTION_MAIN 和 CATEGORY_LAUNCHER 聲明 intent 過濾器 的 activity。對於其他 activity,在按下「返回」按鈕時,系統會像以前一樣完成 activity。
對於大多數應用而言,此變更意味著使用「返回」按鈕退出應用的用戶可以更快地從 溫狀態 恢復應用,而不必從 冷狀態 完全重啟應用。
建議您針對此變更測試您的應用。如果您的應用目前替換 onBackPressed() 來處理返回導航並完成 Activity ,請更新您的實現來調用 super.onBackPressed() 而不是完成 Activity。調用 super.onBackPressed() 可在適當時將 activity 及其任務移至後台,並可為不同應用中的用戶提供更一致的導航體驗。
另請注意,通常,我們建議您使用 AndroidX Activity API 提供自定義返回導航 ,而不是替換 onBackPressed() 。如果沒有組件攔截系統按下「返回」按鈕,AndroidX Activity API 會自動遵循適當的系統行為。
在 Android 12 中,無論顯示屏是否支持無縫過渡到新的刷新率,都會發生使用 setFrameRate() 實現的刷新率變化;無縫過渡是指沒有任何視覺中斷,比如一兩秒鍾的黑屏。以前,如果顯示屏不支持無縫過渡,它在調用 setFrameRate() 後通常會繼續使用同一刷新率。您可以調用 getAlternativeRefreshRates() 來提前確定向新刷新率的過渡是否有可能是無縫過渡。通常,會在刷新率切換完成後調用回調 onDisplayChanged() ,但對於某些外接顯示屏,會在非無縫過渡期間調用該回調。
以下示例說明了您可以如何實現此行為:
Android 12 中添加了以下 API:
如需創建 Passpoint 建議,應用必須使用 PasspointConfiguration 、 Credential 和 HomeSp 類。這些類描述了 Wi-Fi Alliance Passpoint 規范 中定義的 Passpoint 配置文件。
如需了解詳情,請參閱 適用於互聯網連接的 Wi-Fi 建議 API 。
Android 12 包含更新後的受限制非 SDK 介面列表(基於與 Android 開發者之間的協作以及最新的內部測試)。在限制使用非 SDK 介面之前,我們會盡可能確保有可用的公開替代方案。
如果您的應用並非以 Android 12 為目標平台,其中一些變更可能不會立即對您產生影響。然而,雖然您目前仍可以使用一些非 SDK 介面( 具體取決於應用的目標 API 級別 ),但只要您使用任何非 SDK 方法或欄位,終歸存在導致應用出問題的顯著風險。
如果您不確定自己的應用是否使用了非 SDK 介面,則可以 測試您的應用 來進行確認。如果您的應用依賴於非 SDK 介面,您應該開始計劃遷移到 SDK 替代方案。然而,我們知道某些應用具有使用非 SDK 介面的有效用例。如果您無法為應用中的某項功能找到使用非 SDK 介面的替代方案,應 請求新的公共 API 。
如需詳細了解此 Android 版本中的變更,請參閱 Android 12 中有關限制非 SDK 介面的更新 。如需全面了解有關非 SDK 介面的詳細信息,請參閱 對非 SDK 介面的限制 。
4. 如何在區域網中禁用一些電腦的某些應用軟體。如QQ,MSN等
WorkWin限制專家(單機版)——禁止QQ聊天 禁止下載
WorkWin限制專家能夠:
禁止QQ,禁用QQ,禁止QQ登陸,禁止員工上QQ,禁止使用QQ聊天,禁止QQ運行
禁止新浪UC聊天,禁止MSN聊天,禁止淘寶旺旺聊天,禁止網易泡泡聊天
禁止使用電影播放器看電影,禁止下載文件,禁止亂動機器設置
禁止擅自安裝軟體,有效攔截99%的已知和未知黃色網頁
可以設置為只允許訪問哪幾個網站,可以設置不允許訪問哪幾個網站
WorkWin限制專家也可以被設置為禁止BT等P2P軟體的運行
管理員可以定義不希望出現的窗口,可以定義要禁止哪些程序運行
WorkWin限制專家有效規范員工行為,提高工作效率,保障網路安全
您還在為員工工作時間上QQ聊天,亂下載文件,看電影,亂安裝軟體,上黃色站點,工作效率低下而發愁嗎?WorkWin限制專家也許是最好的選擇!WorkWin限制專家擁有禁止使用QQ等所有聊天工具,反黃,禁止在線播放電影,網頁內容過濾等30多個功能。WorkWin限制專家廣泛適合應用公司、企業、政府、軍隊、學校等一切辦公用途的電腦。WorkWin限制專家是劃時代的辦公領域里程碑式的軟體產品,通過互聯網以共享軟體的模式發布和推廣、銷售。WorkWin限制專家廣泛適合應用公司、企業、政府、軍隊、學校等一切辦公用途的電腦。 WorkWin限制專傢具備如下功能:禁止QQ登陸,禁止員工上QQ,禁止使用QQ聊天,禁止QQ運行,禁止QQ聊天,禁止新浪UC聊天,禁止MSN聊天,禁止淘寶旺旺聊天,禁止網易泡泡POPO聊天,可以禁止一切聊天工具運行,禁止登陸聊天室,可以禁止使用RealPlayer電影播放器,禁止使用Windows Media Player,禁止使用RealOne電影播放器播放電影,禁止在線播放功能可以禁止觀看網頁形式的在線播放電影。WorkWin限制專家的禁止下載功能可以禁止下載文件,禁止添加/刪除程序,禁止打開控制面板,禁止運行注冊表編輯器,禁止安裝程序運行,禁止安裝軟體,可以禁止修改系統時間。WorkWin限制專家同時具備強大的反黃功能,對網頁內容進行過濾分析採用哥倫比亞大學M.Ro博士的WeSCgf.Te3語義分析演算法,精度高,漏網率低、誤殺率低;有效攔截99%的已知和未知黃色網頁,能同時對簡體中文、繁體中文、英、韓、日、西、德、法、俄語言網站進行攔截過濾;WorkWin限制專家可以自行設置禁止訪問某網站,可以被設置為只允許訪問某網站(訪問其他網站,自動關閉),可以用自定義關鍵字檢查網頁內容,當訪問的網頁內容包含被禁止的詞語時,則自動關閉。WorkWin限制專家也可以被設置為禁止BT等P2P軟體的運行,管理員可以定義不希望出現的窗口,可以定義要禁止哪些程序運行。 WorkWin限制專家是綠色軟體,無需安裝即可使用。上面所有功能的限制與否都可以由管理員自己設置。程序安裝和運行後無任何痕跡,WorkWin限制專家採用雙進程隱藏運行,不論在win98,win2000,還是在winxp下,不論通過任務管理器還是任何工具,沒有密碼,誰也無法關閉或刪除WorkWin限制專家。IT時代辦公室科學管理從WorkWin限制專家開始。 成功自信並輕松的企業信息主管從WorkWin限制專家開始!
5. 怎樣徹底的!!!!屏蔽流氓軟體!!!!!!!!!!!!!
唉--LZ啊!
說幾個概念先
屏蔽 是什麼意思 :屏蔽就是阻止不讓其發揮作用.
防禦 免受侵擾
清理 已經存在的刪除
我想LZ的意思是三者結合吧
先說 1清理
對於我們普通用戶來講
都是通過軟體來實現的
這里 我推薦廣為大家認同的四個個軟體
360安全衛士+windows流氓軟體清理大師+惡意軟體清理助手+超級兔子
操作原理基本相同,都是掃描系統已經存在,且他們記錄的流氓軟體
www.crsky.com 和 www.skycn.com 有下載
我是三者結合使用的,因為他們的演算法不一樣,這個軟體掃出來,那個軟體不一定掃的出來,起碼我測試得出了這個結果
掃描很快的.....所以三者結合使用 沒有問題
2屏蔽和過濾
這我要多道了,觀點和大家不太一樣~~
目前我所知道的有兩款軟體 kv2007 和 upiea
kv2007的完美破解還有 所以 只有採用 upiea
這是個很小的綠色東東 www.crsky.com 和 www.skycn.com 也有下載
說是屏蔽,其實~~~~沒多大用啊!不信你自己測試 用上面的那個軟體 照樣掃出來!
不過我也一直再用 運行也很快的,也不在乎這一個了,
我是把這些軟體都運行個便~~~呵呵
所以 做到屏蔽 軟體幾乎沒有這樣的功能
在此我要說的殺毒軟體 是有監控功能的,而且很多是監控注冊表
在安裝過程中 那些是惡意軟體同樣查得出來 會給出來提示的,這也算屏蔽和過濾吧~~~
3防禦
我要說的是,小心+再小心
軟體有防禦功能么~~~有防禦惡意軟體的軟體么???
除去殺毒軟體外(只上面說的屏蔽功能),沒有!所有的對付惡意軟體的軟體 都是清理!
所以我說 要小心再小心 就是小心,不要安裝上
沒必要的鏈接不要點 安裝的過程不要一味的下一步
仔細看看,那些安裝文件可能就有ebye
一些exe文件很可能是綁定了垃圾文件的
應該先用軟體掃描 拆解出來 Universal Extractor 這個東東掃下
主要針對那些可疑圖標 可疑的exe文件
另外,還有 kv2007等軟體的粉碎功能,徹底的從計算機刪除某個文件的功能
不過用的很少~~
再多看一些技術性文章
只能這樣了------
另外,我還要提兩個軟體 ewido 和 黃山IE修復專家
前者 對付木馬 廣告插件也很強!
前面提到的惡意軟體清理工具,對就那四個
和這個沒法比
那四個只是清理他們自己記錄的廣告插件 沒記錄的呢~ pass 呵呵,就這么濫!
所以要用到 ewido 他是通過自己的演算法 把那些可以的東東通通掃出來
所以我強烈推薦
再說黃山IE
知道經常莫名其抄的彈出一些網頁吧,有些甚至不堪入目
肯定知道的~~ 沒體驗過也看過 沒看過也聽說過~~~
就用這個東東解決了 ,修復IE 對付大多數惡意修改還是很好用的
另外特殊的一些惡意修改需要特別找到它,可以去黃山或者360的官方去求助
把日誌 用 hijackthis 這個軟體掃下來 給他們分析 他們給你提供有針對性的解決辦法
大概就這樣了
推薦三個文章
http://hi..com/wumaocheng/blog/item/27ae9258dc0182de9c82048c.html
http://bbs.163down.com/thread-247661-1-1.html
http://bbs.163down.com/thread-248680-1-1.html
後面這倆也是我原創的,希望對你有所幫助
另外,我提到的那些軟體 www.crsky.com 都有下 免費的 破解的
有任何疑問 歡迎通過網路消息交流
還有還有,,我多一句,真正流氓的不是軟體
也不是軟體開發商
而是那些通過各種途徑讓軟體植入你的電腦的人!!!!強烈BS!!!
6. Win10運行程序時提示不受信任怎麼辦Win10阻止運行應用程序怎麼辦
你的系統是xp home還是xp professional,如是後者,可以用組策略來解決問題,下面文章來至網路,以供參考。 來賓賬戶(guest)或者受限用戶(user)的許可權設置當你的電腦經常需要被別人使用,但是你又不希望別人看你的某些重要文件或者不允許別人運行某些應用程序或者擔心自己系統某些重要參數被修改時,你可以先以管理員身份登錄Windows系統,參照以下幾條作相應設置,然後開通來賓賬戶或者新建一個普通user賬戶(不是管理員,而是受限用戶),讓別人用這個賬戶登錄系統,這時你就可以放心你的電腦任意讓別人折騰。一、限制用戶對文件的訪問許可權 如果程序所在的磁碟分區文件系統為NTFS格式,管理員賬戶可以利用NTFS文件系統提供的文件和文件夾安全選項控制用戶對程序及文件的訪問許可權。通常情況下,一個應用程序安裝到系統後,本地計算機的所有賬戶都可以訪問並運行該應用程序。如果取消分配給指定用戶對該應用程序或文件夾的訪問許可權,該用戶也就失去了運行該應用程序的能力。 例如,要禁止受限用戶運行OutlookExpress應用程序,可以進行如下的操作: (1)、以administrator賬戶登錄系統,如果當前系統啟用了簡單文件共享選項,需要將該選項關閉。具體做法是,在Windows瀏覽器窗口點擊「工具」菜單下的「文件夾選項」,點擊「查看」選項頁,取消「使用簡單文件共享」選項的選擇,點擊「確定」。 (2)、打開Program Files文件夾,選中Outlook Express文件夾並單擊右鍵,選擇「屬性」。 (3)、點擊「安全」選項頁,可以看到Users組的用戶對該文件夾具有讀取和運行的許可權,點擊「高級」。 (4)、取消「從父項繼承那些可以應用到子對象的許可權項目,包括那些再次明確定義的項目」選項的選擇,在彈出的提示信息對話框,點擊「復制」,此時可以看到用戶所具有的許可權改為不繼承的。 (5)、點擊「確定」,返回屬性窗口,在「用戶或組名稱」列表中,選擇Users項目,點擊「刪除」,點擊「確定」,完成許可權的設置。 要取消指定用戶對文件或程序的訪問限制,需要為文件或文件夾添加指定的用戶或組並賦予相應的訪問許可權。 這種方法允許管理員針對每個用戶來限制他訪問和運行指定的應用程序的許可權。但是這需要一個非常重要的前提,那就是要求應用程序所在的分區格式為NTFS,否則,一切都無從談起。 對於FAT/FAT32格式的分區,不能應用文件及文件夾的安全選項,我們可以通過設置計算機的策略來禁止運行指定的應用程序。 二、啟用「不要運行指定的Windows應用程序」策略 在組策略中有一條名為「不要運行指定的Windows應用程序」策略,通過啟用該策略並添加相應的應用程序,就可以限制用戶運行這些應用程序。設置方法如下: (1)、在「開始」「運行」處執行gpedit.msc命令,啟動組策略編輯器,或者運行mmc命令啟動控制台,並將「組策略」管理單元載入到控制台中; (2)、依次「『本地計算機』策略」「用戶設置」「管理模板」,點擊「系統」,雙擊右側窗格中的「不要運行指定的Windows應用程序」策略,選擇「已啟用」選項,並點擊「顯示」。 (3)、點擊「添加」,輸入不運行運行的應用程序名稱,如命令提示符cmd.exe,點擊「確定」,此時,指定的應用程序名稱添加到禁止運行的程序列表中。 (4)、點擊「確定」返回組策略編輯器,點擊「確定」,完成設置。 當用戶試圖運行包含在不允許運行程序列表中的應用程序時,系統會提示警告信息。把不允許運行的應用程序復制到其他的目錄和分區中,仍然是不能運行的。要恢復指定的受限程序的運行能力,可以將「不要運行指定的Windows應用程序」策略設置為「未配置」或「已禁用」,或者將指定的應用程序從不允許運行列表中刪除(這要求刪除後列表不會成為空白的)。 這種方式只阻止用戶運行從Windows資源管理器中啟動的程序,對於由系統過程或其他過程啟動的程序並不能禁止其運行。該方式禁止應用程序的運行,其用戶對象的作用范圍是所有的用戶,不僅僅是受限用戶,Administrators組中的賬戶甚至是內建的administrator帳戶都將受到限制,因此給管理員帶來了一定的不便。當管理員需要執行一個包含在不允許運行列表中的應用程序時,需要先通過組策略編輯器將該應用程序從不運行運行列表中刪除,在程序運行完成後,再將該程序添加到不允許運行程序列表中。需要注意的是,不要將組策略編輯器(gpedit.msc)添加到禁止運行程序列表中,否則會造成組策略的自鎖,任何用戶都將不能啟動組策略編輯器,也就不能對設置的策略進行更改。 提示:如果沒有禁止運行「命令提示符」程序的話,用戶可以通過cmd命令,從「命令提示符」運行被禁止的程序,例如,將記事本程序(notepad.exe)添加不運行列表中,通過XP的桌面運行該程序是被限制的,但是在「命令提示符」下運行notepad命令,可以順利的啟動記事本程序。因此,要徹底的禁止某個程序的運行,首先要將cmd.exe添加到不允許運行列表中。 三、設置軟體限制策略 軟體限制策略是本地安全策略的一個組成部分,管理員通過設置該策略對文件和程序進行標識,將它們分為可信任和不可信任兩種,通過賦予相應的安全級別來實現對程序運行的控制。這個措施對於解決未知代碼和不可信任代碼的可控制運行問題非常有效。軟體設置策略使用兩個方面的設置對程序進行限制:安全級別和其他規則。 安全級別分為「不允許的」和「不受限制的」兩種。其中,「不允許的」將禁止程序的運行,不論用戶的許可權如何;「不受限的」允許登錄用戶使用他所擁有的許可權來運行程序。 其它規則,即由管理員通過制定規則對指定的一批或一個文件和程序進行標識,並賦予「不允許的」或「不受限的」安全級別。在這個部分中,管理員可以制定四種類型的規則,按照優先順序別分別是:散列規則、證書規則、路徑規則和Internet區域規則,這些規則將對文件的訪問和程序的運行提供最大限度的授權級別。 軟體限制策略的設置 1、訪問軟體限制策略 作為本地安全策略的一部分,軟體限制策略同時也包含在組策略中,這些策略的設置必須以administrator賬戶或Administrators組成員的身份登錄系統。軟體限制策略的訪問方式有兩種: (1)、在「開始」「運行」處運行secpol.msc,啟動本地安全策略編輯器,在「安全設置」下可以看到「軟體限制策略」項目。 (2)、在「開始」「運行」處運行gpedit.msc,啟動組策略編輯器,在「計算機設置」「Windows設置」「安全設置」下可以看到「軟體限制策略」。 2、新建軟體限制策略 首次打開「軟體限制策略」時,該項目是空的。策略需要由管理員手動添加。方法是點擊「軟體限制策略」使其處於選中狀態,點擊編輯器窗口「操作」菜單下的「新建一個策略」項目,此時可以看到「軟體限制策略」下增加了「安全級別」和「其它規則」以及三條屬性,如圖2所示。一旦執行了新建策略操作後,就不能再次執行該操作,並且這個策略也不能刪除。 3、設置默認的安全級別 新建軟體限制策略後,策略的默認安全級別為「不受限的」,如果要更改默認的安全級別,需要在「安全級別」中進行設置,方法如下: (1)、打開「安全級別」,在右側窗格中,可以看到有兩條設置,其中圖標中帶有一個小對號的設置為默認設置; (2)、點擊不是默認值的那條設置,單擊右鍵,選擇「設置為默認」項。當設置「不允許的」為默認值時,系統會顯示一個提示信息對話框,點擊「確定」即可。 該步驟也可以雙擊非默認的設置,在彈出的屬性窗口中,點擊「設為默認值」。 4、設置策略的作用范圍和對象 通過策略的「強制」屬性可以設置策略應用的軟體文件是否包含庫文件以及作用的對象是否包含管理員賬戶。通常情況下,為了避免引起系統不必要的問題以及便於對系統的管理,策略的作用范圍應設置為不包含庫文件的所有軟體文件,作用對象設置為除本地管理員外的所有用戶。設置的方法如下: (1)、單擊「軟體限制策略」,雙擊右側窗格中的「強制」屬性項目; (2)、選擇「除去庫文件(如Dll文件)以外的所有軟體文件」選項和「除本地管理員以外的所有用戶」選項,單擊「確定」。 5、制定規則 只通過安全級別的設置,顯然不能很好的實現對文件和程序的控制,必須通過制定合理的規則來標識那些禁止或允許運行的文件和程序,並進而實現對這些文件和程序的靈活控制。上文中提到可制定規則的類型有四種:散列規則、證書規則、路徑規則和Internet區域規則。它們標識文件以及制定規則的方法如下: 散列規則:利用散列演算法計算出指定文件的散列,這個散列是唯一標識該文件的一系列定長位元組。制定了散列規則後,用戶訪問或運行文件時,軟體限制策略會根據文件的散列及安全級別來允許或阻止對該文件進行訪問或運行。當文件移動或重命名,不會影響文件的散列,軟體限制策略對該文件依然有效。制定方法如下: (1)、點擊「軟體限制策略」下的「其它規則」,在「其他規則」上單擊右鍵,或在右側窗格的空白區域單擊右鍵,選擇「新散列規則」。 (2)、點擊「瀏覽」,指定要標識的文件或程序,例如cmd.exe,確認後,在文件散列中可以看到計算出來的散列,在「安全級別」中選擇「不允許的」或「不受限的」,點擊「確定」,在「其它規則」中可以看到新增了一條類型為散列的規則。 證書規則:利用與文件或程序相關聯的簽名證書進行標識。證書規則需要的證書可以是自簽名的、由證書頒發機構(CA)頒發或是由Windows2000公鑰機構發布。證書規則不應用於EXE文件和DLL文件,它主要應用於腳本和Windows安裝程序包。當某個文件由其關聯的簽名證書標識後,運行該文件時,軟體限制策略會根據該文件的安全級別來決定是否可以運行。文件的移動和更名不會對證書規則的應用產生影響。制定證書規則時要求能夠訪問到用來標識文件的證書文件,證書文件的擴展名為.CER。創建方法同散列規則。 路徑規則:利用文件或程序的路徑進行標識,該規則可以針對一個指定的文件、用通配符表示的一類文件或是某一路徑下的所有文件及子文件夾中的文件。由於標識是由路徑來完成的,當文件移動或重命名時,路徑規則會失去作用。在路徑規則中,根據路徑范圍的大小,優先順序別各有高低,范圍越大,優先順序越低。通常路徑的優先順序從高到低為:指定的文件、帶路徑的以通配符表示的一類文件、通配符表示的一類文件、路徑、上一級路徑。創建方法同散列規則。 Internet區域規則:利用應用程序下載的Internet區域進行標識。區域主要包括:Internet、本地Intranet、本地計算機、受限制的站點、受信任的站點。該規則主要應用於Windows的安裝程序包。創建方法同散列規則。 6、維護可執行代碼的文件類型 不論是那種規則,它所影響的文件類型只有「指派的文件類型」屬性中列出的那些類型,這些類型是所有規則共享的。某些情況下,管理員可能需要刪除或添加某種類型的文件,以便規則能夠對這類文件失去或產生作用,這就需要我們來維護「指派的文件類型」屬性。方法如下: (1)、單擊「軟體限制策略」,雙擊右側窗格中的「指派的文件類型」屬性項目; (2)、如果新增一種文件類型,在「文件擴展名」處輸入添加的擴展名,點擊「添加」;如果要刪除一種文件類型,單擊列表中的制定類型,點擊「刪除」。 7、利用規則的優先順序靈活控製程序的運行 四種規則的優先順序從高到依次為:散列規則、證書規則、路徑規則、Internet區域規則。如果有超過一條以上的規則同時作用於同一個程序,那麼優先順序最高的規則設定的安全級別將決定該程序是否能運行。如果多於一條的同類規則作用於同一個程序,那麼同類規則中最具限制力的規則將起作用。這為我們提供了一條對程序的運行進行靈活控制的途徑。單一規則的作用效果雖然全面,但是也限制了我們所需要的那些部分,復合規則的綜合作用將產生諸如「除了我們需要的/不需要的以外,其他全部不允許/不受限制」這樣的效果,這也許才是我們真正需要的安全級別。 提示:軟體限制策略的生效需要注銷並重新登錄系統。如果在軟體限制策略中為一個程序制定了一條安全級別為「不受限的」規則,而這個程序包含在「不要運行指定的Windows應用程序」策略的不允許運行程序列表中,那麼最終這個程序是不允許運行的。要取消對程序的限制,需要將相關的規則刪除:在「其他規則」中的規則列表中,在要刪除的規則上點擊右鍵,選擇「刪除」即可。 上述三種限製程序運行的措施各有特點。從限制的實現方法和效果來看,限制用戶對文件的訪問許可權可以讓管理員以Administartor賬戶身份對所有用戶的許可權進行控制,作用的范圍可以是所有類型的文件和文件夾,但是這種方法受到應用環境的限制。採取基於策略的措施,不論是啟用「不要運行指定的Windows應用程序」策略還是設置軟體限制策略,對於要限制的用戶對象作用范圍來講都是用戶組,不能針對具體的用戶進行設置,要麼是所有的用戶,要麼是除管理員組外的所有用戶。但是這些措施對系統環境的要求不高,在XP系統中都可以進行實施。另外,基於策略的設置可以對計算機進行更加靈活的管理。特別是軟體限制策略允許管理員通過多種方式對程序進行標識,對於程序的運行具有很高的可控性。
7. 所有軟體都可以被破解嗎,為什麼開發者不阻止破解版的產生
首先軟體是100%可以破解的。大不了我使用窮舉法,列出所有的可能!
在20世紀,沒有互聯網的時候!軟體採用光碟在不可復制扇區寫入代碼,再給你一個密碼。光碟安裝時,會根據這個代碼產生對應密碼,也就是軟體公司給你的那個。破解方法,採用繞過密碼這一關,也就是破解版!
2.20世紀末,互聯網開始誕生!一般軟體採用網路注冊,電腦使用。例如Photoshop8.0,你安裝好以後,機器會隨機產生一個25位數字,只需要發給網站,網站就會通過計算產生一個新的25位數字發給你。這樣你就可以使用了。這個生成過程後來被人發明了破譯計算軟體,叫「解碼器」,進行了破解。
3.21世紀的軟體網路碼!21世紀由於網路發達,絕大部分軟體隨時隨地要和網路連接。於是通過手機號申請唯一的密碼。每次啟動軟體,便要識別地址,手機號等信息!當密碼在多個機器或者多地使用時,便自動作廢。我們的愛奇藝會員便是這種密碼!由於這是一對幾綁定密碼,而且隨時聯網,已經很難長期免費使用。破解也就無從談起!
三個時代,從無法對付破解軟體,到現在網路軟體,沒辦法破解。 歷史 在不斷進步!
首先肯定一下,所有的軟體都可以被破解,無非是破解的代價不同而已。就算是IOS,也是一樣可以被破解,被越獄的,Windows就更不說了,專業版的正版Windows在國內真的不多。
為什麼開發者不阻止破解版的產生?因為阻止不了。
爆破是一種簡單的破解方式,我們可以通過反向工程,將軟體的可執行文件破解後重新編譯,達到破解的目的。
例如:我們有一個軟體,每次輸入注冊碼以後都會到一個網站去驗證,如果驗證通過會返回一個指令,軟體得到這個指令以後,也相當於注冊成功。我們在重新編譯以後,可以修改這個地址,改到一個我們自己搭建的破解地址去,不過輸入什麼呢,我們都返回一個成功的指令,這樣就可以達到破解的目的了。
當然,我們還可以修改驗證的處理邏輯,例如如果用戶輸入錯誤的注冊碼,就驗證通過,這樣也可以達到破解的目的。
還有就是通過自己編寫注冊機來破解,所有的軟體驗證都有一個固定的邏輯演算法,我們只要了解這個演算法以後,就可以根據驗證碼的生成邏輯,寫出一個注冊機並生成正確的注冊碼,通過使用這個注冊碼來完成注冊。
而破解的方式還有很多,對於不同的軟體會有不同的破解方式。對於開發者來說,自然是不願意自己的軟體被破解了,所以也曾經增加了很多的反破解手段,不過這些手段都會有漏洞,因為這些反破解手段本身其實也是一個軟體,只要是軟甲就可以被破解。
所有軟體都可以被破解嗎,為什麼開發者不阻止破解版的產生?
這個問題分這樣幾個方面來回答。
第一、所有的軟體都可以破解,無非是破解的難度與價值大小,決定了破解者的多少。
這個問題有點類似鎖和開鎖。只要有一定的技術和功夫,可以說幾乎所有的鎖都能不用鑰匙打開。
第二、為什麼開發者不阻止破解版的產生。
舉一個例子。前些年,微軟的BOSS說過,我知道中國人喜歡偷(軟體盜版),即便是這樣,我還是希望他們偷我們的軟體。
這句話說明這樣一個道理,在某種程度上,多數軟體的開發者,反而喜歡有人破解自己的產品,有人使用自己的盜版產品。
為什麼這樣呢?
其實這樣有兩個效果。
第一個效果,盜版軟體大量流行,可以打擊其競爭對手。如果對於盜版打擊過於嚴厲,沒人使用盜版,那麼他們競爭對手的產品很可能會乘虛而入,佔領市場。例如windows,如果蓋茨們嚴厲打擊盜版,那麼很可能國產的操作系統很可能會借機得到發展。如果放任盜版,其中一個最重要的作用,就是使廣大用戶形成習慣,堵死國產系統發展的機會。
第二個效果是,他們又有了一條新的生財之道。
例如,現在使用操作系統的電腦,絕大多數是可以聯網的,蓋茨們很容易知道,哪些機器使用盜版系統。如果是一些不大不小的公司膽敢使用盜版,那麼他們會收集證據,然後給這些公司發律師函,你們使用盜版的證據已經收集完畢,要麼繳納某某萬元給我們購買許可,要麼到法院做被告。這種情況,可以說大概率是輸官司賠款,並且數字非常大。很多軟體公司雖然盜版不賺錢,但是用這種方式,可以大發其財。
軟體升級與破解是矛與盾的關系。具體分析如下:
開發者們對自己開發的軟體進行保護是很常見的行為,但是應該沒有開發者會覺得自己的軟體無法被破解。
首先你得明白,開發軟體的首要目的肯定不是「保護軟體不被破解」,這只是作者為了自己的合法權益不被侵犯所做的無奈之舉,為了保護軟體外加大量安全保護代碼得不償失,然後開發出來的軟體全都變成類似網路防火牆的東西。
所有的加密方式都是不能完全保證安全的,但Cracker破解軟體會考慮「效費比」,比如說我破解這個軟體挺麻煩的,可能需要我連續工作一周,但這個軟體只賣十塊錢,一般不會考慮浪費這個時間進行破解。
另外,破解軟體會破壞軟體的完整性,導致某些功能出現異常甚至無法使用,作者只需要保護核心功能,對破解後的這些功能進行曲解(比如對保存文件進行全程加密),破解這種軟體需要Cracker在當前領域具有開發者同等技術水平才有可能做到。
又要跑題了,但這很重要。曾有人將黑客Hacker和破解者Cracker進行對比,其實他們之間的區別非常大。黑客專注於網路傳輸技術和操作系統,破解者專注於編譯技術和低級語言;黑客行為不一定是為利,但破解行為肯定是為利;黑客行為可以有友方和敵方,但破解行為破壞所有人的利益(盜版橫行將嚴重製約軟體業發展,比如Windows盜版滿天飛,去開發另一套系統的人想靠賣系統收回成本基本是痴人說夢)。
最後總結一下。WPS領頭人求伯君曾說過: 有人盜版他的軟體說明軟體得到了認同。開發者不可能不考慮盜版的問題,但首先得有人用你的軟體,它才會有其價值。軟體保護和軟體破解是一對矛與盾,敵人的存在能夠讓我們時刻保持警惕。
程序由調試模式,就是單步。運行中的程序也可以被捕獲,進入調試模式。只要找到一些關鍵的判斷點,讓程序轉向就可以破解了。
並不是所有的軟體都可以被破解,只能說所有的程序代碼、資料庫都在本地的軟體可以被破解。
比如:「雲電腦」、「雲手機」。所有的程序代碼、資料庫都是放在伺服器端,本地手機或電腦只有一個負責登錄的客戶端。
「雲電腦」、「雲手機」可以將本地的操作指令傳輸到伺服器端的電腦或手機上,所有的程序執行過程均在伺服器端的電腦或手機上完成,再通過網路將圖像實時的傳輸回本地,由於現在網速快、延遲低,感覺就像真的在本地操作。
雲端軟體或系統,所有的代碼、資料庫、執行過程都是在伺服器端,就連登錄時賬戶和密碼的驗證過程都需要和伺服器端的資料庫比對。所以這種軟體或系統被破解的可能性幾乎為零,就算會被攻破也只可能是通過黑客技術或賬戶、密碼、IP地址等敏感信息遭到泄露。
為什麼說本地的軟體、系統都可以被破解?建一棟房子可以要幾個月,但如果要拆掉它可能只需要一瞬間。本地的軟體、系統也是一樣的道理,破解的過程是一個取巧的過程,並不需要知道所有的代碼是怎麼寫的,操作原理是怎樣的,怎麼執行的,執行邏輯又是什麼,只要找到執行許可權認證和授權的代碼段就可以了。
可以讓軟體一開始執行就跳轉到軟體的主界面,繞過輸入用戶名和密碼、驗證用戶名和密碼的過程。
也可以讓軟體的用戶名和密碼驗證模塊不管驗證成功還是失敗都跳轉到軟體主界面。
經常會去「看雪」論壇逛的小夥伴就知道有各種軟體破解的工具和思路。軟體破解很早就已經形成了一門學科,並且有一個高大上的名稱「軟體逆向工程」。
軟體逆向工程
軟體逆向工程是指從可運行的程序系統出發,運用解密、反匯編、系統分析、程序理解等多種計算機技術,對軟體的結構、流程、演算法、代碼等進行逆向拆解和分析,推導出軟體產品的源代碼、設計原理、結構、演算法、處理過程、運行方法及相關文檔等。
軟體開發出來也會有防篡改技術用於制止專用軟體進行逆向工程及再工程。實際應用中出現了兩類逆向工程:一種是軟體的源代碼可用,但是更高層次的部門幾乎沒有描述文檔或描述文檔不再適用或丟失。另一種是軟體沒有可用的源代碼,任何能找到它的源代碼的努力都被為逆向工程。所以不要把軟體逆向工程看成是一種很灰暗的學科,它只是經常被用在投機取巧的人身上罷了。
軟體的逆向工程可以使用「凈室技術」來避免侵犯版權。在有一些國家軟體逆向工程只要遵守版權行業釋義法律的合理使用規定,都是受保護的。比如:
上面只是提供的軟體破解的基本思路,讓大家更好的理解為什麼本地的軟體和系統可以被破解。軟體逆向工程並沒有想像中的那麼簡單,這門學科需要具備基本的編程能力,掌握外殼原理和技巧,並且對操作系統的知識比較了解。總之就是涉及的知識比較多,學習的東西也會比較多,要熟練掌握這門學科需要花費很長的周期。
在逆向工程下,軟體的加密技術和注冊機制也在不斷進化最早的時候,軟體只要購買了發行磁碟或光碟就可以使用正版軟體。但由於盜版光碟的盛行,演化成了需要輸入一串激活密鑰才能激活正版許可權。很快算號程序就出現了,於是就有了在線驗證。
但不管軟體的加殼/加密機制多麼強悍、注冊機制多麼完善,只要軟體的代碼在本地,就一定會被破解,只是時間的長短。
以上個人淺見,歡迎批評指正。
都是值不值得問題。如果現在花100天可以做軟體功能,再花5天時間可以使得它不好被破解。那我可能會做。如果說再花5天讓它幾乎不可破解。我可能選擇不做了。因為可能這部分的價值幾乎沒有。
如果,我是叫巨硬,到一個國家推廣軟體,這個國家還有個叫UPS的東西和我的軟體很像,我現在想的是先搞死他,甚至不在意我的推廣人員自己吧推廣費用吞了。那這時候我不但不做反破解,可能還會主動扶持這些推廣人員。
水至清則無魚,盜版畢竟是有風險的,新手或許都會去找破解版,但是功能等肯定使用起來不夠流暢,真正需要的專業用戶,還是願意花錢買點正版的。
一個軟體出來,破解版也是一種營銷宣傳手段,要是直接就收費了,哪裡有用戶去下載體驗使用呢
的確,所有軟體都可能被破解,包括支付寶和微信這種國民應用程序。
分析: 黑客破解軟體一方面是為了展示技術,向開發者炫技,另一方面是為了獲取利益。2019年天貓雙十一24小時遭受住了22億次惡意攻擊,是否意味著天貓就是銅牆鐵壁毫無漏洞?非也。像這種級別的應用程序都會配備專業的安全團隊,從技術上就過濾掉了絕大部分的「菜鳥黑客」,頂級黑客畢竟是少數,一般不屑於干這種事,同時也兼顧法律的威懾力,國民級應用程序被黑可不是小事,誰都不能保證自己全身而退。有句話是「滿瓶水不盪,半瓶水起波浪」,可以這樣說,雙十一攻擊天貓的那些黑客基本都是「半瓶水」水平,天貓能經受住考驗雖然不易,但也不足為奇。
一般的應用軟體就不用說了,開發者大部分心思都花在功能研究上了,安全方面都是盡力而為,如果想做的更好,就要建立專門的安全團隊,但這樣會增加很多開發成本,即便如此也不能保證軟體零漏洞。所以在黑客眼裡,大部分軟體無異於在「裸奔」。
總結: 很多軟體在網上出現破解版,是因為一部分人版權意識不夠強,抱著僥幸心理干著非法的事。不是開發者不阻止,是維權成本較高,軟體開發者基本都是睜一隻眼閉一隻眼。破解軟體是軟體行業發展的「絆腳石」,有免費的用誰還掏錢買正版?開發者掙不到錢誰還會用心開發軟體?這是一個死循環。不過隨著人們的版權意識在逐步提高,加上我國版權監管工作的不斷完善,這種情況會得到極大地改善,我們普通人要做的是支持正版就對了。
8. ssl安全 怎麼禁用RC4加密演算法
SCHANNEL\Protocols 子項
協議 的注冊表項下 SCHANNEL
鍵用於的控制項使用的協議支持由 Schannel.dll 文件,並限制該協議使用 TLS 伺服器或 TLS 的客戶端。
若要禁止使用的 SSL
3.0 或 TLS 1.0 之外的其他協議,請將 Enabled 值的 DWORD 鍊兼暟鎹改為 0x0 中下面的注冊表項,在 協議 鍵下的每個:
目前的 Microsoft 消息隊列使用的客戶端和伺服器之間只有 PCT 1.0
SCHANNEL\Ciphers 子項
密碼 的注冊表項下 SCHANNEL 鍵用於控制如 DES 或 RC4
對稱演算法的使用。 以下是在 密碼 鍵下的有效注冊表項。
SCHANNEL\Ciphers\RC4
128/128 子項:
rc4 128/128
此子項是指 128 位 RC4。
要允許此密碼演算法、 0xffffffff 到更改
啟用 值的 DWORD 值數據,否則更改為 0x0 的 DWORD
值數據。 如果不配置 啟用 值,啟用了默認值。 此注冊表項不能應用於不具備 SGC
證書
---------------------------------------------------------------------------------------
des:有好幾種:0xffffffff 到更改 啟用,否則更改為 0x0 ,不配置 啟用
值,啟用了默認值,但有很多不允許禁用的演算法。。。
TLS 1.0 和SSL 3.0
:{}是要在regedit里建的值:
ssl_rsa_export_with_rc4_40_md5
{0x00,0x03}
ssl_rsa_with_rc4_128_md5
{0x00,0x04}
SSL_RSA_WITH_DES_CBC_SHA
{0x00,0x09}
ssl_rsa_with_3des_ede_cbc_sha
{0x00,0x0A}
ssl_rsa_export1024_with_des_cbc_sha
{0x00,0x62}
ssl_rsa_export1024_with_rc4_56_sha
{0x00,0x64}
TLS_RSA_WITH_DES_CBC_SHA
{0x00,0x09}
tls_rsa_with_3des_ede_cbc_sha
{0x00,0x0A}
tls_rsa_export1024_with_des_cbc_sha
{0x00,0x62
tls_rsa_export_with_rc4_40_md5
{0x00,0x03}
tls_rsa_with_rc4_128_md5
{0x00,0x04}
1
。。。。SCHANNEL\Ciphers\Triple
DES 128/128 子項:
三重 DES 168/168
2
。。。。SCHANNEL\Ciphers\RC2 56/56
子項:
DES 56/56
3
SCHANNEL\Hashes\MD5
子項:
md5
=====
例子:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Hashes\MD5]
"Enabled"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Hashes\SHA]
"Enabled"=dword:ffffffff
SCHANNEL\Protocols\PCT 1.0\Client
SCHANNEL\Protocols\PCT 1.0\Server
SCHANNEL\Protocols\SSL 2.0\Client
SCHANNEL\Protocols\SSL 2.0\Server