新160个crackme - 030-Acid Bytes.4

运行分析

  • 需要破解Name和Serial

PE分析

  • upx壳,32位

  • linux系统upx -d 脱壳
  • 脱壳后发现是Delphi程序

静态分析&动态调试

  • ida搜索字符串,找到Your Name must be at least 6 Chars long !,双击进入

  • 发现地址为红色,即函数未定义

  • 选中00457BAC(函数头)- 00457E96(函数尾),按下P创建函数

  • 先静态分析,函数较多

  • 119行下断点动调,发现还需要得到dword_45B840的值

  • 在53行处下断点,发现dword_45B840 = Name[0]*2 + Name[1]*2 +...+Name[5]*2,也就是Name前6位的值相加乘2

算法分析

python 复制代码
Name = 'concealbear'

dword_45B840 = 0
for i in range(0,6):
    dword_45B840 += ord(Name[i]) * 2

Serial = str(2 * len(Name) + dword_45B840)

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


  • 验证成功
相关推荐
浮生如梦_1 小时前
Halcon基于laws纹理特征的SVM分类
图像处理·人工智能·算法·支持向量机·计算机视觉·分类·视觉检测
励志成为嵌入式工程师3 小时前
c语言简单编程练习9
c语言·开发语言·算法·vim
捕鲸叉4 小时前
创建线程时传递参数给线程
开发语言·c++·算法
A charmer4 小时前
【C++】vector 类深度解析:探索动态数组的奥秘
开发语言·c++·算法
wheeldown4 小时前
【数据结构】选择排序
数据结构·算法·排序算法
hikktn5 小时前
如何在 Rust 中实现内存安全:与 C/C++ 的对比分析
c语言·安全·rust
观音山保我别报错5 小时前
C语言扫雷小游戏
c语言·开发语言·算法
TangKenny6 小时前
计算网络信号
java·算法·华为
景鹤6 小时前
【算法】递归+深搜:814.二叉树剪枝
算法
iiFrankie6 小时前
SCNU习题 总结与复习
算法