CrackMe —— 020

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

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

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

来源 <-点击查看

编号 作者 保护方式
020 Brad Soblesky Name/Serial

工具

x32dbg

peid

scylla

DelphiDecompiler

开始破解之旅

ON.1

首先使用PEID程序进行查壳,发现存在wwpack32压缩壳

我们使用x32dbg打开020号程序,程序停在了入口处

我们使用ESP定律来脱壳

我们F8一次,此时观察右边寄存器窗口

我们看见ESP已经变成了红色,右键点击“在内存窗口转到”

此时我们已经下好了断点,F9运行,停在了我们的OEP附近

F8一下,就来到了我们的OEP

在这里我们打开scylla,按照图中顺序我们一次进行

此时再用我们的PEID进行查壳,发现已经没有壳了

ON.2

爆破方式

我们使用 DelphiDecompiler程序打开020软件

我们在x32dbg中跳转到0044A2E8这个地址同时下断点,我们在输入框内输入任意数据点击spider按钮,此时程序停在了我们的断点处

我们单步向下走

0044A373 | 8B83 F0020000            | mov eax,dword ptr ds:[ebx+2F0]          | ebx+2F0:"B"
0044A379 | E8 8EA0FDFF | call bullet.8_dump_scy.42440C |
0044A37E | 8B55 F0 | mov edx,dword ptr ss:[ebp-] |
0044A381 | | pop eax |
0044A382 | E8 6198FBFF | call bullet.8_dump_scy.403BE8 |
0044A387 | 0F | jne bullet.8_dump_scy.44A398 | 此处关键跳
0044A389 | B2 | mov dl, |
0044A38B | 8B83 FC020000 | mov eax,dword ptr ds:[ebx+2FC] | ebx+2FC:"B"
0044A391 | E8 669FFDFF | call bullet.8_dump_scy.4242FC |
0044A396 | EB | jmp bullet.8_dump_scy.44A3A9 |
0044A398 | 8B83 D4020000 | mov eax,dword ptr ds:[ebx+2D4] | ebx+2D4:"@"
0044A39E | 8B50 | mov edx,dword ptr ds:[eax+] |
0044A3A1 | 83EA 0A | sub edx,A |
0044A3A4 | E8 4398FDFF | call bullet.8_dump_scy.423BEC |
0044A3A9 | 8B83 D4020000 | mov eax,dword ptr ds:[ebx+2D4] | ebx+2D4:"@"
0044A3AF | | cmp dword ptr ds:[eax+], | :''

我们将0044A387处将JNE修改为NOP,F9运行

bingo ~ 破解成功,奖杯出来了

爆破方式

查看代码可得0044A34B地址处为key计算处

输入数据转10进制 * 3 得出了3E74984B

下面是python代码

int('0x3E74984B',16)/3

结果为 349276185

bingo ~ 破解成功,追码成功

最新文章

  1. Ajax跨域:jsonp还是CORS
  2. 参考__Linux
  3. inline-block 左边固定,右边自适应
  4. background-position 用法详细介绍
  5. JS刷新页面的几种方法(转)
  6. CentOS中基于不同版本安装重复包的解决方案
  7. Base64 encode/decode large file
  8. Git详细教程---多人协作开发
  9. How To:禁用ubuntu全局菜单(global menu)的方法
  10. MapReduce 入门之一步步自实现词频统计功能
  11. JS中的闭包问题
  12. ASP.NET MVC 网页应用 action 传递的Model
  13. 第五节:从源码的角度理解各种Result(ActionResult、JsonResult、JavaScriptResult等)
  14. Kde桌面的Mac化
  15. (转载)sqlmap用户手册详解
  16. Effective Java 第三版——69. 仅在发生异常的条件下使用异常
  17. XOR+base64加密
  18. (1)HomeAssistant 安装开始
  19. sql 2012的补丁 SP4下载地址
  20. java 线程Thread 技术--线程创建源码解释

热门文章

  1. java IO流读取图片供前台显示
  2. c# word 插入图片问题
  3. .net core 中的多环境配置
  4. sql实现MD5加密
  5. PHP微信发红包简明教程
  6. 修改Ubuntu系统的用户名和主机名
  7. JavaScript核心知识点
  8. JDBC链接数据库MySQL 8.0 Public Key Retrieval is not allowed 错误的解决方法
  9. 彻底解决springboot修改页面和代码会自动重启
  10. apache添加ssl协议实现用户认证