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

新160个crackme - 057-bbbs-crackme04

运行分析

在这里插入图片描述

  • 因软件版本老旧,需使用windows XP虚拟机运行
  • 有个SystemID,值为12345678
  • 需破解User ID和Password

PE分析

在这里插入图片描述

  • yC壳,32位

OD手动脱壳

在这里插入图片描述

  • 使用windows XP虚拟机,将程序拖入OD
  • 按一下F8,ESP变红,根据ESP定律设置硬件断点
  • 按一下F9,然后持续F8跟进,直到4017AC,发现上面有个push 0x60,判断4017AC为OEP
  • 右键 -> 用Ollydump脱壳调试进程,将修正为地址改为17AA,点击脱壳,保存为1.exe

在这里插入图片描述

  • 脱壳成功,发现是C++程序

静态分析&动态调试

在这里插入图片描述

  • ida搜索字符串,进入关键函数

在这里插入图片描述

  • 还需直到关键判断函数sub_4011B0的逻辑

在这里插入图片描述

  • 进入sub_4011B0,注释如上图,逻辑如下:
  • 1、Password长度为8
  • 2、提取Name每个字符进行计算,得到v6
  • 3、将system_id和Password转int
  • 4、若v8^v9==v6,返回1,即可弹窗成功

算法分析

from ctypes import *UserID = 'concealbear'
SystemID = '12345678'v6 = c_uint32(305419896)
for i in range(len(UserID)):v6.value = ((2 * v6.value) | (v6.value >> 7)) ^ ord(UserID[i])Password = hex(int(SystemID,16) ^ v6.value)[2:]print(UserID + '的Password为:\n' + Password)

在这里插入图片描述

http://www.lryc.cn/news/438695.html

相关文章:

  • 车机中 Android Audio 音频常见问题分析方法实践小结
  • 湘大 OJ 代码仓库
  • Ruoyi Cloud K8s 部署
  • OpenGL Texture C++ Camera Filter滤镜
  • 基于Sobel算法的边缘检测设计与实现
  • java:练习
  • 大数据中一些常用的集群启停命令
  • Golang、Python、C语言、Java的圆桌会议
  • C语言编译原理
  • 【c++】类和对象(下)(取地址运算符重载、深究构造函数、类型转换、static修饰成员、友元、内部类、匿名对象)
  • Apache POI 学习
  • 福建科立讯通信 指挥调度管理平台 SQL注入漏洞
  • 4.qml单例模式
  • CACTI 0.8.7 迁移并升级到 1.2.7记录
  • OrionX vGPU 研发测试场景下最佳实践之Jupyter模式
  • 国风编曲:了解国风 民族调式 五声音阶 作/编曲思路 变化音 六声、七声调式
  • HTTP 响应状态码详解
  • 在服务器上开Juypter Lab教程(远程访问)
  • 【硬件模块】SHT20温湿度传感器
  • Redhat 8,9系(复刻系列) 一键部署Oracle23ai rpm
  • SIPp uac.xml 之我见
  • 引领智能家居新风尚,WTN6040F门铃解决方案——让家的呼唤更动听
  • Android 蓝牙服务启动
  • 【安全系列--处理挖矿】
  • SpringBoot集成Thymeleaf模板引擎,为什么使用(详细介绍)
  • Docker突然宣布:涨价80%
  • 工厂方法模式和抽象工厂模式
  • 【星海出品】go语言环境兼install
  • Spring 源码解读:自定义实现BeanPostProcessor的扩展点
  • Spring Boot-分布式系统问题