dll加密加殼
① dll加殼工具 推薦些好的
壓縮數據的話,用UPX,沒有中文名。
穩定性與兼容性最好。
② 如何對保護我的DLL
使用過.NET的程序員都知道,.NET是一個巨大的跨時代進步,它開發效率高、功能強、界面美觀、耐用、新的語言C#已經提交為行業規范、CLR共公運行庫資源豐富,這所有的特點標志著它成為主流編程語言是必然的。
可是他也有一個缺點,那就是編譯好的程序集可以完全被反編譯成源代碼,這給一些不法份子提供了很好的機會,試想想,您辛苦的勞動成果就這樣輕易的給別人利用,是多麼不公平的事阿?所以如何保護我們的知識產權成了一個大問題。
MAXTOCODE 已經完全超越了傳統的混淆手段來保護源代碼的方式,他將完全加密您的代碼,使您的代碼完全沒有辦法反編譯。保護強度已經不是混淆器可以與之抗衡,是目前保護強度最大,最完美的.NET產品保護方案。
MAXTOCODE 是 Aiasted.SOFT 完全自主開發的一款 .NET 代碼保護工具。它是目前世界上高強度保護工具之一。
第一種代碼保護方案是混淆,這是一個不錯的方案,可惜強度還是無法保證,如果要做一個大的逆向工程有一定困難,但針對某個演算法或功能進行解讀還是很容易的。反觀混淆原理則發現,混淆其實只是一個與障眼法差不多的技術。第二種就是MAXTOCODE的保護技術了,MAXOTCODE 採用了難以理解的機器語言來加密您的.NET程序集,(特別注意:MAXTOCODE的強度建立在加密演算法之上,而不上簡單的混淆。)在程序集運行時運態解放源代碼,所以在原理上已經比混淆強度提高了許多。我們保護您所有的代碼,不讓不法份子看到您任何一個有效的代碼,使不法份子完全無法被反編譯。
③ C# DLL如何保護防止被破解
.net的實時編譯(JIT)特性決定了用它開發的程序可以被輕松反編譯,同時由於採用反射等技術,使得DLL能被未授權調用。
所以要想不被破解,一是不能被反編譯看到源碼,二是不能被隨意調用。
什麼混淆加殼加密等,都是可逆的。鑒於.net代碼可以包含非託管代碼,我們可以用C++解析C#代碼生成DLL,這個DLL在被調用時驗證調用者信息,就可以解決針對C#的破解,以及非授權調用了。
參考鏈接:http://blog.csdn.net/qwsf01115/article/details/52169574
④ 木馬UPX壓縮加殼和ASpack加密加殼演算法簡單講解
加殼:其實是利用特殊的演算法,對EXE、DLL文件里的資源進行壓縮、加密。類似木馬加殼的原理很簡單,在黑客營中提供的多數木馬中,很多都是經過處理的,
⑤ 給文件加殼,加花,去殼,分別是什麼意思
加殼:其實是利用特殊的演算法,對可執行文件里的資源進行壓縮,只不過這個壓縮之後的文件,可以獨立運行,解壓過程完全隱蔽,都在內存中完成。附加在原程序上通過載入器載入內存後,先於原始程序執行,得到控制權,執行過程中對原始程序進行解密、還原,還原完成後再把控制權交還給原始程序,執行原來的代碼部分。
加上外殼後,原始程序代碼在磁碟文件中一般是以加密後的形式存在的,只在執行時在內存中還原,這樣就可以比較有效地防止破解者對程序文件的非法修改,同時也可以防止程序被靜態反編譯。
加花:是在一些反匯編軟體中加入一些花指令,花指令是利用了反匯編時單純根據機器指令字來決定反匯編結果的漏洞。
去殼:顧名思義,就是對軟體加殼的逆操作,把軟體上存在的殼去掉。在一些計算機軟體里也有一段專門負責保護軟體不被非法修改或反編譯的程序。
一般都是先於程序運行,拿到控制權,然後完成它們保護軟體的任務。由於這段程序和自然界的殼在功能上有很多相同的地方,基於命名的規則,大家就把這樣的程序稱為「殼」了。就像計算機病毒和自然界的病毒一樣,其實都是命名上的方法罷了。
(5)dll加密加殼擴展閱讀:
加「殼」雖然增加了CPU負擔,但是減少了硬碟讀寫時間,實際應用時加「殼」以後程序運行速度更快(當然有的加「殼」以後會變慢,那是選擇的加「殼」工具問題)。
一般軟體都加「殼」這樣不但可以保護自己的軟體不被破解、修改還可以增加運行時啟動速度。
加「殼」不等於木馬,平時的絕大多數軟體都加了自己的專用「殼」。
RAR和ZIP都是壓縮軟體,不是加「殼」工具,解壓時是需要進行磁碟讀寫,「殼」的解壓縮是直接在內存中進行的。
⑥ 有很多的黑客人工具都有加殼工具,加殼什麼意思呢
最早提出「殼」這個概念的,據我所知,應該是當年推出脫殼軟體 RCOPY 3 的作者熊焰先生。在幾年前的 DOS 時代,「殼」一般都是指磁碟加密軟體的段加密程序,可能是那時侯的加密軟體還剛起步不久吧,所以大多數的加密軟體(加殼軟體)所生成的「成品」在「殼」和需要加密的程序之間總有一條比較明顯的「分界線」。有經驗的人可以在跟蹤軟體的運行以後找出這條分界線來,至於這樣有什麼用這個問題,就不用我多說了。但畢竟在當時,甚至現在這樣的人也不是很多,所以當 RCOPY3 這個可以很容易就找出「分界線」,並可以方便的去掉「殼」的軟體推出以後,立即就受到了很多人的注意。老實說,這個我當年在《電腦》雜志看到廣告,在廣州電腦城看到標著999元的軟體,在當時來說,的確是有很多全新的構思,單內存生成 EXE 可執行文件這項,就應該是世界首創了。但它的思路在程序的表現上我認為還有很多可以改進的地方(雖然後來出現了可以加強其功力的 RO97),這個想法也在後來和作者的面談中得到了證實。在這以後,同類型的軟體想雨後春筍一般冒出來,記得住名字的就有: UNKEY、MSCOPY、UNALL .... 等等,但很多的軟體都把磁碟解密當成了主攻方向,忽略了其它方面,當然這也為以後的「密界剋星」「解密機器」等軟體打下了基礎,這另外的分支就不多祥談了,相信機齡大一點的朋友都應該看過當時的廣告了。
解密(脫殼)技術的進步促進、推動了當時的加密(加殼)技術的發展。LOCK95和 BITLOK 等所謂的「殼中帶籽」加密程序紛紛出籠,真是各出奇謀,把小小的軟盤也折騰的夠辛苦的了。正在國內的加殼軟體和脫殼軟體較量得正火紅的時候,國外的「殼」類軟體早已經發展到像 LZEXE 之類的壓縮殼了。這類軟體說穿了其實就是一個標準的加殼軟體,它把 EXE 文件壓縮了以後,再在文件上加上一層在軟體被執行的時候自動把文件解壓縮的「殼」來達到壓縮 EXE 文件的目的。接著,這類軟體也越來越多, PKEXE、AINEXE、UCEXE 和後來被很多人認識的 WWPACK 都屬於這類軟體,但奇怪的是,當時我看不到一個國產的同類軟體。
過了一段時間,可能是國外淘汰了磁碟加密轉向使用軟體序列號的加密方法吧,保護 EXE 文件不被動態跟蹤和靜態反編譯就顯得非常重要了。所以專門實現這樣功能的加殼程序便誕生了。 MESS 、CRACKSTOP、HACKSTOP、TRAP、UPS 等等都是比較有名氣的本類軟體代表,當然,還有到現在還是數一數二的,由台灣同胞所寫的 FSE 。其實以我的觀點來看,這樣的軟體才能算是正宗的加殼軟體。
在以上這些加殼軟體的不斷升級較勁中,很多軟體都把比較「極端」技術用了上去,因為在這個時候 DOS 已經可以說是給眾高手們玩弄在股掌之間了,什麼保護模式、反 SICE 、逆指令等等。相對來說,在那段時間里發表的很多國外脫殼程序,根本就不能對付這么多的加殼大軍,什麼 UPC、TEU 等等都紛紛成為必防的對象,成績比較理想的就只有 CUP386 了,反觀國內,這段時間里也沒了這方面的「矛盾斗爭」。加殼軟體門揮軍直搗各處要崗重地,直到在我國遇到了 TR 這個銅牆鐵壁以後,才紛紛敗下陣來各謀對策,但這已經是一年多以後的事情了。我常想,如果 TR 能早兩年「出生」的話,成就肯定比現在大得多,甚至蓋過 SICE 也有可能。TR 發表的時候 WIN95 的流行已經成為事實,DOS 還有多少的空間,大家心裡都清楚。但話又說回來, TR 的確是個好軟體,比起當年的 RCOPY3 有過之而無不及,同時也證明了我們中國的 CRACK 實力(雖然有點過時)。這個時候,前面提到過的 FSE 憑著強勁的實力也漸漸的浮出了水面,獨領風騷。其時已經是 1997 年年底了,我也走完了學生「旅程」。工作後在CFIDO 的 CRACK 區認識了 Ding-Boy ,不久 CRACK 區關了,我從此迷上了 INTERNET,並於98年6月建起了一個專門介紹「殼」的站台: http://topage.126.com ;;,放上了我所收集的所有「殼」類軟體。在這段時間里,各種「殼」類軟體也在不段的升級換代,但都沒什麼太大的進展,差不多就是 TR 和眾加殼軟體的版本數字之爭而已。
1998年8月,一個名為 UNSEC (揭秘)的脫殼軟體發表了,它號稱可以脫掉98年8月以前發表的所有殼。我測試之後,覺得並沒傳聞中的那麼厲害,特別是兼容性更是令我不想再碰它。 Ding-Boy 給這個軟體的作者提了很多建議,但寄去的 EMIAL 有如泥牛入海,可能是一怒之下吧,不久 Ding-Boy 的 BW (沖擊波)就誕生了。這個使用內存一次定位生成 EXE 文件(後來放棄了)的脫殼軟體,在我的站台公開後,得到了很多朋友們的肯定。要知道,從RCOPY 3 開始,絕大部分的脫殼軟體都是要兩次運行目標程序來確定 EXE 的重定位數據的。BW 的這一特點雖然有兼容性的問題,但也樹立了自己的風格、特色。經過幾個月的改善, BW 升級到了 2.0 版本,這個版本的推出可以說是 BW 的轉折點,因為它已經是一個成熟、穩定脫殼軟體了,它可以對付當時(現在)大多數的殼,包括當時最新的 FSE 0.6 等。更重要的是這個版本把選擇殼的和軟體「分界線」這個最令新手頭疼的步驟簡化到不能再簡化的地步,使更多的朋友接受了它。另外,能加強 BW 功力的 CI 模式也是其它脫殼軟體沒有的東西。最近,BW 發表了最新的 2.5 BETA2 版本,增強了一些方面的功能,因它竟然可以脫掉號稱最厲害的磁碟加密工具 LOCKKING 2.0 的加密殼,因而進一步奠定了它在「脫殼界」的地位。說到最新,就不能不提 GTR、LTR、EDUMP、ADUMP、UPS、UPX、APACK 這幾個國外的好軟體了,它們每個都有自己的特色,可以說都是當今各類「殼」中的最新代表了。(這些軟體和詳細介紹請到我的主頁查閱)
由於 WINDOWS 3.1 只是基於 DOS 下的一個圖形外殼,所以在這個平台下的「殼」類軟體很少,見過的就只有像 PACKWIN 等幾個有限的壓縮工具,終難成氣候。
可能是 MICROSOFT 保留了 WIN95 的很多技術上的秘密吧,所以即便是 WIN95 已經推出了 3 年多的時間,也沒見過在其上面運行的「殼」類軟體。直到 98 年的中期,這樣的軟體才遲遲的出現,而這個時候 WIN98 也發表了有一段日子了。應該是有 DOS 下的經驗吧,這類的軟體不發表由自可,一發表就一大批地的沖了出來。先是加殼類的軟體如: BJFNT、PELOCKNT 等,它們的出現,使暴露了 3 年多的 WIN95 下的 PE 格式 EXE 文件得到了很好的保護。大家都應該知道現在很多 WIN95 下的軟體都是用注冊碼的方法來區分、確定合法與非法用戶的吧,有了這類加殼軟體,這種注冊方法的安全性提高了不少,如果大家也有自己編的 WIN95 程序,就一定要多留意一下本類軟體了。接著出現的就是壓縮軟體了,因為 WIN95 下運行的 EXE 文件「體積」一般都比較大,所以它的實用價值比起 DOS 下的壓縮軟體要大很多,這類的軟體也很多,早些時候的 VBOX、PEPACK、PETITE 和最近才發表的 ASPACK、UPX 都是其中的佼佼者。在 DOS 下很流行的壓縮軟體 WWPACK 的作者也推出了對應 WIN95 版本的 WWPACK32,由於性能並不是十分的突出,所以用的人也不太多。由於壓縮軟體其實也是間接給軟體加了殼,所以用它們來處理 EXE 也是很多軟體作者喜歡做的事情,最近新發表的很多軟體里都可以看到這些加殼、加壓縮軟體的名字了。有加殼就一定會有脫殼的,在 WIN95 下當然也不例外,但由於編這類軟體比編加殼軟體要難得多,所以到目前為止,我認為就只有 PROCDUMP 這個軟體能稱為通用脫殼軟體了,它可以對付現在大多數的加殼、壓縮軟體所加的殼,的確是一個難得的精品。其它的脫殼軟體多是專門針對某某加殼軟體而編,雖然針對性強、效果好,但收集麻煩,而且這樣的脫殼軟體也不多。前些時候 TR 作者也順應潮流發表了 TR 的 WIN95 版本: TRW ,由現在的版本來看可以對付的殼還不多,有待改進。
BW 的作者 Ding-Boy 最新發表了一個 WIN95 的 EXE 加殼軟體 DBPE 。雖然它還不太成熟,但它可以為軟體加上使用日期限制這個功能是其它加殼軟體所沒有的,或者以後的加殼軟體真的會是像他說的那樣可以:加殼和壓縮並重、並施;隨意加使用日期;加上注冊碼;加軟體狗(磁碟)保護;加硬體序列號判別;加... 。
⑦ 什麼是加殼程序,為什麼要加殼
加殼:其實是利用特殊的演算法,對EXE、DLL文件里的資源進行壓縮,
改變其原來的特徵碼,隱藏一些字元串等等,使一些資源編輯軟體不能
正常打開或者修改。類似WINRAR的效果,只不過這個壓縮之後的文件,
可以獨立運行,解壓過程完全隱蔽,都在內存中完成。
解壓原理,是加殼工具在文件頭里加了一段指令,告訴CPU,怎麼才
能解壓自己。現在的CPU都很快,所以這個解壓過程你看不出什麼東東。
軟體一下子就打開了,只有你機器配置非常差,才會感覺到不加殼和加殼
後的軟體運行速度的差別。
當你加殼時,其實就是給可執行的文件加上個外衣。用戶執行的只是
這個外殼程序。當你執行這個程序的時候這個殼就會把原來的程序在內存
中解開,解開後,以後的就交給真正的程序。所以,這些的工作只是在內
存中運行的,是不可以了解具體是怎麼樣在內存中運行的。
通常說的對外殼加密,都是指很多網上免費或者非免費的軟體,被一
些專門的加殼程序加殼,基本上是對程序的壓縮或者不壓縮。因為有的時
候程序會過大,需要壓縮。但是大部分的程序是因為防止反跟蹤,防止程
序被人跟蹤調試,防止演算法程序不想被別人靜態分析。加密代碼和數據,
保護你的程序數據的完整性。不被修改或者破。(有些木馬和病毒利用加
殼偽裝成正常程序)
參考資料: http://..com/question/95004366.html
⑧ 怎麼給易語言DLL加殼
一山更比一山高。
⑨ C#編寫的DLL如何加密
c# dll 加密最快的方法使用加殼工具Virbox Protector,直接加密,Virbox Protectorke可以對dll進行性能分析,分析每個函數的調用次數,對每個函數選擇保護方式如:混淆/虛擬化/碎片化/代碼加密等;每種加密方法的特點是什麼呢?
代碼加密(X86):
針對X86匯編代碼:一種代碼自修改技術(SMC)保護代碼。把當前代碼加密存儲為密文,存儲起來,當程序運行到被保護函數時候自動解密並且執行,執行之後再擦除代碼,運行到哪裡才解密哪裡的代碼,黑客無法獲得原始機器指令和內存完整性的代碼,由於是純內存操作所以運行速度快, 性價高的保護手段,建議全加
代碼加密(IL)
針對dotNet程序,保護IL代碼:一種動態運行方法解密被保護代碼。把當前代碼加密存儲為密文,存儲起來,當程序運行到被保護函數時候自動解密並且執行,執行之後再擦除代碼,執行之後再擦除代碼,運行到哪裡才解密哪裡的代碼,黑客無法獲得原始的中間語言的指令和內存完整性的代碼,由於是純內存操作所以運行速度快, 性價高的保護手段,建議全加
壓縮
類似zip等壓縮軟體把代碼和數據段壓縮,由於帶有動態密碼,沒有任何工具可以自動脫殼,是防止反編譯和反匯編關鍵手段。
代碼混淆(IL):
將代碼中的各種元素,如變數,函數,類的名字改寫成無意義的名字。比如改寫成單個字母,或是簡短的無意義字母組合,甚至改寫成「__」這樣的符號,使得閱讀的人無法根據名字猜測其用途。
a)重寫代碼中的部分邏輯,將其變成功能上等價,但是更難理解的形式。比如將for循環改寫成while循環,將循環改寫成遞歸,精簡中間變數,等等。
b) 打亂代碼的格式。比如刪除空格,將多行代碼擠到一行中,或者將一行代碼斷成多行等等。
c) 添加花指令,通過特殊構造的指令來使得反匯編器出錯,進而干擾反編譯工作的進行。
代碼混淆器也會帶來一些問題。主要的問題包括:· 被混淆的代碼難於理解,因此調試除錯也變得困難起來。開發人員通常需要保留原始的未混淆的代碼用於調試。· 對於支持反射的語言,代碼混淆有可能與反射發生沖突。· 代碼混淆並不能真正阻止反向工程,只能增大其難度。因此,對於對安全性要求很高的場合,僅僅使用代碼混淆並不能保證源代碼的安全。
代碼混淆的特點是安全度低、不會影響效率。
代碼虛擬化:
針對X86代碼: 是指將機器代碼翻譯為機器和人都無法識別的一串偽代碼位元組流;在具體執行時再對這些偽代碼進行一一翻譯解釋,逐步還原為原始代碼並執行。 這段用於翻譯偽代碼並負責具體執行的子程序就叫作虛擬機VM(好似一個抽象的CPU)。它以一個函數的形式存在,函數的參數就是位元組碼的內存地址。 由於虛擬機代碼和虛擬機CPU的實現可以做到每次都是隨機設計和隨機執行 並且代碼每次可以隨機變化,包括一些邏輯上的等價變化可以參考硬體N個與非門NOT-AND實現各種邏輯門,演算法和訪問內存形式的變化,包括數學上的非等價變化,代碼體積幾乎可以膨脹達到100到10000倍,造成機器無法做演算法還原到原有邏輯。
代碼虛擬化的特點是:安全度中、不會影響效率。
代碼碎片化:
深思自主知識產權的最新技術:基於 LLVM 和 ARM 虛擬機技術,自動抽取海量代碼移入 SS 內核態模塊,極大的降低了使用門檻, 不再需要手動移植演算法,可移植的演算法從有限的幾個增長到幾乎無限多,支持的語言也不再限於 C, 這是加密技術的一次綜合應用,效果上類似於將軟體打散執行,讓破解者無從下手。
安全度高、建議關鍵函數或調用加密鎖方法;使用太多會影響效率