【破解作者】 yijun
【作者邮箱】 yijun8354@sina.com
【作者主页】 无
【使用工具】 OD,PEID,c32asm
【破解平台】 Win9x/NT/2000/XP
【软件名称】 屏录专家
【版本信息】 5.5
【下载地址】 天空
【软件简介】    
   优秀的屏幕录象软件,是做动画的好帮手!!!!
   未注册版本将有以下限制:
    1.软件启动时会弹出欢迎注册窗体
    2.生成的AVI、EXE、ASF文件播放时会有“未注册”等字样
    3.不能在生成的AVI、EXE、ASF文件中加入署名或版权声明 
【软件大小】 1.54M
【加壳方式】 无
【破解声明】 我是一只小菜鸟,偶得一点心得,愿与大家分享:)
--------------------------------------------------------------------------------
【破解内容】


   最近看动画感觉现在的动画大多数都是用屏录专家,所以下个来瞧瞧。虽然现在有很多破解版的但是感觉学了破解后
越来越不能容忍用现成的软件了^-^
   好,开始~~~  
   先用PEID查壳知道该软件无壳,Borland C++ 1999编写。OD载入,用了几个OD自带插件查找关键字,但是一用就挂
~~~~~~~所以改用c32asm查找,最后来到以下关键处:

0043896C    55              push ebp  //在此下断
0043896D    8BEC            mov ebp,esp
0043896F    81C4 B8FEFFFF   add esp,-148
00438975    53              push ebx
00438976    8995 38FFFFFF   mov dword ptr ss:[ebp-C8],edx
0043897C    8985 3CFFFFFF   mov dword ptr ss:[ebp-C4],eax
00438982    B8 74CD5000     mov eax,屏录专家.0050CD74
00438987    E8 9C450A00     call 屏录专家.004DCF28
0043898C    66:C785 50FFFFF>mov word ptr ss:[ebp-B0],8
00438995    8D45 FC         lea eax,dword ptr ss:[ebp-4]
00438998    E8 378EFCFF     call 屏录专家.004017D4
0043899D    8BD0            mov edx,eax
0043899F    FF85 5CFFFFFF   inc dword ptr ss:[ebp-A4]
004389A5    8B8D 3CFFFFFF   mov ecx,dword ptr ss:[ebp-C4]
004389AB    8B81 E4020000   mov eax,dword ptr ds:[ecx+2E4]
004389B1    E8 5E860500     call 屏录专家.00491014                     ; 计算注册码位数
004389B6    8D55 FC         lea edx,dword ptr ss:[ebp-4]           ; 假码地址送EDX
004389B9    FF32            push dword ptr ds:[edx]
004389BB    8D45 F8         lea eax,dword ptr ss:[ebp-8]
004389BE    E8 118EFCFF     call 屏录专家.004017D4
004389C3    8BD0            mov edx,eax
004389C5    FF85 5CFFFFFF   inc dword ptr ss:[ebp-A4]
004389CB    8B8D 3CFFFFFF   mov ecx,dword ptr ss:[ebp-C4]
004389D1    8B81 DC020000   mov eax,dword ptr ds:[ecx+2DC]
004389D7    E8 38860500     call 屏录专家.00491014                     ; 计算用户名长度
004389DC    8D55 F8         lea edx,dword ptr ss:[ebp-8]           ; 用户名地址送EDX
004389DF    FF32            push dword ptr ds:[edx]
004389E1    FFB5 3CFFFFFF   push dword ptr ss:[ebp-C4]
004389E7    E8 C40D0000     call 屏录专家.004397B0                     ; 异常
004389EC    83C4 0C         add esp,0C
004389EF    3C 01           cmp al,1
004389F1    0F94C1          sete cl
004389F4    83E1 01         and ecx,1
004389F7    51              push ecx
004389F8    FF8D 5CFFFFFF   dec dword ptr ss:[ebp-A4]
004389FE    8D45 F8         lea eax,dword ptr ss:[ebp-8]
00438A01    BA 02000000     mov edx,2
00438A06    E8 71F80A00     call 屏录专家.004E827C
00438A0B    FF8D 5CFFFFFF   dec dword ptr ss:[ebp-A4]
00438A11    8D45 FC         lea eax,dword ptr ss:[ebp-4]
00438A14    BA 02000000     mov edx,2
00438A19    E8 5EF80A00     call 屏录专家.004E827C
00438A1E    59              pop ecx
00438A1F    84C9            test cl,cl
00438A21    74 48           je short 屏录专家.00438A6B  //跳走

