首页 > 开发技术 > 招行网上银行专业版绿色安装脚本

招行网上银行专业版绿色安装脚本

2013年11月19日 Terence 225 次阅读 发表评论 阅读评论

      貌似国内的各大网上银行中只有招行做成了软件客户端的形式,相比一般的普通网页版,它的安全性更高,windows平台间的兼容性更好,功能更强大,甚至可以做到USB KEY的免驱安装。虽然不适用于跨平台系统,但从日常便利性角度来说,毕竟大多数人会使用windows平台也就足够了。当然对于非windows系统用户,招行还有专门的网页版,以及配套的插件。难怪说招行的网银技术是国内所有银行里做得最好的,额,真有做广告的范啊 ;-)  

      说到这个客户端版本,招行称之为专业版,网页版的那个叫做大众版,其实基本上稍微有点存款的或者是公司发的工资卡都会为你免费办理专业版的网银的,这样就可以享受软件客户端带来的便利了。在这里,我们要讨论的是对于这个软件客户端的绿色安装方法,也没什么特别的意义,只是从软件和系统交互角度来分析它的运行机制和技术。

      通过软件逆向分析和整理,我制作出了软件绿化的安装和卸载脚本,使用方法如下:

1.首先从招行官网下载安装程序http://www.cmbchina.com/cmbpb/v36/pb.htm

2.把下载到的PbSetup60.exe文件通过winrar或者7-zip进行解压

3.把@install.bat和@uninstall.bat拷贝到解压目录下,运行即可

@install.bat文件:

cls
@echo off
cd /d %~dp0
regsvr32 /s PersonalBankMain.ocx
if %errorlevel% neq 0 echo 请使用右键--以管理员身份运行本脚本&pause>nul&exit
regsvr32 /s CMBEdit.dll
if "%PROCESSOR_ARCHITECTURE%" neq "x86" goto _64
goto _86
 
:_64
set vmbit=64
copy /y CertClient%vmbit%.dat "%WinDir%\SysWOW64\drivers\CertClient.dat"
copy /y CMBProtector%vmbit%.dat "%WinDir%\SysWOW64\drivers\CMBProtector.dat"
copy /y PBHttpComm.dll "%WinDir%\SysWOW64\"
copy /y PBFinanceMgr "%WinDir%\SysWOW64\"
sc create CMB8100 type= kernel start= auto binpath= "%WinDir%\SysWOW64\drivers\CertClient.dat" displayname= "CMB8100"
sc create CMBProtector type= kernel start= auto binpath= "%WinDir%\SysWOW64\drivers\CMBProtector.dat" displayname= "CMBProtector"
goto install
 
:_86
copy /y CertClient.dat "%WinDir%\System32\drivers\CertClient.dat"
copy /y CMBProtector.dat "%WinDir%\System32\drivers\CMBProtector.dat"
copy /y PBHttpComm.dll "%WinDir%\System32\"
copy /y PBFinanceMgr "%WinDir%\System32\"
sc create CMB8100 type= kernel start= auto binpath= "%WinDir%\System32\drivers\CertClient.dat" displayname= "CMB8100"
sc create CMBProtector type= kernel start= auto binpath= "%WinDir%\System32\drivers\CMBProtector.dat" displayname= "CMBProtector"
goto install
 
:install
net start CMB8100
net start CMBProtector
echo 安装完成!
pause

@uninstall.bat文件:

cls
@echo off
cd /d %~dp0
CMBPBUninstall.exe
regsvr32 /u /s PersonalBankMain.ocx
regsvr32 /u /s CMBEdit.dll
net stop CMB8100
if %errorlevel% neq 0 echo 已经卸载过或者没有以管理员身份运行本脚本&pause>nul&exit
sc delete CMB8100
net stop CMBProtector
sc delete CMBProtector
if "%PROCESSOR_ARCHITECTURE%" neq "x86" goto _64
goto _86
 
:_64
del /f /q "%WinDir%\SysWOW64\drivers\CertClient.dat"
del /f /q "%WinDir%\SysWOW64\drivers\CMBProtector.dat"
del /f /q "%WinDir%\SysWOW64\PBHttpComm.dll"
del /f /q "%WinDir%\SysWOW64\PBFinanceMgr"
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\CMB" /f
reg delete "HKEY_CLASSES_ROOT\VirtualStore\MACHINE\SOFTWARE\Wow6432Node\CMB" /f
reg delete "HKEY_CURRENT_USER\Software\Classes\VirtualStore\MACHINE\SOFTWARE\Wow6432Node\CMB" /f
goto uninstall
 
:_86
del /f /q "%WinDir%\System32\drivers\CertClient.dat"
del /f /q "%WinDir%\System32\drivers\CMBProtector.dat"
del /f /q "%WinDir%\System32\PBHttpComm.dll"
del /f /q "%WinDir%\System32\PBFinanceMgr"
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\CMB" /f
reg delete "HKEY_CLASSES_ROOT\VirtualStore\MACHINE\SOFTWARE\CMB" /f
reg delete "HKEY_CURRENT_USER\Software\Classes\VirtualStore\MACHINE\SOFTWARE\CMB" /f
goto uninstall
 
:uninstall
rmdir /s /q "%USERPROFILE%\CMB"
reg delete "HKEY_CURRENT_USER\SOFTWARE\CMB" /f
echo 卸载完成!
pause

      从中可以看到软件能运行的条件是启动2个系统内核级的服务以及注册相关ocx和dll文件,运行所产生的数据文件包括用户的数字证书都放在%USERPROFILE%\CMB文件夹中。另外在制作卸载脚本的时候我注意到调用自带的CMBPBUninstall.exe后并不能完全清除残留在系统中的痕迹,所以后续的系统服务、文件以及注册表的删除操作是必不可少的,说明招行在一些细节方面做的还是不够好。ok,就先到这吧。





  1. 本文目前尚无任何评论.