手工去除 dll 和 exe 文件的数字签名

需要的工具:
PE Explorer
UltraEdit

 

理论的就不多说了,因为我也不清楚。就说说如何操作。

1、用PE打开要去除数字签名的文件,点 Section Headers 可以看到如下图的画面。

2、看到最后一行是文件的资源。Pointer to Raw Data 是段的起始地址,Size of Raw Data 是段的长度,记下这连个数字。这些数字都是16进制的。

3、把这两个数相加 0x1600h+0x1200h=0x2800h,这就是文件结尾的地址,在这个地址后面,就是数字签名的内容。

4、用ue打开文件,找到0x2800h这个地址,从这里开始,就是数字签名。如下图。那么数字签名有多长呢?“30 0C”就是数字签名的长度。

 

5、按照程序格式,低位在前。上面得到的地址0x2800h在程序里就应该写成 “00 28”, 这个“30 0C”本身已经是低位在前的格式了。

6、我们在ue里查找 “00 28 00 00 30 0C”,这里就是指向数字签名的地址,把这里改成0即可。这样虽然可以屏蔽掉数字签名,但是数字签名的尸体还留在文件里,我们可以删除0x2800h开始到文件尾的全部内容,这样数字签名就彻底不存在了。

 

 

 

 

 

 

 

原文地址:https://www.cnblogs.com/szyicol/p/2558104.html