반응형

전체 글 229

데이터 압축 (비손실 압축, 손실 압축)

https://ko.wikipedia.org/wiki/%EC%86%90%EC%8B%A4_%EC%95%95%EC%B6%95 손실 압축 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 손실 압축(損失 壓縮) 방식은 데이터를 압축하여 자료를 받는 곳에 압축으로 풀어서 원래의 것과 다르게 보여주는 것을 말하지만 어떠한 부분에서는 충분히 유 ko.wikipedia.org https://ko.wikipedia.org/wiki/%EB%B9%84%EC%86%90%EC%8B%A4_%EC%95%95%EC%B6%95 비손실 압축 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. ko.wikipedia.org 압축은 데이터 크기를 줄여서 저장공간을 더욱더 잘 활용하기 위한 기술이다. ..

EAT (Export Address Table / PE File 관련)

. EAT(Export Address Table) - EAT · Library FIle에서 제공하는 함수를 다른 Program에서 가져다 사용할 수 있도록 해주는 Table · EAT를 통해서만 해당 Library에서 Export하는 함수의 시작 주소를 정확히 구할 수 있다. · IAT와 동일하게 PE File 내의 특정 구조체인 'IMAGE_EXPORT_DIRECTORY'에 Export에 관한 정보를 저장한다. · 각 Section마다 존재하는 IAT와는 달리 EAT는 PE File내에 하나만 존재한다. · IMAGE_EXPORT_DIRECTORY의 위치 ◦ PEView를 이용해 살펴보면 IMAGE_EXPORT_DIRECTORY 구조체가 존재하지 않는다는 것을 알 수 있으며 IMAGE_OPTIONAL_..

IAT (Import Address Table / PE File 관련)

IAT(Import Address Table) · Windows의 Program이 어떤 Library에서 어떤 함수를 사용하고 있는지를 기술한 Table · PE File 내의 특정 구조체인 'IMAGE_IMPORT_DESCRIPTOR'에 Import에 관한 정보를 저장한다. · PE Header에서 Table은 배열을 의미한다. · 각 Section마다 존재한다. 1. IMAGE_IMPORT_DESCRIPTOR 구조체 typedef struct _IMAGE_IMPORT_DESCRIPTOR{ union { DWORD Characteristics; DWORD OriginalFirstThunk; }; DWORD TimeDataStamp; DWORD ForwarderChain; DWORD Name; DWORD..

함수 호출 규약 (Calling Convention)

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

visual studio 보안해제하기

[GS (Stack Canary/Cookie) 해제법] 프로젝트 속성 -> C/C++ -> 코드 생성 -> 보안 검사 -> 보안 검사 사용 안 함(/GS-) 으로 변경. 함수 프롤로그 이후 스택에 버퍼 할당 전에 랜덤한 값을 Push해 두고, 함수 에필로그 직전에 검사하여 변조되었는지 체크하는 보호 기법. 보통 윈도우에서는 GS 또는 Stack Cookie라고 불리고 리눅스에서는 Stack Canary라고 불리지만 그거나 그거나이므로 넘어가자. [DEP(NX) 해제법] 프로젝트 속성 -> 링커 -> 고급 -> DEP(데이터 실행 방지) -> 아니요(/NXCOMPAT:NO) 로 변경. 각 페이지마다 Read/Write/Execute 권한 플래그를 설정하여 Write/Execute 권한을 동시에 주지 않는 ..

PC리버싱/기타 2020.05.21

간단한 ASLR우회 방법

aslr 이란 ? address space layout randomization 즉, 주소의 공간을 무작위로 배치한다 라는 뜻입니다. 리버싱 방지 기술 중에 하나입니다. 그럼 오늘은 aslr을 제거 하는 방법에 대해서 소개하도록 하겠습니다 aslr은 또한 reloc section이있을시 aslr이라는 힌트도잇다 방법1 CTF exploer님에게 맡기세요 dll can move 체크를뺴면된다 방법2 준비물 : aslr 이 적용된 프로그램 , hexediter , peview, x64dbg peview 프로그램을 사용하여 aslr 이 존재하는지에 대해서 판단합니다. 1. peview 에대 대상 파일을 올립니다.(저는 minesweeper.exe) 여기서 IMAGE_INT_HEADER에 들어갑니다. 위와 같이..

반응형