简体   繁体   中英

Does signing an assembly or an exe with a digital certificate makes it secure against tampering attacks?

I tried creating a temporary certificate using makecert and creating a spc from the certificate using cert2spc. I signed some exe with the generated spc. I then use the binary editor in VS 2008 to flip some bits (tampered it) in the exe. To my surprise I was able to execute the application.

I was expecting that the system will detect the tampering and will complain. Hence the question.

Any guidance would be appreciated.

No, because any code in the binary to check the signature can also be tampered with.

I recommend obtaining a copy of IDA Pro and disassembling one of your binaries. After you have the raw assembler you can edit specific opcodes using a hex editor. In short, this is the tactic that the cracker community uses. I don't believe that there will ever be a way to stop this, the ps3 and xbox360 both use digital signatures to protect their binaries, but this doesn't stop piracy.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM