Assembly 读取字符串而不定义长度
是否可以使用(调用ReadString)读取字符串,而不定义要读取的字符串的长度?在调用ReadString之前,我必须说明字符串的长度:Assembly 读取字符串而不定义长度,assembly,x86,masm,32-bit,irvine32,Assembly,X86,Masm,32 Bit,Irvine32,是否可以使用(调用ReadString)读取字符串,而不定义要读取的字符串的长度?在调用ReadString之前,我必须说明字符串的长度: mov edx, offset StringOffset mov ecx, maxLenght call ReadString mov countOfChars, eax 有没有办法在不定义最大长度的情况下读取字符串?我从来没有调用过ReadString,但您可以使用字符串末尾的\0来获取maxLe
mov edx, offset StringOffset
mov ecx, maxLenght
call ReadString
mov countOfChars, eax
有没有办法在不定义最大长度的情况下读取字符串?我从来没有调用过ReadString,但您可以使用字符串末尾的
\0
来获取maxLength
或手动读取它
xor eax, eax
cmp edi, 0
jz end
deb:
cmp BYTE[edi+eax], 0
jz end
inc eax
jmp deb
end:
...
“是否可以使用(调用ReadString)读取字符串而不定义要读取的字符串长度?”听起来很危险。如果读取的数据超过缓冲区所能容纳的数据量,该怎么办?