본문 바로가기

전체 글

(388)
AVR 개발 - LED
rootkit - vfs hooking [readdir,iterate] 루트킷 자료를 검색하다보면, 인터넷 자료를 뒤지다 보면 file operation에 readdir 함수가 존재한다. 하지만 리눅스 커널 3.11 버전 이후 부터는 readdir 함수가 사라졌다. 그래서 혹시나 되는지 싶어서 시도해본다. 대신에 int (*iterate) (struct file *, struct dir_context *); 라는 함수가 대신한다. 해당 함수의 원형은 /usr/src/kernel_version/include/linux/fs.h 확인하면 된다. 그러면 이제 저 함수의 인자를 살펴본다. 살펴보면 struct file* 는 우리가 아는 내용이다. struct dir_context* 를 살펴보면 우리가 원하는 부분을 찾을수 있다. struct dir_context; /*context..
[빵판] Bread Board 빵판을 사용해 본다~기본적으로 빵판의 구조는 밑의 [그림-1]과 같다.윗 부분의 빨간색 부분은 +, 파란색 부분은 -로 되어있다. 맨 아랫 부분도 같이.저 부분은 선이 이렇게 전류가 흐른다.반면에 밑에 초록색으로 세로로 줄을 그어 놓은 부분들은 | 이렇게 전류가 흐른다. [그림-1] 그래서 테스트를 해보면 + 부분은 세로 부분에 꼽고 마이너스 부분은 가로 부분에 꼽았다.그리고 다이오드를 연결해보면 + 부분에 직접 닿지 않지만 세로 부분에 있고,밑의 - 부분은 가로 부분에 연결되어있다. 그렇기 때문에 + 에서 -로 전류가 흐르는 것이다. [그림-2]그 결과 다이오드의 불이 켜진다. 이러한 배선?을 이용하여서 저항과 연결선을 이쁘게? 연결한다.
[C언어] Serial 통신 프로그램 Linux 환경에서 시리얼 통신을 하는 방법을 알아본다.먼저 개발을 하기위해서 보드나 uart와 같은 장비?가 필요한데, 가상으로 시리얼 포트를 구성할 수 있다.그래서 먼저 가상 시리얼 포트를 만드는 방법과 그리고 간단한 시리얼 통신 예제 프로그램을 알아본다. 1. 가상 시리얼 포트 [http://stackoverflow.com/questions/52187/virtual-serial-port-for-linux]socat이라는 프로그램을 사용해서 가상 시리얼 포트를 만든다. 총 3개의 터미널을 이용하고 [Terminal 2]처럼 /pts/3에 입력 값을 넣으면 pts2에서 결과 값이 나온다.$socat -d -d pty,raw,echo=0 pty,raw,echo=0 [Terminal 0]$cat < /de..
Firmware Analysis [1] Firmware펌 웨어는 디바이스에서 동작하기 위한 모든 코드들의 집합, 모음으로 설명 할 수 있다.그래서 보통 펌 웨어는 bootloader, kernel, file system 뿐만 아니라 디바이스를 작동시키기 위한 추가적인 자원들이 포함되어 있다. 공격자의 입장에서는 file system을 분석 함으로써 다양한 공격 백터를 찾을수 있고, bootloader의 하드웨어 취약점 등 다양한 방법으로 리모트 쉘, 로컬 쉘을 획득할 수 있다.또, 분석가[포렌식,악성코드 분석]는 firmware 전반적인 부분에서 어떠한 부분에서 위험이 발생했는지 확인할 수 있다. [실습]ARM 환경에 맞춰서 Bootloader, kernel file system을 이용하여서 이미지 만들기bootloader 분석 Firmwar..
so[dll] Makefile Template 동적 링크 파일 만드는 Make Template # Makefile template for shared library CC = gcc # C compilerCFLAGS = -fPIC -Wall -Wextra -O2 -g # C flagsLDFLAGS = -shared # linking flagsRM = rm -f # rm commandTARGET_LIB = libtarget.so # target lib SRCS = main.c src1.c src2.c # source filesOBJS = $(SRCS:.c=.o) .PHONY: allall: ${TARGET_LIB} $(TARGET_LIB): $(OBJS)$(CC) ${LDFLAGS} -o $@ $^ $(SRCS:.c=.d):%.d:%.c$(CC) $(C..
Servey 보호되어 있는 글입니다.
하드웨어 공부 시작~ AVR 코딩 부터 시작하면서 공부 시작~그 전에... 보드, ISP 등.. 전부 다 VCC, GND, RX, TX와 같이 적혀 있는 부분들이 있다. 용어를 정리하고 간다~ VCC = Voltage of Common Collector(공통 콜렉터용 전압. 보통 5V)GND = Ground; 접지(보통 0V)RX = receiverTX = trasmitter 위와 같이 설명이 가능하다. VCC가 항상 뭘까.. 저렇게 설명하는데 중학교인가 고등학교 물리 시간 내용이 필요하다.그냥 VCC는 건전지라고 생각하자. 그리고 철 선을 연결하고 철 판에 연결하면 결과 건전지[5V] --> 철선 --> 철 판[0V]으로 전류가 이동 할 것이다. 이러한 이유가 발생하는 이유는 중학교 물리시간!! 전류는 항상 전위가 높은곳에..