当前位置: 首页 > 图文教程 > 脚本技术 > VBScript > Imail密码加密算法及VBS实现

VBScript
Restart.vbs源代码可以重启远程电脑的vbs
远程或本地获取系统信息的脚本RGIS.vbs
远程开启/关闭目标telnet服务的windows脚本RTCS.vbs
可以得到当前系统信息的脚本sysinfo.vbs
RCMD使用说明
远程启动终端服务的windows脚本ROTS.vbs
解锁注册表的vbs脚本
如何使用脚本锁定任务栏?
灵活实用VBS入门教程应用篇
注册表-批处理-VBS之间的功能对应
收集的一些经典的vbs脚本大全
VBS+MSWinsock打造灵巧UDP后门的相关资料
一些经典的主要用户黑客的vbs脚本结合echo的dos下实现
可以定时自动关机的vbs脚本
利用wscript执行文件[包括可执行exe文件]vbs脚本
vbs实用软件自造——Windows脚本应用实例
防止网页脚本病毒执行的方法-from web
打开QQ并且让它自己输入用户名和密码的vbs脚本
多进程的实现投票的vbs脚本
用vbs脚本实现运行DOS批处理不再出现黑屏cmd窗口

VBScript 中的 Imail密码加密算法及VBS实现


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-11   浏览: 84 ::
收藏到网摘: n/a

Imail的所有邮局信息,比如用户,密码都实际上都是存储在计算机注册表当中的,所以只需要
打开注册表就可以看到Imail里的所有信息,包括用户的密码.
细节:
Imail将企业邮局信息全部存储在:
HKEY_LOCAL_MACHINE\SOFTWARE\Ipswitch\IMail\Domains\<DOMAINNAME>\Users\<USERNAME>
这样一个键里,其中DomainName是邮局名,UserName是用户名,而在<USERNAME>下有一个名叫Password的键值则是存储的用户密码.密码并不是明文存储的,而是结这了简单的加密运行后生成的,他的加密过程如下:
1.读取用户名,并将其全部转为小写
2.将用户名每个数字转为对应的ASCII码
3.计算出用户名里每个字母和第一个字母的偏移量
4.计算出每个密码字母对应的ASCII码
5. 将密码的每个ASCII码加上参考值(用户名首字母的ASCII减去97)再加上用户名对应的偏移量
6.再对应密码表就可以得到密码了.
具体程序如下:
Sub initCode(ByRef Infos) '自动生成密码表
Count=-97
CodeArray=Array("0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F")
for z=0 to Ubound(CodeArray)
for y=0 to Ubound(CodeArray)
Infos.Add Cstr(Count),CodeArray(z) & CodeArray(y)
Count=Count+1
next
next
End Sub
Function GetImailPassword(User,Pass) 'Imail密码加密函数
encryptCode=""
Set objDict=CreateObject("Scripting.Dictionary")
Call initCode(objDict)
User=Lcase(User) '将用户转为小写
FirstChar=left(User,1)
FirstCharCode=asc(FirstChar) '得到首字母的ASCII码
Reference=FirstCharCode-97 '得到参考值
execute "Dim UserCode(" & len(User)-1 & ")" '定义两个存放用户与密码ASCII的数组
execute "Dim PassCode(" & len(Pass)-1 & ")"
for i=0 to len(User)-1 '取得用户字母的偏移量
UChar=Asc(mid(User,i+1,1))
UserCode(i)=FirstCharCode-UChar
next
for j=0 to len(Pass)-1 '取得密码对应的新值
PChar=Asc(mid(Pass,j+1,1))
iPos=j mod len(User)
PassCode(j)=PChar+Reference-UserCode(iPos)
next
for k=0 to Ubound(PassCode) '查询密码表,最后得到密码
encryptCode= encryptCode & objDict.item(Cstr(PassCode(k)))
next
GetImailPassword=encryptCode
end function
iUser="web9898" '测试用的Imail用户名
iPass="web9898.cn" '测试用的Imail密码
Wscript.Echo iPass & "加密后的密码是:" & GetImailPassword(iUser,iPass)