CrackMe —— 023

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

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

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

来源 <-点击查看

编号 作者 保护方式
023 Chafe Name/Serial
024 Chafe Name/Serial

工具

x32dbg

开始破解之旅

ON.1

爆破方式

我们使用x32dbg打开023号程序,右键搜索字符串

这里我们找到了正确信息提示符,地址是004012CE,进入该地址

向上翻看,来到了最近的一个跳转处

004012B3 | 83F8 10                  | cmp eax,0x10                                            |
004012B6 | 74 16 | je chafe.1.4012CE | 此处跳转判断输入的Serial是否正确
004012B8 | 68 65304000 | push chafe.1.403065 | 403065:"Your serial is not valid."
004012BD | FF35 7C314000 | push dword ptr ds:[0x40317C] |
004012C3 | E8 66020000 | call <JMP.&SetWindowTextA> |
004012C8 | 33C0 | xor eax,eax |
004012CA | C9 | leave |
004012CB | C2 1000 | ret 0x10 |
004012CE | 68 7F304000 | push chafe.1.40307F | 40307F:"YES! You found your serial!!"
004012D3 | FF35 7C314000 | push dword ptr ds:[0x40317C] |
004012D9 | E8 50020000 | call <JMP.&SetWindowTextA> |
004012DE | 33C0 | xor eax,eax |
004012E0 | C9 | leave |

我们将004012B6地址处的JE修改为JMP,F9运行

在输入框内输入任意数据

bingo ~ 破解成功

CrackMe —— 024

ON.1

爆破方式

使用x32dbg打开024号程序,右键搜索字符串找到正确提示字符串,地址为

进入地址处向上翻看

004012E3 | 81FB FBCFFCAF            | cmp ebx,0xAFFCCFFB                                      |
004012E9 | EE | je chafe..4012D9 |
004012EB | | push chafe.. | :"Your serial is not valid."
004012F0 | FF35 5C314000 | push dword ptr ds:[0x40315C] |
004012F6 | E8 7D010000 | call <JMP.&SetWindowTextA> |
004012FB | 33C0 | xor eax,eax |
004012FD | C9 | leave |
004012FE | C2 | ret 0x10 |
| | push chafe.. | :"YES! You found your serial!!"
| FF35 5C314000 | push dword ptr ds:[0x40315C] |
0040130C | E8 | call <JMP.&SetWindowTextA> |
| 33C0 | xor eax,eax |

我们看到了最近的一处跳转,继续向上翻,没有发现跳转到正确提示符地址处,搜索00401301,搜索不到

来到004012E9处,该处会跳转到错误提示符,我们将JE修改为JMP 0x00401301,F9运行

bingo~ 破解成功

逆向破解之160个CrackMe —— 023-024的更多相关文章

  1. 逆向破解之160个CrackMe —— 001

    CrackMe —— 001 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...

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

    CrackMe —— 002 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...

  3. 逆向破解之160个CrackMe —— 004-005

    CrackMe —— 004 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...

  4. 逆向破解之160个CrackMe —— 013

    CrackMe —— 013 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...

  5. 逆向破解之160个CrackMe —— 014

    CrackMe —— 014 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...

  6. 逆向破解之160个CrackMe —— 016

    CrackMe —— 016 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...

  7. 逆向破解之160个CrackMe —— 017

    CrackMe —— 017 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...

  8. 逆向破解之160个CrackMe —— 018

    CrackMe —— 018 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...

  9. 逆向破解之160个CrackMe —— 025

    CrackMe —— 025 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...

随机推荐

  1. 判断所有的input框不能为空

    // 判断input框(除了类名为min1和max7)是否为空 function isEmpty(){ var flag=true; $("input[type='text']") ...

  2. BBS_02day

    目录 BBS_02day: 展示个人所有文章: 点赞,点彩功能: 评论功能: BBS_02day: 展示个人所有文章: def article_detail(request,username,arti ...

  3. [LeetCode] 161. One Edit Distance 一个编辑距离

    Given two strings s and t, determine if they are both one edit distance apart. Note: There are 3 pos ...

  4. 面试:Semaphore(信号量)的成长之路

    2019最寒冷,面试跳槽不能等 马上就3月份了,所谓的金三银四招聘季.2019年也许是互联网最冷清的一年,很多知名的大型互联网公司都裁员过冬.当然也有一些公司还在持续招人的,比如阿里就宣称不裁员,反而 ...

  5. 原生/CM系列网络叹号问题

    网络叹号问题: 原因:某墙屏蔽了谷歌,而原生安卓是利用谷歌的服务器来测试网络是否通畅的 解决方案:修改网络测试的服务器地址 方案来源:https://www.noisyfox.io/android-c ...

  6. pytorch 查看中间变量的梯度

    pytorch 为了节省显存,在反向传播的过程中只针对计算图中的叶子结点(leaf variable)保留了梯度值(gradient).但对于开发者来说,有时我们希望探测某些中间变量(intermed ...

  7. 第26课 std::async异步任务

    一. std::async函数模板 (一)std::async和std::thread的区别 1. 两者最明显的区别在于async采用默认启动策略时并不一定创建新的线程.如果系统资源紧张,那么std: ...

  8. k8s本地部署

    k8s是什么 Kubernetes是容器集群管理系统,是一个开源的平台,可以实现容器集群的自动化部署.自动扩缩容.维护等功能. Kubernetes 具有如下特点: 便携性: 无论公有云.私有云.混合 ...

  9. 百度编辑器ueditor批量上传图片或者批量上传文件时,文件名称和内容不符合,错位问题

    百度编辑器ueditor批量上传附件时,上传后的文件和实际文件名称错误,比如实际是文件名“dongcoder.xls”,上传后可能就成了“懂客.xls”.原因就是,上传文件时是异步上传,同时进行,导致 ...

  10. SQL --------------- between 和< >

    between值 and 值 运算符用于选取介于两个值之间的数据范围内的值,常与where一块使用between运算符选择给定范围内的值.值可以是数字,文本或日期. 使用between的时候会与and ...