当前位置: 首页 > article >正文

CrackMe破解之Acid_burn

1. 刚打开程序,就出现一个NAG[hello you have to kill me ], 这是要去我们要把他去除掉。

2.我们点确定,进入,查看界面有serial/name 和serial两种类型的验证界面。

 3.这就是程序全部的界面了,要求我们去掉NAG,再通过两个验证。

一、去除NAG

1. 托入OD(ollydbg),F8单步,发现到0042FD97地址的时候出现窗口了,现在在0042FD97下断点,重新加载,F7跟进这个Call中。

 2.进入之后再进行F8单步走,查看那个call会出现弹窗。

 3.这里又出现了弹窗,下段点00429FC2,重新载入,再F7进入这个call中。

4.这里是00429FC2的Call中继续进行F8单步找关键call或者关键跳。

 5.F8单步到0042563D的call中又出现了弹窗,现在往上看到一个je,可以跳过这个call的调用,所以可以在这里修改看看能不能取消掉NAG。

 6.将je修改为jmp

 7.进行保存,保存为Acid burn1。

 8.打开后就会直接没有NAG了。

二、serial/name

1.将刚刚的acid burn1放入OD中,进行中文智能搜索,找到了两处【sorry,The serial is incorect】

 2.先双击进入研究研究,发现下面的sorry字符串有两个关键跳,比较符合。

 3.jnz要是实现的话就会出现try again,所以我们让jnz不实现,改为je或者nop掉都可以,我选择了NOP。

 4.保存文件为Acid burn2

 5.再运行 Acid burn2,good job!成功爆破。

算法不难,首先会判断Name的长度不能小于4。其次,会将Name的第一个字符拿出来用十六进制表示,将这个数乘0x29,再乘2,得到的数用十进制表示,加到CW-****-CRACKED中,得出最终的Serial。

 附上一个简单的python脚本:

user = raw_input("Please enter your name:") 
print 'CW-' + str(ord(user[0]) * int(0x29) * 2) + '-CRACKED'

 三、serial

1.将Acid burn2托入OD进行Serial的爆破,关键字符是failed, try again

 2.中文搜索引擎,智能搜索,成功搜索到,双击进入反编译界面。

 3.和第二个serial/name有点像,将jnz NOP掉,就不会跳转到failed这里。

 4.另存为 Acid burn3 到桌面。

5.爆破成功。

 至此, Acid burn程序的全部都已crack成功。


http://www.kler.cn/a/383205.html

相关文章:

  • 全文检索ElasticSearch到底是什么?
  • QCon演讲实录|徐广治:边缘云原生操作系统的设计与思考
  • 哈希与unordered_set、unordered_map(C++)
  • 深度学习-迁移学习
  • 微服务架构面试内容整理-服务拆分的原则
  • AI - 使用LangChain请求LLM结构化生成内容
  • SpringCloudGateway — 网关登录校验
  • Mysql基础 01 数据与sql
  • 【Python】强大的正则表达式工具:re模块详解与应用
  • 【极限编程(XP)】
  • 重新认识HTTPS
  • 【从VAE到LDM】Variational Auto Encoder原理以及关于Latent Diffusion的思考
  • 深入解析 Transformer 模型:编码器和解码器的完整实现
  • 易考八股文之谈谈对sentinel的理解和作用?
  • 关于路由笔记
  • Qt C++,Link custom data to the QCustomPlot data
  • 如何用Neo4j做知识图谱
  • yelp数据集上识别潜在的热门商家
  • 机器学习—前向传播的一般实现
  • 爬虫入门urllib 和 request(二)
  • Backend - Python 爬取网页数据并保存在Excel文件中
  • 【React】JSX规则
  • 产品经理必备秘籍:打造有效的产品 Roadmap
  • 原生鸿蒙应用市场:赋能开发者全生命周期服务体验
  • GAN的基本原理
  • Linux学习笔记之vim入门