yck1509 / ConfuserEx

An open-source, free protector for .NET applications
http://yck1509.github.io/ConfuserEx/
Other
3.57k stars 1.64k forks source link

PDB #367

Open mao75 opened 9 years ago

mao75 commented 9 years ago

Hi at all. Thank you for your working on ConfuserEx. :)

I have a question. My current version is 0.5.0-89-g5d9b9b0, I test with a my simple program with "agressive" and "generate debug symbols". In the code I generate an excpetion in this way:

Public Class test_error Public Sub New() Dim k As Integer k = 0 k = CInt(4 / k) End Sub End Class

now I report the text of the exception:

without confuserEx in GeoReport.test_error..ctor() in C:\Users\mauro\Dropbox\Personale\Projects_vb2013\GeoReport\GeoReport\test_error.vb:riga 5 in GeoReport.frmPrincipale.frmPrincipale_Load(Object sender, EventArgs e) in C:\Users\mauro\Dropbox\Personale\Projects_vb2013\GeoReport\GeoReport\frmPrincipale.vb:riga 12

with confuserEx in ‏‎‬‫‎‮‬‪‌‍‍‎‌‍‭‬‏‍‮‭​‍‌‮..ctor() in C:\Users\mauro\Dropbox\Personale\Projects_vb2013\GeoReport\GeoReport\test_error.vb:riga 0 in Ox}/u!!pdphfPt\,62?O|'l&J!.‬‎‎‪‮‎‪​​‎‌‏​‎‭‬‌‎‎‭‎‏‬‫‬‮(Object , EventArgs ) in C:\Users\mauro\Dropbox\Personale\Projects_vb2013\GeoReport\GeoReport\frmPrincipale.vb:riga 12

I see the path is reversed and the end on the path is also cypher (ok for me) but the problem is the row number: 12 ok, but the line 5 is 0 with obfuscation. Where I make the mistake?

thx

yck1509 commented 9 years ago

Most likely it's caused by control flow obfuscation. If this protection is applied, the debug line number might not be accurate, as the structure of the code has been modified a lot.

mao75 commented 9 years ago

Thx for the tip. Ok, I have removed the flow control (agressive, minus "ctrl flow") but the problem still present.

yck1509 commented 9 years ago

Then I suppose the problem would be at ref proxy protection.

mao75 commented 9 years ago

Sorry, I try to disable it. Nothing. If I set the preset to "None" or "Minimum" (or other) the problem still persist. :(

yck1509 commented 9 years ago

That's strange. Do you have any sample that can demonstrate the issue? I just created a project with the same code you provided and the line numbers are accurate.

mao75 commented 9 years ago

Thx for support. After your comment I try another way.

Without use a 3th party DLL (https://crashreporterdotnet.codeplex.com/) the exception don't report the line number "5": its remain "0" in the clear code o in the obfuscaded code. The behavior is the same. With this DLL in the clear code the "5" was "5" and in the obfuscation code is "0". Now I can't think the problem is ConfuserEx, but the problem still strange.

Thx again.