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

新160个crackme - 088-[KFC]fish‘s CrackMe

运行分析

在这里插入图片描述

  • 需破解用户名和RegKey

PE分析

在这里插入图片描述

  • C++程序,32位,无壳

静态分析&动态调试

在这里插入图片描述

  • ida函数窗口逐个查看,找到关键函数sub_401440

在这里插入图片描述

  • ida无法动调,需使用OD,启用StrongOD插件才可以动调
  • ida静态分析,逻辑如下:
  • 1、猜测this[25]是Serial
  • 2、第一个循环:通过提取Serial每一位进行累加计算得到Serial_ascii_plus
  • 3、通过关键判断函数cmp,返回值为1时,程序返回成功弹窗

在这里插入图片描述

  • 分析cmp函数,逻辑如下:
  • 1、定义字符串s = ‘KEY-KANON’
  • 2、第一个循环:提取Name每一位累加得到Name_ascii_plus
  • 3、第二个循环:提取s每一位和Name_ascii_plus进行累加计算,得到v3
  • 4、若v3和Serial_ascii_plus相等,则返回1

算法分析

  • 算法逻辑:
  • 1、先确定Name,通过cmp中的函数计算得到v3
  • 2、判断Serial为9位,由于是累加计算,默认前8位 = (v3//9) ^ 0xAA
  • 3、Serial最后一位补上v3//9的余数,即Serial第9位 = (v3 // 9 + v3 % 9) ^ 0xAA

Name = 'concealbear'
s = 'KEY-KANON'# 计算Name_ascii_plus
Name_ascii_plus = 0
v3 = 0
for i in range(len(Name)):Name_ascii_plus += ord(Name[i])
for j in range(0,9):v3 += (Name_ascii_plus * ord(s[j]) % 26 + 97) ^ 0xAA# 计算RegKey
char0_7 = (v3 // 9) ^ 0xAA
char8 = (v3 // 9 + v3 % 9) ^ 0xAA
RegKey = chr(char0_7) * 8 + chr(char8)print(Name + '的RegKey为:\n' + RegKey)

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

  • 验证成功

http://www.mrgr.cn/news/62829.html

相关文章:

  • ubuntu基于docker-compose部署mysql5.7和mysql8.0
  • WUP-MY-POS-PRINTER 旻佑热敏打印机票据打印uniapp插件使用说明
  • 使用 Kibana 将地理空间数据导入 Elasticsearch 以供 ES|QL 使用
  • [面试题]ES6 Javascript
  • Leecode热题100-287.寻找重复数
  • Python 自动化运维:数据库操作
  • Telegram bot教程:通过BotFather设置Telegram bot的命令菜单
  • Java Executor ScheduledThreadPoolExecutor 总结
  • DBeaver如何查看ER图
  • Python定义与调用函数
  • 【AI时代】普通程序员想投身AI大模型行业,该如何快速入局
  • DAY67WEB 攻防-Java 安全JNDIRMILDAP五大不安全组件RCE 执行不出网
  • 服务器宝塔安装哪吒监控
  • 数据结构(8.5_1)——归并排序
  • 通过QAxObject关闭已经打开的指定名称的Word文档
  • 【安装配置教程】一、windows安装并配置java8
  • RabbitMQ怎么保障消息的可靠性
  • aab上架谷歌市场流程(apk)
  • python爬取旅游攻略(1)
  • 强化学习数学基础学习(三)
  • 【随笔】为什么transformer的FFN先升维后降维FFN的作用
  • 搜维尔科技:Manus数据手套在水下捕捉精确的手指动作, 可以在有水的条件下使用
  • 全面解析云渲染:定义、优势、分类与发展历程
  • java-参数传递与接收
  • 基于SSM+小程序的宿舍管理系统(宿舍1)
  • 【VM实战】VMware迁移到VirtualBox