• 逆向破解之160个CrackMe —— 002-003


    CrackMe —— 002

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

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

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

    来源 <-点击查看

    编号 作者 保护方式
    002 Afkayas Name/Serial(VB5)
    003 Afkayas Nag,Name/Serial(VB5)

    工具 

    x32dbg

    KeyMake

    开始破解之旅

    ON.1

    使用x32dbg打开002号程序,运行

    在输入框输入任意数据,点击按钮 OK ,弹出窗口 

    爆破方式

    搜索字符串 “Try Again”点进地址向上查看,在 0040258B处下断点 ,这里是逻辑正确跳转处

    0040258B | 74 58                    | je afkayas.1.4025E5                     |
    0040258D | 68 801B4000              | push afkayas.1.401B80                   | 401B80:L"You Get It"
    00402592 | 68 9C1B4000              | push afkayas.1.401B9C                   | 401B9C:L"
    "
    00402597 | FFD7                     | call edi                                |
    00402599 | 8BD0                     | mov edx,eax                             |
    0040259B | 8D4D E8                  | lea ecx,dword ptr ss:[ebp-0x18]         |
    0040259E | FFD3                     | call ebx                                |
    004025A0 | 50                       | push eax                                |
    004025A1 | 68 A81B4000              | push afkayas.1.401BA8                   | 401BA8:L"KeyGen It Now"
    004025A6 | FFD7                     | call edi                                |
    004025A8 | 8D4D 94                  | lea ecx,dword ptr ss:[ebp-0x6C]         |
    004025AB | 8945 CC                  | mov dword ptr ss:[ebp-0x34],eax         |
    004025AE | 8D55 A4                  | lea edx,dword ptr ss:[ebp-0x5C]         |
    004025B1 | 51                       | push ecx                                |
    004025B2 | 8D45 B4                  | lea eax,dword ptr ss:[ebp-0x4C]         |
    004025B5 | 52                       | push edx                                |
    004025B6 | 50                       | push eax                                |
    004025B7 | 8D4D C4                  | lea ecx,dword ptr ss:[ebp-0x3C]         |
    004025BA | 6A 00                    | push 0x0                                |
    004025BC | 51                       | push ecx                                |
    004025BD | C745 C4 08000000         | mov dword ptr ss:[ebp-0x3C],0x8         |
    004025C4 | FF15 10414000            | call dword ptr ds:[<&rtcMsgBox>]        |
    004025CA | 8D4D E8                  | lea ecx,dword ptr ss:[ebp-0x18]         |
    004025CD | FF15 80414000            | call dword ptr ds:[<&__vbaFreeStr>]     |
    004025D3 | 8D55 94                  | lea edx,dword ptr ss:[ebp-0x6C]         |
    004025D6 | 8D45 A4                  | lea eax,dword ptr ss:[ebp-0x5C]         |
    004025D9 | 52                       | push edx                                |
    004025DA | 8D4D B4                  | lea ecx,dword ptr ss:[ebp-0x4C]         |
    004025DD | 50                       | push eax                                |
    004025DE | 8D55 C4                  | lea edx,dword ptr ss:[ebp-0x3C]         |
    004025E1 | 51                       | push ecx                                |
    004025E2 | 52                       | push edx                                |
    004025E3 | EB 56                    | jmp afkayas.1.40263B                    |
    004025E5 | 68 C81B4000              | push afkayas.1.401BC8                   | 401BC8:L"You Get Wrong"
    004025EA | 68 9C1B4000              | push afkayas.1.401B9C                   | 401B9C:L"
    "
    004025EF | FFD7                     | call edi                                |
    

     再次点击 OK 按钮,此时停在断点处,ZF 标志位为 1 ,双击改变标志位为0,F9 运行

    出现正确提示,修改 je 4025E5NOP 保存,输入任意数据,点击按钮,显示正确弹窗。

     注册机方式

    此处需要选择宽字符串

          

    CrackMe —— 003

    ON.1

    使用x32dbg打开003号程序,运行

    出现了两个窗口 

    左边的窗口是要Kill掉的,右边的则需要我们来爆破

    ON.2

    这里使用4C方法来破解NAG窗口

    来到入口点

    00401170 | 68 D4674000              | push afkayas.2.4067D4                   |
    00401175 | E8 F0FFFFFF              | call <JMP.&ThunRTMain>                  |
    0040117A | 0000                     | add byte ptr ds:[eax],al                |
    

     第一个push处转到内存窗口,内存窗口地址为004067D4 ,4C就是这个地址加上4C

    右键转到->表达式 

    此时跳转到00406820地址处

    00406820  68 68 40 00 CC 67 40 00 7C 11 40 00 68 00 00 00  hh@.Ìg@.|.@.h...  
    

     在该地址处右键“在当前内存窗口中转到指定DWORD

    此时在00404888004048D8处各有两个标志位,该标志位代表了程序加载窗口的启动顺序,先加载00后加载0100就是我们要去除的NAG窗口,将两个标志位颠倒,便可以达到去除NAG窗口的效果。

    绕过验证方法和002相同  ( ̄▽ ̄)~*

  • 相关阅读:
    软件工程课程总结
    c++第五次作业
    软件工程第四次作业
    c++第四次作业
    软件工程第三次作业
    c++第三次作业
    软件工程基础第二次作业
    c++第二次作业
    c++第一次作业
    软件工程基础第一次作业
  • 原文地址:https://www.cnblogs.com/lonenysky/p/11327781.html
Copyright © 2020-2023  润新知