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


  • 验证成功
相关推荐
PAK向日葵8 分钟前
【算法导论】PDD 0817笔试题题解
算法·面试
地平线开发者3 小时前
ReID/OSNet 算法模型量化转换实践
算法·自动驾驶
地平线开发者3 小时前
开发者说|EmbodiedGen:为具身智能打造可交互3D世界生成引擎
算法·自动驾驶
sinat_286945193 小时前
AI应用安全 - Prompt注入攻击
人工智能·安全·prompt
星星火柴9364 小时前
关于“双指针法“的总结
数据结构·c++·笔记·学习·算法
艾莉丝努力练剑5 小时前
【洛谷刷题】用C语言和C++做一些入门题,练习洛谷IDE模式:分支机构(一)
c语言·开发语言·数据结构·c++·学习·算法
C++、Java和Python的菜鸟6 小时前
第六章 统计初步
算法·机器学习·概率论
Cx330❀6 小时前
【数据结构初阶】--排序(五):计数排序,排序算法复杂度对比和稳定性分析
c语言·数据结构·经验分享·笔记·算法·排序算法
散1126 小时前
01数据结构-Prim算法
数据结构·算法·图论
起个昵称吧7 小时前
线程相关编程、线程间通信、互斥锁
linux·算法