SmartAssembly
使用SmartAssembly保護(hù).NET代碼和IP
Redgate的 .NET obfuscator
SmartAssembly是一種混淆器,通過(guò)使第三方很難訪問(wèn)您的源代碼,來(lái)有幫助您保護(hù)您的應(yīng)用程序免受反向工程或修改。
如果你的整個(gè)業(yè)務(wù)依賴于軟件中體現(xiàn)的IP,或者你不想讓C?;騐B.NET代碼暴露于國(guó)際市場(chǎng),那么混淆你的代碼就成為必要,而不是奢侈。
使用SmartAssembly,您可以獲得一組全面的混淆特性,包括名稱調(diào)整,控制流混淆,字符串編碼,參考動(dòng)態(tài)代理和聲明性混淆。
混淆的一個(gè)例子

混淆前

混淆后
3種方式SmartAssembly將改善您的軟件
混淆
如果.NET應(yīng)用程序沒(méi)有被混淆,可以很容易地拆解,如果你在代碼中投入了時(shí)間,精力和金錢,這可能是一個(gè)問(wèn)題。模糊你的代碼是很容易做到的,并增加了一個(gè)屏障,防止逆向工程和修改。
多種形式的混淆和優(yōu)化
代碼混淆使您的應(yīng)用程序難以逆向工程,刪除無(wú)用的代碼,并壓縮依賴關(guān)系,保護(hù)和輕松的壓縮應(yīng)用程序的。
主要特征
名稱調(diào)整
更改方法和字段的名稱,使其難以理解其用途。
控制流模糊
將方法中的代碼轉(zhuǎn)換為“spaghetti代碼”,使其難以看到應(yīng)用程序如何工作。
參考動(dòng)態(tài)代理
創(chuàng)建一個(gè)代理來(lái)調(diào)用你的程序集之外的方法,使得很難找到外部調(diào)用。
字符串編碼
對(duì)在軟件中使用的字符串進(jìn)行編碼,以隱藏諸如密碼和SQL查詢等信息。
資源壓縮和加密
壓縮和加密托管資源,使其難以理解,并減少了程序集的大小。
修剪
刪除無(wú)用的元數(shù)據(jù),使代碼更難進(jìn)行逆向工程,減少程序集的大小,提高加載時(shí)間。
依賴合并
將所有的DLL和合并依賴項(xiàng)放入主程序集中,所以你不必加載大量的DLL文件,所以它們也可以被混淆。
依賴關(guān)系壓縮和嵌入
壓縮并將您的依賴項(xiàng)嵌入到您的主程序集中,簡(jiǎn)化了軟件的部署并減少了程序的大小。
父對(duì)象模糊的方法
通過(guò)改變代碼中的類來(lái)移動(dòng)方法,使得更難理解方法和類如何相互關(guān)聯(lián)。
有篡改保護(hù)的強(qiáng)名稱簽名
標(biāo)記裝配,并有助于防止其修改(標(biāo)準(zhǔn)版中不提供額外的防拆保護(hù))。
聲明性混淆
在代碼中直接使用自定義屬性從成員中排除成員。
調(diào)試
SmartAssembly解碼模糊的堆棧跟蹤并生成包含調(diào)試信息的.pdb文件。這使您能夠?qū)⒔M件調(diào)試到IDE中,并在發(fā)生異常時(shí)獲取完整的堆棧跟蹤。 SmartAssembly甚至有助于確保您自動(dòng)釋放不需要的內(nèi)存。
集成和支持
混淆可以使用MS Build或命令行集成到構(gòu)建過(guò)程中,并支持.NET 2.0到4.5,Silverlight 2.0到5.0,XNA和Windows Phone 7,但有一些例外。

