一个vb程序的破解重启验证、文件验证

File下载:https://files.cnblogs.com/tk091/NetworkbAttack.zip

继续学习,通过注册,提示信息已保存,重启程序。

那么,就有可能是保存在注册表或者文件中,我们随便输入一个假码,然后关闭程序,打开程序对应目录下的文件看看,发现在

zcm.inf中有我们输入的注册码。

OD载入,bp CreateFileA,取消断点,返回到程序领空(返回到下面的第二行)。

1 00407344   .  FF15 C4104000 call dword ptr ds:[<&MSVBVM60.__vbaFileOpen>]   ;  MSVBVM60.__vbaFileOpen
2 0040734A   .  8D45 90       lea eax,dword ptr ss:[ebp-0x70]
3 0040734D   .  50            push eax
4 0040734E   .  8D4D 94       lea ecx,dword ptr ss:[ebp-0x6C]
5 00407351   .  51            push ecx
6 00407352   .  6A 02         push 0x2
7 00407354   .  FF15 E0104000 call dword ptr ds:[<&MSVBVM60.__vbaFreeStrList>>;  MSVBVM60.__vbaFreeStrList

我们继续往下走,找到文件读取完毕。

1 00407509   .  FF15 74104000 call dword ptr ds:[<&MSVBVM60.__vbaFileClose>]  ;  MSVBVM60.__vbaFileClose
2 0040750F   .  A1 18944000   mov eax,dword ptr ds:[0x409418]
3 00407514   .  85C0          test eax,eax
4 00407516   .  75 10         jnz short 网络攻击.00407528
5 00407518   .  68 18944000   push 网络攻击.00409418
6 0040751D   .  68 A83A4000   push 网络攻击.00403AA8

文件读取完毕后,就会有一段算法,一般是   机器码=f(注册码)  或者    f(机器码/用户名)=f(注册码)

在做完算法,然后就开始释放字符串,释放对应的空间,

我们只是爆破,不研究算法,所以继续往下走。

1 00407761   .  66:85FF       test di,di
2 00407764      74 29         je short 网络攻击.0040778F                          ;  关键跳
3 00407766   .  8B06          mov eax,dword ptr ds:[esi]
4 00407768   .  56            push esi
5 00407769   .  FF90 00030000 call dword ptr ds:[eax+0x300]

只要找到关键跳,就OK了,等以后把IDA学好了,就可以分析下算法。

原文地址:https://www.cnblogs.com/tk091/p/2491195.html