null119 发表于 2011-10-8 01:20

悠仕书架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;

老万 发表于 2011-10-8 15:25

厉害,学习了

Smoke 发表于 2011-10-8 16:59

前来膜拜Null牛

wuweiben 发表于 2011-10-8 17:52

膜拜一下

注册账户好难 发表于 2011-10-10 14:07

膜拜大牛
学习了··自己试验下去了

White 发表于 2011-10-11 08:49

嗯膜拜一下呢呵呵

rainisa 发表于 2011-10-11 16:21

新手疑问 貌似注册码跟用户名之间没关系啊?

hellcomer 发表于 2011-10-11 16:39

膜拜中,,,,

鬼刀 发表于 2011-10-11 23:07

不错 分析 的还不错

change 发表于 2011-10-12 08:29

历害,膜拜LZ。
页: [1] 2 3 4 5 6 7 8
查看完整版本: 悠仕书架2.0 简单算法分析+注册机源码(除了新手,请PASS)