天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

WPF與混淆器

時至今日,混淆依然是.NET程序的一道重要保護手段,而混淆器對WPF應用程序的支持是怎樣的呢?我們今天就通過實例講解一下。

首先建立如下圖所示的簡單的用戶界面:

在界面代碼中設置一些綁定屬性:

在后臺代碼中首先定義一個種族枚舉,以便于在列表中使用:

下面在窗體Window1類中定義以下屬性:

紅圈處的代碼功能是將種族枚舉的全部值載入到種族列表屬性中,這樣就可以在前后臺一直以統一、優雅的方式使用枚舉,這是個不錯的小技巧。

接下來在構造函數中直接硬編碼一些屬性的值,然后將自己作為自己的DataContext

玩魔獸的朋友們請勿喧嘩….

現在編譯并運行程序,可以看到數據被很好地反映到了界面上:

OK,接下來就是主角了,我們將以Dotfuscator Professional Edition 4.3 Evaluation為例來進行介紹。

打開Dotfuscator后直接新建項目,載入我們編譯好的程序,然后直接進行混淆和輸出,運行輸出后的程序:

嗯,什么數據都沒顯示出來,為什么呢?

據我的理解就是,混淆器目前還沒法解析及修改XAML文件,致使混淆后的后臺代碼與前臺XAML界面描述不匹配,比如“{Binding 種族}”之類的語句根本無法與混淆后的代碼關聯,所以就全部都無法顯示。

以下顯示了部分混淆的映射結果:

其中灰色底色的項代表已被從程序中移除,其他的都有對應的混淆后的名稱。

現在,要使混淆后的程序正常工作,我們就必須向XAML妥協。

你可能首先想到的是恢復上面被刪除的那幾個與界面相關的屬性,但是我嘗試過,那并不起作用。

而只要禁止對Window1類的混淆,問題就基本上解決了:

看看混淆的結果,大概能猜想出Dotfuscator是自動將禁止混淆的類的公共屬性也加入到排除混淆行列的,那幾個屬性這次沒有被移除:

但我仍無法解釋為什么當只禁止混淆屬性、不禁止混淆類時程序仍舊無法正常工作。

現在還有個問題,就是列表上顯示的是混淆后的枚舉名稱,這很好處理,只要禁止混淆枚舉的所有字段就好了:

現在程序已完全恢復正常了,但是這與未經混淆的程序也沒有太大分別了,看看通過Reflector解析的混淆后的程序:

總結:混淆技術原本已經算是比較完善了,而現在,WPF又為之帶來了新的挑戰,我們只能期待各廠商能夠盡快跟進,讓WPF程序也能受到全面的保護,為其未來的廣泛應用奠定基石。

本文的PDF版本下載:http://www.box.NET/shared/abeeolbk72

源代碼下載:http://www.box.NET/shared/uqadhnhsua

NET技術WPF與混淆器,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 国产亚洲精品97在线视频一 | 最新国自产拍 高清完整版 最新国产在线视频在线 | 小SAO货边洗澡边CAO你动漫 | 国语对白刺激真实精品 | 九九色精品国偷自产视频 | 涩涩爱涩涩片影院 | 免费成年人在线观看视频 | 亚洲午夜久久久无码精品网红A片 | 99热这里只有是精品 | 黑丝袜论坛 | 福利视频一二三在线观看 | 97精品伊人久久大香线蕉app | 久草在线在线精品观看99 | 国产成人精品免费视频大全可播放的 | 久久久久久久电影 | 日本在线高清不卡免费播放 | 东京热 百度影音 | 夫妻性姿势真人做视频 | 九色PORNY真实丨国产免费 | 青柠在线观看免费完整版 | 亚洲人视频在线 | 亚洲人成电影网站色2017 | 日本特交大片免费观看 | 成人区精品一区二区不卡AV免费 | 伊人大香线蕉影院在线播放 | 成年私人影院网站在线看 | 欧美xxx性 | 门鱼电影完整版免费版 | 亚洲精品理论电影在线观看 | 久久伦理影院 | 国产偷国产偷亚州清高APP | 亚洲日韩成人 | 国产成人女人视频在线观看 | 韩国演艺圈qvod | 久久国产精品免费A片蜜芽 久久国产精品萌白酱免费 久久国产精品麻豆AV影视 | 亲胸揉胸膜下刺激视频在线观看 | 超碰免费碰免费视频 | 国产免费看片 | 一区三区三区不卡 | 皮皮在线精品亚洲 | 色欲国产麻豆精品AV免费 |