新160个crackme - 053-devilz KeyGen me#3

运行分析

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

  • 解压出来4个文件
  • 运行程序发现要破解Name和Serial

PE分析

在这里插入图片描述

  • 32位,petite壳

手动脱壳

在这里插入图片描述

  • 使用windows XP虚拟机OD打开程序
  • 按2下F8,发现ESP变红,根据ESP定律,在该地址右键 -> HW break下断点

在这里插入图片描述

  • 继续按2下F9,来到灰色代码处
  • 右键 -> 分析 -> 分析代码

在这里插入图片描述

  • 向上发现401000疑似OEP
  • 右键 -> 用OllyDump脱壳调试进程

在这里插入图片描述

  • 将修正为:改为1000,点击脱壳,保存为1.exe

在这里插入图片描述

  • 脱壳成功,是ASM程序

静态分析&动态调试

在这里插入图片描述

  • ida找到关键字符串,双击进入

在这里插入图片描述

  • ida静态分析,注释如上,得到以下结论:
  • 第一个循环:将Name倒序
  • 第二个循环:Name每个字符与0x30亦或
  • 第三个循环:Serial每个字符与0x20亦或
  • 第四个循环:比较Name和Serial亦或后的每个字符,全部相等则弹窗成功

算法分析

Name = 'cOncealbear'
Serial = ''

Names = Name[::-1]
for i in Names:
    Serial += chr(ord(i) ^ 0x30 ^ 0x20)

print(Name + '的Serial为:\n' + Serial)

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

  • 结果可能存在不可见字符,多试几次就可以排除
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值