5.Andrénalin.1.exe

1. 运行程序

Pasted image 20250409000539
报错信息
Pasted image 20250409000549

2. 分析程序

2.1. 直接修改

通过字符串定位到关键代码位置
可以看到这里提示成功,上面有一个跳转
Pasted image 20250409001000
看一下跳转到那里,发现跳转到失败
Pasted image 20250409001051

所以第一种方法就是 修改 jejmp 或者 jne 或者直接Nop掉

2.2. 算法分析

分析跳转代码前面的代码。发现有那个特殊的字符串 我们下一个断点,前面的传参代码也下个断点
Pasted image 20250409001325
还可以发现这个字符串后面有一个比较函数ds:[00403108]=0F01F8F6 (Msvbvm50.__vbaStrCmp)

我们下好断点了运行,随便输入一个注册码
Pasted image 20250409001805
把我们输入的注册码传给ecx 然后把Ecx入栈
然后把这个特殊字符串压入栈中,和我们的注册码一起作为参数传给比较函数。比较的结果是-1 传入Eax中
Pasted image 20250409002008
后面的代码一直到跳转代码,都会受到这个比较结果的影响,所以这个注册码就是这个特殊字符串
00401A54=Andréna.00401A54 (UNICODE "SynTaX 2oo1")
Pasted image 20250409002416