본문 바로가기

전체 글

[번역] mach-O 와 ELF 의 링킹 과정에 대해 마크오 볼 일이 있어서.. 관련 항목 도장 깨기 하다 읽은 글을 한글로 짜집기 해 보았다.원문 : http://timetobleed.com/dynamic-linking-elf-vs-mach-o/ memprof 를 빌딩하다가 마주친 ELF 와 Mach-O 의 다이나믹 링킹의 유사점과 차이점에 대해 설명한다. PLT - Procedure Linkage TablePLT 는 런타임에 함수 본체의 주소를 저장하는 테이블이다. Mach-O 와 ELF 모두 PLT 를 가지며 이 테이블은 컴파일 타임에 생성된다. 테이블 초기값은 다이나믹 링커를 호출하도록 구성되고, 링커는 호출될 함수의 심볼을 찾는다. 이런 작업방식은 ELF 와 Mach-O 의 하이레벨에선 매우 비슷하지만 구현상의 차이가 있고, 이에 대해 이야기해볼 .. 더보기
Hex-rays Decompilation failure 디컴파일을 시도할 때 아래처럼 IDA 가 징징거리는 경우가 있다. TL;DRcall analysis failed 에러가 난 주소의 함수를 디컴파일하고 다시 오세요. 항상 '어 디컴파일이 안되나 보네 ?' 하고 넘어갔던 에러인데,최근에 codegate 2018 boom 문제를 풀다가 이제서야 알게 된; 내용이라 기록한다. 문제 풀이에 키가 되는 주요 함수 func1::hbc30.. 을 디컴파일하려 하니 나온 메시지로, '0x55555556511B 주소에 있는 인스트럭션이 뭔말인지 모르겠어...' 이다. 저 주소를 직접 찍어가 보면, call 호출부임을 알 수 있다. 함수 분석에 실패했으니. func5::h0a9... 내부에서 다시 디컴파일 호출해 보면, '0x55555556511B 주소에 있는 인스트럭션이.. 더보기
HITCON CTF 2014 - stkof (how2heap) unsafe_unlink 와 관련된 문제라고 how2heap 에 나와 있었으나일반적인 fastbin attack 으로 문제를 풀이했다.다른 풀이를 통해 또 삽을 떠봐야겠지. 이번 문제풀이를 통해 풀이방식이 하나 추가된 것 같은 느낌인데더블 프리가 안되는 환경..처럼 보인다. 풀이할 때에는 적어도 확인하지 못했음.다만 워낙 기본적인 힙오버플로우 문제이기 때문에 어렵게 접근하지는 않았고전역변수가 있는 경우, stdin stdout 위치에 거의 항상 0x7f 가 존재하기 때문에거진 다 뒤덮을 수 있다. 이번 문제에서는 libc leak 을 할만한 포인트가 없어 보였는데확실히 별로 쓸모 없어 보이는 메뉴 4번이 있었고 그곳에 strlen 이 뜬금없이 있었다.got 슥삭해서 출력류의 함수로 바꿔 libc main.. 더보기
9447 ctf 2015 - search (how2heap) 보호되어 있는 글입니다. 더보기
applestore 보호되어 있는 글입니다. 더보기
defcon 2017 - occult in crackme 보호되어 있는 글입니다. 더보기
defcon 2017 - witchcraft in crackme 보호되어 있는 글입니다. 더보기
defcon 2017 - sorcery in crackme 보호되어 있는 글입니다. 더보기