CrackMe —— 001

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

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

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

来源 <-点击查看

编号 作者 保护方式
001 Acid burn Nag Name/Serial,Serial

工具

x32dbg

KeyMake

开始破解之旅

ON.1

使用x32dbg打开001号程序

我们来到了入口点,如果打开后发现程序直接运行,在选项->选项->事件处勾选 入口断点 即可在程序入口处暂停

ON.2

F9运行,或者点击菜单栏 调试->运行 程序运行出现

程序分为两部分Serial/Name 和 Serial

爆破方式破解

Serial/Name

在输入框内输入任意数据,点击Check it Baby! 弹出窗口

在x32dbg里右键 搜索->当前模块->字符串 先会显示在当前搜索到的字符串

找到 Sorry, The serial is incorect!

找到两处

地址=0042FA63
反汇编=mov edx,acid burn.42FB80
字符串="Sorry , The serial is incorect !"地址=0042FB26
反汇编=mov edx,acid burn.42FB80
字符串="Sorry , The serial is incorect !"

插入代码里竟然没有汇编的选项!!!

分别点进去查看两处代码

地址=0042FA63

0042FA52 | E8 D96EFDFF              | call acid burn.406930                   |
0042FA57 | 83F8 04                  | cmp eax,0x4                             |
0042FA5A | 7D 1D                    | jge acid burn.42FA79                    |
0042FA5C | 6A 00                    | push 0x0                                |
0042FA5E | B9 74FB4200              | mov ecx,acid burn.42FB74                | 42FB74:"Try Again!"
0042FA63 | BA 80FB4200              | mov edx,acid burn.42FB80                | 42FB80:"Sorry , The serial is incorect !"
0042FA68 | A1 480A4300              | mov eax,dword ptr ds:[0x430A48]         |
0042FA6D | 8B00                     | mov eax,dword ptr ds:[eax]              |
0042FA6F | E8 FCA6FFFF              | call acid burn.42A170                   |
0042FA74 | E9 BE000000              | jmp acid burn.42FB37                    |
0042FA79 | 8D55 F0                  | lea edx,dword ptr ss:[ebp-0x10]         |
0042FA7C | 8B83 DC010000            | mov eax,dword ptr ds:[ebx+0x1DC]        |

0042FA5A 处有跳转,指向弹出错误提示框 修改为JMP

地址=0042FB26

0042FAF8 | 8B55 F0                  | mov edx,dword ptr ss:[ebp-0x10]         |
0042FAFB | 8B45 F4                  | mov eax,dword ptr ss:[ebp-0xC]          |
0042FAFE | E8 F93EFDFF              | call <acid burn.sub_4039FC>             |
0042FB03 | 75 1A                    | jne acid burn.42FB1F                    |
0042FB05 | 6A 00                    | push 0x0                                |
0042FB07 | B9 CCFB4200              | mov ecx,acid burn.42FBCC                | 42FBCC:"Congratz !!"
0042FB0C | BA D8FB4200              | mov edx,acid burn.42FBD8                | 42FBD8:"Good job dude =)"
0042FB11 | A1 480A4300              | mov eax,dword ptr ds:[0x430A48]         |
0042FB16 | 8B00                     | mov eax,dword ptr ds:[eax]              |
0042FB18 | E8 53A6FFFF              | call acid burn.42A170                   |
0042FB1D | EB 18                    | jmp acid burn.42FB37                    |
0042FB1F | 6A 00                    | push 0x0                                |
0042FB21 | B9 74FB4200              | mov ecx,acid burn.42FB74                | 42FB74:"Try Again!"
0042FB26 | BA 80FB4200              | mov edx,acid burn.42FB80                | 42FB80:"Sorry , The serial is incorect !"
0042FB2B | A1 480A4300              | mov eax,dword ptr ds:[0x430A48]         |
0042FB30 | 8B00                     | mov eax,dword ptr ds:[eax]              |
0042FB32 | E8 39A6FFFF              | call acid burn.42A170                   |
0042FB37 | 33C0                     | xor eax,eax                             |
0042FB39 | 5A                       | pop edx                                 |
0042FB3A | 59                       | pop ecx                                 |
0042FB3B | 59                       | pop ecx                                 |

通过查看发现 0042FB26 处有字符串 “Good job dude =)” 猜测可能是正确执行流程

查看该出汇编代码发现0042FB03处有跳转,修改跳转为NOP

运行程序

破解成功

Serial

搜索字符串“Try Agent” 在每个地址下断点,点击Check it Baby!

