WEB开发网
开发学院软件开发VC 用vc++穷举windows应用程序密码(上) 阅读

用vc++穷举windows应用程序密码(上)

 2009-04-09 20:04:20 来源:WEB开发网   
核心提示: lParam 指定一个在EnumChildWindows 给定的应用程序定义的参数值, 返回值: 持续枚举子窗口,用vc++穷举windows应用程序密码(上)(9),程序必须返回true.返回false 停止枚举, 注释: 回调函数可以执行任何渴望的任务,字符来自我们自己定义的密码字符

lParam

指定一个在EnumChildWindows 给定的应用程序定义的参数值。

返回值:

持续枚举子窗口,程序必须返回true.返回false 停止枚举。

注释:

回调函数可以执行任何渴望的任务。应用程序必须通过传递函数地址给EnumChildWindows来注册回调函数。

·密码枚举

我们知道组成密码的字符由许多种,有人喜欢单用数字,有人喜欢单用字母(包括大小写),也有的是用一些诸如!。#“等符号,我们可以分情况区别对待。密码的长短也是一个制约穷举的一个重要因素,密码长度越长,密码的排列组合种类越多,穷举时间越长。

我们把所有的密码字符都看成字符串,把字符组成集合视为密码字符集。如{0,1,2,3,4,5,6,7,8,9}、{A、B、C、D、E、F、G、H、I、J、K、L、M、N、O、P、Q、R、S、T、U、V、W、X、Y、Z}等都称之为密码字符集。每一个密码每一位都由这些字符集的任意一个字符组成。若字符集中有N个元素,则长度为M的密码根据排列组合共有N的M次方种排法。我们只要将密码字符集的各个要素逐次地放入密码的各个位置,就能穷举长度为M的密码。而长度M可以从1开始自动增长。就像密码开始从 0穷举到9,长度变化为 2,密码在从00穷举到99一样,我们只需变换密码字符集即可变换密码的组成元素。给出密码的算法都一样。每得出一个密码,我们都可以将其存入文件,下次枚举时可以通过这个密码推算下一个密码,如上一个密码为ZZ,则下一个密码应为AAA,再下一个为AAB … AAZ…ABA……ABZ…AZZ…BAA…依次类推。一直推算到ZZZ,接着又是AAAA.有点类似于十进制、二十六进制、五十二进制,只不过这里是各位数不是数字而是字符,字符来自我们自己定义的密码字符集。组成的密码不是数字,而是字符串。

上一页  4 5 6 7 8 9 10  下一页

Tags:vc 穷举 windows

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接