新160个crackme - 096-xtFusion-k1
运行分析
- 需破解Name和Serial
PE分析
- C++程序,32位,无壳
静态分析&动态调试
- ida搜索字符串,找到关键函数
- 静态分析关键函数,逻辑如上
- 进行动态调试,直接双击伪代码中的int_1、int_2、int_3,发现存在偏移,判断ida分析有误
- 直接在汇编代码中双击参数,得到int_1、int_2、int_3初始值
算法分析
Name = 'concealbear'
int_1 = 0x0060ff5c
int_2 = 0x00401220
int_3 = 0x00401220
for i in range(len(Name)):
int_1 += 80 * ord(Name[i])
int_2 = (int_2 + int_1) ^ 0x32;
int_3 += 4 * int_2;
int_4 = int_1 + int_3 + int_2
Serial = hex(int_4)[2:]
print(Name + '的Serial为:\n' + Serial)
- 验证成功