需要的工具:
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開始到文件尾的全部內容,這樣數字簽名就徹底不存在了。