逆向破解之160个CrackMe —— 001
CrackMe —— 001
160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序
CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 crackme 的人可能是程序员,想测试一下自己的软件保护技术,也可能是一位 cracker,想挑战一下其它 cracker 的破解实力,也可能是一些正在学习破解的人,自己编一些小程序给自己破。
来源 <-点击查看
编号 | 作者 | 保护方式 |
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相关推荐
- 逆向破解之160个CrackMe —— 007
CrackMe -- 007 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...
- 逆向破解之160个CrackMe —— 023-024
CrackMe -- 023 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...
- 逆向破解之160个CrackMe —— 008-009
CrackMe -- 008 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...
- 逆向破解之160个CrackMe —— 021
CrackMe -- 021 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...
- 逆向破解之160个CrackMe —— 027
CrackMe -- 027 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...
- 【CrackMe 实战】逆向破解实战之 001 Acid burn.exe
CrackMe:是一些公开给别人尝试破解的小程序,制作 crackme 的人可能是程序员,想测试一下自己的软件保护技术,也可能是一位 cracker,想挑战一下其它 cracker 的破解实力,也可能 ...
- 视频+图文+注册+机源码 | 160个CrackMe深度解析合集 | 逆向破解入门
全部合集的获取请关注微信公众号:逆向驿站 回复:160 即可获得其余合集 以下是示例文章 160个CrackMe深度解析合集-001 提倡"刨根问底",拒绝"浅尝辄止&q ...
- [反汇编练习]160个CrackMe之001
[反汇编练习] 160个CrackMe之001. 本系列文章的目的是从一个没有任何经验的新手的角度(其实就是我自己),一步步尝试将160个CrackMe全部破解,如果可以,通过任何方式写出一个类似于注 ...
- Crackme006 - 全新160个CrackMe学习系列(图文|视频|注册机源码)
知乎:逆向驿站 原文链接 CrackMe006 | 难度适中适合练手 |160个CrackMe深度解析(图文+视频+注册机源码) crackme006,依然是delphi的,而且没壳子,条线比较清晰, ...
最新文章
- [Spring 深度解析]第1章 Java基础
- 2021春季学期-创新设计与实践-Lesson2
- 探索Android中的Parcel机制(上) .
- 这届不敢看体检报告的年轻人还能“年轻”多久?
- 两线怎么接三线插座图_一文搞懂电工配电二线制、三线制、四线制
- 3分钟学会python_3分钟学会一个Python小技巧
- [MySQL FAQ]系列 -- 快速还原MyISAM表索引
- BugkuCTF-MISC题where is flag3
- java 委托原则_为什么说 Java SPI 的设计违反双亲委派原则
- 1.4 高并发之线程和进程
- 同步异步阻塞非阻塞杂记 1
- ubuntu20.04下开发海康威视网络摄像头sdk(二)云台基本控制(位姿控制)
- 计算机boot进入u盘启动,用U盘重装系统怎么把Boot设置为启动项?
- [导入]代理猎手找大学代理
- 找回HDFS corrupted文件残留数据
- 配置Atari Gym环境
- 华为部分通知气泡显示_华为P50已在路上,目前不受美国影响 | PS5价格曝光!
- pycharm使用pip install xxx 解决超时问题
- pywin32应用——python在windows下系统编程初步
- Linux的 常用命令
热门文章
- 为什么安监控需要公网ip_三种方法告诉你项目超过255个摄像机怎么设置IP?
- GNN论文周报 | 来自西湖大学、南京大学、国防科大、华为诺亚方舟实验室、莱斯大学等机构前沿论文研究...
- TF-IDF 词向量
- 虚拟同步发电机(VSG)并网控制
- Arduino蜂鸣器《Viva La Vida》一小段旋律
- 百读不厌:富兰克林自传
- Latex bibtex制作参考文献遇到问题总结
- 天气预报 接口数据获取
- 计算机二级wps和c语言,2021年3月计算机二级要报名了。报哪一科呢?要不要报名二级WPS?...
- 常用HTML标签检索表