1. 程式人生 > >[轉]反編譯c#的相關問題

[轉]反編譯c#的相關問題

print 出錯 n) mod sin forms aries 設計 porject

原網頁:http://www.cnblogs.com/xiajing12345/p/3305684.html

最近硬盤壞掉了,有一個項目沒有備份,只好用Exe 文件反編譯出來用,查了一下相關的文章用到的工具如下:

  • ILSpy_Master_2.1.0.1603_RTW_Binaries
  1. 直接生成時,有些奇怪,不能一次性生成 所有的 cs 文件與 resource
  2. 但是選擇 saveCode 後 “保存類型”選擇 all files 先保存一次。
  3. 再 選擇 saveCode 後 “保存類型”選擇 c# porject 再保存一次。可以保存所有的 resource 與 cs 文件。(不知道別的機器上是不是這樣?)
  • 再可以用 resgen 命令把 resource 變成 resx 文件

  可以找一工個:ConvertResource 一次性把所有的 resource 變成 resx

需要把其中的
  <matadata> 換成 <data>
  </matadata> 換成 </data> (但是 使用 resgen 就不需要這樣,本人使用的是 visual studio 2008 中文版 )

  • 在窗體初始化InitializeComponent中添加 System.ComponentModel.ComponentResourceManager manager = new ComponentResourceManager(typeof(frmLogin));時 再切換到設計界面提示錯誤 變量“manager”未聲明或從未賦值。
    我將變量 manager重命名resources時錯誤消失。( 註意大小寫)

  • base.FormBorderStyle = FormBorderStyle.FixedSingle;換成
    base.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;

  • base.AutoScaleMode = AutoScaleMode.Font;換成
    base.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
    等幾項.

  • 與上面差類似的問題。system.Drawing 或 Print 都要加全,最後就是處理反編譯工具,出錯的一些代碼。

[轉]反編譯c#的相關問題