목록전체 글 (62)
'll Hacker
Step1. main 함수 분석 main 함수에서 Random number와 Input 값을 XOR연산해주면 어떤 값이 나오는데연산 값과 "a0b4c1d7"같으면 "Congrats!"이 나오는 것으로 확인 이게 아니고for문을 살펴보면i=0일때, s[7-0] = s[7]을 s1[0]에 저장i=1일때, s[7-1] = s[6]을 s1[1]에 저장...i=5일때, s[7-5] = s[2]을 s1[5]에 저장i=6일때, s[7-6] = s[1]을 s1[6]에 저장i=7일때, s[7-7] = s[0]을 s1[7]에 저장거꾸로 저장하는 것을 알 수 있음!!!!저기 주어진 a04c1d7"이 아니라 거꾸로 "7d1c40a"이다. step2. 역연산XOR연산은 A ^ B = C이면 C ^ A = B을 만족.그리고 입력..
⭐실습을 통해 개념 정리하기⭐https://dreamhack.io/wargame/challenges/17 rev-basic-3Reversing Basic Challenge #3 이 문제는 사용자에게 문자열 입력을 받아 정해진 방법으로 입력값을 검증하여 correct 또는 wrong을 출력하는 프로그램이 주어집니다. 해당 바이너리를 분석하여 correct를 출dreamhack.io step1. main함수 분석 char형 배열 v4에 256개의 원소가 들어갈 수 있는 공간을 스택에 할당memset(v4, 0, sizeof(v4));를 사용해 v4의 256바이트를 0으로 설정"Input: "을 출력 후, v4에 256바이트의 문자열을 사용자에게 입력받아서 저장함sub_140001000함수에 v4를 인자로 주..
⭐⭐실습을 통해 개념 정리하기 ⭐⭐ https://dreamhack.io/wargame/challenges/49/ patchflag를 그리는 루틴을 분석하고 가려진 flag를 보이게 해주세요. Reference GDI+ - Win32 apps | Microsoft Docs Graphics Functions - Win32 apps | Microsoft Docs File — x64dbg documentationdreamhack.io 압축파일 안에는 실행파일(patch.exe)가 있는데 이것을 실행하면?다음과 같이 나온다. 이것을 IDA에서 실행 정적 분석step1. WinMain 함수 찾기patch.exe는 WinAPI를 이용해 만들어진 GUI 프로그램이기 때문에 WinMain함수를 찾아야함.. 메인함수 직..
실습을 통해 이해하기https://dreamhack.io/wargame/challenges/15/ rev-basic-1Reversing Basic Challenge #1 이 문제는 사용자에게 문자열 입력을 받아 정해진 방법으로 입력값을 검증하여 correct 또는 wrong을 출력하는 프로그램이 주어집니다. 해당 바이너리를 분석하여 correct를 출dreamhack.iostep1. main 함수 분석디컴파일(F5) 1. v4라는 256바이트의 char배열을 0으로 초기화2. sub_1400013E0 함수와 sub_140001440 함수를 호출. 이때 인자로 각각 "Input: " , "%256s"문자열이 들어감3. v4 배열을 sub_140001000 함수의 인자로 전달해 반환값이 있다면 "Correc..
메모리 레이아웃? 프로세스 가상 메모리의 구성을 말함. 프로세스 메모리구조1) 섹션 = 유사한 용도로 사용되는 데이터가 모여있는 영역- 윈도우의 PE 파일은 PE 헤더와 1개 이상의 섹션으로 구성되어 있음- 섹션에 대한 정보는 PE 헤더에 있음 중요 -> 섹션의 이름, 섹션의 크기, 섹션의 로드될 주소의 오프셋, 섹션의 속성과 권한 윈도우는 PE를 실행할 떄, 이런 중요 정보를 참조하여 PE의 각 섹션들을 가상 메모리의 적절한 세그먼트에 매핑함. 주로 .text, .data, .rdata 섹션이 일반적으로 사용됨 ".text"실행 가능한 기계 코드가 위치하는 영역읽기 권한과 실행 권한 부여.".data"컴파일 시점에 값이 정해진 전역 변수들이 위치함.읽기/쓰기 권한 부여.".rdata"컴파일 시점에 값이..