http://zzigregi.com/sis/ 문제 그동안 ftp서버로 사용하던 시스템을 ftp서비스를 더이상 제공하지 않고 다른 용도로 사용하게 되었다. 현재 제공되고 있는 ftp서비스를 중지시키고 앞으로도 부팅시에도 더이상 제공되지 않도록 필요한 시스템 설정을 바꾸시오 풀이 inetd.conf에서 ftp에 #붙이믄 실행안되니깐... 그전에 ps확인해서 ftp있나보고 있으면 kill 로 죽이고inetd restart 1.서비스가 죽었을 경우 1) ftp 포트 확인 # grep ftp /etc/services ftp 21/tcp 위와 같은 사항이 나오는지 살펴보시구요.. 앞에 주석(#)으로 막혀있다면 풀어주세요.. 그다음 # pkill -HUP inetd 하시면 재가동 됩니다. 2) ftp 서비스 확인 /..
[전광성의 어셈블리어 이해하기:5회] 프로시져(Procedure) (2) 저자: 전광성 | 날짜: 2005년 03월 02일 1 .0 함수의 동작 원리 0 프로시져(Procedure) 3 .0 USES 연산자 프로시져(Procedure) 고급언어를 공부했다면, 프로그램을 함수(function)로 잘게 쪼개어 작생하는 것이 얼마나 유용한지에 대해 잘 알고 있을 것이다. 해결해야할 복잡한 문제들을 작은 부분들로 쪼개어 하나하나 풀어간다면 프로그래밍이 한결 쉬워진다. 어셈블리에서는 이를 프로시져(Procedure)라고 부른다. PROC 디렉티브 프로시져의 정의란, 고급언어에서 함수를 정의하는 것과 같다. 먼저 우리가 앞선 예제들에서 나오던 main 프로시져를 생각해 보자. 기억이 나지 않을 테니 main프로시져..
[전광성의 어셈블리어 이해하기:5회] 프로시져(Procedure) (1) 저자: 전광성 | 날짜: 2005년 02월 23일 0 함수의 동작 원리 2 .0 프로시져(Procedure) 3 .0 USES 연산자 시작하기에 앞서... 아무리 저급언어라고 해도, 함수는 존재한다. 함수는 특정 코드가 반복될때, 이를 따로 떼어내어 만들어 두고 필요할 때 호출함으로써 코드의 길이를 줄일 수 있다. 또한 함수는 지나치게 긴 코드를 보기좋고 깔끔하게 만들어 주기도 하며, 함수의 이름을 잘 짓는다면 문서화에도 도움이 된다. 어셈블리어에서는 함수를 이용할 수 있는 직접적인 명령(Instruction)은 없지만, 디렉티브(Directive)를 갖고 있다. 하지만 그 이전에, 먼저 런타임 스택(Runtime Stack)을 알..
[전광성의 어셈블리어 이해하기:4회] 프로그래밍에 필요한 명령어와 디렉티브 (3) 저자: 전광성 | 날짜: 2005년 02월 16일 1 .0 여러가지 명령어(MOV, 다이렉트-오프셋 오퍼랜드, ADD, SUB) 2 .0 플래그와 연산자(OFFSET, PTR, TYPE, 인다이렉트 오퍼랜드) 및 배열 0 JMP, LOOP 명령과 예제 JMP 명령 JMP는 jump의 약자로, 코드의 특정 위치로 점프를 할 수 있다. C언어에서의 goto문과 정확히 일대일 대응이 되는 명령이다. "jmp 목적지의 코드레이블"와 같이 사용한다. 다음의 예를 보아라. L1: jmp L1 지금 보여주는 것은 무한루프가 된다. jmp 앞에 붙은 L1:은 코드상에 붙인 레이블이다. jmp L1 이렇게 하게 되면 L1으로 가서 코드를 ..
[전광성의 어셈블리어 이해하기:4회] 프로그래밍에 필요한 명령어와 디렉티브 (2) 저자: 전광성 | 날짜: 2005년 02월 04일 1 .0 여러가지 명령어(MOV, 다이렉트-오프셋 오퍼랜드, ADD, SUB) 0 플래그와 연산자(OFFSET, PTR, TYPE, 인다이렉트 오퍼랜드) 및 배열 3 .0 JMP, LOOP 명령과 예제 산술 연산에 영향을 받는 플래그 산술 연산을 하다 보면 최대값을 뛰어넘어 오버플로우가 발생하기도 한다. 이럴 때 어떻게 처리를 해주어야 할까? 플래그(Flags)를 이용하면 된다. 플래그는 산술연산을 수행한 후, 어떤 상태가 되었는지에 대해 알려준다. 단지 오버플로우 뿐만 아니라 계산 후 0이 되었는지, 부호가 붙었는지 등을 표시해 준다. 조심해야 할 것은 산술 연산을 두 번..
[전광성의 어셈블리어 이해하기:4회] 프로그래밍에 필요한 명령어와 디렉티브 (1) 저자: 전광성 | 날짜: 2005년 02월 02일 0 여러가지 명령어(MOV, 다이렉트-오프셋 오퍼랜드, ADD, SUB) 2 .0 플래그와 연산자(OFFSET, PTR, TYPE, 인다이렉트 오퍼랜드) 및 배열 3 .0 JMP, LOOP 명령과 예제 시작하기에 앞서... 시작한지 얼마 되지 않은 것 같은데 벌써 4회이다. 이번 회에서 배우게 될 내용은 다음과 같다. - 자료전송명령(C에서의 대입연산자(=)의 역할을 한다)의 사용 - 덧셈과 뺄셈과 이에 관련된 부수적인 내용의 이해 - 포인터와 배열의 사용 - jmp명령(C에서의 goto)과 루프사용 이제는 본격적으로 프로그래밍에 필요한 명령어와 디렉티브들을 배우게 될 것이..
[전광성의 어셈블리어 이해하기:3회] 어셈블리언어 기초 (3) 저자: 전광성 | 날짜: 2005년 01월 04일 1 .0 어셈블리언어 기초 (1) 2 .0 어셈블리언어 기초 (2) 0 어셈블리언어 기초 (3) DUP 연산자 연속된 여러 값들을 한꺼번에 초기화할 수 있게 해주는 연산자이다. 아까 한 데이터 레이블에 뒤이어 연속적으로 자료를 정의했던 것을 상기시켜보라. 만약 연속된 자료가 1000개 필요하다면 0을 1000개 써야 하므로 매우 귀찮을 것이다. 하지만 DUP연산자를 사용한다면 다음과같이 쓸 수 있다.BYTE 1000 DUP(0) ; 20 bytes, 모두 다 0이다. BYTE 4 DUP("ABC") ; 12 bytes: "ABCABCABCABC" 위와 같이 사용한다. DUP앞에 쓰는 숫자는 '..
[전광성의 어셈블리어 이해하기:3회] 어셈블리언어 기초 (2) 저자: 전광성 | 날짜: 2004년 12월 29일 1 .0 어셈블리언어 기초 (1) 0 어셈블리언어 기초 (2) 3 .0 어셈블리언어 기초 (3) 레이블(Label) 레이블이란 인스트럭션이나 데이터의 위치를 표시해 주는 것이다. 인스트럭션의 위치를 표시해 주는 것이라는 설명에 대해서는 C에서 goto문을 생각하면 가장 쉬울 것이다. C에서는 특정 문장 앞에 L1: 과같이 쓰고, 나중에 그 위치로 옮겨가고 싶을 때 goto L1;이라고 썼다. 어셈블리에서는 jmp이나 loop와 같은 인스트럭션을 쓸 때 사용하게 될 것이다. 이러할 때 쓰이는 레이블을 코드 레이블(Code Label)이라고 한다.데이터의 위치를 표시해 준다는 것은 무엇일까? 바로..