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

WNs_ACE 2014-02-08 01:16:58
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);
...全文
256 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
WNs_ACE 2014-02-08
  • 打赏
  • 举报
回复
引用 2 楼 akirya 的回复:
ms不是有工具可以直接对exe加证书么? 不可能直接在最后添加上证书文件的内容就算是添加证书了。
我知道有工具,讨论的前提是不使用工具, http://blog.csdn.net/her0z/article/details/5308255 这个帖子上面也说过可以这样做的,但是就是不懂那个数字签字怎样做
  • 打赏
  • 举报
回复
ms不是有工具可以直接对exe加证书么? 不可能直接在最后添加上证书文件的内容就算是添加证书了。
WNs_ACE 2014-02-08
  • 打赏
  • 举报
回复
沉下去了?顶起来啊!亲

3,248

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