컴파일(Compile) 소스코드를 컴퓨터가 이해할 수 있는 기계어 형식으로 번역하는 것 어떤 언어로 작성된 소스 코드(Source Code)를 다른 언어의 목적 코드(Object Code)로 번역하는 것 컴파일러(Compiler) 컴파일을 해주는 소프트웨어 컴파일 과정(C → Binary) C 언어로 작성된 코드는 일반적으로 전처리(Preprocess), 컴파일(Compile), 어셈블(Assemble), 링크(Link)의 과정을 거쳐 바이너리로 번역 컴파일러는 코드를 번역할 때, 조건을 만족하면 최적화 기술을 적용하여 효율적인 어셈블리 코드를 생성 gcc 에서는 -O -O0 -O1 -O2 -O3 -Os -Ofast -Og 등의 옵션을 사용하여 최적화를 적용할 수 있음 예를 들어 a.c를 최적화하여 컴파..
어셈블리어(Assembly Language) 기계어는 0과 1로 이루어져 있는 언어를 사람이 이해하기 쉬운 새로운 언어로 어셈블리어를 고안 기계어에 비하면 효율적이지만, 규모가 큰 프로그램 개발은 어려움 어셈블러(Assembler) 어셈블리어를 기계어로 번역 컴파일러(Compiler) C, C++, GO, Rust 등을 기계어로 번역 해당 언어들은 개발의 효율을 극대화 고급 언어(High-Level Language) 프로그래밍 사용하는 언어 중, 사람이 이해하기 쉬운 언어 C, C++, GO, Rust 등 저급 언어(Low-Level Language) 고급 언어 반대의 언어 기계어나 어셈블리어 프로그램(Program) 연산 장치가 수행해야 하는 동작을 정의한 일종의 문서 프로그램을 연산 장치에 전달하면,..
리버스 엔지니어링(Revers Engineering)? 완성된 제품을 해체하고 분석하요 구조와 기능, 디자인을 파악 '역공학'이라고 지칭하기도 함 - 약의 성분 분석, 자동차의 주행 원리 이해, 전자 제품의 회로를 분석하는 것 등에 리버싱 기술 적용 - 리버스 : 과정을 거꾸로 하는 행위 리버싱의 용도 개발을 중단한 프로그램에 대한 패치가 필요할 때 리버싱 사용 각종 프로그램의 보안성을 평가하거나 악성코드를 분석할 때도 리버싱 사용 대상 프로그램이 얼마나 안전하게 설계되었는지, 대상 악성코드가 어떤 방식으로 동작하고 시스템에 피해를 입히는지 알아내는 용도
Reverse Engineering 2023. 3. 30. 15:29
컴파일(Compile) 소스코드를 컴퓨터가 이해할 수 있는 기계어 형식으로 번역하는 것 어떤 언어로 작성된 소스 코드(Source Code)를 다른 언어의 목적 코드(Object Code)로 번역하는 것 컴파일러(Compiler) 컴파일을 해주는 소프트웨어 컴파일 과정(C → Binary) C 언어로 작성된 코드는 일반적으로 전처리(Preprocess), 컴파일(Compile), 어셈블(Assemble), 링크(Link)의 과정을 거쳐 바이너리로 번역 컴파일러는 코드를 번역할 때, 조건을 만족하면 최적화 기술을 적용하여 효율적인 어셈블리 코드를 생성 gcc 에서는 -O -O0 -O1 -O2 -O3 -Os -Ofast -Og 등의 옵션을 사용하여 최적화를 적용할 수 있음 예를 들어 a.c를 최적화하여 컴파..
Reverse Engineering 2023. 3. 30. 14:26
어셈블리어(Assembly Language) 기계어는 0과 1로 이루어져 있는 언어를 사람이 이해하기 쉬운 새로운 언어로 어셈블리어를 고안 기계어에 비하면 효율적이지만, 규모가 큰 프로그램 개발은 어려움 어셈블러(Assembler) 어셈블리어를 기계어로 번역 컴파일러(Compiler) C, C++, GO, Rust 등을 기계어로 번역 해당 언어들은 개발의 효율을 극대화 고급 언어(High-Level Language) 프로그래밍 사용하는 언어 중, 사람이 이해하기 쉬운 언어 C, C++, GO, Rust 등 저급 언어(Low-Level Language) 고급 언어 반대의 언어 기계어나 어셈블리어 프로그램(Program) 연산 장치가 수행해야 하는 동작을 정의한 일종의 문서 프로그램을 연산 장치에 전달하면,..
Reverse Engineering 2023. 3. 29. 10:48
리버스 엔지니어링(Revers Engineering)? 완성된 제품을 해체하고 분석하요 구조와 기능, 디자인을 파악 '역공학'이라고 지칭하기도 함 - 약의 성분 분석, 자동차의 주행 원리 이해, 전자 제품의 회로를 분석하는 것 등에 리버싱 기술 적용 - 리버스 : 과정을 거꾸로 하는 행위 리버싱의 용도 개발을 중단한 프로그램에 대한 패치가 필요할 때 리버싱 사용 각종 프로그램의 보안성을 평가하거나 악성코드를 분석할 때도 리버싱 사용 대상 프로그램이 얼마나 안전하게 설계되었는지, 대상 악성코드가 어떤 방식으로 동작하고 시스템에 피해를 입히는지 알아내는 용도