史萊姆論壇

返回   史萊姆論壇 > 教學文件資料庫 > Hacker/Cracker 及加解密技術文件
忘記密碼?
論壇說明 標記討論區已讀

歡迎您來到『史萊姆論壇』 ^___^

您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的!

請點擊這裡:『註冊成為我們的一份子!』

Google 提供的廣告


 
 
主題工具 顯示模式
舊 2003-12-11, 07:56 PM   #1
psac
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設 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
psac 目前離線  
送花文章: 3, 收花文章: 1630 篇, 收花: 3204 次
 


主題工具
顯示模式

發表規則
不可以發文
不可以回覆主題
不可以上傳附加檔案
不可以編輯您的文章

論壇啟用 BB 語法
論壇啟用 表情符號
論壇啟用 [IMG] 語法
論壇禁用 HTML 語法
Trackbacks are 禁用
Pingbacks are 禁用
Refbacks are 禁用

相似的主題
主題 主題作者 討論區 回覆 最後發表
教學 - Excel 2002 教學Flash (100課) superxboy 繪圖軟體應用技術文件 5 2007-04-15 11:44 PM


所有時間均為台北時間。現在的時間是 02:04 PM


Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2020, Jelsoft Enterprises Ltd.


SEO by vBSEO 3.6.1