zoukankan      html  css  js  c++  java
  • 逆向破解之160个CrackMe —— 019

    CrackMe —— 019

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

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

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

    来源 <-点击查看

    编号 作者 保护方式
    019 Brad Soblesky Name/Serial

    工具 

    x32dbg

    开始破解之旅

    ON.1

    爆破方式

    使用x32dbg打开019程序

    右键 搜索->当前模块->字符串 

    我们看到了错误提示字符串和正确提示字符串

    错误提示字符串地址:004016B3

    正确提示字符串地址:004016D1

    我们进入004016B3地址处,看到一处跳转包含了正确提示,跳转则来到错误提示处,我们在地址00401595处下断 

    在输入框内输入任意数据,点击check按钮,停在了我们的断点处

    我们将JNE改为NOP 

    F9运行 

    bingo ~ 破解成功

    ON.2

    追码方式

    我们从错误字符串地址进去,向上翻看,在判断上方最近的一个跳转处0040161A处下断点

    0040161A | 8B45 F0                  | mov eax,dword ptr ss:[ebp-10]           | 程序跳转到此处地址
    0040161D | 50                       | push eax                                |
    0040161E | 68 54404000              | push brad soblesky.2.404054             | 404054:"%lu"
    00401623 | 8D4D DC                  | lea ecx,dword ptr ss:[ebp-24]           |
    00401626 | 51                       | push ecx                                |
    00401627 | E8 52070000              | call <JMP.&Ordinal#2818>                |
    0040162C | 83C4 0C                  | add esp,C                               |
    0040162F | 8D4D DC                  | lea ecx,dword ptr ss:[ebp-24]           |
    00401632 | E8 79020000              | call brad soblesky.2.4018B0             |
    00401637 | 50                       | push eax                                |
    00401638 | 8D4D E8                  | lea ecx,dword ptr ss:[ebp-18]           | [ebp-18]:&L""
    0040163B | E8 80020000              | call brad soblesky.2.4018C0             |
    00401640 | 85C0                     | test eax,eax                            |
    00401642 | 0F85 FF000000            | jne brad soblesky.2.401747              |
    00401648 | 8D8D ACFEFFFF            | lea ecx,dword ptr ss:[ebp-154]          |
    0040164E | E8 19070000              | call <JMP.&Ordinal#540>                 |

    程序在0040163B处进行判断,于0040161A处进入,在输入框内输入任意数据,点击Check it按钮

    程序停在了断点处,我们单步向下

    此时我们看见寄存器处出现了一串可疑的字符1482848631,在下面进行了对比

    在第二个输入框内输入1482848631

    bingo ~ 破解成功

  • 相关阅读:
    Apache Commons介绍(转载)
    MYSQL Nested Join Optimization
    Mysql Nested-Loop Join Algorithms
    jquery eval解析JSON中的注意点介绍
    jspSmartUpload上传下载使用例子
    JavaWeb基础
    (一)Model的产生及处理
    SpringMVC注解@RequestParam全面解析
    @ModelAttribute使用详解
    Spring中Controller和RequestMapping的详解
  • 原文地址:https://www.cnblogs.com/lonenysky/p/11421391.html
Copyright © 2011-2022 走看看