Ver Mensaje Individual
  #9  
Antiguo 28-02-2017
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Reputación: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola a todos,

Gracias por contestar Román. He probado de todo majo... de hecho hace años que me peleo con este asunto. El método que muestras en tu enlace, por ejemplo, y, si no recuerdo mal... falla en el momento en que se "firme" un ejecutable. Y esto es necesario, es decir, dar la posibilidad de firmar los ejecutables/aplicaciones del usuario. Respecto de que sea cuestión del paso de 32 a 64 bits, no estoy muy seguro, porque, también aquí ando perdido.

En principio yo no estoy intentándolo en una aplicación de 64 bits, sino en una de 32 bits. Sin embargo, es cierto que, probablemente, no sé traducir correctamente la función de Angus Johnson, que, seguramente, funcionaría bien antes de Windows NT. Creo que aquí está el problema: en el paso de Windows 9x a Windows NT. Tal vez haya más, pero, por ejemplo, esta línea que he remarcado arriba:

Código Delphi [-]
Inc(p, SizeOf(TImageFileHeader) + SizeOf(TImageOptionalHeader));

... y que yo trato de traducir como:

Código Delphi [-]
Inc(p, SizeOf(TImageNtHeaders));

... probablemente no pueda ser traducida así sin más. Pero, como he dicho arriba, en el momento en que la traduzco por esto otro:

Código Delphi [-]
Inc(p, SizeOf(TImageNtHeaders) + SizeOf(TImageOptionalHeader));

... la función retorna siempre "0". Pero, claro, seguramente, la traducción primera que estoy haciendo está mal, puesto que "reduce" dicha línea, y tal vez ahí esté el meollo del asunto.

Por otro lado, según escribo esto, se me hace raro que la función traducida por mí retorne el tamaño del ejecutable original... es cierto que no tiene en cuenta el cambio de icono (lo que la hace inservible) pero, al fin y al cabo está retornando el tamaño del ejecutable original... o sea que tal vez la función que actualiza el icono también tenga algo que ver después de todo... tal vez "se olvida" de actualizar el tamaño del ejecutable teniendo en cuenta el nuevo icono...

Como digo, llevo años intentando que algo así funcione: que se pueda adjuntar un archivo de cualquier tamaño a un ejecutable, permitiendo a su vez cambiar su icono, y, por supuesto, que permanezca siendo válido para su firma. Esto me abriría más puertas además de mejorar el proyecto del que trato aquí: podría acaso pensar en nuevos proyectos también.
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 01-03-2017 a las 07:56:46.
Responder Con Cita