반응형

PC리버싱/PE구조 20

함수 호출 규약 (Calling Convention)

1. 함수 호출 규약 개요 함수 호출 규약(Calling Convention)이란, 함수를 호출하는 방식에 대한 약속이다. 함수 호출 규약은 인자 전달 방법, 인자 전달 순서, Stack Frame을 정리하는 방법에 따라 그 종류를 구분한다. 예시 코드를 분석해 각 호출 규약의 특징과 진행 과정을 알아본다. ▶Stack Frame 함수를 호출 할 때 상위에서 진행하던 함수의 정보를 저장하고 인자를 전달하기 위해 Stack Frame이라는 구조를 사용한다. Stack Frame은 함수의 호출 과정에서 호출되는 함수가 사용하기 위해 할당되는 Stack의 공간을 의미한다. 프로그램이 실행되면 가장 먼저 Main 함수의 Stack Frame을 할당한다. Main함수가 A 함수를 호출하면서 A의 Stack Fra..

(06)RVA VA에대해서

1. RVA, RAW, VA RVA( Relative Virtual Address )는 파일이 메모리에 로딩 되었을 때의 상대 주소입니다. RAW( File Offset )는 파일상태에서의 주소값 입니다. 2. RVA, RAW 매핑 관계 RVA주소로 RAW 값을 구할 수 있는데 공식은 아래와 같습니다. 공식 : RAW(Offset) = RVA - Virtual Address + PointerToRawData PEView와 X64dbg를 이용해서 공식을 확인해 보겠습니다. a. PEView와 X64dbg로 Crackme1 파일을 로드합니다. b. ImageBase = 0x4000000 c.1st crackme가 0x402000에있으니 RVA는 0x4000000 - 0x402000 = 2000 RVA는 20..

(05)PE구조 상세

PE 헤더(PE Header) 실행 파일을 실행하기 위한 여러가지 정보가 기록이 되어 있으며, PE의 내용을 가지고 DLL를 로드하거나 여러가지 리소스를 할당하는 등 상당히 많은 정보가 PE 헤더에 저장되어 있습니다. 중요한 정보가 담긴 만큼, 이 영역의 일부가 누락되거나 손상되는 경우가 있으면 정상적으로 해당 파일을 실행할 수 없습니다. 파일을 백업해두고 HEX 코드 일부를 수정하시고 저장하셔서 실행을 하여 어떠한 결과를 초래하는지 보세요. PE 구조는 차례대로 DOS Header, Stub Code, PE Header(File Header, Optional Header 포함), Section Header로 나뉘며 그 뒤에는 보통 코드를 포함하는 코드(.text) 섹션, 전역 변수 혹은 정적 변수를 포..

(03) 프로그램을 이용한 PE보기

https://dhhd-goldmilk777.tistory.com/117 PE포맷 공부용 프로그램들 1Detect It easy 다운링크http://ntinfo.biz/index.html .:NTInfo:. ntinfo.biz 2CFF Explorer https://ntcore.com/?page_id=388 Explorer Suite – NTCore Download the Explorer Suite Current Version: II.. dhhd-goldmilk777.tistory.com 프로그램 리스트 기본적인 PE구조 PE view로 한번보죠 5A4D부분이 아까 보면 MZ입니다 이제 다른걸로 봐보죠 저는 여러가지도구로 PE를공부했으니 뭐 익숙해지면 편할걸로 하세요 CFF는 이렇게 수정날짜 접근날짜 생..

(02)PE구조 설명을위한부가지식들

1 빅엔디안가 리틀엔디안 https://genesis8.tistory.com/37 리틀 엔디안 VS 빅 엔디안 먼저 둘을 비교하기에 앞서 엔디언이란 무엇인가? 엔디언(Endianness)은 컴퓨터의 메모리와 같은 1차원의 공간에 여러 개의 연속된 대상을 배열하는 방법을 뜻하며, 바이트를 배열하는 방법을 특히 genesis8.tistory.com CPU 램 저장디스크의 관계 일단적으로 윈도우 기준으로 하드디스크 or SSD안에 OS를 부팅한다 그 OS는 램에 활당되고 그건 CPU랑같이 연산한다 프로그램도 이와같다 하드디스크 or SSD안에 프로그램을 읽어서 램에넣고 그걸 CPU와 같이 작동한다 이걸 비유하면 이어달리기에바통터치다 첫선수가 바통을 두번째에게 두번쨰는 셋번쨰에게 그렇게 하는비유가 정확할것이다

(01)PE 파일이란(정의)

정 의 ◦ MS WINDOWS 3.1 부터 지원되는 실행 파일의 형식을 말한다. 유닉스 COFF (Common Object file format) 를 기반으로 나왔으며, PE 포맷을 사용하는 파일의 확장자는 cpl, exe, dll, ocx, vxd, sys, scr, drv 가 있다.  다양한 운영 체제에 이식이 가능한 실행 형식 (Portable Excutable) 이라는 이름 프로그램 실행 원리 - 폰노이만 구조 ◦ 데이터 메모리와 프로그램 메모리가 구분되어 있지 않고 하나의 버스를 가지고 있는 구조 ◦ CPU, 메모리, 프로그램 구조를 갖는 프로그램 내장 방식 컴퓨터의 아이디어 폰노이만 구조 https://ko.wikipedia.org/wiki/%ED%8F%B0_%EB%85%B8%EC%9D%B4..

PE포맷에대해서

https://ko.wikipedia.org/wiki/PE_%ED%8F%AC%EB%A7%B7 PE 포맷 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. PE 포맷(Portable Executable)은 윈도우 운영 체제에서 사용되는 실행 파일, DLL, object 코드, FON 폰트 파일[1] 등을 위한 파일 형식이다. PE 포맷은 윈도우 로더가 실행 가 ko.wikipedia.org PE 포맷(Portable Executable)[가지고 다닐 수 있는/실행 가능] 이걸 매끄럽게 해석하면 인식가능하고 실행가능한 이걸 조금 설명을 붙이면 다른 윈도우 PC에 파일을 넣어도(인식성) 실행가능하다(실행가능성) 이게 PE포맷의뜻이다 이게 전체적인구조인데 이렇게 보면 이해가 어려울것이니 하나..

반응형