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

混淆前

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

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

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