悠仕书架2.0 简单算法分析+注册机源码(除了新手,请PASS)
本帖最后由 null119 于 2011-10-8 01:22 编辑晚上BLOG看到还有人要这个软件的破解补丁,无奈时间太久远,找不到了。。。正好没事,晚上去下载了个回来,分析了一下算法(很简单,新手以外请PASS)。00415698/.55 push ebp
00415699|.8BEC mov ebp,esp
0041569B|.83C4 98 add esp,-0x68
0041569E|.53 push ebx
0041569F|.56 push esi
004156A0|.57 push edi
004156A1|.8BD8 mov ebx,eax
004156A3|.8D75 9C lea esi,
004156A6|.B8 D08D5D00 mov eax,usbsp.005D8DD0
004156AB|.E8 A4911900 call usbsp.005AE854
004156B0|.66:C746 10 08>mov word ptr ds:,0x8
004156B6|.33D2 xor edx,edx
004156B8|.8955 FC mov ,edx
004156BB|.8D55 FC lea edx,
004156BE|.FF46 1C inc dword ptr ds:
004156C1|.8B83 F4020000 mov eax,dword ptr ds:
004156C7|.E8 94A21600 call usbsp.0057F960 ;用户名
004156CC|.837D FC 00 cmp ,0x0 ;检查用户名是否为空
004156D0|.74 08 je short usbsp.004156DA
004156D2|.8B4D FC mov ecx,
004156D5|.8B41 FC mov eax,dword ptr ds:
004156D8|.EB 02 jmp short usbsp.004156DC
004156DA|>33C0 xor eax,eax
004156DC|>48 dec eax
004156DD|.0F8C 8A000000 jl usbsp.0041576D
004156E3|.33D2 xor edx,edx
004156E5|.8955 F8 mov ,edx
004156E8|.8D55 F8 lea edx,
004156EB|.FF46 1C inc dword ptr ds:
004156EE|.8B83 F8020000 mov eax,dword ptr ds:
004156F4|.E8 67A21600 call usbsp.0057F960 ;注册种子
004156F9|.837D F8 00 cmp ,0x0 ;检查注册种子是否为空
004156FD|.74 08 je short usbsp.00415707
004156FF|.8B4D F8 mov ecx,
00415702|.8B41 FC mov eax,dword ptr ds:
00415705|.EB 02 jmp short usbsp.00415709
00415707|>33C0 xor eax,eax
00415709|>48 dec eax
0041570A|.0F9CC2 setl dl
0041570D|.83E2 01 and edx,0x1
00415710|.8D45 F8 lea eax,
00415713|.52 push edx
00415714|.BA 02000000 mov edx,0x2
00415719|.FF4E 1C dec dword ptr ds:
0041571C|.E8 3B311A00 call usbsp.005B885C
00415721|.59 pop ecx
00415722|.85C9 test ecx,ecx
00415724|.75 47 jnz short usbsp.0041576D
00415726|.33C0 xor eax,eax
00415728|.8945 F4 mov ,eax
0041572B|.8D55 F4 lea edx,
0041572E|.FF46 1C inc dword ptr ds:
00415731|.8B83 04030000 mov eax,dword ptr ds:
00415737|.E8 24A21600 call usbsp.0057F960 ;注册码
0041573C|.837D F4 00 cmp ,0x0 ;检查注册码是否为空
00415740|.74 08 je short usbsp.0041574A
00415742|.8B55 F4 mov edx,
00415745|.8B4A FC mov ecx,dword ptr ds:
00415748|.EB 02 jmp short usbsp.0041574C
0041574A|>33C9 xor ecx,ecx
0041574C|>49 dec ecx
0041574D|.BA 02000000 mov edx,0x2
00415752|.0F9CC0 setl al
00415755|.83E0 01 and eax,0x1
00415758|.50 push eax
00415759|.8D45 F4 lea eax,
0041575C|.FF4E 1C dec dword ptr ds:
0041575F|.E8 F8301A00 call usbsp.005B885C
00415764|.59 pop ecx
00415765|.85C9 test ecx,ecx
00415767|.75 04 jnz short usbsp.0041576D
00415769|.33C0 xor eax,eax
0041576B|.EB 05 jmp short usbsp.00415772
0041576D|>B8 01000000 mov eax,0x1
00415772|>50 push eax
00415773|.FF4E 1C dec dword ptr ds:
00415776|.8D45 FC lea eax,
00415779|.BA 02000000 mov edx,0x2
0041577E|.E8 D9301A00 call usbsp.005B885C
00415783|.59 pop ecx
00415784|.84C9 test cl,cl
00415786|.74 1D je short usbsp.004157A5
00415788|.A1 00035E00 mov eax,dword ptr ds:
0041578D|.6A 00 push 0x0
0041578F|.B9 E88B5D00 mov ecx,usbsp.005D8BE8
00415794|.BA CE8B5D00 mov edx,usbsp.005D8BCE
00415799|.8B00 mov eax,dword ptr ds:
0041579B|.E8 F42F1A00 call usbsp.005B8794
004157A0|.E9 6A030000 jmp usbsp.00415B0F
004157A5|>66:C746 10 20>mov word ptr ds:,0x20
004157AB|.33D2 xor edx,edx
004157AD|.8955 F0 mov ,edx
004157B0|.8D55 F0 lea edx,
004157B3|.FF46 1C inc dword ptr ds:
004157B6|.8B83 F8020000 mov eax,dword ptr ds:
004157BC|.E8 9FA11600 call usbsp.0057F960
004157C1|.8D45 F0 lea eax,
004157C4|.8B00 mov eax,dword ptr ds:
004157C6|.E8 59821100 call usbsp.0052DA24
004157CB|.8BF8 mov edi,eax
004157CD|.FF4E 1C dec dword ptr ds:
004157D0|.8D45 F0 lea eax,
004157D3|.BA 02000000 mov edx,0x2
004157D8|.E8 7F301A00 call usbsp.005B885C
004157DD|.66:C746 10 14>mov word ptr ds:,0x14
004157E3|.66:C746 10 2C>mov word ptr ds:,0x2C
004157E9|.33C9 xor ecx,ecx
004157EB|.894D EC mov ,ecx
004157EE|.8D55 EC lea edx,
004157F1|.FF46 1C inc dword ptr ds:
004157F4|.8B83 04030000 mov eax,dword ptr ds:
004157FA|.E8 61A11600 call usbsp.0057F960
004157FF|.8D45 EC lea eax,
00415802|.8B00 mov eax,dword ptr ds:
00415804|.E8 1B821100 call usbsp.0052DA24
00415809|.8945 98 mov ,eax
0041580C|.FF4E 1C dec dword ptr ds:
0041580F|.8D45 EC lea eax,
00415812|.BA 02000000 mov edx,0x2
00415817|.E8 40301A00 call usbsp.005B885C
0041581C|.66:C746 10 14>mov word ptr ds:,0x14
00415822|.B9 9F860100 mov ecx,0x1869F ;1869F
00415827|.2BCF sub ecx,edi ;X=1869F-注册种子
00415829|.8BC1 mov eax,ecx
0041582B|.03C0 add eax,eax ;X=2X
0041582D|.8D0480 lea eax,dword ptr ds: ;X=X+X*4
00415830|.83C0 21 add eax,0x21 ;X=X+21
00415833|.3B45 98 cmp eax,
00415836|.0F85 B5020000 jnz usbsp.00415AF1 ;注册码不正确则跳向万恶的深渊
0041583C|.66:C746 10 38>mov word ptr ds:,0x38
00415842|.BA F18B5D00 mov edx,usbsp.005D8BF1 ;ASCII "select * from reg"
00415847|.8D45 E8 lea eax,
0041584A|.E8 C13B1A00 call usbsp.005B9410
Delphi注册机源码(懒人,直接嵌入汇编了):var
sn:Integer;
begin
asm
mov ecx,$1869F {1869F}
sub ecx,zzm {X=1869F-注册种子 }
mov eax,ecx
add eax,eax {X=2X }
lea eax,dword ptr ds: {X=X+X*4 }
add eax,$21 {X=X+21 }
mov sn,eax
end;
Form1.Edit2.text:=IntToStr(sn);
end;
厉害,学习了 前来膜拜Null牛 膜拜一下 膜拜大牛
学习了··自己试验下去了
嗯膜拜一下呢呵呵 新手疑问 貌似注册码跟用户名之间没关系啊? 膜拜中,,,, 不错 分析 的还不错 历害,膜拜LZ。