리눅스

포스트: 554|조회수: 0|TERM
Items

Posts

554 posts

[Kernel][Stability] 스택 오염(Stack Corruption) 디버깅

Guillermo Austin Kim|2018년 2월 9일

아래 글에서 stack canary에 대한 내용을 다뤘습니다. 스택을 깨는 지 점검하는 루틴인데요.http://rousalome.egloos.com/9965540#216009 이번에는 다른 디버깅 패치를 작성해서 어떤 루틴이 스택 오염을 시켰는지 점검해보겠습니다. 우선 스택이 깨지는 순서를 살펴보겠습니다. 1. 아래 함수가 처음 실행될 때 순서로 스택을 푸쉬합니다.current_sp-0x1c--- R14 // 0xC06FAE8C 실행 시 스택 주소(스택 푸쉬 후)current_sp-0x18--- R3current_sp-0x14--- R4 current_sp-0x10--- R11current_sp-0xc---- R12current_sp-0x8---- LRcurrent_sp-0x4---- PC

데비안/우분투 계열 리눅스 배포판의 시스템 기본 bash 설정 파일

반달가면|2018년 2월 6일

사용자 계정의 bash 설정 파일인 ~/.bashrc 말고 시스템 전체에 대한 기본 설정파일의 경우, 데비안/우분투 계열 배포판에서는 /etc/bash.bashrc 파일이 된다. 페도라 등 다른 배포판에서는 다를 수 있음에 유의. 시스템 전체에 적용되는 기본 bash 설정에 대해 변경을 하고자 하는 사항이 있다면 이 파일을 편집하면 되겠다. 당연히 루트 권한을 필요로 한다. # 시스템 bash 설정 파일 편집 sudo vi /etc/bash.bashrc 변경 사항이 반영되려면 로그아웃했다가 다시 로그인하거나, 또는 su 명령으로 터미널 세션을 재시작해 주면 되겠다.

[라즈베리파이] 커널 섹션 정보

Guillermo Austin Kim|2018년 2월 5일

아래 명령어로 라즈베리파이 소스 다운로드를 하고,git clone --depth=1 크로스 컴파일러 툴을 설치한 다음에,git clone 커널 빌드를 하면 vmlinux을 추출할 수 있습니다.make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- bcm2709_defconfigmake ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage modules dtbs -j12 아래 명령어로 라즈베리파이 섹션 정보를 파악할 수 있는데요. 조금 더 짚어 보겠습니다../objdump -x vmlinux | more 섹션이란 용어에 대해서 설명을 하겠습니다. 섹션은 임베디드 소스 빌드 시 쓰이는 개념인데, 비슷한 속성의 코드들을 묶어서 처리하

[라즈베리파이] 리눅스 커널: 전처리 파일 추출

Guillermo Austin Kim|2018년 2월 5일

라즈베리파이3 용 커널 코드를 다운로드 받고 아래 패치를 적용하여 커널 빌드를 하면 전처리 파일을 추출할 수 있습니다.austin.kim@LGEARND7B16:~/src/raspberry_kernel/linux$ git diff Makefilediff --git a/Makefile b/Makefileindex 4a7e6df..313dbbe 100644--- a/Makefile+++ b/Makefile@@ -395,6 +395,7 @@ KBUILD_CFLAGS := -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs \ -fno-strict-aliasing -fno-common \ -Werror-implic