1. 什么叫.net平台
.NET框架是一個多語言組件開發和執行環境,它提供了一個跨語言的統一編程環境。.NET框架的目的是便於開發人員更容易地建立Web應用程序和Web服務,使得Internet上的各應用程序之間,可以使用Web服務進行溝通。
最底層:
.net框架基於Windows和COM+services。COM+services是我們經常講變動的商業邏輯和數據存取動作包裝在組件中,COM+ 就是來集中管理這些組件的。所以.net的項目一般都是運行在Windows環境下的。
CLR層:
CLR(Common Language Runtime)公共語言運行庫,是所有應用程序都要使用的編程基礎,他如同一個支持.net應用程序運行和開發的虛擬機。
基類庫:
基類庫代表了.NET框架的核心,是.net提供的原始功能的封裝
ADO.NET和XML:
用於數據的交互
CLS層:
CLS(Common Language Specification)是公共語言規范,主要用於實現多種語言之間的互操作性,是公共類型系統的子集。它負責資源管理(內存分配和垃圾收集等),並保證應用和底層操作系統之間必要的分離。CLS是一種語言必須支持的最小規范要求。如果把公共方法限制為CLS,那么支持.NET的所有語言就都可以使用我們的類!
2.如何對.net平台下的exe進行反編譯
(1)exe
exe譯作可執行文件,是程序的入口文件。一般程序的邏輯順序都位於exe中
(2)dll
dll是動態鏈接庫文件,又稱“應用程序拓展”。編程人員為了防止dll文件被修改,將代碼模塊化封裝成dll,類似於api。
反編譯過程:
工具:De4Dot:是一個開源的脫殼/反混淆工具(針對某些exe和dll加殼無法反編譯)
Reflector:這個功能強大的NET反編譯工具。
過程:De4Dot是命令行工具,所以需要各位熟悉如何使用命令行。在命令行打開之后,對於一般的程序直接輸入以下命令: De4Dot 目標程序全路徑 便可以脫殼完成。
本次未使用De4Dot。
過程: 打開Reflector --> 打開反編譯文件 --> 編譯成功 --> 保存代碼 --> 使用VS打開
注意:反編譯后的exe文件大概率無法運行,出現亂碼形象。