라벨이 Executable File인 게시물 표시

실행 파일 수정으로 발생할 수 있는 보안 위험성

이미지
1. 실행 파일 구조 이미 다음 주제를 통하여 실행 파일의 구조에 대하여 살펴보았다. 실행 파일은 파일은 어떻게 동작하는가 문서 파일이 정해진 형식으로 구성되어 있는 것처럼 실행 파일도 문서 파일과 크게 다르지 않은 구조를 가지고 있으며, 구성 요소 중 .text 섹션의 기계어 코드가 로드되어 동작 하게 된다. 2. 실행 파일 수정 그렇다면 .text 섹션에 저장된 기계어 코드를 직접 수정 함으로써 프로그램의 실행 동작을 변경할 수 있다는 것을 의미한다. 이러한 특성을 활용하면, 프로그램의 소스를 수정하지 않고도 실행 결과를 변경할 수 있다. 2.1. bin to hex xxd 명령어를 사용하여 실행 파일을 텍스트 형식의 hex 파일로 변환한다. $ objdump -d -M intel add Disassembly of section .text: 0000000000401000 <_start>: 401000: b0 02 mov al,0x2 ; Load the value 2 into the AL register 401002: 04 03 add al,0x3 ; Add the immediate value 3 to AL (AL = 2 + 3) $ ./add result: 5 $ xxd add > add.hex 2.2. edit hex 텍스트 편집기로 생성된 "add.hex" 파일을 열어 offset 0x00001003 위치의 값 "03"을 "01"로 수정하고 저장한다. ...