2016-11-03 2 views
1

Ich habe ein Problem mit der Dekompilierung von .net Assembly. Wenn ich die Montage in dotPeek öffnen, ist es Klasse mit einigen hundert Variablen wie folgt erklärt genannt frmMain:Dekompilieren von .net Assembly mit dotPeek gibt ungültige Syntax

[SpecialName] 
private static int \u0024STATIC\u0024SortByLengthAsc\u002402811241124\u0024xlen; 

Wenn ich versuche, es zu exportieren alle zu projizieren diese Zeilen Fehler geben (STATIC ist nicht definiert), auch wenn ich ändern all die \ u0024 zu $. Mache ich etwas falsch?

Antwort

1

Nein, die Assembly wurde verschleiert, um zu verhindern, dass Personen (wie Sie) einen Blick in den Code werfen und ihn möglicherweise "stehlen". Diese Variablennamen sind in IL erlaubt, aber nicht im tatsächlichen C# -Code, deshalb schlägt sie fehl.

Das einzige Mittel, das ich kenne, ist ein Rückwärts-Verschleierungstool, das weiß, wie der Obfuscator obfuskiert und versucht, das umzukehren. Oder Sie können es mit der Hand machen, was normalerweise viel Zeit in Anspruch nimmt, was beweist, dass sich die Verschleierung auszahlt.

+0

Der Autor des Verschleierungspakets hat wahrscheinlich ein anderes Produkt, das verschleierten Code für Debugzwecke entblößt –

+0

Normalerweise ist das @PanagiotisKanavos –

+0

Ich werde nur meinen Freund (Autor dieses Programms) bitten, mir den Quellcode als. Danke für die Antwort – BeefEX