• 首先我们运行一遍程序,浏览程序的大致流程。点击程序后会出现一个nag窗口,如下图。

  • 随后进入主界面,布局如下。

  • Serial/Name界面如下:

  • Serial界面如下:

  • 首先我们从去除nag窗口开始,将源程序在OD中打开,使用F8进行向下进行,进行过程中发现当程序进行完一个call调用后,出现nag窗口。第一次尝试直接将该Call行数nop掉,查看结果发现程序不能正常运行,为出现主界面而是直接出现了单个窗口。

    图 1 导入程序

    图 2 程序函数及nag窗口

    图 3 nop替换代码

    图 4 nop 后的运行结果

  • 所以我们在第一个call函数处设置断点,然后F7进入后继续使用F8步过查看是哪个函数调用了nag窗口。

    图 5 设置断点后F7步入

    图 6 发现了调用nag窗口的函数

  • 尝试使用NOP替换,发现运行发生错误。

    图 7 错误窗口

  • 再次设置断点,重复以上步骤。

    图 8 nag窗口函数

    图 9 实现nag窗口

    图 10 nop替换

    图 11 成功去除nag窗口

  • 将程序保存为Acid burn nag.exe,后续的实验在该程序上继续进行。

  • 接下来进行Serial的破解。我们首先随便输入一串数字,点击确认按钮,查看变化。

    图 12 出现提示框

  • 进行搜索查看“所有被引用的字符串”,输入“Try Again”进行搜索。

    图 13 搜索结果

  • 发现失败的判断是由一个call 配合jnz 来实现跳转的,如果call后的结果ZF不为0则跳转到失败代码,如果为0则进入成功代码。

    图 14 汇编代码

  • 进入call函数发现,其将我们所输入的字符串同一个给定的字符串进行比较,发现字符串为“Hello Dude!”

    图 15 发现字符串

  • 我们将其输入,再次点击确认按钮,发现运行成功。

    图 16 运行成功

  • 当然我们也可以从汇编代码入手实现修改,将条件判断转移换成直接跳转到正确代码段,随便输入字符串,发现无论输入什么都可以显示成功界面。

    图 17 修改汇编代码

    图 18 成功界面

  • 接下来是Serial/Name界面的破解。原理同上,我们先随便输入一段代码,进行测试,发现出现错误提示窗口,我们进行字符串搜索,查找相关地址,以及汇编代码。

    图 19 查找结果

    图 20 找到了相关地址

    图 21 汇编代码

  • 我们通过对汇编代码的追踪,发现了用户名要4位,而serial为一串字符串。步骤同上,结果图如下。

    图 22 serial比较

  • 通过观察分析得知,用户名只要是4位即可,serial需要为“CW-9758-CRACKED”。我们可以选择直接使用规范通过验证。

    图 23 验证成功

  • 也可以将所有的条件跳转,变换成无条件跳转从而实现无论输入什么数值都可以通过验证,破解软件。

    图 24 修改用户名判断

    图 25 修改serial值判断

    图 26 修改成功效果

  • 至此,Acid burn程序全部破解完毕。

