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

新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)

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

  • 结果可能存在不可见字符,多试几次就可以排除
http://www.lryc.cn/news/434941.html

相关文章:

  • ORA-12514
  • MyBatis-PlusDruid数据源
  • C#中chart绘制曲线
  • c++数据结构算法题讲解
  • 间隙锁在其他数据库管理系统中的类似实现
  • OpenCV 与 YoloV3的结合使用:目标实时跟踪
  • Worse is Better
  • Python Web 框架篇:Flask、Django、FastAPI介绍及其核心技术
  • 【Qt网络编程基础】Tcp服务器和客户端(只支持一对一)
  • 平台开发到落地详解:从食堂采购系统源码到可视化供应链管理数据大屏
  • 静态内部类
  • Vue+SpringBoot+数据库整体开发流程 1
  • 百度Apollo打通与ROS的通信,扩展自动驾驶系统生态
  • Web3 项目安全手册
  • AI边缘计算在安防领域的智能化革新:赋能安防系统的智能化升级
  • vscode配置C/C++环境(保姆级详细教程)
  • MDK keil STM32 局部变量不能查看值,显示为not in scope
  • 表连接查询之两个left join与递归SQL
  • 2024.9.10
  • 22_图论中的高级数据结构
  • axure判断
  • 【开源大模型生态7】华为的盘古大模型
  • SprinBoot+Vue远程教育网站的设计与实现
  • docker的基本操作
  • 理解 RabbitMQ:生产者、连接、通道、交换机、队列与消费者的消息流
  • 【截图服务 +打包】pkg打包 puppeteer
  • 深入理解Servlet的并发处理机制小波制图流程图
  • Ajax和XMLHttpRequest之间的关系
  • Linxu系统:kill命令
  • 解决缺少genconfig