运行分析
- 输入Name和Serial,显示Name至少要5位,输入超过5位Name无弹窗
PE分析
- ASM程序,32位,无壳
静态分析
- ida导入,发现关键字符串,进入关键函数
- 分析主函数
- 找出逻辑:Serial[i] == Name[i] - Name_length - i
动态调试
- 尝试破解成功
算法分析
print("请输入Name:")
Name = input()
Name_length = len(Name)
Serial = ''
for i in range(len(Name)):
Serial += chr(ord(Name[i]) - Name_length)
Name_length -= 1
print(Serial)
- 按照逻辑写出算法,运行后执行成功