una sirve que puedo proceso personal para obtener hacer gratuito gratis genera firma como certificado winapi dll code-signing

winapi - puedo - para que sirve el certificado digital



¿Puedo eliminar una firma digital de una DLL? (6)

Mi instalador crea "signos" de una DLL usando un certificado de firma de código durante el proceso de compilación.

Me he dado cuenta de que si intento construir dos veces seguidas, la segunda compilación falla porque el archivo DLL ya está firmado, por lo que el código de significación se bloquea. Obviamente, puedo solucionarlo firmando una copia de la DLL en la compilación, pero el problema me intrigó:

¿Es posible "eliminar" un archivo DLL, y si no, por qué no ...?



Verifique si su herramienta de compilación admite "volver a firmar". Esto debería reemplazar todas las firmas existentes.

Si no, puede usar Stud_PE para eliminar el bloque de firma. Abra el archivo DLL o EXE en Stud_PE, vaya a la pestaña de secciones, haga clic con el botón derecho en la sección de firma digital y seleccione "Eliminar sección". Sin embargo, esto necesita la interacción del usuario. Las versiones anteriores de la herramienta podrían destruir el archivo.


Puede usar delcert.exe desde esta publicación del foro de XDA .

Aquí hay una pequeña herramienta que elimina (elimina) el signo digital (Authenticode) de los archivos ejecutables de PE como * .exe, * .dll, * .mui, etc.


signtool remove /s C:/path/to.exe.or.dll

signtool está disponible en Windows SDK.


Claro que es posible, pero no trivial.

Aunque sería más fácil guardar una copia de la DLL presunta.

Esta firma digital es poco más que una sección adicional añadida al final de un archivo PE. Podría escribir un programa que borre la firma, si lo desea.

No es tan simple como truncar el archivo; debe eliminar las referencias a la firma en el encabezado del archivo. Podría complicarse si el archivo DLL tiene múltiples firmas y solo quiere eliminar uno.

El formato de un archivo PE se documenta públicamente aquí