videoget破解
VideoGet是一款高性能的在线视频下载工具,号称支持100多个视频共享网站的视频下载,界面简单漂亮,选项不少。它可以让你轻松网络上的视频。它还可以自动的帮助你转换视频格式 (avi, mpg, flv, mp4),并支持批量转换。自动升级的脚本保证您始终拥有最新版本。
这是软件的基本资料,用过几次还是很好用的,可以下载youtube资源,速度也不错,并且可以转换格式,但有点不爽的就是有次数限制,试过几个网上的序列号和补丁,在我的版本上都不能通过,反正也闲的蛋疼,crack一下吧。
过程还是很简单的,首先载入peid,发现程序使用dephi写的,那就直接用dede看一下吧,找到注册按钮相关事件过程,
006CB1FC /. 55 push ebp
006CB1FD |. 8BEC mov ebp, esp
006CB1FF |. 33C9 xor ecx, ecx
006CB201 |. 51 push ecx
006CB202 |. 51 push ecx
006CB203 |. 51 push ecx
006CB204 |. 51 push ecx
006CB205 |. 53 push ebx
006CB206 |. 8BD8 mov ebx, eax
006CB208 |. 33C0 xor eax, eax
006CB20A |. 55 push ebp
006CB20B |. 68 F2B26C00 push 006CB2F2
006CB210 |. 64:FF30 push dword ptr fs:[eax]
006CB213 |. 64:8920 mov dword ptr fs:[eax], esp
006CB216 |. 8D55 F8 lea edx, dword ptr [ebp-8]
006CB219 |. 8B83 08030000 mov eax, dword ptr [ebx+308]
006CB21F |. E8 30E8D8FF call 00459A54 ; 取得注册码
006CB224 |. 8B45 F8 mov eax, dword ptr [ebp-8]
006CB227 |. 8D55 FC lea edx, dword ptr [ebp-4]
006CB22A |. E8 75FBFFFF call 006CADA4
006CB22F |. 8B45 FC mov eax, dword ptr [ebp-4]
006CB232 |. E8 F1A8FFFF call 006C5B28 ; 关键运算
006CB237 |. 84C0 test al, al
006CB239 74 64 je short 006CB29F
006CB23B |. 8B45 FC mov eax, dword ptr [ebp-4]
006CB23E |. 50 push eax
006CB23F |. 8B15 4C417000 mov edx, dword ptr [70414C] ; VideoGet.007082CC
006CB245 |. 8B12 mov edx, dword ptr [edx]
006CB247 |. B9 08B36C00 mov ecx, 006CB308 ; ASCII "LicKey"
006CB24C |. B8 01000080 mov eax, 80000001
006CB251 |. E8 FAB7F8FF call 00656A50
006CB256 |. 8B45 FC mov eax, dword ptr [ebp-4]
006CB259 |. 50 push eax
006CB25A |. 8B15 4C417000 mov edx, dword ptr [70414C] ; VideoGet.007082CC
006CB260 |. 8B12 mov edx, dword ptr [edx]
006CB262 |. B9 08B36C00 mov ecx, 006CB308 ; ASCII "LicKey"
006CB267 |. B8 02000080 mov eax, 80000002
006CB26C |. E8 DFB7F8FF call 00656A50
006CB271 |. A1 4C3F7000 mov eax, dword ptr [703F4C]
006CB276 |. 8B00 mov eax, dword ptr [eax]
006CB278 |. E8 F3AEFFFF call 006C6170
006CB27D |. 6A 00 push 0
006CB27F |. 8D55 F4 lea edx, dword ptr [ebp-C]
006CB282 |. B8 18B36C00 mov eax, 006CB318 ; ASCII "cSKeyValid"
006CB287 |. E8 F498F6FF call 00634B80
006CB28C |. 8B45 F4 mov eax, dword ptr [ebp-C]
006CB28F |. 66:8B0D 24B36>mov cx, word ptr [6CB324]
006CB296 |. B2 02 mov dl, 2
006CB298 |. E8 AB01D7FF call 0043B448
006CB29D |. EB 28 jmp short 006CB2C7
006CB29F |> 6A 00 push 0
006CB2A1 |. 8D55 F0 lea edx, dword ptr [ebp-10]
006CB2A4 |. B8 30B36C00 mov eax, 006CB330 ; ASCII "cSKeyInvalid"
006CB2A9 |. E8 D298F6FF call 00634B80
过程很清晰,似乎把006CB239 nop掉就了事,经过试验,nop掉006CB239是会弹出注册成功,但其实还是没有注册上,猜想应该是在进行验证算法的时候,由于我们的注册码是错误的,其他相关变量就被赋值为了注册失败时的值,跟踪全部过程似乎太麻烦,直接去到算法验证的地方,006C5B28 /$ 55 push ebp
006C5B29 |. 8BEC mov ebp, esp
006C5B2B |. 6A 00 push 0
006C5B2D |. 53 push ebx
006C5B2E |. 56 push esi
006C5B2F |. 57 push edi
006C5B30 |. 8BF0 mov esi, eax
006C5B32 |. 33C0 xor eax, eax
006C5B34 |. 55 push ebp
006C5B35 |. 68 825B6C00 push 006C5B82
006C5B3A |. 64:FF30 push dword ptr fs:[eax]
006C5B3D |. 64:8920 mov dword ptr fs:[eax], esp
006C5B40 |. 33DB xor ebx, ebx
006C5B42 |. 8D55 FC lea edx, dword ptr [ebp-4]
006C5B45 |. 8BC6 mov eax, esi
006C5B47 |. E8 8848F9FF call 0065A3D4
006C5B4C |. BE 10270000 mov esi, 2710
006C5B51 |. BF 98976F00 mov edi, 006F9798
006C5B56 |> 8B07 /mov eax, dword ptr [edi]
006C5B58 8B55 FC mov edx, dword ptr [ebp-4]
006C5B5B |. E8 D0F2D3FF |call 00404E30 ; 明码比较?
006C5B60 |. 75 04 |jnz short 006C5B66
006C5B62 |. B3 01 |mov bl, 1
006C5B64 |. EB 06 |jmp short 006C5B6C
006C5B66 |> 83C7 04 |add edi, 4
006C5B69 |. 4E |dec esi
006C5B6A |.^ 75 EA \jnz short 006C5B56
006C5B5B会出现明码,分别放在eax和edx中,eax是全部变量,是一个明码数组,edx则是我们填入注册码经过一系列运算得来的,至于它怎么运算的我们不去管,直接修改
006C5B58 8BD0 mov edx, eax
006C5B5A 90 nop
则可以crack成功,此程序有重启验证,把我们输入的注册码放入注册表中,但不管注册码为何值,经过我们修改后的程序都能成功crack。
这个方法可以用于最新版。
在调试过程中,关键字符串均不能被od字符串查找搜索到,发现很多字符串都是动态分配在堆中的,当然od还是可以暴力搜索到,但此方法还是有一定的抗分析功效。
http://dl.dbank.com/c0224yx0dq,这是我修改后的exe,覆盖原先的即可