정보보안/리버싱(6)
-
[SUA] PE파일
PE(Portable Executable) 파일은 Windows 운영체제에서 사용되는 실행 파일의 형식이다. PE 파일은 32bit 형태의 실행 파일을 의미하며 PE32라는 용어를 사용한다 64bit 형태의 실행파일은 PE+, PE32+ 라고 부른다. PE file 종류는 다음과 같다. 종류 실행계열 드라이버계열 라이브러리계열 오브젝트 계열 주요확장자 EXE, SCR(화면보호기) SYS, VXD DLL, OCX(액티브X), CPL, DRV OBJ PE파일을 실행 되기전, PE Header헤더에 어떻게 메모리에 적재되고, 어디서 부터 실행되어야 하며, 필요한 DLL은 어떤것, 필요한 메모리의 크기등 정보가 저장되어 있다. PE format을 공부하는 것은 PE Header를 공부하는 것과 같다. PE He..
2020.05.04 -
Handray, DeCompiling 사이트 godbolt.org
http://www.godbolt.org Compiler Explorer www.godbolt.org 다양한 언어를 다양한 컴파일러로 컴파일 할 수 있으며, 역으로 이용할 수도 있습니다.
2020.05.03 -
Process Explorer - 윈도우 프로세스 관리 도구
Process Explorer 다운로드Process Explorer - Windows SysinternalsFind out what files, registry keys and other objects processes have open, which DLLs they have loaded, and more.docs.microsoft.com 작업관리자의 경우 프로세스 경로, 트리 등을 보는 것이 불가능 합니다. 1. 붉은색 영역 : 시작>실행에서 services.msc 로 볼 수 있는 것들로, 서비스 영역입니다.2. 파란색 영역 : 시작>실행에서 msconfig로 볼수 있는 것들로 우리가 실행시킨 프로세스들 입니다. 시스템 리소스를 얼만큼 사용하고 있는지도 확인이 가능합니다.
2020.05.03 -
[SUA] 리버싱 스터디 [Abex's Crackme] #1,2 ~7
Abex's Crackme #11. JMP 주소 수정 우리가 원하는 것은 HD가 CD-ROM이라고 인식하게 하는 Msg를 띄우는 것이다.따라서 해당 메시지가 있는 0x0040103D로 Jump 시킨다. 2. CMP EAX, ESI CMP 아래에 JE 문이 있으므로, EAX와 ESI의 값이 같도록 바꿔준다. Abex's Crackme #21. EAX 조작 JE 로 EAX가 0이면 틀렷다는 메시지박스로 branch 되길래 EAX를 조작하였다. 2. EAX와 EDX에 해당되는 값 일치 시키기 처음에 엄청 헤맸는데 교재에서 vbaVarTsrEq가 입력 비밀번호와 원래 Serial 번호를 비교하는 함수일거라고 추측하면바로 그 위에서 입력값을 받는 부분이 있을 것이라고 했다.따라서 EDX와 EAX가 각각 그 값에 ..
2020.05.03 -
[SUA] 리버싱 스터디 - IA-32 Register & Stack Frame & 함수호출규약
1. IA-32 Register (Intel Architecture) Basic Program Execution Register는 4개의 그룹으로 나눌 수 있습니다. 범용 레지스터 - 8개 세그먼트 레지스터 - 6개 프로그램 상태 & 제어 레지스터 - 1개 명령 포인터 - 1개 1) General Purpose Register (범용 레지스터) - 8개 EAX : Accumulator ( retrun 값 저장) EBX : Pointer to Data in DS Segment ECX : Counter for loop (반복문의 Counter) EDX : I/O pointer EBP : Base Stack pointer ESP : Stack pointer (in SS segment) ESI : 메모리 복사에..
2020.05.03 -
[SUA] 리버싱 스터디 - 리버싱 정의 및 Ollydebugger 환경 설명
리버스 엔지니어링 : 프로그램의 내부구조와 동작원리를 탐구하는 기술 정적분석 과 동적분석으로 이루어지며, 파일을 실행시키면 동적분석 실행시키지 않으면 정적분석이다. Tool : Ollydebugger (Ollydbg)* OllyDbg 다운로드 Code Window : Disassemble code가 위치Register Window : 레지스터의 값을 표기Dump Window : 메모리 주소와 해당되는 값을 표시Stack Window : Stack 메모리의 상태를 표시
2020.05.03