정리/Reversing3 [Reversing] IDA 설치 IDA(The Interactive Disassembler) 디스어셈블러로 디스어셈블 외 디버깅과 아키텍쳐 디컴파일 등 여러 기능을 제공함. 설치 사이트 :https://hex-rays.com/ida-free/ IDA Free IDA Free The free binary code analysis tool to kickstart your reverse engineering experience. hex-rays.com IDA 구성 Functions window IDA에서 분석한 프로그램의 함수 나열. ctrl+F로 원하는 함수 찾기. Graph overview 함수를 그래프화하여 사용자에게 보여줌. 함수의 흐름 파악. Output window 분석과정을 메시지로 출력. IDA의 분석 과정 파악. View 디.. 2023. 7. 23. [Reversing] 메모리 레이아웃 컴퓨터 구조와 관련하여 정리한 내용은 이전 포스팅에 있다. https://menmen202007.tistory.com/36 [System Hacking] 컴퓨터 구조, 리눅스 메모리 구조 가상머신 컴퓨터를 에뮬레이팅 한 것 가상머신을 작동시키는 컴퓨터(host) / 가상 머신 안에서 작동하는 컴퓨터(guest) 컴퓨터 구조(Computer Architecture) 컴퓨터에 대한 기본 설계. 이에 맞추워 여러 하 menmen202007.tistory.com 컴퓨터 구조 파트를 참고하고 오면 좋을 것 같다. 메모리 레이아웃(Memory Layout) 프로세스 가상 메모리(Virtual Memory)의 구성을 말함. 프로그램을 실행하면 os는 프로세스에게 메모리 공간을 할당해주는데 이 공간을 가상 메모리라고 .. 2023. 7. 8. [Reversing] 리버싱, 바이너리, 정적분석과 동적분석 리버스 엔지니어링(Reverse Engineering) 제작하는 과정을 거꾸로 하는 행위. 기계어(Machine Language) 컴퓨터에게 명령을 내리기 위한 언어. 0,1로 구성 어셈블리어(Assembly Langauge) 사람이 이해하기 쉬운 언어. 어셈블러(Assembler) 어셈블리어를 기계어로 번역. 고급 언어(High-Level Langauge) 사람이 이해하기 쉬운 언어 (c, c++,Go,Rust ...) 저급 언어(Low-Level Langauge) 사람이 이해하기 어려운 언어. (기계어, 어셈블리어) 프로그램(Program) 연산 장치가 수행해야 하는 동작을 정의한 일종의 문서 바이너리(Binary)로도 부르기도 함. 프로그래밍 언어(Programming Language) 프로그램을 .. 2023. 7. 2. 이전 1 다음