본문 바로가기

리버싱9

GoogleCTF 2017 - food Google CTF 2017 - foodtag - reversing. 안드로이드 애플리케이션 'food.apk'가 주어진다.'classes.dex' 파일을 추출해 디컴파일하면 cook.so의 라이브러리를 가져오는 걸 확인할 수 있다. '/lib/x86/libcook.so'를 IDA로 분석해 보면 fopen, fwrite, fclose, fgets, etc 를 사용해 새로운 'classes.dex' 를 만들어주는 걸 확인할 수 있다.'libcook.so' 파일 안에 새로운'classes.dex' 데이터가 들어가 있음을 확인 했으니 'Hxd'를 사용하여 classed.dex 시그니쳐를 검색해 준다. 'classes.dex'를 carving해서 만든 뒤 디컴파일하면 암호화 된 flag data와 복호화 루틴은.. 2017. 6. 19.
[DEFCON 2017] - pegem DEFCON 2017 Quals - pegem데프콘 2017 리버싱 엔지니어링 문제 pegem 풀이. 데프콘 예선 당시에는 "crackme" 들을 푼다고 사실상 포기하고 나중에 답만 보려 한 문제였는데 ctftime.org/writeups에도 안 올라오길래 기다리다 그냥 풀어보았다. [+] 사실 푸는데 3일 이상 걸린 건 비밀입니다... ㅠㅠㅠㅠ [+] 문노익(서빈)이는 보자마자 문제 의도 파악해버리셔따 .... source git : https://github.com/ddddhkim/CTFs/tree/master/DEFCON/DEFCON2017_Quals/REV/pegem 하나하나 자세하게 정리하기에는 글이 너무 길어지니 간단한 건 미리 요약해두고 가겠습니다. 1. 64 bit elf binary. -.. 2017. 5. 10.
[DEFCON 2017] witchcraft DEFCON 2017 - CrackMe - witchcraft 역시 수 많은 바이너리가 존재한다. 역시 아무 바이너리를 킹갓툴 IDA로 분석한다. 함수 목록을 살펴보다 보면 비슷하게 생긴 수상한 함수들이 여러 개 존재한다. 계단인 줄... 더 자세히 보면 RDI 레지스터 값을 더하고, 빼고 하다가 마지막에 어떠한 값으로 비교를 한다. 흠흠,, 수상하니 소스를 짜서 값을 빼와보자! 소스 : 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748import osimport struct for root,dirs, files in os.walk(r"C:\Users\ddddh\Desktop\Defcon\witch.. 2017. 5. 2.
[DEFCON 2017] sorcery DEFCON 2017 - CrackMe - sorcery 역시나 비슷한 바이너리들이 매우 많다. (크랙미 분야 모든 문제가 동일함) 역시 아무 바이너리를 잡고 IDA로 열어보았다. "sum is", "enter code: " 라는 문자열이 보이지 않고 난해하다. 이럴 경우 역시 동적분석이 최고다. (절대 정적분석 못해서 그런거 아님 ㅎㅎㅎ 동박꼼) breakpoint를 잡아주지 않고 그냥 실행하면 입력받는 곳에서 입력을 기다리고 있게 된다.이때 당황하지 말고 프로그램을 정지시킨 후 스택 확인을 통해 리턴 어드레스로 따라간다. 리턴 어드레스를 따라가 보면 어느 함수에서 read로 입력받고 있다. 하지만 여기에도 비교 루틴이 없기 때문에 이 함수가 어디서 실행되는지 "xref" 기능을 하여 어디서 실행되었는.. 2017. 5. 2.