能力值:
( LV8,RANK:130 )
|
-
-
4 楼
stringone db 3,2,0,1,0,2,2,1,3,0,3,1,0
stringtwo db 26h,76h,14h,55h,07h,0F1h,0Bh,8Dh,40h,2Ah,49h,0F9h,4Ah,51h,74h,28h,0
lea eax,hInput1
;以下代码完成删除大于7F的ASCII字符,新字符仍然存放于hInput1中
lea ebx, namelength
mov ebx,[ebx]
abc1: mov ecx,[eax+ebx-1]
cmp cl,7Fh
jbe abc2
push ebx
push eax
;将前后两个字符串合并
xor ecx,ecx
mov [eax+ebx-1],cl
add ebx,eax
invoke lstrcat,eax,ebx
invoke lstrlen,eax
lea edx,namelength
mov [edx],eax
pop eax
pop ebx
abc2: dec ebx
test ebx,ebx
jnz abc1
;以上代码完成删除大于7F的ASCII字符
lea ebx,namelength
mov ebx,[ebx]
push ebx
invoke CharUpperBuff,eax,ebx;字符串转化成大写
|
能力值:
( LV8,RANK:130 )
|
-
-
5 楼
;以下代码完成((41*10+42)*10+43)*10+44功能,完全照搬软件中的代码
pop ebx
lea eax,hInput1
xor ecx,ecx
dec ebx
test ebx,ebx
jl abc5
inc ebx
abc3: SHL ECX,4
XOR EDX,EDX
MOV DL,[EAX]
ADD ECX,EDX
MOV EDX,ECX
AND EDX,0F0000000h
TEST EDX,EDX
JE abc4
MOV ESI,EDX
SHR ESI,18h
XOR ECX,ESI
abc4: NOT EDX
AND ECX,EDX
INC EAX
DEC EBX
JNZ abc3
abc5:
;以上代码完成((41*10+42)*10+43)*10+44功能
push ebp
mov eax,ecx
MOV DWORD PTR SS:[ESP+10h],EAX
MOV DWORD PTR SS:[ESP+14h],4
MOV DWORD PTR SS:[ESP+0Ch],0D9F6h
lea esi,stringone
lea ebp,stringtwo
abc6: MOV EDX,DWORD PTR SS:[ESP+0Ch]
mov al,[esi]
and eax,0FFh
xor ecx,ecx
add ecx,eax
LEA ECX,DWORD PTR DS:[ECX*4]
add ecx,ebp
mov ecx,[ecx]
inc esi
mov al,[esi]
and eax,0FFh
xor edi,edi
add edi,eax
LEA EDI,DWORD PTR DS:[EDI*4]
add edi,ebp
mov eax,[edi]
inc esi
mov bl,[esi]
and ebx,0FFh
LEA EBX,DWORD PTR DS:[EBX*4]
add ebx,ebp
mov ebx,[ebx]
;上面代码完成查表功能,并将查到的结果放到相应的ecx,eax,ebx中
ADD EDX,EBX
ADD EBX,EDX
MOV EDI,EDX
SHR EDI,7
XOR EDX,EDI
ADD ECX,EDX
ADD EDX,ECX
MOV EDI,ECX
SHL EDI,0Dh
XOR ECX,EDI
ADD EAX,ECX
ADD ECX,EAX
MOV EDI,EAX
SHR EDI,11h
XOR EAX,EDI
ADD EBX,EAX
ADD EAX,EBX
MOV EDI,EBX
SHL EDI,9
XOR EBX,EDI
ADD EDX,EBX
ADD EBX,EDX
MOV EDI,EDX
SHR EDI,3
XOR EDX,EDI
ADD ECX,EDX
MOV EDX,ECX
SHL EDX,7
XOR ECX,EDX
ADD EAX,ECX
MOV EDX,EBX
SHR EDX,0Fh
XOR EAX,EDX
ADD EBX,EAX
MOV EAX,EBX
SHL EAX,0Bh
XOR EBX,EAX
MOV EAX,DWORD PTR SS:[ESP+10h]
xor eax,ebx
MOV EDX,DWORD PTR SS:[ESP+0Ch]
MOV DWORD PTR SS:[ESP+10h],EDX
MOV DWORD PTR SS:[ESP+0Ch],EAX
inc esi
DEC DWORD PTR SS:[ESP+14h]
JNZ abc6
MOV EDX,DWORD PTR SS:[ESP+10h]
lea eax,strsntemp
MOV DWORD PTR DS:[EAX],EDX
MOV EDX,DWORD PTR SS:[ESP+0Ch]
MOV DWORD PTR DS:[EAX+4],EDX
lea eax,strsntemp
invoke lstrlen,eax
mov ecx,eax
lea eax,strsntemp
lea edi,strsn
abc7: mov bl,[eax+ecx-1]
and ebx,0Fh
.if bl>9
add bl,37h
.else
add bl,30h
.endif
mov [edi+ecx*2-1],bl
mov bl,[eax+ecx-1]
and ebx,0F0h
shr ebx,4
.if bl>9
add bl,37h
.else
add bl,30h
.endif
mov [edi+ecx*2-2],bl
dec ecx
test ecx,ecx
jnz abc7
pop ebp
|