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学好了,就可以分析下算法。