新160个crackme - 009-Boonz-KeygenMe#1

运行分析

在这里插入图片描述
在这里插入图片描述

  • username长度为4~50
  • 验证失败返回Hello, Mr. Badboy!

PE分析

在这里插入图片描述

  • ASM程序,32位,无壳

静态分析

在这里插入图片描述
在这里插入图片描述

  • 找到关键字符串,进入主要函数并分析
  • 将username进行计算得到v0,再通过v0计算得到password1、password2、password3,拼接获得真正password

动态调试

在这里插入图片描述

  • 输入username=1234,下断点运行,运行到上图位置,发现真正password

在这里插入图片描述

  • 输入password=Bon-FFFFFF9A-FFEFCEA8-41720F48,返回Hello, Mr. Goodboy!,破解成功


在这里插入图片描述

  • 查看password1的地址为0040E0F8

算法分析


username = 'concealbear'
password = ''
password1 = ''
password2 = ''
password3 = ''
password_adress = 0x0040E0F8

# 计算v0的值
v0 = 0
for v1 in range(len(username)):
    v0 -= ord(username[v1]) - 25
v0 = 0xffffffff + 1 + v0        # 因为v0为负数,转为8位16进制

password1 = hex(v0)[2:].upper()
password2 = hex(v0 * v0 * v0)[-8:].upper()
password3 = hex(password_adress * password_adress - password_adress)[-8:].upper()
password = 'Bon-' + password1 + '-' + password2 + '-' + password3

print(username + '的password为:\n' + password)

在这里插入图片描述
在这里插入图片描述

  • 输入任意username,执行算法得到passowrd,验证破解成功
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值