kernel2008 发表于 2008-4-24 13:25

破解AllStar Video to PSP Converter记录

i386 information security team of chinaby: kernel2008qq: kernel2008@qq.com

【破文发表】吾爱破解论坛bbs.52pojie.cn
【用到工具】OD,Peid
【调试平台】深度优化windows xp sp2
【破解目的】出来透透气,以证明偶菜菜的存在,偶向大大们来学习了^_^
【破解缘由】原帖在此http://bbs.52pojie.cn/read.php?tid-1596-keyword-AllStar%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:
0040DF5E|. B8 485F6100    mov eax,VTPConve.00615F48
0040DF63|. E8 18761D00    call VTPConve.005E5580
0040DF68|. 66:C743 10 0800mov word ptr ds:,8
0040DF6E|. 33D2       xor edx,edx
0040DF70|. 8955 FC      mov dword ptr ss:,edx
0040DF73|. 8D55 FC      lea edx,dword ptr ss:
0040DF76|. FF43 1C      inc dword ptr ds:
0040DF79|. 8B86 0C030000   mov eax,dword ptr ds:
0040DF7F|. E8 4C2B1800    call VTPConve.00590AD0
0040DF84|. 8D4D FC      lea ecx,dword ptr ss:
0040DF87|. 8B15 D4C46200   mov edx,dword ptr ds:; VTPConve._Form1
0040DF8D|. 8B01       mov eax,dword ptr ds:
0040DF8F|. 50      push eax             ; /Arg2
0040DF90|. 8B0A       mov ecx,dword ptr ds:    ; |
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:   ; |
0040DFAC|. FF4B 1C      dec dword ptr ds:    ; |
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 1400mov word ptr ds:,14
0040DFC3|. 33C0       xor eax,eax

      ………………………………………………………………

0040DFFA|. 8D45 F4      lea eax,dword ptr ss:
0040DFFD|. 50      push eax
0040DFFE|. BA 5D5D6100    mov edx,VTPConve.00615D5D; ASCII " - Unregistered Version"
0040E003|. 8D45 F0      lea eax,dword ptr ss:
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:
0040E081|. E8 32431F00    call VTPConve.006023B8    //弹对话框,错误的注册码
0040E086|. E9 47020000    jmp VTPConve.0040E2D2
0040E08B|> 66:C743 10 2000mov word ptr ds:,20 //从关键跳跳过来的,跳向注册成功!

      ………………………………………………………………