自動(dòng)錯(cuò)誤報(bào)告
只有一件事比找出你的軟件含有bug更糟糕的即:從來(lái)沒(méi)有找到。
大多數(shù)用戶不會(huì)打擾報(bào)告錯(cuò)誤:記住和聯(lián)系細(xì)節(jié)是棘手的和技術(shù)上的挑戰(zhàn)。如果你讓你的用戶用一個(gè)快速點(diǎn)擊來(lái)告訴你整個(gè)故事,這對(duì)每個(gè)人來(lái)說(shuō)將會(huì)很容易,不是嗎?
自動(dòng)錯(cuò)誤報(bào)告是一種異常處理機(jī)制,在發(fā)生錯(cuò)誤時(shí)自動(dòng)和默默地收集詳細(xì)信息。雖然高度可自定義,但典型的錯(cuò)誤報(bào)告包括完整的堆棧跟蹤和關(guān)于異常上下文的細(xì)節(jié)(例如所有局部變量的值)。
有兩種主要情況,自動(dòng)錯(cuò)誤報(bào)告特別有用:
1.在預(yù)發(fā)布階段(例如beta測(cè)試),當(dāng)您需要大量早期用戶反饋來(lái)幫助您發(fā)布穩(wěn)定的應(yīng)用程序。
2.在發(fā)布后維護(hù)中,當(dāng)您想要簡(jiǎn)化和加快調(diào)試和修復(fù)軟件的過(guò)程。
自動(dòng)錯(cuò)誤報(bào)告的好處
•為您的應(yīng)用程序配置和添加異常處理需要幾秒鐘,涉及很少的對(duì)代碼的更改,但是您可以訪問(wèn)許多有價(jià)值的反饋。
•獲得所有必要的細(xì)節(jié)時(shí)沒(méi)有更多耗時(shí)的電子郵件交流。您的最終用戶可以在點(diǎn)擊按鈕時(shí)報(bào)告未處理的異常,這意味著您可以更快地修復(fù)錯(cuò)誤。
•您可以獲得其中未處理的異常最常發(fā)生的連續(xù)數(shù)據(jù),幫助您優(yōu)先考慮影響最終用戶的錯(cuò)誤。
•您可以通過(guò)識(shí)別和解決最終用戶實(shí)際遇到的問(wèn)題來(lái)降低支持成本。
將文件附加到錯(cuò)誤報(bào)告
使用SDK,您還可以使用異常報(bào)告來(lái)封裝所需的任何數(shù)據(jù),例如日志文件或崩潰時(shí)的截圖。您甚至可以自定義異常處理對(duì)話框,并要求用戶提供更多信息或聯(lián)系詳細(xì)信息,以便在發(fā)布修訂時(shí)與他們聯(lián)系。
與JIRA同步
如果您使用JIRA跟蹤錯(cuò)誤,用于 JIRA的SmartAssembly Sync 可以在錯(cuò)誤修復(fù)過(guò)程中為您節(jié)省更多的時(shí)間。它將錯(cuò)誤報(bào)告自動(dòng)移動(dòng)到您的錯(cuò)誤跟蹤系統(tǒng),甚至將重復(fù)的報(bào)告一起分組。在
如果您在開發(fā)中使用SmartAssembly的混淆功能,我們已經(jīng)介紹了 - SmartAssembly可以解碼混淆的堆棧跟蹤。
主要特征
標(biāo)準(zhǔn)模板范圍
在提示或不提示最終用戶的情況下發(fā)送錯(cuò)誤報(bào)告。
自定義模板*
(可從SDK獲得)
當(dāng)發(fā)生異常時(shí),可讓您完全控制向最終用戶顯示的對(duì)話框。
報(bào)告分類
對(duì)報(bào)告進(jìn)行分類,以快速查看用戶體驗(yàn)到的最常見(jiàn)錯(cuò)誤。
共享異常報(bào)告
查看由組織中的任何開發(fā)人員或構(gòu)建系統(tǒng)構(gòu)建的應(yīng)用程序的異常報(bào)告。
始終發(fā)送系統(tǒng)信息
Windows版本,.NET版本和加載的程序集列表與堆棧跟蹤一起發(fā)送。
將文件附加到錯(cuò)誤報(bào)告*
日志文件,屏幕截圖和任何其他類型的文件可以附加到錯(cuò)誤報(bào)告。
收集最終用戶的電子郵件地址
通過(guò)告知他們問(wèn)題解決了,來(lái)加深您的客戶的印象。
安全
您的錯(cuò)誤報(bào)告存儲(chǔ)在Web服務(wù)中時(shí)已加密,并在您下載時(shí)從服務(wù)器中刪除。
Redgate托管的Web服務(wù)
沒(méi)有復(fù)雜的安裝,因?yàn)镽edgate托管錯(cuò)誤報(bào)告發(fā)送到的Web服務(wù)。
自定義Web服務(wù)*
自行運(yùn)行Web服務(wù)以獲得最大的靈活性。
*自定義模板,附加文件和自定義Web服務(wù)僅適用于SmartAssembly Pro(SDK軟件包的一部分)。
通過(guò)向您的購(gòu)買的東西中添加支持和升級(jí)軟件包,可以訪問(wèn)錯(cuò)誤報(bào)告 web服務(wù)(用于下載錯(cuò)誤報(bào)告)。我們?yōu)榭蛻籼峁┰谶^(guò)期前一個(gè)月續(xù)訂其支持合同的機(jī)會(huì)。
集成和支持
添加Automated Error Reporting功能可以使用MS Build或命令行集成到構(gòu)建過(guò)程中,并且支持.NET 1.1到4.0,Silverlight 2.0到4.0,XNA和Windows Phone 7,但有一些例外。

