wince6.0 A8平台加密,签名可执行文件后还是无法运行

zhangzheng_1986 2013-07-05 11:18:17
各位前辈,小弟最近用三星S5PV210片子跑CE6.0系统给系统加密,说通俗一点就是让你定制的CE内核启动后,只能运行内核包含的EXE、DLL模块和签名过的EXE、DLL模块,非签名EXE、DLL无法运行。
现在遇到一个问题,内核已经被加密了,但解密不成功,用微软makecert,cert2spc ,pvk2pfx 工具产生私钥和证书,然后将证书(格式p7b)加载到CE内核,再通过signtool.exe对ce下的应用测试程序签名,平台加密是通过使能环境变量SYSGEN_CERTMOD.解密前修改platform.reg添加[HKEY_LOCAL_MACHINE\Comm\Security\SystemCertificates\CodeSign]
"InitFile"="\\windows\\codesigncerts.p7b"

[HKEY_LOCAL_MACHINE\Security\CertMod\CodeSign]
"AccountName"="system"
但程序还是无法运行,提示找不到led.exe(或它的某一个组件),希望前辈赐教!
...全文
519 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
xqhrs232 2014-10-18
  • 打赏
  • 举报
回复
相关网帖 1、证书创建工具 和 参数详解 (Makecert.exe)----http://blog.csdn.net/ydongsky/article/details/7887652 2、Windows下如何生成数字证书----http://www.cnblogs.com/xiaofoyuan/archive/2012/12/07/2807211.html
qthsrs232 2014-10-18
  • 打赏
  • 举报
回复
用微软makecert.exe生成一个自签名的证书----http://blog.csdn.net/popozhu/article/details/5793923
xqhrs232 2014-10-18
  • 打赏
  • 举报
回复
makecert.exe,cert2spc.exe ,pvk2pfx.exe这3个工具软件的路径为----D:\Program Files\Microsoft Visual Studio 8\Common7\Tools\Bin
xqhrs232 2014-10-18
  • 打赏
  • 举报
回复
对这个东西挺好奇的!!!
zhangzheng_1986 2013-07-25
  • 打赏
  • 举报
回复
终于找到原因,问题出在注册表 [HKEY_LOCAL_MACHINE\Comm\Security\SystemCertificates\CodeSign] "InitFile"="\\windows\\codesigncerts.p7b" [HKEY_LOCAL_MACHINE\Security\CertMod\CodeSign] "AccountName"="system" 在执行EXE文件的时候,CertVerify去寻找证书存储路径下codesigncerts.p7b证书文件,而微软在默认情况下里面是空的,没有任何证书文件。首先用你生成的证书私钥(pfx)对你的EXE文件签名,然后将你生成的证书(cer)导入到codesigncerts.p7b证书文件口中,或者在CE下动态添加证书文件也行。然后编译即可。
zhangzheng_1986 2013-07-23
  • 打赏
  • 举报
回复
有木有人做成功呀?大家踊跃出来放个屁响一声,哪怕扯蛋也行,再不行看在都是“码农”份上鼓励一下都行,小弟都会感激的。
gooogleman 2013-07-13
  • 打赏
  • 举报
回复
一般直接硬件 加密芯片来做了,没做过这种东西,来学习一下。
zhangzheng_1986 2013-07-13
  • 打赏
  • 举报
回复
版主都赐教了,小弟倍感荣幸。是呀,现在都硬件加密芯片了,但万恶的资本家为了结省那几块钱的成本,一定要让小弟去肯这块烫手的山芋。不知哪个以前做过的或有成功案例的能指点一二,将不胜感激!
zhangzheng_1986 2013-07-08
  • 打赏
  • 举报
回复
谢谢你的热心帮助,是的,内核是通过修改环境变量加密的,加密后所有外界的EXE文件无法运行,因为要添加内核所信任的密钥证书,只有通过该证书解密后的文件可以运行。 网上也有部分类似的文章,但可惜是针对CE5.0的,它的OAL层实现了一个加密的钩子函数(CertifyModuleInit,CertifyModule),再通过PB工具signfile.exe解密。但CE6.0已经将这个过程嵌到内核了。所以不实用在CE6.0下。 现在的问题是我通过signtool等微软工具产生证书和解密可执行文件,将产生的.p7b证书文件导入CE系统,可文件还是无法运行,望请大神赐教?
xqhrs232 2013-07-05
  • 打赏
  • 举报
回复
内核已经被加密了,但解密不成功 还有这样的问题?

19,519

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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