전체 글

전체 글

    [AmateursCTF 2024] web / pwn / misc Write up

    2023년도에 참여한 아마추어 CTF가 2024년에도 돌아와서 CTF에 참여해 Write up을 작성합니다. (이번에는 문제 난이도가 상승해 3문제 밖에 해결하지 못했습니다.) Misc / densely-packed 가장먼저 몸풀기로 Misc 문제부터 시작했습니다. 문제의 설명을 보면 "상상력을 가지고 열심히 노력하면 무엇이든 웃는 것처럼 들리게 만들 수 있습니다." 라고 하는데 무슨뜻인지는 모르겠습니다. 일단 문제파일을 다운받아보면 괴상한 소리만 출력하고 있습니다. 그런데 이러한 문제를 예전에 CTF-D에서 경험한적이 있습니다. https://skysquirrel.tistory.com/178 [CTF-D] Three Thieves Threw Trumpets Through Trees Writeup 이번 ..

    (DreamHack) Find Candy Writeup

    보호되어 있는 글입니다.

    (DreamHack) mining game Writeup

    보호되어 있는 글입니다.

    [C++] 6. C++ STL(Standard Template Library)

    본글은 최근에 Pwnable 문제중 C언어, Python뿐만 아니라 C++로 이루어진 문제를 접하는 경우가 많아져서 Python, Java와 다른 C++만의 문법이나 차이점등을 정리하기 위해 작성한 글입니다. 잘못된 부분이 있다면 댓글로 알려주시기 바랍니다. (예시 코드등은 TCP 스쿨의 자료를 참고했습니다.) https://www.tcpschool.com/cpp/intro 1. STL(Standard Template Library) C++ 언어는 일반화 프로그래밍이라는 특징을 가지고 있습니다. 이러한 특징은 Java처럼 데이터를 중시하는 객체 지향 프로그래밍 언어와 달리 프로그램의 알고리즘에 중점을 둡니다. STL은 이러한 C++의 일반화 프로그래밍의 한 축으로 자료 구조, 함수, 알고리즘등을 쓰기 쉽..

    [C++] 5. C++ 프렌드(friend), 스마트 포인터(smart pointer)

    본글은 최근에 Pwnable 문제중 C언어, Python뿐만 아니라 C++로 이루이진 문제를 접하는 경우가 많아져서 Python, Java와 다른 C++만의 문법이나 차이점등을 정리하기 위해 작성한 글입니다. 잘못된 부분이 있다면 댓글로 알려주시기 바랍니다. (예시 코드등은 TCP 스쿨의 자료를 참고했습니다.) https://www.tcpschool.com/cpp/intro 1. 프렌드(friend) 객체의 private 멤버는 해당 객체의 public 멤버 함수로만 접근이 가능합니다. 하지만 경우에 따라서는 해당 객체의 멤버 함수가 아닌 함수도 private멤버에 접근해야만 할 경우가 발생합니다. 이런 경우 private 멤버에 접근하기 위해 public 멤버를 새롭게 추가하는 것으로 해결할 수 있는데..

    [C++] 4. C++ 참조자(reference), 소멸자(destructor)

    본글은 최근에 Pwnable 문제중 C언어, Python뿐만 아니라 C++로 이루이진 문제를 접하는 경우가 많아져서 Python, Java와 다른 C++만의 문법이나 차이점등을 정리하기 위해 작성한 글입니다. 잘못된 부분이 있다면 댓글로 알려주시기 바랍니다. (예시 코드등은 TCP 스쿨의 자료를 참고했습니다.) https://www.tcpschool.com/cpp/intro 1. 참조자(Reference) C++에서는 특정 변수의 실제 이름 대신 사용할 수 있는 참조자라는 기능이 있습니다. 참조자는 크기가 같은 큰 구조체와 같은 데이터를 함수의 인수로 전달하거나 클래스 설계할때 자주 사용됩니다. 문법은 아래와 같습니다. int 변수이름; // 변수의 선언 int& 참조자이름 = 변수이름; // 참조자 선..

    [C++] 3. C++ new()와 delete()

    본글은 최근에 Pwnable 문제중 C언어, Python뿐만 아니라 C++로 이루이진 문제를 접하는 경우가 많아져서 Python, Java와 다른 C++만의 문법이나 차이점등을 정리하기 위해 작성한 글입니다. 잘못된 부분이 있다면 댓글로 알려주시기 바랍니다. (예시 코드등은 TCP 스쿨의 자료를 참고했습니다.) https://www.tcpschool.com/cpp/intro 1. C++ 메모리 동적 할당 C에서 메모리 동적할당에 사용되는 라이브러리 함수 malloc()등이 있다. C++에서도 마찬가지로 라이브러리 함수를 사용하기 때문에 malloc()으로 할당하거나 free()로 할당된 메모리의 해제하는 것이 가능하다. 그러나, C++은 라이브러리 함수 보다 효과적인 동적 할당 및 해제를 위해 new 연..