当前位置: 首页 > 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.mrgr.cn/news/27782.html

相关文章:

  • 【freertos】FreeRTOS时间管理
  • 《硬件架构的艺术》笔记(二):时钟与复位
  • @property的使用
  • 我与Linux的爱恋:进程间通信 匿名管道
  • PL/0-语法分析器
  • 2024.10.8校招 实习 内推 面经
  • 6. Transforms的使用(一)--ToTensor()
  • 长业务事务的离线并发问题
  • RK3568平台(音频篇)Tinyalsa open调用流程
  • 深入理解算法效率:时间复杂度与空间复杂度
  • 如何修改BP神经网络的训练函数,如何自定义BP神经网络的训练函数
  • 论文速递!Auto-CNN-LSTM!新的锂离子电池(LIB)剩余寿命预测方法
  • Vue3.5+ 更新 - 模板引用
  • 删除Cookie原理
  • 智慧农业数据集(一)
  • C++_20_多态
  • Xilinx系FPGA学习笔记(八)FPGA与红外遥控
  • TensorFlow 笔记
  • 离线数仓DWD层
  • 【QT】定时器使用
  • 第R3周:LSTM-火灾温度预测:3. nn.LSTM() 函数详解
  • 鸿蒙之Hello Word 遇坑总结 mac系统 不能预览 提示 Only files in a module can be previewed 解决办法
  • 分贝转换 1 mVpp = 9.03dBmV
  • RISCV64应用符号解析的实现机制
  • 响应式CSS 媒体查询——WEB开发系列39
  • 艾里斑(Airy Disk)与瑞利判据(Rayleigh criterion)