분류 전체보기
풍수지리설
Writeup File information Code Main int __cdecl __noreturn main(int argc, const char **argv, const char **envp) { char v3; // [esp+3h] [ebp-15h] int v4; // [esp+4h] [ebp-14h] size_t v5; // [esp+8h] [ebp-10h] unsigned int v6; // [esp+Ch] [ebp-Ch] v6 = __readgsdword(0x14u); setvbuf(stdin, 0, 2, 0); setvbuf(stdout, 0, 2, 0); alarm(0x3Cu); while ( 1 ) { puts("0: Add a Location"); puts("1: Delete a ..
Tip
윈도우 퍼징 관련 프로젝트를 진행하면서 사용한 팁 아닌 팁들을 적어두었다. Immunity debugger 중요한 mona.py 를 사용하기 위해 Immunity debugger 폴더 C:\Program Files (x86)\Immunity Inc\Immunity Debugger (경로는 환경마다 차이가 날 수 있다.) 안 PyCommands 폴더 안에 mona.py를 저장한다. 파일 여는법 + 인자 주는 법 opne으로 실행파일 열으면서 가장 밑 Arguments에 인자로 줄 파일 경로를 적어서 실행을 할 수 있다. 보호 기법 확인 !mona modules로 이미지 베이스 확인 및 보호 기법 확인 가능 Gadget !mona findwild -s "pop r32#ret" -m kernel32.dll p..
JP2 File format
프로젝트를 진행하면서 알아본 JP2 파일 포맷에 관한 내용들을 정리한 글이다. 전체적으로 필요한 부분만 사용하기 위해 알게 된 정보들이라 부족한 부분들이 있다. 그렇지만 자료가 많이 없어서 jp2 format을 찾는 사람들에게 조금이나마 도움이 될 수 있도록 글을 썼다. JPEG2000 파일 포맷으로는 J2K파일과 JP2파일이 있다. J2K 파일은 이미지 래스터 정보와 기본적인 헤더 정보인 JPEG2000 CodeStream만을 포함하고 있어 이미지를 디스플레이하기 위한 정보만을 갖고 있다. 이에 반해 JP2파일은 J2K 파일에 있는 JPEG2000 CodeStream과 함께 여러 가지 부가적인 메타 데이터를 포함하고 있다. JP2 jp2 file format은 다음과 같다. 위 그림과 같이 JP2파일은..
HackCTF UAF
가장 처음 uaf를 풀었을 때와 다른 방법으로 풀어버렸다. 처음 heap에 접했을 때는 break point를 걸은 후 chunk 할당을 보면서 풀었지만 이번에는 이런 식으로 할당되겠다고 생각하면서 풀어보았다. Writeup File information Code Main int __cdecl __noreturn main(int argc, const char **argv, const char **envp) { int v3; // eax char buf; // [esp+8h] [ebp-10h] unsigned int v5; // [esp+Ch] [ebp-Ch] v5 = __readgsdword(0x14u); setvbuf(stdout, 0, 2, 0); setvbuf(stdin, 0, 2, 0); wh..
HackCTF Beginner_Heap
heap공부를 다시 시작할 겸 풀었던 문제들 write-up을 써보려 한다. 그중 가장 먼저 풀었던 hackctf beginner_heap writeup이다! Writeup File information Code Main void __fastcall __noreturn main(__int64 a1, char **a2, char **a3) { void *v3; // ST10_8 void *v4; // ST18_8 char s; // [rsp+20h] [rbp-1010h] unsigned __int64 v6; // [rsp+1028h] [rbp-8h] v6 = __readfsqword(0x28u); v3 = malloc(16uLL); *v3 = 1; *(v3 + 1) = malloc(8uLL); v4 =..
ctf-d 플래그를 얻어라!
포렌식 멘토링을 진행하면서 풀어본 문제이다. Writeup File inforamtion 이 문제는 Stegsolve를 이용하여 간단하게 풀 수 있다. Stegsolve로 파일을 연 후 하나 하나 넘기다보면 다음과 같이 flag를 얻을 수 있다.