好友
阅读权限 20
听众
最后登录 1970-1-1
i386 information security team of china by: kernel2008 qq: kernel2008@qq.com
【破文发表】吾爱破解 论坛bbs.52pojie.cn
【用到工具】OD,Peid
【调试平台】深度优化windows xp sp2
【破解目的】出来透透气,以证明偶菜菜的存在,偶向大大们来学习了^_^
【破解缘由】原帖在此http://bbs.52pojie.cn/read.php?t ... llStar%20Video.html
偶是…………,分享,大家一起来玩玩!
软件详细信息: QlV2QSn2
AllStar Video to PSP Converter是一个专业的PSP电影转换软件,可帮助你转换任何视频拷贝播放电影。全明星视频到PSP的转换器是可以转换几乎所有类型的视频文件。
使用Peid查壳显示为:Borland C++ 1999
很好很脆弱,载入目标程序于OD中,先使用OD的插件查找下ASCII,扫描后输入关键字thank(老外就喜欢这么干,偶太了解了^_^)有这么个字符,第一处很可疑的,但实际上不是(多试几下,多下几个断点就OK拉)。查找下一个,嗯,是第二处关键字符来的,跟进去,往上找,找到段首下断点,下面给出这部分的关键代码及其分析如下:
0040DF50 /. 55 push ebp //F2下断,F9运行输入假码就断在这里,F8往下跟踪
0040DF51 |. 8BEC mov ebp,esp
0040DF53 |. 83C4 90 add esp,-70
0040DF56 |. 53 push ebx
0040DF57 |. 56 push esi
0040DF58 |. 57 push edi
0040DF59 |. 8BF0 mov esi,eax
0040DF5B |. 8D5D 94 lea ebx,dword ptr ss:[ebp-6C]
0040DF5E |. B8 485F6100 mov eax,VTPConve.00615F48
0040DF63 |. E8 18761D00 call VTPConve.005E5580
0040DF68 |. 66:C743 10 0800 mov word ptr ds:[ebx+10],8
0040DF6E |. 33D2 xor edx,edx
0040DF70 |. 8955 FC mov dword ptr ss:[ebp-4],edx
0040DF73 |. 8D55 FC lea edx,dword ptr ss:[ebp-4]
0040DF76 |. FF43 1C inc dword ptr ds:[ebx+1C]
0040DF79 |. 8B86 0C030000 mov eax,dword ptr ds:[esi+30C]
0040DF7F |. E8 4C2B1800 call VTPConve.00590AD0
0040DF84 |. 8D4D FC lea ecx,dword ptr ss:[ebp-4]
0040DF87 |. 8B15 D4C46200 mov edx,dword ptr ds:[62C4D4] ; VTPConve._Form1
0040DF8D |. 8B01 mov eax,dword ptr ds:[ecx]
0040DF8F |. 50 push eax ; /Arg2
0040DF90 |. 8B0A mov ecx,dword ptr ds:[edx] ; |
0040DF92 |. 51 push ecx ; |Arg1
0040DF93 |. E8 B893FFFF call VTPConve.00407350//读取假的注册码并比较,F7跟进去,代码如下
0040DF98 |. 83C4 08 add esp,8
0040DF9B |. 84C0 test al,al
0040DF9D |. 0F94C0 sete al
0040DFA0 |. 83E0 01 and eax,1
0040DFA3 |. BA 02000000 mov edx,2
0040DFA8 |. 50 push eax ; /Arg1
0040DFA9 |. 8D45 FC lea eax,dword ptr ss:[ebp-4] ; |
0040DFAC |. FF4B 1C dec dword ptr ds:[ebx+1C] ; |
0040DFAF |. E8 98461F00 call VTPConve.0060264C ; \VTPConve.0060264C
0040DFB4 |. 59 pop ecx
0040DFB5 |. 84C9 test cl,cl
0040DFB7 |. 0F84 CE000000 je VTPConve.0040E08B //关键跳转,爆破就得让它实现,即是改JE为JMP
0040DFBD |. 66:C743 10 1400 mov word ptr ds:[ebx+10],14
0040DFC3 |. 33C0 xor eax,eax
………………………………………………………………
0040DFFA |. 8D45 F4 lea eax,dword ptr ss:[ebp-C]
0040DFFD |. 50 push eax
0040DFFE |. BA 5D5D6100 mov edx,VTPConve.00615D5D ; ASCII " - Unregistered Version"
0040E003 |. 8D45 F0 lea eax,dword ptr ss:[ebp-10]
0040E006 |. E8 E9431F00 call VTPConve.006023F4
………………………………………………………………
0040E075 |. B9 8E5D6100 mov ecx,VTPConve.00615D8E ; ASCII "Note"
0040E07A |. BA 755D6100 mov edx,VTPConve.00615D75 ; ASCII "Wrong Registration Code!"
0040E07F |. 8B00 mov eax,dword ptr ds:[eax]
0040E081 |. E8 32431F00 call VTPConve.006023B8 //弹对话框,错误的注册码
0040E086 |. E9 47020000 jmp VTPConve.0040E2D2
0040E08B |> 66:C743 10 2000 mov word ptr ds:[ebx+10],20 //从关键跳跳过来的,跳向注册成功!
………………………………………………………………
0040E0C9 |. 8D45 E4 lea eax,dword ptr ss:[ebp-1C]
0040E0CC |. 50 push eax
0040E0CD |. BA 935D6100 mov edx,VTPConve.00615D93 ; ASCII " - Registered Version"
0040E0D2 |. 8D45 E0 lea eax,dword ptr ss:[ebp-20]
0040E0D5 |. E8 1A431F00 call VTPConve.006023F4
………………………………………………………………
0040E144 |. B9 DE5D6100 mov ecx,VTPConve.00615DDE
0040E149 |. BA A95D6100 mov edx,VTPConve.00615DA9 ; ASCII "Succeed! Thank you very much for using our software."
0040E14E |. 8B00 mov eax,dword ptr ds:[eax]
0040E150 |. E8 63421F00 call VTPConve.006023B8 //弹对话框,感谢注册^_^
………………………………………………………………
0040E1C3 |. 50 push eax
0040E1C4 |. BA DF5D6100 mov edx,VTPConve.00615DDF //保存注册码到安装目录下Config.ini文件
0040E1C9 |. 8D45 CC lea eax,dword ptr ss:[ebp-34]
0040E1CC |. E8 23421F00 call VTPConve.006023F4
………………………………………………………………
0040E2DB |. 5F pop edi
0040E2DC |. 5E pop esi
0040E2DD |. 5B pop ebx
0040E2DE |. 8BE5 mov esp,ebp
0040E2E0 |. 5D pop ebp
0040E2E1 \. C3 retn
F7跟进后来到此出代码:
00407350 /$ 55 push ebp // 注册算法部分
00407351 |. 8BEC mov ebp,esp
00407353 |. 83C4 C0 add esp,-40
00407356 |. B8 98886000 mov eax,VTPConve.00608898
0040735B |. 53 push ebx
0040735C |. 56 push esi
0040735D |. 57 push edi
0040735E |. 8D7D 0C lea edi,dword ptr ss:[ebp+C]
00407361 |. 8D75 C0 lea esi,dword ptr ss:[ebp-40]
00407364 |. E8 17E21D00 call VTPConve.005E5580
00407369 |. C746 1C 01000000 mov dword ptr ds:[esi+1C],1
00407370 |. 8BD7 mov edx,edi
00407372 |. 8BC7 mov eax,edi
00407374 |. E8 B3B01F00 call VTPConve.0060242C
00407379 |. FF46 1C inc dword ptr ds:[esi+1C]
0040737C |. 33D2 xor edx,edx
0040737E |. 66:C746 10 0800 mov word ptr ds:[esi+10],8
00407384 |. 66:C746 10 1400 mov word ptr ds:[esi+10],14
0040738A |. 8955 FC mov dword ptr ss:[ebp-4],edx
0040738D |. FF46 1C inc dword ptr ds:[esi+1C]
00407390 |. 66:C746 10 0800 mov word ptr ds:[esi+10],8
00407396 |. BB 01000000 mov ebx,1
0040739B |. E9 C5000000 jmp VTPConve.00407465
004073A0 |> 66:C746 10 2000 /mov word ptr ds:[esi+10],20
004073A6 |. 33C0 |xor eax,eax
004073A8 |. 8D55 F8 |lea edx,dword ptr ss:[ebp-8]
004073AB |. 8945 F8 |mov dword ptr ss:[ebp-8],eax
004073AE |. 52 |push edx ; /Arg1
004073AF |. FF46 1C |inc dword ptr ds:[esi+1C] ; |
004073B2 |. 8BD3 |mov edx,ebx ; |
004073B4 |. 8BC7 |mov eax,edi ; |
004073B6 |. B9 01000000 |mov ecx,1 ; |
004073BB |. E8 74B51F00 |call VTPConve.00602934 ; \VTPConve.00602934
004073C0 |. 8D45 F8 |lea eax,dword ptr ss:[ebp-8]
004073C3 |. 50 |push eax
004073C4 |. BA 61696000 |mov edx,VTPConve.00606961
004073C9 |. 8D45 F4 |lea eax,dword ptr ss:[ebp-C]
004073CC |. E8 23B01F00 |call VTPConve.006023F4
004073D1 |. FF46 1C |inc dword ptr ds:[esi+1C]
004073D4 |. 8D55 F4 |lea edx,dword ptr ss:[ebp-C]
004073D7 |. 58 |pop eax
004073D8 |. E8 53B31F00 |call VTPConve.00602730
004073DD |. 50 |push eax
004073DE |. FF4E 1C |dec dword ptr ds:[esi+1C]
004073E1 |. 8D45 F4 |lea eax,dword ptr ss:[ebp-C]
004073E4 |. BA 02000000 |mov edx,2
004073E9 |. E8 5EB21F00 |call VTPConve.0060264C
004073EE |. FF4E 1C |dec dword ptr ds:[esi+1C] ; |
004073F1 |. 8D45 F8 |lea eax,dword ptr ss:[ebp-8] ; |
004073F4 |. BA 02000000 |mov edx,2 ; |
004073F9 |. E8 4EB21F00 |call VTPConve.0060264C ; \VTPConve.0060264C
004073FE |. 59 |pop ecx
004073FF |. 84C9 |test cl,cl
00407401 |. 75 61 |jnz short VTPConve.00407464
00407403 |. 66:C746 10 2C00 |mov word ptr ds:[esi+10],2C
00407409 |. 33C0 |xor eax,eax
0040740B |. 8D55 F0 |lea edx,dword ptr ss:[ebp-10]
0040740E |. 8945 F0 |mov dword ptr ss:[ebp-10],eax
00407411 |. 52 |push edx ; /Arg1
00407412 |. FF46 1C |inc dword ptr ds:[esi+1C] ; |
00407415 |. 8BD3 |mov edx,ebx ; |
00407417 |. 8BC7 |mov eax,edi ; |
00407419 |. B9 01000000 |mov ecx,1 ; |
0040741E |. E8 11B51F00 |call VTPConve.00602934 ; \VTPConve.00602934
00407423 |. 8D55 F0 |lea edx,dword ptr ss:[ebp-10]
00407426 |. 33C0 |xor eax,eax
00407428 |. 8945 EC |mov dword ptr ss:[ebp-14],eax
0040742B |. 8D4D EC |lea ecx,dword ptr ss:[ebp-14]
0040742E |. FF46 1C |inc dword ptr ds:[esi+1C]
00407431 |. 8D45 FC |lea eax,dword ptr ss:[ebp-4]
00407434 |. E8 6BB21F00 |call VTPConve.006026A4
00407439 |. 8D55 EC |lea edx,dword ptr ss:[ebp-14]
0040743C |. 8D45 FC |lea eax,dword ptr ss:[ebp-4]
0040743F |. E8 38B21F00 |call VTPConve.0060267C
00407444 |. FF4E 1C |dec dword ptr ds:[esi+1C]
00407447 |. 8D45 EC |lea eax,dword ptr ss:[ebp-14]
0040744A |. BA 02000000 |mov edx,2
0040744F |. E8 F8B11F00 |call VTPConve.0060264C
00407454 |. FF4E 1C |dec dword ptr ds:[esi+1C]
00407457 |. 8D45 F0 |lea eax,dword ptr ss:[ebp-10]
0040745A |. BA 02000000 |mov edx,2
0040745F |. E8 E8B11F00 |call VTPConve.0060264C
00407464 |> 43 |inc ebx
00407465 |> 833F 00 cmp dword ptr ds:[edi],0
00407468 |. 74 07 |je short VTPConve.00407471
0040746A |. 8B0F |mov ecx,dword ptr ds:[edi]
0040746C |. 8B41 FC |mov eax,dword ptr ds:[ecx-4]
0040746F |. EB 02 |jmp short VTPConve.00407473
00407471 |> 33C0 |xor eax,eax
00407473 |> 3BD8 |cmp ebx,eax
00407475 |.^ 0F8E 25FFFFFF \jle VTPConve.004073A0 //以上是使用一个循环来读取假码
0040747B |. 66:C746 10 3800 mov word ptr ds:[esi+10],38
00407481 |. 33D2 xor edx,edx
00407483 |. 8D45 FC lea eax,dword ptr ss:[ebp-4]
00407486 |. 8955 E8 mov dword ptr ss:[ebp-18],edx
00407489 |. 8D55 E8 lea edx,dword ptr ss:[ebp-18]
0040748C |. FF46 1C inc dword ptr ds:[esi+1C]
0040748F |. E8 90B31F00 call VTPConve.00602824
00407494 |. 8D4D E8 lea ecx,dword ptr ss:[ebp-18]
00407497 |. 51 push ecx //下一句开始出现注册码,
00407498 |. BA 63696000 mov edx,VTPConve.00606963 ; ASCII "assvtpc1829878098768"
0040749D |. 8D45 E4 lea eax,dword ptr ss:[ebp-1C]
004074A0 |. E8 4FAF1F00 call VTPConve.006023F4 //注册机可以在此做
004074A5 |. FF46 1C inc dword ptr ds:[esi+1C]
………………………………………………………………
00407531 |> 5F pop edi
00407532 |. 5E pop esi
00407533 |. 5B pop ebx
00407534 |. 8BE5 mov esp,ebp
00407536 |. 5D pop ebp
00407537 \. C3 retn
追码结果:
assvtpc1829878098768
屏幕录像下载:
<a href="http://www.namipan.com/d/34a3f8c62640ab7ea2ac56794a39c4864a19bfb9334a7000">破解AllStar Video to PSP Converter.zip</a>