crackme160 Acid_burn.exe相关推荐

  1. python打包成exe可执行文件指定进程名字

    在上一篇中,我们讲了怎样用python编写一个简单的番茄钟程序.在这篇中,我们来试试把它打包成可独立运行的exe程序,方便我们每日使用使用. 安装pyinstaller 首先,我们需要安装一个叫pyi ...

  2. adb.exe: device offline

    adb devices 的时候提示:adb.exe: device offline 处理方法: 1 adb kill-server 2 adb start-server 3 重新连接adb

  3. 【转】android错误 aapt.exe已停止工作的解决方法

    http://www.jb51.net/article/57420.htm 在使用eclipse进行安卓java的编程的时候,有时候我们会遇到这样的问题:那就是无故弹出aapt.exe停止工作的提示, ...

  4. C#中用ILMerge将所有引用的DLL和exe文件打成一个exe文件

    今天做了一个软件,想发布的时候才发现调用的类没几个,就像把它们都跟EXE文件打包在一起,以后复制去别的地方用也方便,于是上网搜了一下,发现网上大部分都是用ILMerge实现的,于是也自己试了一下,不过 ...

  5. Windows启动exe应用程序,无法正常启动(0xc000007b)的解决办法

    在Windows下启动exe,应用程序无法正常启动(0xc000007b)的解决办法! 1. 分析 2. 解决方法 3. 下载链接 网上的其他方法,包括sfc /scannow,以及在命令行输入 命令 ...

  6. linux发现很多pif和exe文件,u盘里 木马xftiaj.pif 是什么文件,肿么删除?

    雪花之家提供:http://blog.w5wk.com/ 清除~.pif病毒 网摘1:(略) 具体步骤是:运行gpedit.msc打开组策略-计算机配置-windows设置-安全设置-软件限制策略-其 ...

  7. Python写的代码打包成.exe可执行文件

    Python写的代码打包成.exe可执行文件 1. 安装pyinstaller 2. [在线生成icon](http://www.ico51.cn/) 3. 打包命令 pyinstaller -i x ...

  8. Java调用python打包的程序.exe,包括获取exec()中打印的日志,亲测有效

    python写了一个方法,windows平台上怎么被Java服务调用呢? 最简单的办法,python利用pyinstaller打包成.exe程序,Java程序通过Process调用,想同时获取.exe ...

  9. LabVIEW生成应用程序(exe)和安装程序(installer)

    目录 1.生成应用程序(exe) 2.生成安装程序(installer) 使用LabVIEW编写好的程序最后往往需要将程序拿到目标电脑上去运行,如何将程序从开发电脑上移植到目标电脑上呢?有两种方法: ...

最新文章

  1. 偷懒日志 - 自动生成代码 - 第二步 生成POJO
  2. moveTaskToback退后台
  3. go where 不等于_go基础之map迭代(四)
  4. vs如何将工程配置,保存到属性表
  5. solr dataimport 数据导入源码分析(二)
  6. 白话异常检测算法Isolation Forest
  7. 《java 进阶之路》 上--推荐书籍
  8. 比特币交易手续费_投资人跑步进军比特币,OKEx交易手续费最高打6折
  9. 安卓能硬改的手机机型_手机后盖材质,金属比塑料的好,玻璃比金属的好,是这样么?...
  10. docker+selenium grid解决node执行经常卡死
  11. 轻松搞定 Nginx 配置代码的神器!
  12. 我的世界SkyPixel像素天空HTML官网源码
  13. [转载] PYTHON 字符串转换为二进制字符串,二进制字符串转换为字符串
  14. 动易访问mysql_服务器如何设置动易系统数据库路径的方法
  15. ftp文件下载工具,四款超级好用的ftp文件下载工具
  16. solidworks 2016 crack
  17. 2020-12-14读书笔记《日日是好日》
  18. 手机如何测光照度_手机摄影,如何进行准确的测光?一篇文章教会你玩转“测光”...
  19. ccsa安学网小程序_CCSA安学网题库及答案
  20. 数据库课程设计(电脑配件库存管理系统)

热门文章

  1. Win10 cmd 切换磁盘路径
  2. hp打印机 用dot口打印过慢问题解决方案:
  3. 平安医疗科技疾病问答迁移学习(CHIP-STS)
  4. [Kerberos原理]-- 趣味故事讲解Kerberos认证原理过程
  5. 堆排序——我欲修仙(功法篇)
  6. 国产C919大型客机已经接到235架飞机定单
  7. 查全率(precison)和查准率(recall)
  8. 科技新品 | FOSSIL太阳能系列限量腕表;富士通40ppm高速扫描仪;Apple AirTag安全支架...
  9. 图像检测系列之(12)异常检测(13)拼接伪造(14)deepfake | ICCV2021生成对抗GAN汇总梳理...
  10. python语言应用 智慧树满分章节测试答案_2020知到答案 Python语言应用 最新智慧树满分章节测试答案...