运行分析
- 需要破解Name和Serial
PE分析
- upx壳,32位
- linux系统输入:upx -d Crackme2.exe ,脱壳成功
- 查到是ASM程序
静态分析&动态调试
- ida搜索字符串,双击进入函数
- 静态分析,结果如上注释
- 动调调试结果如上
- v5 = Name单个字符累加计算结果
- sub_401383函数作用是将十六进制数转十进制字符串
算法分析
Name = 'concealbear'
v5 = 0
for i in range(len(Name)):
v5 = (ord(Name[i]) >> 1) + ord(Name[i]) * ord(Name[i]) + v5 - ord(Name[i])
Serial = v5
print(Name + '的Serial为:\n' + str(Serial))
- 验证成功