#2 동적분석과 정적분석
·
보안/리버싱
Dreamhack ReversingCource #2 정적 분석(Static Analysis) 악성 프로그램을 분석하여 실제로 실행하지 않고 도구에서 특징 및 특성 확인. 파일의 종류, 크기, PE 헤더 정보, imprt/export API, 디버깅 정보 등... 다양한 내용 확인함 디스어셈블러를 이용해서 내부 코드와 그 구조를 확인하는 것 분석 환경의 제약에서 비교적 자유로움. (분석을 지원하는 도구만 존재한다면) 프로그램에 난독화(Obfuscation)가 적용되면 분석에 어려움이 생길 수 있다. 다양한 동적 요소를 고려하기 어려움 Ex) IDA 동적 분석(Dynamic Analysis) 격리된 환경에서 의심 바이너리를 실행한 후 그 행위를 모니터링하는 방법 어떤 입력에 대한 개별 함수 또는 프로그램의 ..
#1 리버싱이란?
·
보안/리버싱
dreamhack ReversingCource #1 프로그램: 컴퓨터가 실행해야 할 명령어의 집합. 바이너리라고도 불린다. 전처리: 소스코드가 컴파일에 필요한 형식으로 가공되는 과정이다. 주석 제거, 매크로 치환, 파일 병합의 과정을 거침. -E 옵션을 사용하여 소스 코드의 전처리 결과를 확인 가능. 컴파일: 소스 코드를 어셈블리어로 번역하는 과정이다. -S 옵션을 이용하여 소스코드를 어셈블리 코드로 컴파일 가능 어셈블: 어셈블리 코드를 기계어로 번역하고, 실행 가능한 형식으로 변환하는 과정 컴파일로 생성된 어셈블리어 코드를 ELF 형식의 목적파일로 변환. -c 옵션을 통해 opt.S를 목적파일로 변환. file 명령어 통해 파일 형식을 확인 해당 결과를 hexdump 통해 16진수로 출력 링크: 여러 ..