Я пробовал, но не получил ответа
push ebp
mov ebp,esp
mov edi, 0x00540000h
mov esi, 0x00540400h
push esi
call some_func (0x00710000h)
push eax
push edi
call some_func (0x007100000h)
add edi,eax
pop ecx
inc ecx
cld
loop_label:
lodsb
stosb
loop loop_label
mov eax,edi
mov esp,ebp
pop ebp
ret 0
где функции 0x007100000h просто получают строку в качестве параметра и возвращают ее длину. 0x00540400h и 0x00540000h содержат непустые строки с завершающим нулем
могу объяснить немного больше
На основе
add edi,eax
и цикла копирования (который был бы намного эффективнее, чемrep movsb
), это выглядит как strcat, если только не происходит чего-то еще, чего я не заметил.