• 逆向破解之160个CrackMe —— 025


    CrackMe —— 025

    160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序

    CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 crackme 的人可能是程序员,想测试一下自己的软件保护技术,也可能是一位 cracker,想挑战一下其它 cracker 的破解实力,也可能是一些正在学习破解的人,自己编一些小程序给自己破。

    CrackMe简称CM。
    程序下载地址:点击我

    来源 <-点击查看

    编号 作者 保护方式
    025 CodeZero Nag,Serial(VB5)

    工具 

    x32dbg

    VB Decompiler Pro

    开始破解之旅

    ON.1

    第一步我们要去除NAG

    首先使用VB Decompiler Pro打开我们的025号程序 

    我们点击Code ->Form1->Form_Load 这里是加载NAG窗口的地方,点进进入看见了反编译的VB代码

    Private Sub Form_Load() '405905
      Dim Me As Me
      loc_00405948: Me.Visible = False
      loc_00405986: Form2.Visible = True
    End Sub

    在函数名后面有一串数字,该数字是函数的入口地址,我们在x32dbg里跳转到该地址

    使用x32dbg打开025号程序,右键 转到->表达式CTL+G,输入405905

    点击确定

    此时来到了我们的函数入口处

    我们将push ebp修改为ret,F9运行

    bingo~ NAG窗口成功去除

    ON.2

    爆破方式

    右键在x32dbg中搜索字符串

    看到了我们的正确信息提示符,地址为40577B,双击进入该地址

    向上翻看,来到最近的一个跳转处,发现该跳转跳过了正确提示信息来到了错误提示信息

    0040576B | 8D4D C4                  | lea ecx,dword ptr ss:[ebp-0x3C]                         |
    0040576E | 74 2A                    | je codezero.1.40579A                                    |  程序跳转处
    00405770 | E8 CDB9FFFF              | call <JMP.&__vbaVarDup>                                 |
    00405775 | 8D55 94                  | lea edx,dword ptr ss:[ebp-0x6C]                         |
    00405778 | 8D4D D4                  | lea ecx,dword ptr ss:[ebp-0x2C]                         |
    0040577B | C745 9C B4264000         | mov dword ptr ss:[ebp-0x64],codezero.1.4026B4           | 4026B4:L"Congratulations! you've really made it :-)"
    00405782 | 8975 94                  | mov dword ptr ss:[ebp-0x6C],esi                         |
    00405785 | E8 B8B9FFFF              | call <JMP.&__vbaVarDup>                                 |
    0040578A | 8D45 A4                  | lea eax,dword ptr ss:[ebp-0x5C]                         |
    0040578D | 50                       | push eax                                                |
    0040578E | 8D45 B4                  | lea eax,dword ptr ss:[ebp-0x4C]                         |
    00405791 | 50                       | push eax                                                |
    00405792 | 8D45 C4                  | lea eax,dword ptr ss:[ebp-0x3C]                         |
    00405795 | 50                       | push eax                                                |
    00405796 | 6A 40                    | push 0x40                                               |
    00405798 | EB 28                    | jmp codezero.1.4057C2                                   |
    0040579A | E8 A3B9FFFF              | call <JMP.&__vbaVarDup>                                 |
    0040579F | C745 9C 10274000         | mov dword ptr ss:[ebp-0x64],codezero.1.402710           | 402710:L"Invalid unlock code, please try again."
    004057A6 | 8D55 94                  | lea edx,dword ptr ss:[ebp-0x6C]                         |
    004057A9 | 8D4D D4                  | lea ecx,dword ptr ss:[ebp-0x2C]                         |

    我们将0040576EJE修改为NOP,F9运行,在输入框内输入任意字符

    bingo ~ 破解成功

    追码方式

    在次来到我们搜索字符串处,我们看到一个可疑的字符串“55555

    我们在输入框内输入55555,点击Check按钮

    bingo ~ 破解成功

  • 相关阅读:
    Unity3D游戏-愤怒的小鸟游戏源码和教程(一)
    Unity插件-ShareSDK使用指南
    Unity 3D开发-C#脚本语言的一些基础用法
    Shader的函数公式以及使用的场景
    Shader的基本用法和语法结构
    iTween的用法总结
    Unity 3D游戏-消消乐(三消类)教程和源码
    Unity 3D游戏-NPC对话系统With XML
    XML教程、语法手册、数据读取方式大全
    ReSharper2017.3的列对齐、排版格式、列对齐错误的修复
  • 原文地址:https://www.cnblogs.com/lonenysky/p/11452735.html
Copyright © 2020-2023  润新知