合并DLL
編譯.NET代碼通常會(huì)導(dǎo)致創(chuàng)建多個(gè)裝配文件,包括satellite DLL,所有這些都是程序運(yùn)行所必需的。雖然在開發(fā)過(guò)程中這是一個(gè)非問(wèn)題,但是當(dāng)涉及到部署時(shí),它通常意味著不必要的階段的用戶必須解壓縮文件,或者DLL中的額外步驟移動(dòng)到特定的地方。
您可以通過(guò)使用SmartAssembly將引用的DLL中的代碼合并和嵌入到您的主程序集中,大大簡(jiǎn)化部署過(guò)程
依賴性合并
•在一個(gè)文件中部署.NET應(yīng)用程序
•提高軟件的性能和保護(hù)性
依賴性合并將所有的DLL和合并依賴項(xiàng)放入主程序集,所以你不必加載大量的DLL文件。當(dāng)依賴關(guān)系被合并時(shí),它變成主要組件的一部分,并且來(lái)自合并依賴關(guān)系的代碼和來(lái)自主組件的代碼因此可以被模糊化和修剪。
依賴關(guān)系壓縮和嵌入
•促進(jìn)軟件部署和維護(hù)
•減小程序的大小
依賴關(guān)系壓縮和嵌入允許將引用的DLL作為資源嵌入到主程序集中,而不是合并到主程序集的內(nèi)容中。此功能還會(huì)壓縮這些資源,并在運(yùn)行時(shí)動(dòng)態(tài)解壓這些資源。
您可以通過(guò)命令行控制SmartAssembly的依賴合并和依賴關(guān)系壓縮和嵌入,因此可以輕松集成到構(gòu)建過(guò)程中,從而為每個(gè)構(gòu)建提供簡(jiǎn)單,可靠的依賴關(guān)系合并。
京ICP備09015132號(hào)-996 | 違法和不良信息舉報(bào)電話:4006561155
© Copyright 2000-2026 北京哲想軟件有限公司版權(quán)所有 | 地址:北京市海淀區(qū)西三環(huán)北路50號(hào)豪柏大廈C2座11層1105室
北京哲想軟件集團(tuán)旗下網(wǎng)站:哲想軟件 | 哲想動(dòng)畫