Hero Video Convert v2.0 KeyGen(MASM32)
SoftWare:Hero Video Convert v2.0 KeyGen(MASM32)
Tools:MASM32 v8.0 Cracker:lq7972[bruceyu13@sina.com] Notes:可以用來從光碟Copy電影;它同豪傑的主流產品註冊算法及其跟蹤相差不大。第一組註冊碼完全相同,其它的也只是加了些計算--請參考我前面寫的註冊機 (這個註冊機也只是演示了註冊算法) ;KeyGen.asm ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ; The KeyGen by lq7972,with MASM32 V8 ; E-mail:bruceyu13@sina.com ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> .386 .model flat,stdcall option casemap:none ;Include文件定義 include windows.inc include user32.inc includelib user32.lib include kernel32.inc includelib kernel32.lib include gdi32.inc includelib gdi32.lib include comdlg32.inc includelib comdlg32.lib include masm32.inc includelib masm32.lib ;Equ等值定義 ICO_MAIN equ 1000H DLG_MAIN equ 1 EditName equ 10 EditSN equ 11 ;************************************************************************************* .data? szName db 512 dup (?) szSN db 20 dup (?) Reg1 dd 4 dup (?) Reg2 dd 4 dup (?) Reg3 dd 4 dup (?) Reg4 dd 4 dup (?) Temp dd 512 dup (?) Temp1 db 512 dup (?) Temp2 db 512 dup (?) .data hInstance dd 0 szErr db '請輸入用戶名!',0 szErr1 db '對不起,用戶名長了',0dh,0ah,\ '請更換用戶名!',0 szCaption db '錯誤!',0 RegFmt db '%4s-%4s-%4s-%4s',0 ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> .code ;*************************************************************************************** _Calc proc push ebx mov al,byte ptr [Temp1] mov bl,byte ptr [Temp2] d10: test bl,0C3H jpe @F stc @@: rcr bl,01 dec al jnz d10 mov byte ptr [Temp2],bl mov al,byte ptr [Temp2] pop ebx ret _Calc endp ;*************************************************************************************** _NameRor proc mov eax,DWORD ptr [Temp1] mov ecx,DWORD ptr [Temp2] ror eax,cl mov DWORD ptr Temp,eax mov eax,DWORD ptr Temp ret _NameRor endp ;*************************************************************************************** _NameCalc proc uses ebp edi esi ebx xor ebx,ebx invoke lstrlen,offset szName .if eax > 200H invoke MessageBox,NULL,offset szErr1,offset szCaption,MB_OK mov eax,FALSE ret .endif mov ebp,eax cdq and edx,3 add eax,edx sar eax,2 test ebp,3 mov esi,eax jz @F inc esi @@: xor edi,edi test ebp,ebp jle c10 invoke lstrcpy,addr Temp,addr szName @@: mov eax,dword ptr [Temp+edi] mov dword ptr [Temp2],eax invoke _Calc mov byte ptr [Temp+edi],al inc edi mov dword ptr [Temp1],edi cmp edi,ebp jl @B c10: xor edi,edi test esi,esi jle c20 @@: mov dword ptr [Temp2],edi add ebx,DWORD ptr [Temp+edi*4] mov dword ptr [Temp1],ebx mov eax,edi and eax,01FH inc edi invoke _NameRor mov ebx,eax cmp edi,esi jl @B c20: mov eax,ebx ret _NameCalc endp ;*************************************************************************************** _RgeCodCalc_1 proc b10: and eax,07FH cmp al,041H jb @F cmp eax,05AH jg @F or eax,020H @@: cmp eax,06FH jnz @F xor eax,0FFH @@: cmp eax,030H jnz @F xor eax,0FFH @@: cmp eax,061H jl @F cmp eax,07AH jle b20 @@: cmp eax,031H jl @F cmp eax,039H jle b20 @@: xor eax,03FH or eax,031H jmp b10 b20: ret _RgeCodCalc_1 endp ;*************************************************************************************** _RegCodCalc proc pushad xor edi,edi invoke _NameCalc mov dword ptr Temp,eax a10: lea esi,[Temp+edi] movsx eax,byte ptr [esi] cmp eax,041H jl @F cmp eax,020H jg @F add eax,020H @@: inc edi invoke _RgeCodCalc_1 mov byte ptr [Reg1+edi-1],al cmp edi,04H jl a10 mov eax,Reg1 xor edi,edi lea ecx,dword ptr [eax+eax*4] lea eax,dword ptr [ecx+ecx*4] mov ecx,Reg1 mov edx,ecx shl ecx,5 add ecx,edx xor eax,ecx mov Temp,eax a20: lea ebx,dword ptr [Temp+edi] mov al,byte ptr [ebx] mov dword ptr Temp1,edi mov Temp2,al inc edi invoke _Calc xor ecx,ecx mov cl,al movsx eax,al invoke _RgeCodCalc_1 mov byte ptr [Reg2+edi-1],al cmp edi,04H jl a20 mov eax,Reg2 mov ecx,Reg1 xor eax,Reg1 xor edi,edi mov edx,ecx imul eax,Reg1 add eax,Reg2 lea ecx,dword ptr [ecx+ecx*2] shl ecx,3 sub ecx,edx xor eax,ecx mov Temp,eax a30: lea ebx,[Temp+edi] inc edi movsx eax,byte ptr [ebx] invoke _RgeCodCalc_1 mov byte ptr [Reg3+edi-1],al cmp edi,4 jl a30 mov ecx,Reg2 mov eax,Reg3 inc ecx imul ecx,Reg1 xor edi,edi lea edx,dword ptr [ecx+ecx*4] lea ecx,dword ptr [ecx+edx*4] lea edx,dword ptr [eax+eax*2] lea ebx,dword ptr [edx+edx*8] add ecx,ebx mov Temp,ecx a40: lea ebx,[Temp+edi] inc edi movsx eax,byte ptr [ebx] invoke _RgeCodCalc_1 mov byte ptr [Reg4+edi-1],al cmp edi,04H jl a40 invoke wsprintf,addr szSN,addr RegFmt,addr Reg1,addr Reg2,addr Reg3,addr Reg4 popad ret _RegCodCalc endp ;************************************************************************************** _ProcDlgMain proc uses ebx edi esi ebp hWnd,wMsg,wParam,lParam mov eax,wMsg .if eax == WM_CLOSE invoke EndDialog,hWnd,NULL .elseif eax == WM_COMMAND mov eax,wParam .if eax == IDOK invoke RtlZeroMemory,offset szName,512 invoke GetDlgItemText,hWnd,EditName,offset szName,512 .if eax != NULL invoke _RegCodCalc invoke SetDlgItemText,hWnd,EditSN,offset szSN mov eax,FALSE ret .else invoke MessageBox,NULL,offset szErr,offset szCaption,MB_OK mov eax,FALSE ret .endif .elseif eax == IDCANCEL invoke EndDialog,hWnd,NULL .endif .else mov eax,FALSE ret .endif mov eax,TRUE ret _ProcDlgMain endp ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> start: invoke GetModuleHandle,NULL mov hInstance,eax invoke DialogBoxParam,hInstance,DLG_MAIN,NULL,offset _ProcDlgMain,NULL invoke ExitProcess,NULL ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> end start //KeyGen.rc #include <Resource.h> #define ICO_MAIN 0x1000 #define DLG_MAIN 1 #define EDITName 10 #define EDITSN 11 //ICO_MAIN ICON "01.ico" DLG_MAIN DIALOG 100,150,250,60 STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME CAPTION "註冊機 by lq7972" FONT 9,"細明體" { CONTROL "Name:" ,-1,"Static",SS_LEFT,10,13,40,17 CONTROL "SN:" ,-2,"Static",SS_CENTER,10,40,20,17 CONTROL "" ,10,"Edit",ES_LEFT,30,13,150,10 CONTROL "" ,11,"Edit",ES_LEFT,30,40,150,10 DEFPUSHBUTTON "GENERATE",IDOK,200,11,40,15 PUSHBUTTON "EXIT",IDCANCEL,200,36,41,14 } #makefile NAME = KeyGen OBJS = $(NAME).obj RES = $(NAME).res LINK_FLAG = /subsystem:windows ML_FLAG = /c /coff $(NAME).exe: $(OBJS) $(RES) Link $(LINK_FLAG) $(OBJS) $(RES) .asm.obj: ml $(ML_FLAG) $< .rc.res: rc $< clean: del *.obj del *.res |
所有時間均為台北時間。現在的時間是 05:38 AM。 |
Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2024, Jelsoft Enterprises Ltd.
『服務條款』
* 有問題不知道該怎麼解決嗎?請聯絡本站的系統管理員 *