运行分析

- 需要破解Name和Serial
- 点击Check It!按钮没反应
PE分析

- C++程序,32位,无壳
静态分析&动态调试

- ida搜索字符串,双击进入关键函数


- 进行动态调试,逻辑如下:
- 1、Name长度为5~20,Serial长度与Name长度相等
- 2、提取Name和常量str1="31415926535897932384"每一位进行计算,得到v5
- 3、v5与Serial相等则弹窗成功
算法分析
Name = 'bears'
Serial = ''
str1 = '31415926535897932384'
for i in range(len(Name)):
v5 = 2 * (ord(Name[i]) % ord(str1[i]))
if (v5 > 123):
v5 -= 26;
if (v5 < 65):
v5 = 130 - v5;
if (v5 > 91 and v5 < 97):
v5 = v5 % 10 + 48;
Serial += chr(v5)
print(Name + '的Serial为:\n' + Serial)

- 计算得出的Serial不能有不可见字符,因此Name用"bears"

- 验证成功











![[云] Getting Started with Kubernetes - Environment setup 环境配置](https://i-blog.csdnimg.cn/direct/ad13cc74b1f54438a56ee36420730c16.png)







