求给pe文件添加数字签字的证书做法

WNs_ACE WNs_ACE 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
PIMAGE_NT_HEADERS pImageNtHeaders ;
pImageNtHeaders->OptionalHeader.DataDirectory[4].Size=dwSingSize; //数字签名的大小
pImageNtHeaders->OptionalHeader.DataDirectory[4].VirtualAddress=dwSingOffe; //数字签名的位置
在第一个dome中看到,修改VirtualAddress和Size的值来添加给pe文件添加数字签字,但是我想知道的那个添加进去的证书是怎样做出来的,而dome中的证书是资源来的,所以不知道怎样搞出来的。
最好有dome,编码语言最好是C++或者C#,我尝试过下面代码导入SignTool工具生成的证书,结果还是不行,求高手解释,谢谢!
HANDLE hFile;
hFile = CreateFile("C:\\SIGN",GENERIC_WRITE,0,NULL,CREATE_ALWAYS,0,NULL);//创建文件
if(hFile == NULL) return;

FILE * pFile ;
fopen_s(&pFile,"D:\\SignTool\\SignTool\\test.cer", "rb");
if(NULL == pFile)
{
return;
}
fseek(pFile,0, SEEK_END);
int length = ftell(pFile);
fseek(pFile,0, SEEK_SET);

unsigned char *pInPut = (unsigned char *)malloc(length);
fread(pInPut, 1, length, pFile);
WriteFile(hFile,(LPCVOID)pInPut,length,&dwWritten,NULL);
CloseHandle(hFile);
...全文
评论 3
收藏 已收藏
分享
返回顶部
WNs_ACE
ATL 3,248 成员 48,530 内容