蓝色动力网络

 找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 3057|回复: 0

Thinkpad预装系统安装锐捷认证客户端3.95版,不断提示需要重启才能使用的原因及规避

[复制链接]
发表于 2010-9-15 10:13:23 | 显示全部楼层 |阅读模式
学校使用的锐捷客户端在WIN7上安装的版本是3.95,在我的Thinkpad R400笔记本的WIN7系统上安装后,运行提示“重启计算机后才能使用锐捷认证客户端,是否立即重启?”,重启之后再次运行,仍然弹出该提示,重启N遍亦不能解决。
上网搜索发现早有人反映这个问题,在锐捷网络技术服务论坛上有用户发帖反映(http://support.ruijie.com.cn/showtopic-20473.aspx),该用户已找到症结,即锐捷认证客户端更新服务与Lenovo ThinkpadVantage System Update服务名冲突,于是在预装有后者的Thinkpad上杯具了。
IDA下看了一下RuijieSupplicant.exe,该程序启动后,调用一个函数,试图访问SuService服务(OpenServiceA使用权限为SERVICE_ALL_ACCESS),将此服务启动类型改为自动(使用ChangeServiceConfigA),之后再查看此服务状态(使用QueryServiceStatusEx),确认此服务状态处于SERVICE_RUNNING或SERVICE_STOP_PENDING。
如果整个过程成功则函数返回1,如其中有任何一步出错或结果不合预计,则返回-1。
问题是Thinkpad系列的笔记本预装的系统中有Lenovo ThinkpadVantage SystemUpdate组件,该组件使用服务的名称正是SuService,与锐捷更新服务同名,相关文件名也是SuService.exe(只是处于不同目录下),而且启动类型是自动。因此锐捷安装的时候没有能够正确地创建自己的SuService服务,之后RuijieSupplicant.exe访问的实际上是Lenovo ThinkpadVantage SystemUpdate组件的服务,在对这个服务进行访问和操作的过程中就可能与预计结果不符,从而导致函数返回-1。
.text:004012DD loc_4012DD:                              ; CODE XREF: sub_401220+AE j
.text:004012DD                  push     offset ServiceName ; "SuService"
.text:004012E2                  call     sub_4010B0
.text:004012E7                  add      esp, 4
.text:004012EA                  cmp      eax, 1
.text:004012ED                  jz       short loc_401328
.text:004012EF                  push     1                ; uType
.text:004012F1                  push     offset asc_4040B0
.text:004012F6                  push     offset asc_40407C
.text:004012FB                  push     ebx              ; hWnd
.text:004012FC                  call     ds:MessageBoxA
.text:00401302                  cmp      eax, 1
.text:00401305                  jnz      loc_401507
.text:0040130B                  call     sub_4011A0
.text:00401310                  pop      edi
.text:00401311                  pop      esi
.text:00401312                  pop      ebp
.text:00401313                  mov      eax, 1
.text:00401318                  pop      ebx
.text:00401319                  mov      ecx, [esp+28h+var_C]
.text:0040131D                  mov      large fs:0, ecx
.text:00401324                  add      esp, 28h
.text:00401327                  retn
....
.text:00401507 loc_401507:                              ; CODE XREF: sub_401220+38 j
.text:00401507                                          ; sub_401220+6A j ...
.text:00401507                  mov      ecx, [esp+38h+var_C]
.text:0040150B                  pop      edi
.text:0040150C                  pop      esi
.text:0040150D                  pop      ebp
.text:0040150E                  xor      eax, eax
.text:00401510                  pop      ebx
.text:00401511                  mov      large fs:0, ecx
.text:00401518                  add      esp, 28h
.text:0040151B                  retn
.text:0040151B sub_401220       endp
.text:0040151B
一旦该函数返回-1,程序认为需要重启才能让自身的SuService服务自动运行起来,于是用一个MessageBoxA,弹出“重启计算机后才能使用锐捷认证客户端,是否立即重启?”的对话框,如用户选择重启则重启,如用户选择取消则就退出了。显然,在这种状况下,用户即使选择了重启,重启后结果还是一样的,而用户不选择重启的话,也不会再出来认证界面。
由于这个问题是两者同名产生,在不卸载或修改原有的Lenovo ThinkpadVantage SystemUpdate组件的情况下,要真正解决问题只能修改锐捷的组件,把涉及的服务名通通改掉,从而自行创建新服务给锐捷使用,这条路显然是厂商干的活而不应该是用户的选择。
对于我们这些使用锐捷的校园网用户来说,由于锐捷软件是由学校提供的,升级也是由学校更改后通知,我们基本上不需要让锐捷去自动升级,所以这个功能不是必要的,因此用户的选择应该是撇开这个功能,让锐捷能正常认证上网就可以了。
在这样的思想下,继续看下去可以发现RuijieSupplicant.exe其实只是一个前置程序,锐捷真正的认证功能实现的Ring3主程序是8021x.exe。
RuijieSupplicant.exe的作用是在检查更新服务的状态正常后,查看upgrade文件夹中的Configure.ini中所记载的升级设置结果,完成8021x.exe文件的替换,然后采用命令行参数“-ssbero2008d-user”来启动8021.exe(如果是Vista以上系统,ShellExecuteA参数会使用RunAs,使其以管理员身份运行),之后RuijieSupplicant.exe就返回了。8021x.exe才是真正弹出认证对话框并执行认证的进程,认证成功后8021x.exe进程会一直常驻内存。
因此,完全可以抛开RuijieSupplicant.exe,直接使用命令行参数“-ssbero2008d -user”来启动8021.exe,就可以正常认证上网(不使用升级功能)。
问题规避方法:
在桌面和开始菜单中的锐捷认证客户端快捷方式下右键点击“属性”,把目标一栏内容最后面的
RuijieSupplicant.exe"
改为
8021x.exe" -ssbero2008d -user
点击确定保存。
这样以后双击这个快捷方式就直接启动8021x.exe而不再需要先启动RuijieSupplicant.exe,也就不会有需要重启的错误提示了。
由于这只是规避了锐捷对更新服务的检查,而不是彻底解决冲突问题,因此严格上说只能是规避问题的方法,但是对于一般校园网用户,这已经是满足要求的解决方法了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

蓝色动力网络微信平台
网站管理,业务合作联系邮箱: admin#lansedongli.com    QQ:13412492 限网站业务问题.
网站帐号、密码、密保找回请使用注册邮箱,发送邮件至 password#lansedongli.com ,否则不予受理.
免责声明:本论坛所有文字和图片仅代表其个人观点.
本站某些资料或文章来自于互联网,不代表本站观点,如果侵犯了您的权益,请来信告知,我们会在三天内删除.
为了给大家一个更好的交流场所,请勿在本论坛发表与中华人民共和国法律相抵触的言论,请合作,谢谢!
Copyright © 2007-2019 Corporation Powered by网吧系统 版权所有    转载请注明!
浙ICP备11043737号-1 程序:Discuz! x3.4

湘公网安备 43018102000145号

手机版|Archiver|蓝色动力网络   

快速回复 返回顶部 返回列表