Ich versuche zu beurteilen, dass die Verschleierung, die ich auf meine Assembly angewendet habe, ausreicht, mein Hauptanliegen ist es, Strings zu schützen, die Passwörter oder private Schlüssel enthalten.
Ich dekompilierte erfolgreich meine Assembly mit Salamander Decompiler und sah, was meine Zeichenfolge verschlüsselt wurde, aber während der Laufzeit muss die Zeichenfolge entschlüsselt werden, um verwendet zu werden.
Mir wurde gesagt, dass es möglich ist, die Anwendung zu debuggen und den Assemblercode zu sehen, irgendeine Idee, wie man das macht?Debuggen einer verschleierten .Net-Assembly
Lösung
Das ist für mich gearbeitet, obwohl es wahrscheinlich eine bessere Art und Weise ist es mit WinDbg zu tun.
1- Ausführen des Programms
2- eine Befehlszeile und Typ offen:
adplus -crash -pn [executablename] -o [ output directory ]
* adplus in demselben Ordner wie WinDBG platziert
3- das Programm schließen oder warten schließt
4- die FULLDUMP * Öffnen Sie im angegebenen Ausgabeverzeichnis
5- Open Notepad ++ anb platziert .DMP wählen TextFX-> Zeichen-> Zap alle nicht druckbare Zeichen zu #
6- Suche nach der Zeichenfolge in diesem Format 's # r # # t i # n # g'
oder all '#' durch 'ersetzen' und sucht 'string' (dies kann eine Weile dauern)
* Übrigens konnte ich keine SecureString finden, die auch im Klartext im Speicher war
Ich kann nicht glauben, dass ich noch nie von SecureString gehört habe! Am besten brauchbar. –
SecureString ist ziemlich interessant, ich bin mir sicher, dass es die Dekompilierung kompliziert macht, aber sicherlich nicht die definitive Lösung, denn wenn Sie die Zeichenfolge verwenden müssen, müssen Sie sie schließlich an einen ungesicherten Speicherort verschieben. Ich werde einen Blick auf die Müllhalde werfen. –
@Cristian - wie sicher brauchen Sie das? Die Tatsache ist jedoch, verschleiert Ihren Code, wenn es auf einem Prozessor läuft, kann ein entschlossen genug Hacker in der Lage sein zu entschlüsseln/zu dekompilieren. – Oded