******************************************************************************************************
00438A6B    6A 14           push 14    //从00438A21跳来
00438A6D    6A 00           push 0
00438A6F    8D85 ECFEFFFF   lea eax,dword ptr ss:[ebp-114]
00438A75    50              push eax
00438A76    E8 DD400A00     call 屏录专家.004DCB58
00438A7B    83C4 0C         add esp,0C
00438A7E    33D2            xor edx,edx
00438A80    8995 34FFFFFF   mov dword ptr ss:[ebp-CC],edx
00438A86    6A 14           push 14
00438A88    6A 00           push 0
00438A8A    8D8D 04FFFFFF   lea ecx,dword ptr ss:[ebp-FC]
00438A90    51              push ecx
00438A91    E8 C2400A00     call 屏录专家.004DCB58
00438A96    83C4 0C         add esp,0C
00438A99    6A 14           push 14
00438A9B    6A 00           push 0
00438A9D    8D85 D4FEFFFF   lea eax,dword ptr ss:[ebp-12C]
00438AA3    50              push eax
00438AA4    E8 AF400A00     call 屏录专家.004DCB58
00438AA9    83C4 0C         add esp,0C
00438AAC    66:C785 50FFFFF>mov word ptr ss:[ebp-B0],20
00438AB5    8D45 F0         lea eax,dword ptr ss:[ebp-10]
00438AB8    E8 178DFCFF     call 屏录专家.004017D4
00438ABD    8BD0            mov edx,eax
00438ABF    FF85 5CFFFFFF   inc dword ptr ss:[ebp-A4]
00438AC5    8B8D 3CFFFFFF   mov ecx,dword ptr ss:[ebp-C4]
00438ACB    8B81 DC020000   mov eax,dword ptr ds:[ecx+2DC]
00438AD1    E8 3E850500     call 屏录专家.00491014
00438AD6    8D45 F0         lea eax,dword ptr ss:[ebp-10]
00438AD9    E8 46D2FCFF     call 屏录专家.00405D24                     ; 取用户名
00438ADE    50              push eax
00438ADF    8D95 D4FEFFFF   lea edx,dword ptr ss:[ebp-12C]
00438AE5    52              push edx
00438AE6    E8 99410A00     call 屏录专家.004DCC84
00438AEB    83C4 08         add esp,8
00438AEE    FF8D 5CFFFFFF   dec dword ptr ss:[ebp-A4]
00438AF4    8D45 F0         lea eax,dword ptr ss:[ebp-10]
00438AF7    BA 02000000     mov edx,2
00438AFC    E8 7BF70A00     call 屏录专家.004E827C
00438B01    66:C785 50FFFFF>mov word ptr ss:[ebp-B0],2C
00438B0A    8D45 EC         lea eax,dword ptr ss:[ebp-14]
00438B0D    E8 C28CFCFF     call 屏录专家.004017D4
00438B12    8BD0            mov edx,eax
00438B14    FF85 5CFFFFFF   inc dword ptr ss:[ebp-A4]
00438B1A    8B8D 3CFFFFFF   mov ecx,dword ptr ss:[ebp-C4]
00438B20    8B81 F0020000   mov eax,dword ptr ds:[ecx+2F0]
00438B26    E8 E9840500     call 屏录专家.00491014
00438B2B    8D45 EC         lea eax,dword ptr ss:[ebp-14]
00438B2E    E8 F1D1FCFF     call 屏录专家.00405D24                     ; 取机器码
00438B33    50              push eax
00438B34    8D95 ECFEFFFF   lea edx,dword ptr ss:[ebp-114]
00438B3A    52              push edx
00438B3B    E8 44410A00     call 屏录专家.004DCC84
00438B40    83C4 08         add esp,8
00438B43    FF8D 5CFFFFFF   dec dword ptr ss:[ebp-A4]
00438B49    8D45 EC         lea eax,dword ptr ss:[ebp-14]
00438B4C    BA 02000000     mov edx,2
00438B51    E8 26F70A00     call 屏录专家.004E827C
00438B56    33C9            xor ecx,ecx                            ; ECX清0
00438B58    898D 30FFFFFF   mov dword ptr ss:[ebp-D0],ecx
00438B5E    8B85 30FFFFFF   mov eax,dword ptr ss:[ebp-D0]
00438B64    8A9405 D4FEFFFF mov dl,byte ptr ss:[ebp+eax-12C]       ; 用户名逐位送DL
00438B6B    8B8D 30FFFFFF   mov ecx,dword ptr ss:[ebp-D0]          ; 循环次数送ECX
00438B71    32940D ECFEFFFF xor dl,byte ptr ss:[ebp+ecx-114]       ; 用户名和对应机器码逐位异或
00438B78    8B85 30FFFFFF   mov eax,dword ptr ss:[ebp-D0]
00438B7E    889405 04FFFFFF mov byte ptr ss:[ebp+eax-FC],dl        ; DL送[ebp+eax-FC](也就是刚才异或的结果)
00438B85    8B95 30FFFFFF   mov edx,dword ptr ss:[ebp-D0]
00438B8B    0FBE8C15 04FFFF>movsx ecx,byte ptr ss:[ebp+edx-FC]     ; 再将结果送ECX
00438B93    898D B8FEFFFF   mov dword ptr ss:[ebp-148],ecx         ; ECX送[ebp-148]
00438B99    DB85 B8FEFFFF   fild dword ptr ss:[ebp-148]            ; 换成浮点值
00438B9F    83C4 F8         add esp,-8
00438BA2    DD1C24          fstp qword ptr ss:[esp]
00438BA5    E8 72850A00     call 屏录专家.004E111C
00438BAA    83C4 08         add esp,8
00438BAD    DB85 30FFFFFF   fild dword ptr ss:[ebp-D0]
00438BB3    DEC9            fmulp st(1),st                         ; 再将该浮点值和已循环次数乘
00438BB5    DB85 34FFFFFF   fild dword ptr ss:[ebp-CC]
00438BBB    DEC1            faddp st(1),st                         ; 再加上以前累加值
00438BBD    E8 82850A00     call 屏录专家.004E1144                     ; 转换成整数
00438BC2    8985 34FFFFFF   mov dword ptr ss:[ebp-CC],eax          ; 结果保存在[ebp-CC]中
00438BC8    FF85 30FFFFFF   inc dword ptr ss:[ebp-D0]              ; [ebp-D0]加一
00438BCE    83BD 30FFFFFF 1>cmp dword ptr ss:[ebp-D0],14           ; 和14比较
00438BD5  ^ 7C 87           jl short 屏录专家.00438B5E                 ; 没完继续
00438BD7    8185 34FFFFFF 3>add dword ptr ss:[ebp-CC],3039         ; 再将刚才循环结果加上3039
00438BE1    FFB5 34FFFFFF   push dword ptr ss:[ebp-CC]             ; 入栈
00438BE7    68 9FCA5000     push 屏录专家.0050CA9F                     ; ASCII "%d"
00438BEC    8D95 04FFFFFF   lea edx,dword ptr ss:[ebp-FC]          ; [ebp-FC]=H]RD\052222222222222的地址送EDX
00438BF2    52              push edx                               ; 入栈
00438BF3    E8 3C6B0A00     call 屏录专家.004DF734
00438BF8    83C4 0C         add esp,0C
00438BFB    66:C785 50FFFFF>mov word ptr ss:[ebp-B0],38
00438C04    8D45 E8         lea eax,dword ptr ss:[ebp-18]
00438C07    E8 C88BFCFF     call 屏录专家.004017D4
00438C0C    8BD0            mov edx,eax
00438C0E    FF85 5CFFFFFF   inc dword ptr ss:[ebp-A4]
00438C14    8B8D 3CFFFFFF   mov ecx,dword ptr ss:[ebp-C4]
00438C1A    8B81 E4020000   mov eax,dword ptr ds:[ecx+2E4]
00438C20    E8 EF830500     call 屏录专家.00491014                     ; 计算假码位数
00438C25    8D45 E8         lea eax,dword ptr ss:[ebp-18]
00438C28    E8 F7D0FCFF     call 屏录专家.00405D24                     ; 取假码到EAX
00438C2D    50              push eax                               ; 入栈
00438C2E    8D95 BCFEFFFF   lea edx,dword ptr ss:[ebp-144]
00438C34    52              push edx
00438C35    E8 4A400A00     call 屏录专家.004DCC84
00438C3A    83C4 08         add esp,8
00438C3D    FF8D 5CFFFFFF   dec dword ptr ss:[ebp-A4]
00438C43    8D45 E8         lea eax,dword ptr ss:[ebp-18]
00438C46    BA 02000000     mov edx,2
00438C4B    E8 2CF60A00     call 屏录专家.004E827C
00438C50    33C9            xor ecx,ecx
00438C52    898D 30FFFFFF   mov dword ptr ss:[ebp-D0],ecx
00438C58    8B85 30FFFFFF   mov eax,dword ptr ss:[ebp-D0]
00438C5E    0FBE9405 04FFFF>movsx edx,byte ptr ss:[ebp+eax-FC]     ; 刚才计算结果逐位送EDX(22182.52222222222222)
00438C66    8B8D 30FFFFFF   mov ecx,dword ptr ss:[ebp-D0]          ; 循环次数送ECX
00438C6C    0FBE840D BCFEFF>movsx eax,byte ptr ss:[ebp+ecx-144]    ; 假码逐位送EAX
00438C74    83C0 EC         add eax,-14                            ; EAX减14
00438C77    3BD0            cmp edx,eax                            ; EDX和EAX比较
00438C79    0F85 AF000000   jnz 屏录专家.00438D2E                      ; 不能跳
00438C7F    83BD 30FFFFFF 0>cmp dword ptr ss:[ebp-D0],3            ; 循环次数和3比较
00438C86    0F85 8F000000   jnz 屏录专家.00438D1B                      ; 只有循环次数为3的时候不跳
00438C8C    8B95 34FFFFFF   mov edx,dword ptr ss:[ebp-CC]          ; [ebp-CC]为刚才计算结果(16进制),其值送EDX
00438C92    81C2 444D0000   add edx,4D44                           ; EDX+4D44
00438C98    8995 B8FEFFFF   mov dword ptr ss:[ebp-148],edx
00438C9E    DB85 B8FEFFFF   fild dword ptr ss:[ebp-148]            ; 换浮点值
00438CA4    DC0D 9C974300   fmul qword ptr ds:[43979C]             ; 再乘3.14
00438CAA    DB2D A4974300   fld tbyte ptr ds:[4397A4]
00438CB0    DEC9            fmulp st(1),st                         ; ST*ST(1)
00438CB2    E8 8D840A00     call 屏录专家.004E1144                     ; 转换成整数
00438CB7    8985 34FFFFFF   mov dword ptr ss:[ebp-CC],eax
00438CBD    8B85 34FFFFFF   mov eax,dword ptr ss:[ebp-CC]
00438CC3    B9 A0860100     mov ecx,186A0                          ; 186A0送ECX
00438CC8    99              cdq
00438CC9    F7F9            idiv ecx                               ; EAX(刚才转换成整数的浮点值)除以ECX,余数在EDX中
00438CCB    8995 34FFFFFF   mov dword ptr ss:[ebp-CC],edx          ; EDX送[ebp-CC]
00438CD1    33C0            xor eax,eax
00438CD3    8985 28FFFFFF   mov dword ptr ss:[ebp-D8],eax
00438CD9    33D2            xor edx,edx
00438CDB    8995 24FFFFFF   mov dword ptr ss:[ebp-DC],edx
00438CE1    8B8D 24FFFFFF   mov ecx,dword ptr ss:[ebp-DC]
00438CE7    0FBE840D BCFEFF>movsx eax,byte ptr ss:[ebp+ecx-144]    ; 假码逐位送EAX
00438CEF    0185 28FFFFFF   add dword ptr ss:[ebp-D8],eax          ; 累加
00438CF5    FF85 24FFFFFF   inc dword ptr ss:[ebp-DC]
00438CFB    83BD 24FFFFFF 1>cmp dword ptr ss:[ebp-DC],13           ; 和13比较
00438D02  ^ 7C DD           jl short 屏录专家.00438CE1                 ; 没完继续
00438D04    8B85 28FFFFFF   mov eax,dword ptr ss:[ebp-D8]          ; 循环结果送EAX
00438D0A    B9 0A000000     mov ecx,0A                             ; 0A送ECX
00438D0F    99              cdq
00438D10    F7F9            idiv ecx                               ; EAX除以ECX
00438D12    83C2 30         add edx,30                             ; EDX加30
00438D15    8995 28FFFFFF   mov dword ptr ss:[ebp-D8],edx
00438D1B    FF85 30FFFFFF   inc dword ptr ss:[ebp-D0]              ; 循环次数加一
00438D21    83BD 30FFFFFF 0>cmp dword ptr ss:[ebp-D0],5            ; 和5比较
00438D28  ^ 0F8C 2AFFFFFF   jl 屏录专家.00438C58                       ; 没完跳回去继续
00438D2E    83BD 30FFFFFF 0>cmp dword ptr ss:[ebp-D0],5
00438D35    0F8C 030A0000   jl 屏录专家.0043973E
00438D3B    0FBE85 CFFEFFFF movsx eax,byte ptr ss:[ebp-131]        ; 注册码最后一位送EAX
00438D42    3B85 28FFFFFF   cmp eax,dword ptr ss:[ebp-D8]          ; EAX和刚才计算结果第一位比较
00438D48    74 10           je short 屏录专家.00438D5A                 ; 等就跳,要跳
00438D4A    0FBE95 CFFEFFFF movsx edx,byte ptr ss:[ebp-131]
00438D51    83FA 41         cmp edx,41
00438D54    0F8C E4090000   jl 屏录专家.0043973E
00438D5A    8B85 34FFFFFF   mov eax,dword ptr ss:[ebp-CC]          ; 刚才计算结果送EAX
00438D60    B9 0A000000     mov ecx,0A                             ; 0A送ECX
00438D65    99              cdq
00438D66    F7F9            idiv ecx                               ; EAX除以ECX
00438D68    8B85 30FFFFFF   mov eax,dword ptr ss:[ebp-D0]          ; 商送EAX,余数送EDX
00438D6E    0FBE8C05 BCFEFF>movsx ecx,byte ptr ss:[ebp+eax-144]    ; 注册码第6位送ECX
00438D76    83C1 BF         add ecx,-41                            ; ECX减41
00438D79    2BCA            sub ecx,edx                            ; ECX减EDX(EDX为前面相除所得余数)
00438D7B    898D 2CFFFFFF   mov dword ptr ss:[ebp-D4],ecx          ; 相减结果送[ebp-D4]
00438D81    83BD 2CFFFFFF 0>cmp dword ptr ss:[ebp-D4],0            ; 比较相减结果是否为0
00438D88    74 0D           je short 屏录专家.00438D97                 ; 等就成功
00438D8A    83BD 2CFFFFFF 0>cmp dword ptr ss:[ebp-D4],6            ; 结果和6比较
00438D91    0F85 5C090000   jnz 屏录专家.004396F3                      ; 等于6也成功
00438D97    66:C785 50FFFFF>mov word ptr ss:[ebp-B0],44
00438DA0    BA A2CA5000     mov edx,屏录专家.0050CAA2                  ; 成功




--------------------------------------------------------------------------------
【破解总结】
   总结就不多写了,自己仔细看分析吧^-^
机器码:14812052222222222222
用户名:yijun
注册码:FFELFE98305048399545
--------------------------------------------------------------------------------
【版权声明】 本文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢!