분류 전체보기(333)
-
[5] 어셈블리 계산기 , scanf , printf
어셈블리 ( NASM ) 언어로 간단한 계산 작업을 할 수 있는 계산기 코드를 작성해보도록 하겠습니다 [ 계산기 작성 코드 ] extern printf ; printf 라이브러리 가져온다 extern scanf ; scanf 라이브러리 가져온다 section .data argv: db '%d\n', 10, 00 argv1: db '%d %d', 10, 00 argv2: db '%d %d', 10, 00 argv3: db 'q:%d, r:%d', 10, 00 section .bss num_1: resd 1 ; 레이블 num_1 : 0x85858585 같은 메모리의 주소값 num_2: resd 1 ; 레이블 num_2 : 0x85858585 같은 메모리의 주소값 section .text global main..
2017.10.19 -
[4] 어셈블리 명령어 add,sub,mul,div
1-1> 덧셈: ADD 1-2> 뺄셈: SUB [ 덧셈 ] [ 코드 설명 ] main: mov dword [sum], 10 ; sum = 10 add dword [sum], 20 ; sum = sum + 20 push dword [sum] push argv1 call printf ; printf("%d",30) 뺄셈은 덧셈과 같은 형식으로 사용한다 1-3> 곱셈 MUL : unsigned(부호가 없는 연산) # 부호 없는 al, ax, eax 레지스터 의 값을 피연산자와 곱한다 # 형식 : mul register|memory # 원리 AL(8) * 8bit x/m -> AX ( 16bit ) AX(16) * 16bit x/m -> DX:AX ( 16bit 레지스터 2개를 사용한다 ) EAX(32) * 3..
2017.10.18 -
정보보안기사 실기 참고 내용 정리 2
[ DHCP ( Dynamic Host Configuration Protocol ) ] 67/UDP 포트 사용 DHCP 설정파일 ( /etc/dhcpd.conf ) 작성 방식 subnet [ IP주소 ] netmask [ mask ] { option routes [ gateway address ] ; option subnet-mask [ Netmask ] ; option domain-name [ DomainName ] ; option domain-name-server [DomainNameServerAddress ] ; range dynamic-bootp [ 시작 IP ] [ 끝 IP ] ; default-lease-time [ 초 ] ; max-lease-time [ 초 ] ; } 할당 ( Lease )..
2017.10.18 -
[3] 어셈블리 text section / mov / lea
[ 명령어 ] 1. MOV 할당 연산자와 비슷한 개념 mov r/m reg mov reg r/m mov r/m 상수 기본적인 형태 : mov dst, src ( src,dst 에 memory가 올 수 는 없다 ) 1-1> 레지스터에 데이터 저장하기 mov eax, 10 ; eax레지스터에 상수 10을 저장 1-2> 메모리에 데이터 저장하기 mov 크기 [레이블], 값 ; 레이블에 해당하는 주소안에 '크기' 만큼의 공간에 값을 저장 [ #vi operator.asm ] [ 코드 설명 ] extern printf section .data argv1: db '%d', 10, 00 test_1: dd 10 section .bss memory1: resd 1 section .text global main main..
2017.10.17 -
[2] 어셈블리 문자열 표현방식 / 데이터단위 / 레지스터 종류
NASM 이라는 어셈블러를 사용하도록 하겠습니다 NASM 에서는 한 개의 문자나 문자열 모두 ' ' 로 표현합니다 또한 문자와 문자를 , 를 사용해서 연결합니다 1> 'abcd' = 'ab' , 'cd' 2> 'Hello, World!!!' , 10 , 00 10과 00 은 무엇일까? 아스키 코드 10 => New Line ( Enter ) 아스키 코드 00 => NULL ( 문자열의 끝을 알림 ) * 어셈블러 기본 데이터의 단위 단위 크기 C NASM(문자로표현) byte 1 char b word 2 short w double word 4 int,long, float(32bit기준) d pointer(32bit기준) quad word 8 long long, double q ten byte 10 * 어셈..
2017.10.16 -
정보보안기사 실기 참고 내용 정리 1
inetd , xinetd , TCPWrapper inetd : 리눅스 서버에서 서비스되는 다른 여러가지 데몬들을 제어하면서 각각의 서비스들의 연결을 담당한다(=슈퍼데몬) 형식: [servicename] [sock_type] [protocol] [wait_flag] [user] [server_path] [args] => telnet stream tcp nowait root /usr/sbin/telnetd in.telnetd=> TCP Wrapper 사용시=> telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd TCPWrapper : /etc/hosts.allow , /etc/hosts.deny 파일을 읽어 허가되는 접속인지 체크한다 * servicename..
2017.10.16