어셈블리어와 악성코드 17

MINI-100 바이러스 분석하기 - (2)

MINI-100 바이러스 분석하기 - (2) 실습 환경VMware Workstation 15 Player (FREE 버전)Windows XP Professional SP3 (32Bit) MINI-100 바이러스 분석하기 - (1)에 이어서 진행합니다. 19E0:0147 MOV AX, 4200 19E0:014A CWD MOV 명령어로 AX=4200 값을 입력합니다. 이어서 CWD 명령어를 실행합니다. CWD 명령어는 AX 워드 정보를 DX:AX의 더블 워드형으로 확장하는 명령어입니다. AX는 그대로 유지되지만, DX=0000의 값이 됩니다. MOV 명령어 대신 사용하여 DX의 값을 0000으로 만들었는데 파일 크기를 줄이는 방법입니다.(CWD=1 Byte, MOV=3 Byte) 19E0:014B INT 2..

MINI-100 바이러스 분석하기 - (1)

MINI-100 바이러스 분석하기 - (1) 실습 환경VMware Workstation 15 Player (FREE 버전) Windows XP Professional SP3 (32Bit) MINI-100 바이러스의 코드를 실행하면서 레지스터를 살펴보도록 하겠습니다. 총 68줄의 코드입니다. MINI-100 바이러스의 코드는 다음과 같습니다. -MINI-100 Code Start- rsi 100 a 100 PUSH SI PUSH SI POP DI MOV AX,CS INC AH MOV ES,AX MOV CL,64 REPZ MOVSB POP SI MOV AH,4E MOV DX,015E INT 21 JNB 012D PUSH SI PUSH ES PUSH CS POP ES XCHG DI,SI MOV CX,FE9B ..

MINI-100 바이러스에 대하여 알아보기

MINI-100 바이러스에 대하여 알아보기 실습 환경VMware Workstation 15 Player (FREE 버전) Windows XP Professional SP3 (32Bit) MINI-100 코드는 제일 밑에 있습니다. 전위형 바이러스로 확장자가 COM인 파일을 감염시키며, 감염된 파일은 100 Byte의 크기가 증가합니다. COM 확장자는 DOS를 사용할 때 사용하던 확장자로 최대 64 KByte의 크기를 가집니다. 전위형 바이러스란 정상파일 앞에 바이러스가 붙는 형태의 바이러스라고 합니다. 이와 반대로 후위형 바이러스는 정상파일 뒤에 바이러스가 붙는 형태입니다. 코드를 분석하기 전에 MINI-100 바이러스를 실행해 보겠습니다. MINI-100 바이러스는 같은 폴더 안에 있는 COM 확장자..

어셈블리어를 이용하여 1부터 100까지의 합을 구해보자

어셈블리어를 이용하여 1부터 100까지의 합을 구해보자 실습 환경 VMware Workstation 15 Player (FREE 버전) Windows XP Professional SP3 (32Bit) 실습 목표 1부터 100까지 더한 결과를 DS:100 메모리 번지에 저장한다. CMD창을 열어 debug 명령어를 입력합니다. -a 100 :0100 MOV AX, 0 :0103 MOV BX, 0 :0106 MOV CX, 64 :0109 INC AX :010A ADD BX, AX :010C LOOP :010E MOV WORD[100], BX :0112 먼저 AX, BX에 0000의 값을 넣어줍니다. 1부터 100까지의 반복이기 때문에 CX=0064의 값을 넣어줍니다.숫자 100을 16진수로 변환하면 64입니..

레지스터와 메모리에 대하여 알아보기

레지스터와 메모리에 대하여 알아보기 레지스터 / 메모리 컴퓨터 프로그램의 내용은 대부분 자료를 주고 받는 작업으로 이루어진다. 앞에서 다룬 레지스터도 자료를 주고 받을 수 있다. 하지만, 한정된 개수의 레지스터는 많은 자료를 저장하거나 관리 할 수가 없다. 그래서 메모리라는 자료 저장 장소가 필요한 것이다. 메모리는 레지스터에 비교할 바가 못 될 정도로 방대하다. 메모리는 레지스터보다 엄청나게 많은 것을 기억할 수 있지만, 메모리를 이용하면 속도가 느립니다. 메모리 접근 방법 리틀 엔디안 방식을 사용합니다. 리틀 엔디안은 주로 Intel 프로세서 계열에서 사용하는 바이트 오더 방식이며, 메모리 시작 주소에 하위 바이트부터 기록합니다. Ex) MOV WORD [678], 123 (사진) 데이터 타입 타입 ..

반응형