运行分析
- 需破解Name和Serial
- 有指定Name或Serial长度
PE分析
- LCC-Win32编写的C语言程序,32位,无壳
静态分析&动态调试
- ida找到可以字符串,双击进入
- 程序比较简单,直接静态分析,注释如上,逻辑如下:
- 1、Name和Serial长度要相等,且长度大于3
- 2、Name和Serial每一位需满足Serial[i] = a2039[Name[i]-32]
- 3、常量a2039的值为"203945709398475029384750293875577934765620110289347563929867122287863095762304984875020398746563"
算法分析
Name = 'concealbear'
Serial = ''
a2039 = '203945709398475029384750293875577934765620110289347563929867122287863095762304984875020398746563'
for i in range(len(Name)):
Serial += a2039[ord(Name[i])-32]
print(Name + '的Serial为:\n' + Serial)
- 验证成功