2016-06-30 20 views
2

有了這個代碼:獲取行號錯誤混淆代碼.NET

Dim sf As New StackFrame(0, True) 
MessageBox.Show("Module: " & sf.GetFileName & " -Line: " & sf.GetFileLineNumber.ToString) 

我能級和地方發生了未處理的異常(在ApplicationEvents.vb的行號,子MyApplication_UnhandledException(...)處理Me.UnhandledException)

但是,如果我混淆了EazFuscator的代碼(可能與所有其他人),我失去了數據:我得到一個NullString和0行號。

插入代碼:

<Assembly: Obfuscation(Feature:="encrypt symbol names with password XXXX", Exclude:=False)> 

沒有什麼變化。我可以反編譯e.message,,但是線路丟失。如何在混淆代碼中獲得行錯誤?

回答

5

不,這是不可能的,這是打算。未處理的異常是潛在攻擊者的信息來源。通常情況下,只有在第一輪測試通過後,才應該對生產版本應用混淆。不要嘗試調試混淆的程序集,特別是爲了防止調試而對其進行混淆。

我應該補充一點,您無法獲取信息的真正原因是調試過程中調試符號已從組件中去除。只要您的程序集有一個有效的PDB文件,就應該顯示該信息。