와 EICAR 테스트 파일을 어셈블 할 수 없습니다 나는 EICAR 테스트 파일을 분해하고 다음 코드를 가지고 :은 NASM
[org 100h]
pop ax
xor ax,214Fh
push ax
and ax,4140h
push ax
pop bx
xor al,5Ch
push ax
pop dx
pop ax
xor ax,2834h
push ax
pop si
sub [bx],si
inc bx
inc bx
sub [bx],si
jge 0140h
db "EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$"
dec ax
sub cx,[bx+si+2Ah]
이해가 안 왜 내가 사용하여 다시 DOS의 COM 파일을 조립하려고 할 때
X5O!P%@AP[4\PZX54(P^)7CC)7..".EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
실제로해야한다 :
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
nasm -fbin
그것은 나에게 다음과 같은 출력을 (실행하지 않음) 제공 작동하지 않습니다
NASM에 무엇이 잘못 되었습니까?
PS1 : 이전 A86 Assembler을 사용할 때 완벽하게 작동합니다.
PS2 : Windows 7 32 비트를 사용하고 있습니다.
아마도 NASM에서 코드의 문자열 필드가 DATA 영역으로 이동하고 CODE 영역에서 멈춤을 나타내는 일종의 지시문을 작성해야합니다. 일부 호환성 정보를 찾으려면 NASM 문서를 봐야합니다. –
EICAR은 자체 수정 코드이므로 문자열을 DATA 영역으로 이동할 수 없으므로 문자열 **은 주소 0x1C에서 시작하고 주소 0x140에서 끝나야합니다. –