软件大小: 5.31 M 软件性质: 共享软件
更新时间: 2007-05-25
下载次数: 1406 开 发 商: http://www.pop-software.net/
软件语言: 英文 软件类别: 国外软件 / 视频转换
应用平台: Win2003/WinXP/Win2000/WinNT/Win9x
软件介绍: 是一个功能强大的智能视频转换工具,可以将手机支持3GP格式的视频文件转换为iPod支持的视频格式。它使用方便,批量转换,可以实现最快的转换速
这些就软件提供的用户名~~~~
我们注册软件时就一定要用他们的用户名注册`
004A7A74 004A09E0 ASCII "VS88T6-Vs86"
004A7A78 004A09F4 ASCII "TV66P6-TV66"
004A7A7C 004A0A08 ASCII "S1R6P6-SV66"
004A7A80 004A0A1C ASCII "TDR6p6-SV66"
004A7A84 004A0A30 ASCII "TDR6p6-EVS"
004A7A88 004A0A44 ASCII "TDR6p6-ST1"
004A7A8C 004A0A58 ASCII "Tsf6p6-VB1"
004A7A90 004A0A6C ASCII "B8sf6p6-VB1"
004A7A94 004A0A80 ASCII "B8TDf6p6-VB1"
004A7A98 004A0A98 ASCII "BS45f6p6-VB1"
004A7A9C 004A0AB0 ASCII "Osrf6p6-VB1"
004A7AA0 004A0AC4 ASCII "Ofrg6p6-VB1"
004A7AA4 004A0AD8 ASCII "ESrg6p6-VB1"
004A7AA8 004A0AEC ASCII "IUrg6p6-VB1"
004A7AAC 004A0B00 ASCII "IUDT6-BX1"
004A7AB0 004A0B14 ASCII "DUIT6-tV1"
004A7AB4 004A0B28 ASCII "S1IT6-DV1"
004A7AB8 004A0B3C ASCII "SNMS6-DV1"
004A7ABC 004A0B50 ASCII "SNWS6-TN1"
004A7AC0 004A0B64 ASCII "SNWS6-MN3"
004A7AC4 004A0B78 ASCII "TDVS6-MN3"
004A0C94 /$ 55 push ebp
004A0C95 |. 8BEC mov ebp,esp
004A0C97 |. 33C9 xor ecx,ecx
004A0C99 |. 51 push ecx
004A0C9A |. 51 push ecx
004A0C9B |. 51 push ecx
004A0C9C |. 51 push ecx
004A0C9D |. 51 push ecx
004A0C9E |. 51 push ecx
004A0C9F |. 51 push ecx
004A0CA0 |. 53 push ebx
004A0CA1 |. 56 push esi
004A0CA2 |. 57 push edi
004A0CA3 |. 8945 FC mov [local.1],eax
004A0CA6 |. 33C0 xor eax,eax
004A0CA8 |. 55 push ebp
004A0CA9 |. 68 8C0E4A00 push 3GP_to_i.004A0E8C
004A0CAE |. 64:FF30 push dword ptr fs:[eax]
004A0CB1 |. 64:8920 mov dword ptr fs:[eax],esp
004A0CB4 |. B3 01 mov bl,1
004A0CB6 |. 8D55 F0 lea edx,[local.4]
004A0CB9 |. 8B45 FC mov eax,[local.1]
004A0CBC |. 8B80 F8020000 mov eax,dword ptr ds:[eax+2F8]
004A0CC2 |. E8 41E3FBFF call 3GP_to_i.0045F008 ; 取用户名把用户名位数给EAX
004A0CC7 |. 8B45 F0 mov eax,[local.4] ; ASCII "wangwei"
004A0CCA |. 8D55 F8 lea edx,[local.2]
004A0CCD |. E8 B279F6FF call 3GP_to_i.00408684
004A0CD2 |. 8D55 EC lea edx,[local.5]
004A0CD5 |. 8B45 F8 mov eax,[local.2]
004A0CD8 |. E8 DB79F6FF call 3GP_to_i.004086B8
004A0CDD |. 8B55 EC mov edx,[local.5] ; ASCII "wangwei"
004A0CE0 |. 8D45 F8 lea eax,[local.2]
004A0CE3 |. E8 CC35F6FF call 3GP_to_i.004042B4
004A0CE8 |. BF 15000000 mov edi,15 ; EDI=15
004A0CED |. BE 747A4A00 mov esi,3GP_to_i.004A7A74
004A0CF2 |> 8B45 F8 /mov eax,[local.2] ; ----------------->
004A0CF5 |. 8B16 |mov edx,dword ptr ds:[esi] ; ASCII "VS88T6-Vs86"
004A0CF7 |. E8 2C39F6FF |call 3GP_to_i.00404628 ; 这个些代码是测试我们输入在用户名是否在
004A0CFC |. 75 04 |jnz short 3GP_to_i.004A0D02 ; 软件用户列表中有,如果我们输入的用户名在这列表
004A0CFE |. 33DB |xor ebx,ebx ; 中没有就出错
004A0D00 |. EB 06 |jmp short 3GP_to_i.004A0D08
004A0D02 |> 83C6 04 |add esi,4
004A0D05 |. 4F |dec edi
004A0D06 |.^ 75 EA \jnz short 3GP_to_i.004A0CF2 ; <--------------------
004A0D08 |> 84DB test bl,bl
004A0D0A |. 74 1A je short 3GP_to_i.004A0D26
004A0D0C |. 6A 00 push 0 ; /Arg1 = 00000000
004A0D0E |. 66:8B0D 9C0E4A0>mov cx,word ptr ds:[4A0E9C] ; |
004A0D15 |. B2 02 mov dl,2 ; |
004A0D17 |. B8 A80E4A00 mov eax,3GP_to_i.004A0EA8 ; |ASCII "Invalid register code! Please retry!"
004A0D1C |. E8 4B4AF9FF call 3GP_to_i.0043576C ; \3GP_to_i.0043576C
004A0D21 |. E9 2B010000 jmp 3GP_to_i.004A0E51
004A0D26 |> 8D55 E8 lea edx,[local.6]
004A0D29 |. 8B45 FC mov eax,[local.1]
004A0D2C |. 8B80 FC020000 mov eax,dword ptr ds:[eax+2FC]
004A0D32 |. E8 D1E2FBFF call 3GP_to_i.0045F008 ; 取假码
004A0D37 |. 8B45 E8 mov eax,[local.6] ; ASCII "11111111111111111"
004A0D3A |. 8D55 F4 lea edx,[local.3]
004A0D3D |. E8 4279F6FF call 3GP_to_i.00408684
004A0D42 |. 8D55 E4 lea edx,[local.7]
004A0D45 |. 8B45 F4 mov eax,[local.3]
004A0D48 |. E8 6B79F6FF call 3GP_to_i.004086B8
004A0D4D |. 8B55 E4 mov edx,[local.7]
004A0D50 |. 8D45 F4 lea eax,[local.3]
004A0D53 |. E8 5C35F6FF call 3GP_to_i.004042B4
004A0D58 |. 837D F8 00 cmp [local.2],0
004A0D5C |. 0F84 EF000000 je 3GP_to_i.004A0E51 ; 用户名是否为空
004A0D62 |. 837D F4 00 cmp [local.3],0
004A0D66 |. 0F84 E5000000 je 3GP_to_i.004A0E51 ; 注册码是否为空
004A0D6C |. 8B45 F4 mov eax,[local.3]
004A0D6F |. E8 6837F6FF call 3GP_to_i.004044DC
004A0D74 |. 85C0 test eax,eax
004A0D76 |. 7E 35 jle short 3GP_to_i.004A0DAD
004A0D78 |. BA 01000000 mov edx,1 ; EDX置1
004A0D7D |> 8B4D F4 /mov ecx,[local.3] ; ---------------------->
004A0D80 |. 0FB64C11 FF |movzx ecx,byte ptr ds:[ecx+edx->; 检测我们输的注册码是否为0-9的数字
004A0D85 |. 83F9 30 |cmp ecx,30
004A0D88 |. 7C 05 |jl short 3GP_to_i.004A0D8F
004A0D8A |. 83F9 39 |cmp ecx,39
004A0D8D |. 7E 1A |jle short 3GP_to_i.004A0DA9
004A0D8F |> 6A 00 |push 0 ; /Arg1 = 00000000
004A0D91 |. 66:8B0D 9C0E4A0>|mov cx,word ptr ds:[4A0E9C] ; |
004A0D98 |. B2 02 |mov dl,2 ; |
004A0D9A |. B8 A80E4A00 |mov eax,3GP_to_i.004A0EA8 ; |ASCII "Invalid register code! Please retry!"
004A0D9F |. E8 C849F9FF |call 3GP_to_i.0043576C ; \3GP_to_i.0043576C
004A0DA4 |. E9 A8000000 |jmp 3GP_to_i.004A0E51
004A0DA9 |> 42 |inc edx
004A0DAA |. 48 |dec eax
004A0DAB |.^ 75 D0 \jnz short 3GP_to_i.004A0D7D ; <-------------------------
004A0DAD |> 33F6 xor esi,esi
004A0DAF |. 8B45 F8 mov eax,[local.2] ; ASCII "VS88T6-Vs86"
004A0DB2 |. E8 2537F6FF call 3GP_to_i.004044DC ; 取用户名的位数~~~作下面运算的控制参数
004A0DB7 |. 85C0 test eax,eax
004A0DB9 |. 7E 13 jle short 3GP_to_i.004A0DCE
004A0DBB |. BF 01000000 mov edi,1 ; EDI=1
004A0DC0 |> 8B55 F8 /mov edx,[local.2]
004A0DC3 |. 0FB6543A FF |movzx edx,byte ptr ds:[edx+edi->; 逐位取用户名的ACSSII值
004A0DC8 |. 03F2 |add esi,edx ; 初始化ESI是为0的ESI=ESI+用户名的ACSSII值
004A0DCA |. 47 |inc edi ; EDI++
004A0DCB |. 48 |dec eax
004A0DCC |.^ 75 F2 \jnz short 3GP_to_i.004A0DC0
004A0DCE |> 69C6 3CE50C00 imul eax,esi,0CE53C ; 用户名的ACSSII相加后 *0X0CE53C
004A0DD4 |. 83C0 20 add eax,20 ; EAX=EAX+20
004A0DD7 |. D1F8 sar eax,1 ; EAX算术右移1位
004A0DD9 |. 79 03 jns short 3GP_to_i.004A0DDE
004A0DDB |. 83D0 00 adc eax,0
004A0DDE |> 8BF0 mov esi,eax
004A0DE0 |. 8B45 F4 mov eax,[local.3]
004A0DE3 |. E8 F07AF6FF call 3GP_to_i.004088D8 ; 把我输入的注册码转化16进制数
004A0DE8 |. 3BF0 cmp esi,eax ; 把用户名运算结果与注册码的16进制比较相同注册成功
004A0DEA |. 75 50 jnz short 3GP_to_i.004A0E3C
004A0DEC |. 6A 00 push 0 ; /Arg1 = 00000000
004A0DEE |. 66:8B0D 9C0E4A0>mov cx,word ptr ds:[4A0E9C] ; |
004A0DF5 |. B2 02 mov dl,2 ; |
004A0DF7 |. B8 D80E4A00 mov eax,3GP_to_i.004A0ED8 ; |ASCII "Congratuation! You have successfully registered!"
004A0DFC |. E8 6B49F9FF call 3GP_to_i.0043576C ; \3GP_to_i.0043576C
004A0E01 |. A1 AC7D4A00 mov eax,dword ptr ds:[4A7DAC]
004A0E06 |. C600 01 mov byte ptr ds:[eax],1
004A0E09 |. A1 A47E4A00 mov eax,dword ptr ds:[4A7EA4]
004A0E0E |. 8B00 mov eax,dword ptr ds:[eax]
004A0E10 |. 33C9 xor ecx,ecx
004A0E12 |. 33D2 xor edx,edx
004A0E14 |. 8B18 mov ebx,dword ptr ds:[eax]
004A0E16 |. FF53 14 call dword ptr ds:[ebx+14]
004A0E19 |. 8B15 AC7D4A00 mov edx,dword ptr ds:[4A7DAC] ; 3GP_to_i.004A9D96
004A0E1F |. A1 A47E4A00 mov eax,dword ptr ds:[4A7EA4]
004A0E24 |. 8B00 mov eax,dword ptr ds:[eax]
004A0E26 |. B9 01000000 mov ecx,1
004A0E2B |. E8 B8DAF7FF call 3GP_to_i.0041E8E8
004A0E30 |. A1 789D4A00 mov eax,dword ptr ds:[4A9D78]
004A0E35 |. E8 0EA7FDFF call 3GP_to_i.0047B548
004A0E3A |. EB 15 jmp short 3GP_to_i.004A0E51
004A0E3C |> 6A 00 push 0 ; /Arg1 = 00000000
004A0E3E |. 66:8B0D 9C0E4A0>mov cx,word ptr ds:[4A0E9C] ; |
004A0E45 |. B2 02 mov dl,2 ; |
004A0E47 |. B8 A80E4A00 mov eax,3GP_to_i.004A0EA8 ; |ASCII "Invalid register code! Please retry!"
004A0E4C |. E8 1B49F9FF call 3GP_to_i.0043576C ; \3GP_to_i.0043576C
现在我来总结一下这个软件的算法!!!!!!!!!!!!!!!
1.总的来说这个软件很间单~~~。因为我要这么个软件。
2.软件第一是进行一个检查我们输入的是不是作者给定的用户名。如果不是就提示出错.
3.作者把用户名的ACSSII进行一个自加。
3.用户名自加后乘上0X0CE53C在加上0X20最后把结果算术右移1位。
4.作用把我们输入注册码转化16进制数.
5就是把用户名运算出来的结果与我们输入注册码转化16进制数进行比较~~~相同就注册成功。
不相同就提示注册不成功.
6.下面的C++代码就是我写的一个算法注册机~~~~~~~~~~~呵呵就多指教!!!!
#include <iostream>
using namespace std;
void main()
{
char a[20];
cout<<"请输入软件给定的用户名"<<endl;
cin>>a;
int i,b,c=0;
b=strlen(a);
for(i=0;i<b;i++)
{
c=c+a[i];
}
c=c*0X0CE53C;
c=c+0X20;
c=c>>1;
cout<<c<<endl;
}
- 标 题: 3GP to iPod Converter算法分析和软件的算法注册机代码
- 作 者:wangweilll
- 时 间:2011-03-20 18:20:46
- 链 接:http://bbs.pediy.com/showthread.php?t=131087