首页 | 业界新闻 | 黑客教程 | 安全漏洞 | 安全文章 | 破解技术 | 技术文摘 | 黑客文化 | 本站原创 | 安全贴吧 | 在线留言 | IP查询 | 软件下载 | 繁体中文 |
您现在的位置: 黑色反击 >> 技术资讯 >> 黑客教程 >> 黑客教学 >> 正文
破译动网验证码的简单方法
时间:2005-3-1 14:41:14 出处:网络 作者:未知 编辑:mervin 点击数:
源:http://blog.csdn.net/freexploit/

Option Explicit
Private Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal X As Long, ByVal y As Long) As Long
Private Const CF_BITMAP = 2
Private Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long
Dim phobit(0 To 9, 0 To 9) As Integer       '标识位图的像素
Private Sub cmdGetChar_Click()
Dim X As Long
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim mintCurPos As Integer
With Picture2
    For k = 0 To 3          '表示有四个字符,
        For i = 0 To 9
            mintCurPos = InStr(txtPhoBit.Text, "数字" & i & ":") + 4  '数字字符的当前位置
            For j = 0 To 9
                X = GetPixel(.hdc, k * 10, j)        '获得它的像素值
                If (X = 15658734 And Mid(txtPhoBit.Text, mintCurPos + j, 1) = "0") _
                   Or (X <> 15658734 And Mid(txtPhoBit.Text, mintCurPos + j, 1) = "1") Then  '判断像素是否相同。
                Else    '不同则跳出
                    Exit For
                End If
            Next j
            If j = 10 Then  '在此就可以判断当前字符为 i
                txtPhoChar.Text = txtPhoChar.Text & i
                Exit For
            End If
        Next i
    Next k
End With
End Sub


Private Sub Form_Load()
    txtPhoBit.Text = "数字0:0111111110数字1:0100000001数字2:0100000011数字3:0100000010数字4:0000011000数字5:1111100010数字6:0011111110数字7:1100000000数字8:0111011110数字9:0111100000"
     If Not URLDownloadToFile(0, "_getcode.asp">http://bbs.china95.net/DV_getcode.asp", App.Path & "\pho.bmp", 0, 0) Then
        Picture2.Picture = LoadPicture(App.Path & "\pho.bmp")
     Else
        MsgBox "保存图片出错!"
     End If
    
End Sub


 


我分析了一下你的那张图片,发现在空的地方全是RGB(238,238,238)也就是15658734.
并且它的数字排列的非常的工整,也就是说在任何时候出现的相同数字它的像素图都是一样的。并且每数字都占十个像素。到这里的时假我打算比对每它们所有的相素的,也就是每一个数字要比对10*10次。我总觉得这样浪费时间,后来我也发现只要比对每个数字的第一列字即可得到你想要的数字。
所以开始就将10个数字保存在txtphobit中了,如果像素值为15658734,那么就它的字符设为"0",不等于15658734就设为"1"

这个方法只针对这个图片有效(准确率100%),像chinaren那样,就没有用。

精彩推荐
hack菜鸟入门
VB 从零开始编外挂(完
IPC入侵全接触
QQ跨站漏洞巧利用,强
WinXP中CPU占用100%原
黑客新技术 灰鸽子巧妙
实例讲解 黑客入侵论坛
ADSL共享上网方式大总
BMP文件格式分析
十招教你学会破解
热门软件
网 友 评 论
关于我们 - 联系方式 - 招聘信息 - 合作伙伴 - 网站地图 - 广告服务 - 我要投稿 - 设为首页 - 加入收藏
黑色反击 力倡网络安全,崇尚互联共享,欢迎各种媒体转载我们的原创作品 [转载请注明出处]。
EMAIL:hf110.com@gmail.com 备案:苏ICP备05010002号