-
-
[旧帖]
[求助]请教几个函数的作用!~
0.00雪花
-
发表于:
2008-1-8 15:38
3192
-
[旧帖] [求助]请教几个函数的作用!~
0.00雪花
function StrPosB(Str: PChar; iLen: longword; c: Char): longword; assembler;
asm
PUSH EDI
PUSH EBX
OR EAX,EAX //Str1
JE @@2
MOV EDI,EAX
MOV EBX,EAX
MOV AL,CL //c
MOV ECX,EDX //iLen
INC ECX
REPNE SCASB
CMP ECX,0
JE @@2
MOV EAX,EDI
SUB EAX,EBX
DEC EAX
JMP @@3
@@2: MOV EAX,0FFFFFFFFH
@@3: POP EBX
POP EDI
end;
function StrPosW(Str: PChar; iLen: longword; c: word): longword; assembler;
asm
PUSH EDI
PUSH EBX
OR EAX,EAX //Str1
JE @@2
MOV EDI,EAX
MOV EBX,EAX
MOV AX,CX //c
MOV ECX,EDX //iLen
Shr ECX,1 // !!!! /2
INC ECX
REPNE SCASW
CMP ECX,0
JE @@2
MOV EAX,EDI
SUB EAX,EBX
SUB EAX,2 // !!!! -2
JMP @@3
@@2: MOV EAX,0FFFFFFFFH
@@3: POP EBX
POP EDI
end;
function StrPosD(Str: PChar; iLen: longword; c: dword): longword; assembler;
asm
PUSH EDI
PUSH EBX
OR EAX,EAX //Str1
JE @@2
MOV EDI,EAX
MOV EBX,EAX
MOV EAX,ECX //c
MOV ECX,EDX //iLen
Shr ECX,2 // !!!! /4
INC ECX
REPNE SCASD
CMP ECX,0
JE @@2
MOV EAX,EDI
SUB EAX,EBX
SUB EAX,4 // !!!! -4
JMP @@3
@@2: MOV EAX,0FFFFFFFFH
@@3: POP EBX
POP EDI
end;
在分析一个小程序的时候看到以上的几个函数不知道是干什么用的,在网上查了查也没有查到,哪位高手朋友帮忙解释一下函数的用途!~小弟感谢
[课程]Linux pwn 探索篇!