吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 5809|回复: 110

[原创逆向图文] 算法分析-02-“B2C-CrackMe”,真佩服作者的思维!

  [复制链接]
wanao2008 发表于 2021-4-30 07:08 | 显示全部楼层 |阅读模式

本帖最后由 wanao2008 于 2021-5-1 07:19 编辑

这两个月一直在做算法分析,3月份把160个CrackMe走了一遍。
这个月开始练习“看雪”出品的“pediy Crackme 2007”里的程序,好程序一定要拿出来分享。

疑问:这些程序多数都是20年前的,那么研究它们还有意义吗?
答案是肯定的:有。
通过学习,我已经研究明白了“Qt5Core程序完美爆破仅需一个点”,“gilisoft软件的算法分析”。
没有基础,怎么进步?研究这些程序都是在打基础。

介绍一下本次的主角:
软件名称:B2C-crackme1.rar
下载地址:链接: https://pan.baidu.com/s/1zYb2NWxc9tPotl8A4zY55Q    提取码: sg6v
软件特点:头一次见到这种通过用户和密码生成的验证码竟然是程序的代码。太牛了,真是大开眼界!

游客,如果您要查看本帖隐藏内容请回复

此程序让我多长了一分见识,值得推荐!!

附上VB算法程序及配套使用的自制函数:

Sub unTest()
    Dim userName As String, Serial As String, clStr1 As String, clStr2 As String
    Dim x As Integer, y As Integer
    Dim Eax As Double, Ebx As Double, Ecx As Double, Edx As Double, Edi As Double, Esi As Double
    Ebx = unSigned("C390FF33")   '为了计算,先转为无符号数
    Edi = &H10000
    userName = "wanao2008"  '更改为自已的用户名
    For x = 1 To Len(userName)
        Ebx = Ebx + Edi
        Edx = Asc(Mid(userName, x, 1))
        Edx = ROL(Edx, 16)
        Ebx = Ebx - Edx
    Next
    Eax = Ebx + &H4000000
    Eax = Keep32(Eax)   '保留32位数据
    Eax = Signed(Eax)    '为了应对VB的溢出错误,只好无符号数再转为有符号数
    clStr1 = Hex(Eax)
    Eax = Eax Xor &H52476433
    Eax = Eax Xor &H52472456
    Serial = Hex(Eax)      '求出序列号
    Stop
End Sub

'有符号转无符号
Public Function unSigned(hNum As String) As Double
    Dim isDbl As Double, fNum As Byte
    If Len(hNum) <> 8 Then
        isDbl = "&H" & hNum
    Else
        fNum = "&H" & Left(hNum, 1)
        Do
            If fNum > 7 Then
                fNum = fNum - 7
                isDbl = isDbl + "&H70000000"
            Else
                isDbl = isDbl + ("&H" & fNum & Right(hNum, 7))
                Exit Do
            End If
        Loop
    End If
    unSigned = isDbl
End Function
'无符号转有符号
Public Function Signed(hNum As Double) As Double
    If hNum < 4294967296# And hNum > 2147483647 Then
        hNum = hNum - 4294967296#
    End If
    Signed = hNum
End Function
'大于32位的,去除溢出的部分
Public Function Keep32(bigNum As Double)
    Dim decNum As Double, jiShu As Long
    decNum = "&H100000000"
    Do
        If bigNum > decNum Then
            bigNum = bigNum - decNum
        Else
            Exit Do
        End If
    Loop
    Keep32 = bigNum
End Function

'循环左移
Public Function ROL(ByRef Num As Variant, Optional ByVal iCL As Byte = 1)
    Dim i As Byte
    Dim bMask As Byte, iMask As Integer, lMask As Long
    a = VarType(Num)
    Select Case VarType(Num)
    Case 2 '16 bits
      For i = 1 To iCL
        iMask = 0
        If (Num And &H4000) <> 0 Then iMask = &H8000
        If (Num And &H8000) <> 0 Then iMask = iMask Or &H1
        Num = (Num And &H3FFF) * 2 Or iMask
      Next
    Case 3, 5 '32 bits
      For i = 1 To iCL
        lMask = 0
        If (Num And &H40000000) <> 0 Then lMask = &H80000000
        If (Num And &H80000000) <> 0 Then lMask = lMask Or &H1
        Num = (Num And &H3FFFFFFF) * 2 Or lMask
      Next
    Case 17 '8 bits
      For i = 1 To iCL
        bMask = 0
        If (Num And &H40) <> 0 Then bMask = &H80
        If (Num And &H80) <> 0 Then bMask = bMask Or &H1
        Num = (Num And &H3F) * 2 Or bMask
      Next
    Case Else
      ROL = False
      Exit Function
    End Select
    ROL = Num
End Function

评分

参与人数 25HB +20 THX +12 收起 理由
花盗睡鼠 + 2 + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
虚心学习 + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
459121520 + 1
消逝的过去 + 1
后学真 + 1
冷亦飞 + 1
l278785481 + 1
于理 + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
逆君 + 1 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
让IP飘一会 + 2 + 1 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
我是好人 + 1 [吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意!
zwj00544 + 1 + 1
crosssss + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
ghostxu + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
bnjzzheng + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
ldljlzw + 1
不苦小和尚 + 1 + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
zxjzzh + 2 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
hetao8003200 + 1
jaunic + 1
ZSSR2009525 + 1
ding520 + 1 [快捷评语]--吃水不忘打井人,给个评分懂感恩!
快播哥 + 1 实际上就是一个简单smc,ctf经常见
mengzhisuoliu + 1
king51999 + 1 [快捷评语]--吃水不忘打井人,给个评分懂感恩!

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
aゞ烛火 发表于 2021-5-1 12:34 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
87682678 发表于 2021-5-4 09:58 | 显示全部楼层

回复学习回复学习
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
bxw00004 发表于 2021-5-4 10:41 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
a8152070 发表于 2021-5-26 09:48 | 显示全部楼层

学习一下,谢谢分享
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
_Cpujazz 发表于 2021-7-13 21:38 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
快播哥 发表于 2021-7-13 21:42 | 显示全部楼层

看看算法啊
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
倔强的小牛 发表于 2021-7-14 19:24 | 显示全部楼层

好家伙,正好需要
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
akiakis 发表于 2021-7-19 15:03 | 显示全部楼层

谢谢分享学习一下!!
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
lx2017 发表于 2021-7-19 20:58 | 显示全部楼层

头一次见到这种通过用户和密码生成的验证码竟然是程序的代码。太牛了,真是大开眼界!
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

警告:本站严惩灌水回复,尊重自己从尊重他人开始!

1层
2层
3层
4层
5层
6层
7层
8层
9层
10层

免责声明

吾爱汇编(www.52hb.com)所讨论的技术及相关工具仅限用于研究学习,皆在提高软件产品的安全性,严禁用于不良动机。任何个人、团体、组织不得将其用于非法目的,否则,一切后果自行承担。吾爱汇编不承担任何因为技术滥用所产生的连带责任。吾爱汇编内容源于网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除。如有侵权请邮件或微信与我们联系处理。

站长邮箱:SharkHeng@sina.com
站长QQ:1140549900


QQ|RSS|手机版|小黑屋|帮助|吾爱汇编 ( 京公网安备11011502005403号 , 京ICP备20003498号-6 )|网站地图

Powered by Discuz!

吾爱汇编 www.52hb.com

快速回复 返回顶部 返回列表