33 Stimmen

Kann ich eine digitale Signatur aus einer DLL entfernen?

Mein Installationsprogramm "signiert" eine DLL mithilfe eines Code Signing-Zertifikats während des Erstellungsprozesses.

Ich habe festgestellt, dass, wenn ich versuche, zweimal hintereinander zu bauen, der zweite Build fehlschlägt, weil die DLL bereits signiert ist, so dass signcode chokes. Offensichtlich kann ich dies beheben, indem eine Kopie der DLL in der Build signiert, aber das Problem fasziniert mich:

Ist es möglich, eine DLL zu "unsignieren", und wenn nicht, warum nicht...?

3voto

Thomas Weller Punkte 49406

Prüfen Sie, ob Ihr Build-Tool "Re-signing" unterstützt. Dies sollte alle vorhandenen Signaturen ersetzen.

Wenn nicht, können Sie Gestüt_PE um den Unterschriftsblock zu entfernen. Öffnen Sie die DLL oder EXE in Stud_PE, gehen Sie auf die Registerkarte "Abschnitte", klicken Sie mit der rechten Maustaste auf den Abschnitt "Digitale Signatur" und wählen Sie "Abschnitt löschen". Dies erfordert jedoch die Interaktion des Benutzers. Alte Versionen des Tools könnten die Datei zerstören.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X