运行分析
- 需破解用户名和注册码
PE分析
- Delphi程序,32位,无壳
静态分析&动态调试
- ida找不到字符串,根据Delphi程序逻辑,双击进入cls_Unit1_TForm1查找
- 向下翻找后发现4个事件,逐个分析
- 动调_TForm1_Edit1Change函数,需要破解关键函数bool_1
- 动调TForm1_Edit2Change事件函数,发现输入用户名或注册码时会触发此函数,分析逻辑如上,目标是bool_1 = 1
算法分析
Username = 'concealbear'v8 = 0x12DFD16
for i in range(len(Username)):v8 += ord(Username[i]) ^ 0xCA
Serial = v8 ^ 0x19840808print(hex(Serial)[2:])
- 破解成功