Waregame & CTF/Reversing

보호되어 있는 글입니다.
교재: 리버싱핵심원리 진도: 1-02.Hello World! 리버싱 EP EP(EntryPoint)는 Windows 실행파일의 시작점을 의미한다. 위 그림은 HelloWorld.exe를 디버거로 열었을 때의 첫 화면으로 여기서 EP는 주소 C7126C이다. 강조한 코드의 의미는 다음과 같다. '00C71636=HelloWor.__security_init_cookie를 호출하고 00C710EA=HelloWor.__scrt_common_main_seh로 점프하라' main() 찾기 00C71636=HelloWor.__security_init_cookie 함수로 들어왔다. Ctrl+F9 눌러서 함수 내 return 명령어를 실행했다. F8 실행, 함수 호출하고 return 시 다음 명령어가 온다. F8 눌러서..
보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.
DLL 이젝션(DLL Ejection)이란? 프로세스에 강제로 삽입한 DLL을 빼내는 기법으로, DLL 인젝션의 동작 원리와 기본 동작 원리는 같다. 대상 프로세스로 하여금 FreeLibrary() API를 호출하도록 만든다. * DLL 인젝션은 LoadLibrary() API 호출 DLL 이젝션 과정 CreateRemoteThread()의 lStartAddresss 파라미터에 FreeLibrary() API 주소를 넘기고, lpParameter 파라미터에 이젝션할 DLL의 HANDLE을 넘겨준다. 1. 프로세스에 로딩된 DLL 정보 구하기 //dwPID = notepad 프로세스 ID //TH32CS_SNAPMODULE 파라미터를 이용해서 notepad 프로세스에 로딩된 DLL 이름을 얻음 hSnaps..
DLL 인젝션이란? 실행 중인 다른 프로세스에 특정 DLL 파일을 강제로 삽입하는 것이다. 다른 프로세스에게 LoadLibrary() API를 스스로 호출하도록 명령하여 사용자가 원하는 DLL을 로딩한다. 일반적인 DLL로딩과 달리 로딩 대상이 되는 프로세스가 자기 자신이다. 강제로 dll을 프로세스에 로딩시키면 해당 실행파일의 프로세스 메모레에 대한 접근 권한을 가질 수 있고, 사용자가 원하는 모든 일을 수행할 수 있다. DLL 인젝션 과정 아래는 myhack.dll을 notepad.exe 프로세스에 인젝션해주는 프로그램 소스코드이다. 1. 대상 프로세스 핸들 구하기 // #1.dwPID를 이용하여 대상 프로세스(notepad.exe)의 HANDLE을 구한다. if(!(hProcess = OpenPro..
데이터 압축(Data Compression) 비손실 압축 : 압축된 파일을 100% 원래대로 복원 가능 파일(데이터) 크기를 줄여서 보관, 이동에 용이 7-zip, 빵집과 같은 압축 프로그램이 이에 해당 알고리즘: Run-Length, Lempel-Ziv, Huffman 손실 압축 : 원래대로 복원할 수 없음 파일(데이터)에 의도적인 손상을 주어 댓가로 압축률을 높임 멀티미디어 파일(jpg, mp3, mp4)이 이에 해당 사람의 눈, 귀가 거의 알아차리지 못하는 수준에서 데이터에 손상을 입힘 실행 압축 실행(PE)파일을 대상으로 파일 내부에 압축해제 코드 포함, 실행되는 순간에 메모리에서 압축을 해제 시킨 후 실행 실행 압축된 파일은 PE 파일, 내부에 원본 PE 파일과 decoding 루틴이 존재한다...
보호되어 있는 글입니다.
보호되어 있는 글입니다.
suntall
'Waregame & CTF/Reversing' 카테고리의 글 목록