[.NET Concept][Security].NET程式保護機制概述

相信大家都知道,.NET程式為了跨平台、跨語言,在架構中特別導入了CLR,用來運行中繼碼。程式在透過編譯器編譯過後會被編譯成MSIL,有點類似JAVA的Bytecode,同屬兩階段編譯。因此.NET跟JAVA程式一樣,寫出來的程式很容易從中繼碼被反推回去原程式碼(就是所謂的反組譯)。甚至能從MSIL反推回不同的語言。 最常見的反組譯方式有透過.NET Framework SDK內所附的IL Disassembler、.NET Explorer、Anakrino、.NET Reflector等工具來進行反組譯的動作。其中又以.NET Reflector最為強大,只要簡單的[載入組件]→[選取慣用的語言]→[點選反組譯],不需要任何技術背景,只要簡單的幾個步驟,程式碼就完整的呈現在你的眼前。除此之外.NET Reflector還有許多的外掛模組,像是把反組譯出來的程式轉為專案檔等。好用到幾乎是有組件就等於有程式碼的地步。也由於反組譯工具的猖獗,程式的保護對.NET程式來說就顯得隔外的重要。 而就我目前所知,.NET程式的保護方式大概有幾種 混淆保護內核級加密保護硬體保護 ...

September 5, 2009 · 3 min · 1190 words · Larry Nung

[.NET Concept].NET Framework 4.0 Poster

.NET Framework 4.0 Poster有兩種版本。一種是DeepZoom version,可以使用滑鼠滾輪或是透過按下按鈕去控制可視範圍與縮放。一種是PDF version,可下載下來自行透過PDF Reader瀏覽。 ...

August 22, 2009 · 1 min · 105 words · Larry Nung

[.NET Concept].NET 4.0 DLR (Dynamic Language Runtime) 概述

為了讓.NET語言支援更為動態的語法,在.NET 4.0的架構中特別導入了DLR (Dynamic Language Runtime)。 ...

August 15, 2009 · 1 min · 441 words · Larry Nung

[.NET Concept]MDI子視窗放大時的注意事項(二)

不知道大家有沒有碰過當把MDI子表單放大時,Menu選單會變得如下圖一樣怪怪的現象。 ...

April 6, 2009 · 2 min · 542 words · Larry Nung

[.NET Concept][VB.NET]MDI子視窗放大時的注意事項

開發MDI程式時,若需要一開始就放大子視窗,有些地方需特別留意。 ...

April 4, 2009 · 1 min · 342 words · Larry Nung

[.NET Concept]例外處理使用時機

看到網友Bill叔寫了一連串的Try Catch的探討,這邊我也大概的整理一下我對例外處理使用時機的認知。 ...

April 4, 2009 · 3 min · 1189 words · Larry Nung

[.NET Concept][C#][VB.NET].NET兩個表單間的資料互通

常會看到有人詢問兩個表單間的資料要如何互通,重覆詢問率之高讓該問題約可列入初學者必問的前幾大問題了,光在程式設計俱樂部大概這類問題我大概就已回答過4~5次了。最近又在批踢踢討論版中看到有人詢問,索性想說乾脆就整理一篇以後直接貼連結好了。 ...

March 24, 2009 · 3 min · 1494 words · Larry Nung

[.NET Concept]善用AutoScroll達到用捲軸捲動顯示內容的效果

時常會在討論區碰到有人提問內容過長想要增加捲軸效果這類的問題,通常多半這類的提問者都會陷入如何使用VScrollBar或是HScrollBar的迷思。事實上要達到這效果其實可以不需要使用這兩個控制項,只需善用容器類別的AutoScroll屬性,經過設定屬性的動作,不須撰寫半行程式即可達成。 ...

March 2, 2009 · 2 min · 830 words · Larry Nung

[.NET Concept][C#][VB.NET]四捨六入五成雙

一般舊的程式語言在當把浮點數轉成整數時,通常會採用『四捨五入』的方式去做轉換的動作。顧名思義,就是當小數位數小於5的話則捨棄小數(四捨)、大於或等於5的話則進位(五入)。而這種年代久遠的處理方式其實存在著一個問題,就是其實它是不公平的,因為它進位的機率高於捨棄(見下圖),在統計學上會產生偏差。 ...

February 22, 2009 · 2 min · 539 words · Larry Nung

[.NET Concept][VB.NET]字串 = Nothing V.S 字串 is Nothing

今天回答網友問題時,由於一時筆誤,把本來要寫『字串 is Nothing』的地方錯打成『字串 = Nothing』,造成程式怎麼看就是看不出哪裡邏輯有問題,最後才注意到這邊打錯。 ...

February 22, 2009 · 1 min · 287 words · Larry Nung