Strong Naming and Obfuscation Problem - Need Help!

I am trying to sign my application, after using the obfuscator.

First I must delayed the signing:

<Assembly: AssemblyKeyFileAttribute("myKey.snk")>
<Assembly: AssemblyDelaySignAttribute(True)>

The problem is we must tell outside the IDE in the command console to stop checking the assembly. the syntax is:

sn -Vr myAssembly.dll    <-- very nice I do not see any DLL when i build my application.

Is there any one who can help to sign my application after obfuscating in the vb.net 2003 IDE.

Thanks for help.

 



Answer this question

Strong Naming and Obfuscation Problem - Need Help!

  • jocamill

    Thank's Shawn for your help.
    In fact I finally found the problem. When I was obfuscating the myProg.exe assembly and Re-strongNamed the assembly, then building the Windows installer, I was a bit confused in finding what file and in which directory the Windows Installer will use to add in the MSI file. This is not very well documented and I had to struggle a bit to find out the proper procedure.
    The trick is that when you have manually Re-signed the assembly you must build the Windows installer with the build option for the program itself removed. Otherwise you rebuild the program itself killing the obfuscation or/and the late re-signing. We must also rebuild the Windows Installer to have the Obsfucated and Re-signed Assembly to be added in the .msi release.

    Best regards

  • Jeff Bevans

    I resubmit a non replied post with some more info:
    Platform: VS.NET 2003 / Dotfuscator community edition / Vb.net application 
    I am trying to late signing after obfuscation.

    The AssemblyInfo.vb has the following instructions:
    <Assembly: AssemblyDelaySignAttribute(True)>
    <
    Assembly: AssemblyKeyFileAttribute("myKey.snk")>

    I create the release. No problem.
    I suppress the check in the CMD console : sn -Vr myProg.exe
    this is OK.
    I obfuscate with Dotfuscator. This is running ok.
    I resign late the PE with : sn -R myProg.exe myKey.snk
    I do the install procedure to deploy the application. OK
    I test the application. Application is running.
    I re-establish the signing check in the console:   sn -Vx      this is ok.
    I try to restart my application: FAIL !!  "File is not totally signed with the correct privat Key."

    I do'nt understand. I have generated the key pair with : sn -k myKey.snk
    (without Dotfuscator, the strong name signing is working)
    Can someone give me a clue
    Thanks by advance.


  • Ben Christian

    Have you tried doing sn -Vu <assembly> rather than -Vx   It's possible you have another assembly that you're trying to load which was not fully signed.  You can confirm the status of your exe by running sn -vf <assembly> on your exe.

    -Shawn



  • Strong Naming and Obfuscation Problem - Need Help!