scardsvr 智能卡修复工具原理及代码

时间:2012-12-27 10:06:49
【文件属性】:

文件名称:scardsvr 智能卡修复工具原理及代码

文件大小:5.72MB

文件格式:RAR

更新时间:2012-12-27 10:06:49

智能卡 scardsvr smartcard

程序有英语 汉语 两种语言,根据操作系统环境来选择language. 修复过程分【普通修复】和【强力修复】。 XP和VISTA/WIN7下的修复操作还是有很多区别的。但基于的原理是一样的。 并且因为Vista/Win7下的Smart Card 服务的scardsvr.exe可执行文件被更改为scardsvr.dll,也就没有了scardsvr的相关安装命令。我用dependency查看了下scardsvr.dll,只能看到一个入口函数。能力有限,google了一些资料也没有结果。就没分析下去了。 【普通修复】的修复过程(以XP下的修复过程讲述,vista/win7下操作请看代码): (1)检查"智能卡服务"是否为自启动。并设置其为自启动。 (2)检测服务当前状态是否为SERVICE_RUNNING,并设置其状态为运行中。 (3)检测前两步是否成功,如果成功则向用户弹出messagebox询问moveable device功能是否正常。 (4)如果功能仍abnormal,则初步判断是服务登陆账户为非"NT AUTHORITY\LocalService" ,则用CreateProcess来运行 sc.exe config SCardSvr obj= \"NT AUTHORITY\LocalService" password= "" ,改变其用户为localservice(smart card service只有在此登陆账户下才正常运行)。 (5)如果在普通修复过程中遇到服务查询不到等error时,程序自动启动强力修复来安装smart card service. 注意:普通修复中的第3,4步中有点问题,在这个地方其实最好是直接检查服务的登陆账户。然后做出相应的动作,但是我这个地方没有想到实现的办法。望前辈提示。另外就是sc的命令格式有严格的限制,编码的时候要注意等号后面首先是空格。我当时被这个空格困扰到了。 【强力修复】的修复过程(XP下的修复,vista/win7 下没有强力修复) 其实强力修复的过程就是网上流传的那个修复过程,我只不过在这个修复过程中增加了验证和配置修改。 修复过程: (1)ScardSvr.exe reinstall (2)regsvr32.exe SCardssp.dll (3)sc.exe config SCardSvr obj= \"NT AUTHORITY\LocalService" password= "" (4)通过以上三步之后,剩下的配置修改就跟普通修复过程一样了。而以上三步通过CreateProcess和WaitForSingleObject来配合控制。 应该差不多了。代码是半个月前写的,一些地方可能有疏漏。 在代码实现中还有很多地方需要注意,我也都在代码中做出了注释。可自行查看。 如需交流,可mailto:pencil@yeah.net MSN:pencilsoft@hotmail.com


【文件预览】:
SmartCardServiceConfig
----SmartCardServiceConfig.ncb(22.39MB)
----SmartCardServiceConfig.sln(932B)
----SmartCardServiceConfig.suo(35KB)
----SmartCardServiceConfig()
--------SmartCardServiceConfig.vcproj(6KB)
--------resource.h(644B)
--------SmartCardServiceConfig.aps(21KB)
--------SmartCardServiceConfig.vcproj.PENCIL-HOME.pencil.user(1KB)
--------stdafx.h(2KB)
--------Localization.h(3KB)
--------SmartCardServiceConfigDlg.cpp(25KB)
--------SmartCardServiceConfig.vcproj.FLED150.Administrator.user(1KB)
--------Localization.cpp(8KB)
--------targetver.h(1KB)
--------SmartCardServiceConfig.h(539B)
--------stdafx.cpp(151B)
--------SmartCardServiceConfig.rc(5KB)
--------ReadMe.txt(3KB)
--------SmartCardServiceConfigDlg.h(1KB)
--------res()
--------SmartCardServiceConfig.cpp(2KB)
about.txt

网友评论

  • 没用上,但是还是感谢楼主
  • 内容很丰富,最可贵的是资源不需要很多积分.
  • 工具很好用,解决了很多问题
  • 虽然没用上,还是感谢分享!
  • 不太明白。有点头绪,多谢分享。
  • 很好,有用,谢谢了!
  • 有点头绪,但还是搞不定。
  • 有点复杂 但谢谢了
  • 太复杂了,没弄懂,还是重装了系统
  • 我没有Smart Card服务,在PE里面修复不成功,要找找怎么修复Smart Card服务了!
  • 内容有点大,慢慢看。
  • 用了,还是不能解决我的问题。
  • 还可以,解决了网银盾启动时SmartSrv服务启动失败的问题
  • 非常感谢,解决了网银盾的问题
  • 多谢楼主,目前网银认证设备大部分都使用CCID通讯协议,这会用到Smart Card服务,如果服务出现问题都会直接影响网银的使用。
  • 谢谢分享 能用。解决了网银问题
  • 东西不错,谢谢楼主分享,但是没能解决我的故障
  • 非常感谢,解决了网银盾的问题,很好用,不用重装系统了!你太棒了!
  • 还可以,解决了网银盾启动时SmartSrv服务启动失败的问题。
  • 多谢楼主,目前网银认证设备大部分都使用CCID通讯协议,这会用到Smart Card服务,如果服务出现问题都会直接影响网银的使用。