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

    CrackMe —— 028

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

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

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

    来源 <-点击查看

    编号 作者 保护方式
    028 Cosh Name/Serial

    工具 

    x32dbg

    开始破解之旅

    ON.1

    首先使用x32dbg打开028号程序,右键搜索字符串

    看到了正确提示符信息,进入该地址0040157F

    00401511 | 8B07                     | mov eax,dword ptr ds:[edi]              |
    00401513 | 8038 36                  | cmp byte ptr ds:[eax],36                | 36:'6'
    00401516 | 75 1E                    | jne cosh.2.401536                       |
    00401518 | 8078 01 32               | cmp byte ptr ds:[eax+1],32              | 32:'2'
    0040151C | 75 18                    | jne cosh.2.401536                       |
    0040151E | 8078 02 38               | cmp byte ptr ds:[eax+2],38              | 38:'8'
    00401522 | 75 12                    | jne cosh.2.401536                       |
    00401524 | 8078 03 37               | cmp byte ptr ds:[eax+3],37              | 37:'7'
    00401528 | 75 0C                    | jne cosh.2.401536                       |
    0040152A | 8078 04 2D               | cmp byte ptr ds:[eax+4],2D              | 2D:'-'
    0040152E | 75 06                    | jne cosh.2.401536                       |
    00401530 | 8078 05 41               | cmp byte ptr ds:[eax+5],41              | 41:'A'
    00401534 | 74 17                    | je cosh.2.40154D                        |
    00401536 | 6A 00                    | push 0                                  |
    00401538 | 68 64304000              | push cosh.2.403064                      | 403064:"ERROR"
    0040153D | 68 38304000              | push cosh.2.403038                      | 403038:"One of the Details you entered was wrong"
    00401542 | 8BCE                     | mov ecx,esi                             |
    00401544 | E8 F5020000              | call <JMP.&Ordinal#4224>                |
    00401549 | 6A 00                    | push 0                                  |
    0040154B | FFD3                     | call ebx                                |
    0040154D | 8D8E E0000000            | lea ecx,dword ptr ds:[esi+E0]           |
    00401553 | 8D5424 14                | lea edx,dword ptr ss:[esp+14]           |
    00401557 | 51                       | push ecx                                |
    00401558 | 68 2C304000              | push cosh.2.40302C                      | 40302C:"Well done,"
    0040155D | 52                       | push edx                                |
    0040155E | E8 D5020000              | call <JMP.&Ordinal#926>                 |

    我们看到从00401513地址处开始判断,判断字符串是逐个否等于“6287-A”,从这里我们可以得知注册码是多少

    代入到输入框内,点击Check按钮发现正确

     

    bingo ~ 破解成功

  • 相关阅读:
    腾讯精品课程
    什么都没有,先空出来!
    Python3-super().__init()__
    Python3-模块
    Python3-单例模式
    Python3-私有化修改
    Python3-私有属性
    Python3-面向对象-魔术方法
    Python3-面向对象-四种方法
    Python3-迭代器
  • 原文地址:https://www.cnblogs.com/lonenysky/p/11484070.html
Copyright © 2011-2022 走看看