Digital Signature makes crash Application on Windows 7 64-Bit...

Hi,

this is not a typical driver question but since many ddk developers use signing on drivers maybe someone has a explanation on this issue:

I have a application that perfectly runs on windows 2000, xp,vista and seven, all on 32 bit, except the windows 7 bit version simply crahses with no exception information. I found out that, once the exe is digitally signed, it crashes as explained and without any information on the crash itself. If not signed, it runs perfectly! I started a native debug on the application and i got this, which is not clear to me:

http://groups.google.de/group/microsoft.public.win32.programmer.kernel/browse_thread/thread/4df83c1da269644e/59adaba809f54d71

It is NOT a driver, its a user mode application written in .NET, (ILOnly and MSIL binary) so it runs on any platform comming with .NET 2.0 and upper,…

Any ideas why it fails once digitally signed? The digital signature is a valid one,…

Thanks in advance,…

regards

K.

xxxxx@arcor.de wrote:

this is not a typical driver question but since many ddk developers use signing on drivers maybe someone has a explanation on this issue:

I have a application that perfectly runs on windows 2000, xp,vista and seven, all on 32 bit, except the windows 7 bit version simply crahses with no exception information. I found out that, once the exe is digitally signed, it crashes as explained and without any information on the crash itself. If not signed, it runs perfectly! I started a native debug on the application and i got this, which is not clear to me:

http://groups.google.de/group/microsoft.public.win32.programmer.kernel/browse_thread/thread/4df83c1da269644e/59adaba809f54d71

It is NOT a driver, its a user mode application written in .NET, (ILOnly and MSIL binary) so it runs on any platform comming with .NET 2.0 and upper,…

Any ideas why it fails once digitally signed? The digital signature is a valid one,…

What are you using to sign the exe? The tool to sign managed code
(signcode.exe) is different from the tool to sign unmanaged code
(signtool.exe). I don’t really think that signtool is dangerous on
managed executables, and for all I know the two might be identical, but
it’s worth noting. Are you assigning a strong name? Are you doing that
before signing?


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.

On Wed, 13 Oct 2010 13:04:38 -0700
Tim Roberts wrote:

> What are you using to sign the exe? The tool to sign managed code
> (signcode.exe) is different from the tool to sign unmanaged code
> (signtool.exe). I don’t really think that signtool is dangerous on
> managed executables, and for all I know the two might be identical,
> but it’s worth noting. Are you assigning a strong name? Are you
> doing that before signing?

signtool was introduced to replace signcode around Visual Studio 2005
- they both do the same thing. Any executable whether managed or
unmanaged can be digitally signed, but only managed code can be
strong named using the strong naming tool, sn.exe.


Bruce Cran

Hi Tim,

thanks for the fast reply. I use signtool.exe from MS SDK. Signtool is perfectly ok on managed code, no problems known so far. I am assigning a strong name, before i digitally sign the executable. It perfectly works on any os, including windows 7, except the 64 bit variant. I “carefully” started to think that the signing procedure makes the executable unloadable for the windows pe loader on the 64 bit variants on windows 7, because some people reported me that (is equal to the debugging output):

Problem signature
Problem Event Name: APPCRASH
Application Name: SpRegFldr.exe
Application Version: 0.9.0.0
Application Timestamp: 4c6d200f
Fault Module Name: KERNELBASE.dll
Fault Module Version: 6.1.7600.16385
Fault Module Timestamp: 4a5bdfe0
Exception Code: e0434f4d
Exception Offset: 000000000000aa7d
OS Version: 6.1.7600.2.0.0.256.4
Locale ID: 3079

The exception code is pretty useless, because you get any kind of possible things that could happen here, once you google this,…

K.