运行分析
提示选择Keyfile,选择后弹出错误的Keyfile,需要先破解Keyfile 还需要破解Name和Serial
PE分析
静态分析&动态调试
ida动态调试,找到关键判断,发现是选择文件和str_Runtime_Error__比较,相等则跳过错误弹窗 双击str_Runtime_Error__,发现值为Runtime Error: 12FF:024
同目录下创建1.txt 内容为Runtime Error: 12FF:024,保存
进入Gratulations字符串所在的函数 动态调试进行分析,得到如下结论: 1、对Name每个字符进行累加计算,得到v11 2、对v11进行循环累加计算 3、将v11转字符串,赋值给v27 4、v27第3、5位插入’-’ 5、比较v27与Serial,相等弹窗成功
算法分析
Name = 'concealbear'
v10 = 0
v11 = 0
v25 = 0
for i in range ( len ( Name) ) :
v25 += 1
if v25 + v10 >= ord ( Name[ i] ) :
v10 = v25 + v10 - ord ( Name[ i] )
else :
v10 = 0xff + 1 + v25 + v10 - ord ( Name[ i] )
v11 += v10
while v11 < 17293 :
v11 += 17894
v27 = str ( v11)
Serial = v27[ 0 : 2 ] + '-' + v27[ 2 : 3 ] + '-' + v27[ 3 : ]
print ( Name + '的Serial为:\n' + Serial)