0040E0C9|. 8D45 E4      lea eax,dword ptr ss:
0040E0CC|. 50      push eax
0040E0CD|. BA 935D6100    mov edx,VTPConve.00615D93    ; ASCII " - Registered Version"
0040E0D2|. 8D45 E0      lea eax,dword ptr ss:
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:
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:
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:
00407361|. 8D75 C0      lea esi,dword ptr ss:
00407364|. E8 17E21D00    call VTPConve.005E5580
00407369|. C746 1C 01000000 mov dword ptr ds:,1
00407370|. 8BD7       mov edx,edi
00407372|. 8BC7       mov eax,edi
00407374|. E8 B3B01F00    call VTPConve.0060242C
00407379|. FF46 1C      inc dword ptr ds:
0040737C|. 33D2       xor edx,edx
0040737E|. 66:C746 10 0800mov word ptr ds:,8
00407384|. 66:C746 10 1400mov word ptr ds:,14
0040738A|. 8955 FC      mov dword ptr ss:,edx
0040738D|. FF46 1C      inc dword ptr ds:
00407390|. 66:C746 10 0800mov word ptr ds:,8
00407396|. BB 01000000    mov ebx,1
0040739B|. E9 C5000000    jmp VTPConve.00407465
004073A0|> 66:C746 10 2000/mov word ptr ds:,20
004073A6|. 33C0       |xor eax,eax
004073A8|. 8D55 F8      |lea edx,dword ptr ss:
004073AB|. 8945 F8      |mov dword ptr ss:,eax
004073AE|. 52      |push edx            ; /Arg1
004073AF|. FF46 1C      |inc dword ptr ds:    ; |
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:
004073C3|. 50      |push eax
004073C4|. BA 61696000    |mov edx,VTPConve.00606961
004073C9|. 8D45 F4      |lea eax,dword ptr ss:
004073CC|. E8 23B01F00    |call VTPConve.006023F4
004073D1|. FF46 1C      |inc dword ptr ds:
004073D4|. 8D55 F4      |lea edx,dword ptr ss:
004073D7|. 58      |pop eax
004073D8|. E8 53B31F00    |call VTPConve.00602730
004073DD|. 50      |push eax
004073DE|. FF4E 1C      |dec dword ptr ds:
004073E1|. 8D45 F4      |lea eax,dword ptr ss:
004073E4|. BA 02000000    |mov edx,2
004073E9|. E8 5EB21F00    |call VTPConve.0060264C
004073EE|. FF4E 1C      |dec dword ptr ds:    ; |
004073F1|. 8D45 F8      |lea eax,dword ptr ss:; |
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:,2C
00407409|. 33C0       |xor eax,eax
0040740B|. 8D55 F0      |lea edx,dword ptr ss:
0040740E|. 8945 F0      |mov dword ptr ss:,eax
00407411|. 52      |push edx            ; /Arg1
00407412|. FF46 1C      |inc dword ptr ds:    ; |
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:
00407426|. 33C0       |xor eax,eax
00407428|. 8945 EC      |mov dword ptr ss:,eax
0040742B|. 8D4D EC      |lea ecx,dword ptr ss:
0040742E|. FF46 1C      |inc dword ptr ds:
00407431|. 8D45 FC      |lea eax,dword ptr ss:
00407434|. E8 6BB21F00    |call VTPConve.006026A4
00407439|. 8D55 EC      |lea edx,dword ptr ss:
0040743C|. 8D45 FC      |lea eax,dword ptr ss:
0040743F|. E8 38B21F00    |call VTPConve.0060267C
00407444|. FF4E 1C      |dec dword ptr ds:
00407447|. 8D45 EC      |lea eax,dword ptr ss:
0040744A|. BA 02000000    |mov edx,2
0040744F|. E8 F8B11F00    |call VTPConve.0060264C
00407454|. FF4E 1C      |dec dword ptr ds:
00407457|. 8D45 F0      |lea eax,dword ptr ss:
0040745A|. BA 02000000    |mov edx,2
0040745F|. E8 E8B11F00    |call VTPConve.0060264C
00407464|> 43      |inc ebx
00407465|> 833F 00      cmp dword ptr ds:,0
00407468|. 74 07       |je short VTPConve.00407471
0040746A|. 8B0F       |mov ecx,dword ptr ds:
0040746C|. 8B41 FC      |mov eax,dword ptr ds:
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 3800mov word ptr ds:,38
00407481|. 33D2       xor edx,edx
00407483|. 8D45 FC      lea eax,dword ptr ss:
00407486|. 8955 E8      mov dword ptr ss:,edx
00407489|. 8D55 E8      lea edx,dword ptr ss:
0040748C|. FF46 1C      inc dword ptr ds:
0040748F|. E8 90B31F00    call VTPConve.00602824
00407494|. 8D4D E8      lea ecx,dword ptr ss:
00407497|. 51      push ecx            //下一句开始出现注册码,
00407498|. BA 63696000    mov edx,VTPConve.00606963    ; ASCII "assvtpc1829878098768"
0040749D|. 8D45 E4      lea eax,dword ptr ss:
004074A0|. E8 4FAF1F00    call VTPConve.006023F4   //注册机可以在此做
004074A5|. FF46 1C      inc dword ptr ds:

      ………………………………………………………………

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>

kernel2008 发表于 2008-4-26 17:40

引用第2楼tianxj于2008-04-24 20:33发表的 :
这是个固定注册码assvtpc1829878098768
是的,注册机的制作是没必要的 。

tianxj 发表于 2008-4-24 20:33

这是个固定注册码assvtpc1829878098768

zzage 发表于 2008-4-24 17:04

LZ尝试一下算法分析......

veryge 发表于 2008-5-12 16:50

ppiaeuiz9 发表于 2008-5-24 05:32

老万 发表于 2009-3-4 20:08

路过学习一下。。。。。。。。
页: [1]
查看完整版本: 破解AllStar Video to PSP Converter记录