본문 바로가기

전체 글218

간단한 코드 exe 파일 리버싱(함수 프롤로그, 에필로그 공부+ 어셈블리 공부) visual studio로 엄청 간단한 코드를 작성해보았다. 이 소스코드의 exe파일을 리버싱해보려고 한다. 리버싱 해보기 전에 함수 프롤로그와 에필로그가 무엇인지 간단히 살펴보고 가자. 함수 프롤로그와 에필로그는 스택 프레임에 관여를 하는 작업이다. 스택 프레임 함수가 실행되기 위해 스택이라는 곳에 여러가지 데이터를 올리게 되는데 이때 사용되는 스택의 영역을 스택 프레임이라고 한다. 스택의 영역을 말하지 때문에 스택의 틀이라고 이해할 수 있다. (그래서 스택 프레임 ~ ) 함수 프롤로그와 에필로그는 이름처럼 앞과 뒷 부분인 것을 어느정도 유추할 수 있는데, 함수가 호출되면 일련의 순차적인 과정이 일어난다. 그 과정 중 스택프레임을 구성해주는 작업까지를 함수 프롤로그라고 하고, 그 이후 함수가 수행을 마.. 2020. 10. 12.
파일의 hex 값이 reverse 된 파일을 복구하는 방법 파일의 hex값이 뒤바뀐 파일은 파이썬 코드를 작성해 복구할 수 있다. 위 코드는 헥스 값 전체가 뒤바뀌었을 때 되돌릴 수 있는 코드이다. 뒤바뀐 코드 전체를 복사해서 텍스트 파일에 저장해두고 파이썬으로 그 파일을 사용한다. 파이썬에서 텍스트 파일을 열고 값을 읽어서 리스트로 만든다. 그리고 그 리스트를 reverse 해준다. 그리고 헥스 값을 봤을 때 png 파일이었어서 png 파일을 만들어서 반복문으로 리스트 값을 가져와 써주었다. 코드 참고) snwo.tistory.com/m/77?category=834164 2020. 10. 12.
리버싱 용어 공부 (+ c언어 컴파일 과정) 리버싱 용어 Assembly/Assembly languaage(어셈블리/어셈블리어) : 기계어와 일대일 대응이 되는 컴퓨터 프로그래밍의 저급언어 기계어를 사람이 이해하기 쉽게 간단한 문자로 만든 언어 Disassembly(디어셈블리) : 기계어를 어셈블리어로 변환하는 것 Compile(컴파일) : 사람이 이해하는 언어를 컴퓨터가 이해할 수 있는 기계어 구조로 변환하는 과정 Decompile(디컴파일) : 컴파일된 소스를 다시 반대로 되돌리는 과정 C언어 컴파일 과정 1. 전처리기 소스파일에서 #include 구문을 만나면 해당 헤더파일을 찾아 삽입해준다. 이외에도 매크로 치환작업도 진행한다.(#define) 전처리기를 지나면 소스파일이 전처리기된 소스 파일이 된다. 2. 컴파일러 컴파일 과정에서는 전처리.. 2020. 10. 12.
[개념] PNG 파일 구조 오늘은 PNG 파일의 구조에 대해 살펴보려고 한다. 먼저 PNG 파일의 헤더 시그니처(8byte)는 다음과 같다. 89 50 4E 47 0D 0A 1A 0A 이 이후에는 Chunk라는 그룹들로 나뉘어 구성된다. 청크 타입은 많지만 모든 PNG 파일에 포함되어야 하는 청크는 아래 세 가지가 있다. IHDR chunk : 이미지 헤더 정보 IDAT chunk : 이미지 데이터 정보 IEND chunk : 파일의 끝 IHDR 먼저 IHDR 청크(13byte)는 이미지 헤더 정보를 나타내며, PNG 이미지의 크기, 필터링 방식, 압축 방식 등을 알려준다. { Length : 00 00 00 0D (13 byte), Chunk Type : IHDR, Chunk Data ( 13 byte ), { Width (4 .. 2020. 10. 10.
[N0Named wargame] MagicIMAGE png 파일이 하나 있고 복구하라고 한다. hex 에디터로 열어봤는데 헤더 시그니처 값이 이상하다. 제대로 변경해주니 귀여운 만두와 함께 flag가 나왔다. 성공 ~ 2020. 10. 9.
[ctf-d] Three Thieves Threw Trumpets Through Trees jpg 파일이 첨부되어 있다. 들어가 보니 이미지가 보이진 않았다. 일단 우클릭으로 다른 이름으로 저장을 한 뒤 열어보니 열리지 않았다. 그래서 바로 HxD로 열어보았다. 보니까 시그니처가 jpg 시그니처가 아닌 wav 시그니처를 가지고 있었다. crystalcube.co.kr/123 wav 파일 헤더구조 웨이브(.wav) 파일 분석 오늘은 음성파일인 .wav 에 대해 살펴보려 합니다. 이에 앞서 정확한 의미부터 짚고 넘어가도록 하겠습니다. WAV 또는 WAVE는 웨이브폼 오디오 포맷(웨이브 오디오 포맷, Wavefo crystalcube.co.kr 그래서 이름 바꾸기로 wav로 바꿔주고 열어보니까 알아들을 수 없는 소리가 들렸다. 뭐 왱왱 거려서 이 속도를 낮추면 될 것 같았다. 검색 중 음악 편집 프.. 2020. 10. 4.
728x90