hasp 加密狗破解实例解析 hasp 系列加密狗破解有的朋友认为很难,其实不然,只要有足够的耐心和技术基础。是没有问题的。 -------------------------------------------------------------------------------------------------------- 004015FF |. 8D95 ACFBFFFF lea edx,[local.277] 00401605 |. 52 push edx 00401606 |. 8B85 F8FBFFFF mov eax,[local.258] 0040160C |. 50 push eax 0040160D |. 8B8D A8FBFFFF mov ecx,[local.278] 00401613 |. 51 push ecx 00401614 |. 68 D4E54000 push APP.0040E5D4 ; ASCII "EN" 00401619 |. 8B55 E8 mov edx,[local.6] 0040161C |. 52 push edx 0040161D |. E8 8E230000 call ;这个CALL 只要一执行,就死掉,所以必须跟进 00401622 |. 8945 EC mov [local.5],eax 00401625 |. 8B45 EC mov eax,[local.5] 00401628 |> 8B4D F4 mov ecx,[local.3] 0040162B |. 64:890D 00000000 mov fs:[0],ecx 00401632 |. 8B4D E4 mov ecx,[local.7] 00401635 |. E8 C72D0000 call APP.00404401 0040163A |. 8BE5 mov esp,ebp 0040163C |. 5D pop ebp 0040163D \. C3 retn -------------------------------------------------------------------------------------------------------- 6、跟进后出现一下代码,看第一行,就是0040161D 处调用的函数,再看右面的注释,心跳加快,InitSystem,从名字上你都能猜想它会干什么,对,读狗的相关代码就应该在这儿初始化(当然还要初始化其他信息),继续跟进 -------------------------------------------------------------------------------------------------------- 004039B0 $- FF25 C8554000 jmp ds:[<&user_In>] ; InitSystem 004039B6 $- FF25 C4554000 jmp ds:[<&user_Star>] ; StartProgram 004039BC $- FF25 C0554000 jmp ds:[<&user_Mai>] 004039C2 $- FF25 AC544000 jmp ds:[<&XXX_DLL.#3>] 004039C8 $- FF25 A8544000 jmp ds:[<&XXX_DLL.#47>] -------------------------------------------------------------------------------------------------------- 7、跟进后,代码是一系列的IsBadReadPtr,由此判断该处是初始化内存工作,离读狗还用有一段距离。部分代码如下,还...