분류 전체보기

· Misc/CS
바쁜 대기 busy wating 또는 spinning 은 어떠한 특정 공유자원에 대하여 두 개 이상의 프로세스나 스레드가 그 이용 권한을 획득하고자 하는 동기화 상황에서 그 권환 획득을 위한 과정에서 일어나는 형상이다. 장점 공유 자원에 대한 권한 획득이 아주 빠른 시간 내에 이루어질 수 있다는 확신이 있는 상황 또는 뮤텍스나 세마포어 등의 동기화 객체등을 이용하기에는 그 오버헤드가 큰 상황에서 간단히 쓸 수 있다. 단점 단순한 우선순위 스케줄링, 혹은 FCFS (First-come First-served) 스케줄링 기반의 단일 프로세서 시스템에서는 바쁜 대기를 적용할 때에 시스템에 행(hang) 이 거릴 수도 있다. 즉 빠르게 접근해서 빠르게 처리할 수 있는 경우 적용해서 공유자원을 이용하는데에 매우 ..
· TOOR
Heap 일단 heap 청크 구조를 알려면 힙이 무엇인지 알아야 할 것 같다. heap 은 프로그램이 실행되는 도중 동적으로 할당하고 해제하여 사용하는 메모리 영역 이다. 동적 메모리 할당자는 tcmalloc (google) ptmalloc2 (glibc) libumen (solaris) jemalloc (FreeBSD and Firefox) dlmalloc (General purpose allocator) 등이 있다. 우리가 봐야할 것은 ptmalloc2 와 dlmalloc 이다. dlmalloc 리눅스에서 사용되는 힙 관리에 사용되는 memory allocator dlmalloc 이 사용되다가 쓰레드 기능이 추가된 ptmalloc이 현재 사용된다. 그러므로 현재 우분투에서 사용되는 Memory Alo..
· TOOR
glibc 의 FILE 구조체가 가지고 있는 vtable을 변경하는 등 파일 스트림을 이용해 프로그램의 흐름을 변경하는 기법 이지만 vtable 을 변경하는 것은 최근 버전에선 대부분 막혀있다. 그래서 요즘엔 그냥 파일 스트림을 변경한다. 로컬 버전은 glibc 2.35 따라서 실습은 glibc 2.35 기준으로 했다. intro dreamhack - Backgropund : _IO_FILE https://dreamhack.io/lecture/courses/271 파일을 열 때 파일 접근 유형을 명시해야 한다. 대표적으로 읽기 및 쓰기 모드가 있다. 읽기 모드로 파일을 열고, 파일에 데이터를 작성하려하면 에러가 발생하지는 않지만 기능이 수행되지 않는다. 모든 파일 함수는 fopen 함수에서 반환한 파일 ..
· TOOR
Execution 실행을 하면 ya, da, yum, ba 로 이루어진 문자열이 출력된다. 복사해서 같은 문자열을 넣어주면 점수를 얻고 아니면 점수가 감점된다. Audit __int64 __fastcall main(__int64 a1, char **a2, char **a3) { initialize(); puts("Yolo yada yada - Play with me!"); puts("==========================================="); main_func(); return 0LL main 함수에서 minn_func 을 호출한다. unsigned __int64 sub_EAD() { size_t v0; // rax size_t v2; // rax char *s1; // [rsp+..
· TOOR
보호되어 있는 글입니다.
· TOOR
보호되어 있는 글입니다.
· TOOR
tistoryBlogName: lmxx tistoryTitle: “[TOOR] 6.2 Toor_Canary write_up” tistoryTags: “” tistoryVisibility: “0” tistoryCategory: “1189856” tistorySkipModal: true tistoryPublished: “” tistoryPostId: “65” tistoryPostUrl: https://lmxx.tistory.com/65 link [TOOR] 6.1 Canary & canary write_up [[Canary Canvas.canvas|Canary Canvas]] main main 함수의 어셈은 다음과 같다. Dump of assembler code for function main: 0x0000..
· 후기
늦었지만 CDDC 후기다. 본선은 싱가포르에서 진행 되었다. 몇 문제 풀었지만 포너블이 아니라 아쉬웠다. 문제 하나를 풀어야 다음 문제가 열리는 식이였는데 포너블 문제 첫번째께 너무 어려웠다. 초반에 열리는 문제를 다 풀면 앞에 나가서 iot 장비 같은걸 해킹하거나 사용해서 플래그를 얻는 문제가 있었다고 하는데 못해봐서 아쉬웠다. 마리나 베이 호텔 엑스포? 거기서 진행 했다. 대회장 밖에 음식들이 진열 돼있었는데 맛은 그렇게 있지 않았다. 대회 끝나고 싱가포르 플라이어에서 대관람차를 타고 야경을 봤다.
lmxx
'분류 전체보기' 카테고리의 글 목록 (2 Page)