[原创]共享资料保护专家 2.0算法分析+Delphi注册机(软到家的柿子)
发表于:
2007-9-20 05:28
7428
[原创]共享资料保护专家 2.0算法分析+Delphi注册机(软到家的柿子)
【文章作者】: 小子贼野[D.4s][DCG]
【软件名称】: 共享资料保护专家 2.0
【下载地址】: http://www.onlinedown.net/soft/52586.htm
【保护方式】: 注册码
【软件介绍】: 软件对文件夹加密后,用户只能浏览该文件夹内的word、Excel或图片文件等的内容,不能修改、拷贝或盗取。
**********************************************************************************************
004D68CC . 55 push ebp
004D68CD . 68 4C694D00 push 共享资料.004D694C
004D68D2 . 64:FF30 push dword ptr fs:[eax]
004D68D5 . 64:8920 mov dword ptr fs:[eax],esp
004D68D8 . 8B45 08 mov eax,dword ptr ss:[ebp+8]
004D68DB . E8 30DFF2FF call 共享资料.00404810
004D68E0 . 8D45 F8 lea eax,dword ptr ss:[ebp-8]
004D68E3 . E8 28DFF2FF call 共享资料.00404810
004D68E8 . 8BC7 mov eax,edi
004D68EA . E8 D9E1F2FF call 共享资料.00404AC8
004D68EF . 8BD8 mov ebx,eax
004D68F1 . 85DB test ebx,ebx
004D68F3 . 7E 36 jle short 共享资料.004D692B
004D68F5 . BE 01000000 mov esi,1
004D68FA > 8D45 F0 lea eax,dword ptr ss:[ebp-10]
004D68FD . 8A5437 FF mov dl,byte ptr ds:[edi+esi-1]
004D6901 . E8 EAE0F2FF call 共享资料.004049F0
004D6906 . 8B45 F0 mov eax,dword ptr ss:[ebp-10]
004D6909 . E8 8627F3FF call 共享资料.00409094
004D690E . 0FB755 FE movzx edx,word ptr ss:[ebp-2]
004D6912 . 33C2 xor eax,edx ; 机器码和D5做xor运算
004D6914 . 8D55 F4 lea edx,dword ptr ss:[ebp-C]
004D6917 . E8 1427F3FF call 共享资料.00409030 ; 将十六进制结果逐个转换成十进制数字
004D691C . 8B55 F4 mov edx,dword ptr ss:[ebp-C]
004D691F . 8D45 F8 lea eax,dword ptr ss:[ebp-8]
004D6922 . E8 A9E1F2FF call 共享资料.00404AD0
004D6927 . 46 inc esi
004D6928 . 4B dec ebx
004D6929 .^ 75 CF jnz short 共享资料.004D68FA
004D692B > 8B45 08 mov eax,dword ptr ss:[ebp+8]
004D692E . 50 push eax
004D692F . 8BC7 mov eax,edi
004D6931 . E8 92E1F2FF call 共享资料.00404AC8
004D6936 . 8BC8 mov ecx,eax
004D6938 . 33D2 xor edx,edx
004D693A . 8B45 F8 mov eax,dword ptr ss:[ebp-8]
004D693D . E8 DEE3F2FF call 共享资料.00404D20
004D6942 . 33C0 xor eax,eax
004D6944 . 5A pop edx
004D6945 . 59 pop ecx
004D6946 . 59 pop ecx
004D6947 . 64:8910 mov dword ptr fs:[eax],edx
004D694A . EB 17 jmp short 共享资料.004D6963
004D694C .^ E9 AFD5F2FF jmp 共享资料.00403F00
004D6951 . 8B45 08 mov eax,dword ptr ss:[ebp+8]
004D6954 . BA 98694D00 mov edx,共享资料.004D6998
004D6959 . E8 06DFF2FF call 共享资料.00404864
004D695E . E8 05D9F2FF call 共享资料.00404268
004D6963 > 33C0 xor eax,eax
004D6965 . 5A pop edx
004D6966 . 59 pop ecx
004D6967 . 59 pop ecx
004D6968 . 64:8910 mov dword ptr fs:[eax],edx ; 将所有的结果排列起来
004D696B . 68 85694D00 push 共享资料.004D6985
004D6970 > 8D45 F0 lea eax,dword ptr ss:[ebp-10]
004D6973 . BA 03000000 mov edx,3
004D6978 . E8 B7DEF2FF call 共享资料.00404834 ; 取前十位
004D697D . C3 retn
004D697E .^ E9 31D8F2FF jmp 共享资料.004041B4
004D6983 .^ EB EB jmp short 共享资料.004D6970
004D6985 . 5F pop edi
004D6986 . 5E pop esi
004D6987 . 5B pop ebx
004D6988 . 8BE5 mov esp,ebp
004D698A . 5D pop ebp
004D698B . C2 0400 retn 4
**********************************************************************************************
算法总结:
取机器码Ascii后和D5做XOR运算,结果转换成10进制,连接起来,取前10位,就是注册码了
**********************************************************************************************
Delphi注册机源码:
var
i,a:integer;
b:string;
begin
for i:=1 to length(edit1.text) do
begin
a:=ord(edit1.text[i]);
a:=a xor $D5;
b:=b+inttostr(a);
end;
edit2.text:=copy(b,1,10);
end;
***********************************************************************************************
又一个软到家的柿子
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)