欧美成人精品手机在线观看_69视频国产_动漫精品第一页_日韩中文字幕网 - 日本欧美一区二区

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

dnSpy 強大的.Net反編譯軟件

admin
2023年8月31日 18:49 本文熱度 1204

一說起.net的反編譯軟件,大家首先想到的就是Reflector,ILSpy,dotPeek等等。而dnSpy同樣是一款優秀的反編譯軟件,同時它是開源免費的。官方的描述是: dnSpy是一個調試器和.NET組件編輯器。 即使您沒有任何可用的源代碼,也可以使用它來編輯和調試程序集。

這個是官方的圖片,可以看出和VS的風格還是很像的,使用起來也有很多相似的地方,善于用VS的人,可以很快的上手這個軟件。當然除了這個深色的主題以外,還有淺色主題可以切換。
dnSpy使用ILSpy反編譯器引擎和Roslyn(C#/ Visual Basic)編譯器以及許多其他開源庫,可以編譯.Net Framework, .Net Core和Unity游戲部件,不需要源碼。今天將給大家演示一下,dnSpy強大的調試和編輯應用程序的功能。

1. Debug外部引用的Dll文件

首先準備一個簡單的程序,期待的結果是輸入人數得到促銷后的總價,界面如下:

看一下程序,其實就是簡單的取得輸入的人數,然后調用第三方類庫的方法,得到結果:

這里的Calculator.GetAmountByPromotion方法是_3rdCalculator的第三方類庫提供的,我們無法直接確定其內部實現。

輸入一下測試數據:

再輸入一下新的測試數據:

會發現很難推測出內部的邏輯。這個時候就可以進行debug了。
打開dnSpy.exe。這個時候請注意,由于這個項目用的是.net core并且是publish的,所以可以直接用dnSpy直接打開publish目錄下的要debug的dll文件。

在需要的地方打上斷點,然后使用attach的快捷鍵Ctrl+Alt+P,在彈出的列表里選擇

再點擊頁面的提交按鈕觸發事件:

這個時候可以看到結果顯示在下面Locals的窗口里面。
需要注意的是,如果是不需要publish的,而是直接把整個代碼放在IIS下,然后每次編譯就是一次發布的情況,不要直接使用代碼下面的bin目錄里的dll文件,因為IIS會把build出來的dll文件,動態生成一份出來,存到類似于\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\c8367e31\abdb5fb1\assembly\dl3下面的目錄里,這個時候要先搜索到你想debug的方法在哪個dll文件里,然后搜索到這個文件位置,再用dnSpy打開它,dnSpy會自動加載和這個dll有關聯的所有dll文件,然后啟動網站,這個再附加到w3p.exe上就可以了。

2. 調試應用程序

  1. 調試應用程序
    還是以上一個例子為例,這次生成一個exe的文件。
    代碼如下

    運行,窗口如下:

    打開dnSpy,找到exe文件的位置,打開要調試的dll文件:

    在需要的地方打上斷點,點擊上面的Start開始調試:

    彈出的窗口設置保持默認就可以,程序執行,輸入人數后,進入斷點,就可以正常調試了:
    [此處輸入圖片的描述][13]
    注意,一般dnSpy會把相關的dll都自動加入進來,但是如果是不在一個地方,工具檢測不到的,但是有依賴的,必須手動加入進來。

    3. 修改exe文件的內容

    dnSpy編輯dll文件的功能很方便,不用其他插件或者輔助,就可以進行修改。例如上面的例子,我想把計算邏輯增加超過10個人的時候,優惠更高,那么我可以直接修改dll里面的方法。
    首先找到要修改的方法,然后在方法上點擊右鍵:
    [此處輸入圖片的描述][14]
    在彈出的新窗口上直接修改方法:

    編輯結束后,點擊下面的Compile. 然后點擊保存所有。繼續點OK。

    這個時候點擊exe文件,輸入人數,會發現比10個人的時候還要便宜了很多,就是代碼生效了:

    以上就是比較常用的功能,當然dnSpy還有很多貼心和有用的功能,有待大家去發現。附上官方地址,請大家自己去挖掘了。謝謝大家。


該文章在 2023/8/31 18:50:27 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved