본문 바로가기

전체 글267

[CodeEngn] CodeEngn Basic RCE L08 OEP 주소를 구하면 되는 문제이다. 두 가지 방법이 있다. 일단 언패킹을 안하고 푸는 방법이다. 처음 시작 부분이 PUSHAD로 되어있는데 POPAD를 찾아서 그 후에 JMP하는 부분을 찾으면 된다. 맨 처음 키면 PUSHAD가 있다. command 찾기로 POPAD 명령어를 찾아준다. 이렇게 POPAD를 찾으면 아래에 JMP 명령어가 있다. 여기서 JMP해서 도착하는 지점이 OEP 주소이다. 따라서 OEP 주소는 01012475이다. 다른 방법은 언패킹을 해서 푸는 방법이다. 언패킹을 해준 뒤 파일을 열어준다. 별다른 절차 없이 바로 OEP 주소가 01012475임을 알 수 있다. (언패킹한 후의 시작 주소) 따라서 답은 01012475이다. 2022. 6. 25.
[CodeEngn] CodeEngn Basic RCE L06 6번 문제이다. 언팩을 하라고 했으니 패킹된 파일일 것이라 예상할 수 있다. 그리고 시리얼 번호를 찾으면 되니 문자열 위주로 먼저 찾아보면 될 것 같다. 일단 Exeinfo로 패킹 상태를 알아보았다. UPX 패킹이 되어있다는 것을 확인한 뒤 언패킹해준다. 언패킹 완료했다. 다음으로 Ollydbg로 파일을 열어준다. 문자열 검색을 해서 올바른 시리얼 값을 입력했을 때 출력되는 문구 같은 것을 찾았다. 그 후 일단 프로그램을 실행시켜서 아무 값이나 넣어줘봤다. 값을 넣었더니 위의 화면처럼 위쪽에 내가 입력한 값이 떴다. 코드를 보면 두 값을 비교하고 있음을 알 수 있다. 따라서 시리얼 값은 AD46DFS547이다. 실제로 값을 넣어줬더니 맞았다는 메세지 창이 떴다. 다음으로 OEP 주소를 찾아야 한다. OE.. 2022. 6. 25.
[OtterCTF - Memory Forensics] 6. Silly Rick 보호되어 있는 글 입니다. 2022. 6. 24.
[OtterCTF - Memory Forensics] 5. Name Game2 보호되어 있는 글 입니다. 2022. 6. 24.
[OtterCTF - Memory Forensics] 4. Name Game 보호되어 있는 글 입니다. 2022. 6. 24.
[BOJ] 2022 SISS 1학기 스터디 - 8주차 #2839 : 설탕 배달 (Class 2 Silver 4) [문제] [코드 및 결과] #include using namespace std; int main() { int N, temp, cnt = 0; cin >> N; while (N >= 0) { if (N % 5 == 0) { temp = N / 5; cnt += temp; cout weight >> height; v.push_back({weight, height}); } for (int i = 0; i X; for (.. 2022. 6. 24.
[OtterCTF - Memory Forensics] 3. Play Time 보호되어 있는 글 입니다. 2022. 6. 21.
[OtterCTF - Memory Forensics] 2. General Info 보호되어 있는 글 입니다. 2022. 6. 21.
[OtterCTF - Memory Forensics] 1. What the password? 보호되어 있는 글 입니다. 2022. 6. 21.