none
新手:exe文件已经用vs2005做了数字签名,然后怎么编程验证此exe文件有没有被篡改过呢? RRS feed

  • 问题

  • 1、 我的工程是MFC程序。然后把工程的exe文件做了数字签名,用vs2005自带的makecert等工具做的。当用户执行此程序时,怎么才能进行验证呢(编程实现),也就是说怎么取得exe文件中的相关签名的信息呢??是用windows的cryptoAPI吗?

    2、另外还要实现一个功能:此工程调用到的一些DLL也被签名了,然后用exe去验证这些DLL的合法性。

    不知道我说的清楚不清楚,具体怎么给个思路吧,谢谢各位!
    2009年2月23日 13:26

答案

  • exe的头部是有效验和这个值的,通过这个来判断.
    不过这个值也可能被修改,所以你可以在编译完后对这4个字节进行加密.
    当你下次打开时发现原来的效验和和当前的文件的效验和对不上就是被修改过了.
    除非他修改的和原来的和恰好一样,不过这是不可能的:)

    Hello world
    2009年2月24日 1:51
    版主