发现断点于 0042F4F8 在该地址向上翻最近跳转处设置断点单步F8

经过两个call是发现寄存器处显示字符,疑似密码,继续单步向下

发现寄存器出现之前call处显示的字符串拼接到了一起和我们输入框输入的数据,下一条指令为判断跳转,此处call为输入框判断对比函数

在输入框内输入Hello Dude!

密码正确,此处可用爆破方式 jne 42F41F 修改 NOP,运行

bingo! 破解成功

内存补丁方式

单步F8,在地址 42F4D0 处看到寄存器存在Key

打开KeyMake 点击其他->内存注册机->添加

中断地址:对应的内存地址

中断次数:设置1次,是第一次运行到指定地址时中断并追码,设置2次,是第二次运行到指定地址时中断并追码

第一字节:原始指令

指令长度:两个字母或数字代表一个指令长度E82745FDFF代表5个指令长度

点击添加->生成->打开程序运行->点击按钮出现注册码

同理 0042FAFE 发现注册码,制作内存注册机,运行得到注册码

转载于:https://www.cnblogs.com/lonenysky/p/11322353.html

逆向破解之160个CrackMe —— 001相关推荐

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

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

  2. 逆向破解之160个CrackMe —— 023-024

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

  3. 逆向破解之160个CrackMe —— 008-009

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

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

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

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

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

  6. 【CrackMe 实战】逆向破解实战之 001 Acid burn.exe

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

  7. 视频+图文+注册+机源码 | 160个CrackMe深度解析合集 | 逆向破解入门

    全部合集的获取请关注微信公众号:逆向驿站 回复:160 即可获得其余合集 以下是示例文章 160个CrackMe深度解析合集-001 提倡"刨根问底",拒绝"浅尝辄止&q ...

  8. [反汇编练习]160个CrackMe之001

    [反汇编练习] 160个CrackMe之001. 本系列文章的目的是从一个没有任何经验的新手的角度(其实就是我自己),一步步尝试将160个CrackMe全部破解,如果可以,通过任何方式写出一个类似于注 ...

  9. Crackme006 - 全新160个CrackMe学习系列(图文|视频|注册机源码)

    知乎:逆向驿站 原文链接 CrackMe006 | 难度适中适合练手 |160个CrackMe深度解析(图文+视频+注册机源码) crackme006,依然是delphi的,而且没壳子,条线比较清晰, ...

最新文章

  1. [Spring 深度解析]第1章 Java基础
  2. 2021春季学期-创新设计与实践-Lesson2
  3. 探索Android中的Parcel机制(上) .
  4. 这届不敢看体检报告的年轻人还能“年轻”多久?
  5. 两线怎么接三线插座图_一文搞懂电工配电二线制、三线制、四线制
  6. 3分钟学会python_3分钟学会一个Python小技巧
  7. [MySQL FAQ]系列 -- 快速还原MyISAM表索引
  8. BugkuCTF-MISC题where is flag3
  9. java 委托原则_为什么说 Java SPI 的设计违反双亲委派原则
  10. 1.4 高并发之线程和进程
  11. 同步异步阻塞非阻塞杂记 1
  12. ubuntu20.04下开发海康威视网络摄像头sdk(二)云台基本控制(位姿控制)
  13. 计算机boot进入u盘启动,用U盘重装系统怎么把Boot设置为启动项?
  14. [导入]代理猎手找大学代理
  15. 找回HDFS corrupted文件残留数据
  16. 配置Atari Gym环境
  17. 华为部分通知气泡显示_华为P50已在路上,目前不受美国影响 | PS5价格曝光!
  18. pycharm使用pip install xxx 解决超时问题
  19. pywin32应用——python在windows下系统编程初步
  20. Linux的 常用命令

热门文章

  1. 为什么安监控需要公网ip_三种方法告诉你项目超过255个摄像机怎么设置IP?
  2. GNN论文周报 | 来自西湖大学、南京大学、国防科大、华为诺亚方舟实验室、莱斯大学等机构前沿论文研究...
  3. TF-IDF 词向量
  4. 虚拟同步发电机(VSG)并网控制
  5. Arduino蜂鸣器《Viva La Vida》一小段旋律
  6. 百读不厌:富兰克林自传
  7. Latex bibtex制作参考文献遇到问题总结
  8. 天气预报 接口数据获取
  9. 计算机二级wps和c语言,2021年3月计算机二级要报名了。报哪一科呢?要不要报名二级WPS?...
  10. 常用HTML标签检索表