Windows Phone 8 MDIL編譯與代碼混淆工具

來源:互聯網
上載者:User

最近我看到有很多同學都在問windows phone 8 代碼混淆的問題,其實針對WP8做代碼混淆大可不必因為 WP8 的應用都是經過 Compiler in the Cloud 的 MDIL 編譯的。

什麼是 Compiler in the Cloud?  

以上是MSDN的一段原話 講述的是Windows phone 8 雖然使用visual studio編譯出來的xap中是 machine independent common intermediate lanuage(CIL)類型的檔案 也就是等同於 MSIL,當然你在 Dev Center上提交的也就是這個檔案,但是Dev center在把你上傳的 CIL 發布到市集之前會進行一次從新編譯(Compile in the cloud)會把 machine independent common intermediate lanuage(CIL)編譯成 machine dependent intermediate language (MDIL) 當然MDIL是安全的 首先MDIL編譯不會影響應用程式自身的功能和穩定性,其次這次編譯是native code(本地代碼編譯 同樣也在不用擔心反編譯的風險了)還會讓你的程式在windows phone 8上啟動和運行速度得到最佳化。

MDIL 帶來的好處?

首先MDIL的編譯是在雲端進行的,看上去好像沒做什麼 其實這一切都是自動執行的,你不用擔心 windows phone 7.x 的應用受到影響,也就是說當windows phone 7使用者下載應用的時候仍然提供一個和從前一樣的 JIT  編譯包,只有windows phone 8 的使用者得到是一個經最佳化 MDIL 編譯的程式包。

另外 相比較經過 MDIL 編譯過後的應用程式(在Windows phone 8 和 windows phone 7 裝置比較)無論是啟動速度和運行效果上 綜合統計都會有50%或更多的提升。

可以清晰的看出整個流程:

當然我們也可以本地類比調試 optimized native image

首先 我們不能再 windows phone Emulator 上直接測試 native code 要依賴真實裝置 ,以需要在 Standard 上選擇部署裝置為 Device

 

並且 使用 Alt+F5 運行測試 或 Alt+F5 進行效能分析

 

 

調試 optimized native image

在visual studio 選擇 Tools - Options

去掉 Suppress JIT optimization on module load 和 Enable Just My Code 選項

 當然有些同學或是項目執意要進行代碼混淆,據我所知目前Dotfuscator Professional 版是支援WP8的代碼混淆的。

下載連結 http://www.preemptive.com/products/dotfuscator/compare-editions

 

歡迎大家在這裡和我溝通交流或者在新浪微博上 @王博_Nick

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.