Imail密码加密算法及VBS实现

所属分类: 脚本专栏 / vbs 阅读数: 1817
收藏 0 赞 0 分享
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)
更多精彩内容其他人还在看

VBS实现截图功能

本文给大家分享了下2种通过VBS实现截图功能的代码,第一个是纯VBS实现,第二种方法是通过把简短的第三方工具集合到VBS脚本来实现更加丰富的功能。
收藏 0 赞 0 分享

VBS中Run和Exec的区别

这篇文章主要介绍了VBS中Run和Exec的区别,需要的朋友可以参考下
收藏 0 赞 0 分享

VBS获取GZIP压缩的HTTP内容的实现代码

这篇文章主要介绍了VBS获取GZIP压缩的HTTP内容的实现代码,需要的朋友可以参考下
收藏 0 赞 0 分享

VC中实现文字竖排的简单方法(推荐)

下面小编就为大家带来一篇VC中实现文字竖排的简单方法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

对一个vbs脚本病毒的病毒原理分析

这篇文章主要介绍了对一个vbs脚本病毒的病毒原理分析的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

vbs判断磁盘类型和检测硬盘剩余空间的实现代码

这篇文章主要介绍了vbs判断磁盘类型和检测硬盘剩余空间的实现代码,需要的朋友可以参考下
收藏 0 赞 0 分享

VBS调用WMI遍历搜索硬盘文件并计数的方法

这篇文章主要介绍了VBS调用WMI遍历搜索硬盘文件并计数的方法,需要的朋友可以参考下
收藏 0 赞 0 分享

vbs 查找硬盘分区中指定扩展名文件的实现代码

vbs 用于查找硬盘所有分区中指定扩展名文件的代码,有需要的朋友可以参考下。挺实用的一段代码,用来深入学习vbs,确实不错
收藏 0 赞 0 分享

vbs Size 属性使用介绍(获取文件大小)

为大家介绍vbs属性之size属性,供大家学习参考。Size 属性 对于文件,返回指定文件的字节数;对于文件夹,返回该文件夹中所有文件和子文件夹的字节数
收藏 0 赞 0 分享

vbs获取当前路径的代码

有时候我们需要获取执行当前vbs的路径,那么就可以参考下面的代码,一般用来可以删除自身等操作
收藏 0 赞 0 分享
查看更多