CTF (36) 썸네일형 리스트형 [reversing.kr] Easy Crack 풀이 http://reversing.kr/index.php 문제를 다운받아 실행해보았다. 시리얼값이 아닐때 나오는 메시지를 확인. 디버거를 이용해서 그 내가확인한 메시지를 찾아보니 성공메시지도 보인다. 둘다 근처에있을테니 아무거나 눌러서 가보자. 성공과 실패 메시지가 조금위에있는 jne 조건 에의해서 나뉘고있는거같다. 그래서 일단 DDDDD 를 입력해서 실행을해보니 저 조건까지 가지도못하고 실패 메시지가 나오길래 중간에 다른 조건문이있다고 생각하고 조금 위로 올려보니 jne로 먼저 조건을 하나 보던게있었다. esp+5위치에 있는 값이 'a' 인지를 물어보는건데. esp 우클릭 - 덤프에서 따라가기 이부분이 esp가 위치한곳이다. +5라고 했으니 보면 두번째로 입력한 D 가 .. [써니나타스] BINARY 11번 문제 풀이 http://suninatas.com/ 써니나타스 11번 문제를 풀어보았다. 9번과 똑같은 아이콘의 프로그램과 실행된 상태 디버거를 이용해서 클리어 문자열을 찾아 이동하였다. 그 부분으로가서 보니 내가입력한 시리얼값 (AAAAAAAAAA...) 와 어떠한 문자열을 비교하는모습. 그 문자열을 입력해보니 시리얼값을 준다. [써니나타스] BINARY 10번 문제 풀이 http://suninatas.com/ 써니나타스 10 번 문제 풀이 다운받은 문제와 실행했을때의 모습 에러 메세지. 어떤 컴파일인지 확인해보니 .NET라고한다. .net는 디컴파일이 되는데 하기전에 다른부분도 봐보자. IDA를 확인해서 보니 button이 두개가보인다 실행화면에 있던 ok 와 out 버튼이라고 예상된다. 그쪽으로 이동 음? 저게 힌트인가했는데 키 였음. [써니나타스] BINARY 9번 문제 풀이 http://suninatas.com/ 써니나타스 9 번 리버싱문제를 풀어보았다. 다운을 받아 실행해본화면이다 시리얼값을 이것저것 넣어보았지만 큰 반응이없다. 틀렸다는 메세지 박스도 나오지않아서 조금 당황. 디버거로 문자열을 확인하니 성공메세지 처럼보이는 부분을 발견하여 거기에 브레이크포인트를 걸어놓고 실행하였다 시리얼값은 DDDDDDDDD를 눌러서 진행 내가 입력한 DDDDDDD..... 와 913465 를 비교하여 결과를 정하는 부분. 성공. [Reversing] angstromctf 2018 리버싱 3번문제 https://2019.angstromctf.com/ 2019.angstromctf.com 2019.angstromctf.com 풀어볼 문제 끄덕 먼저 경로를 알려줬으니 경로로들어가서 실행시켜보자. 일단 그냥 실행하니 라고하니 인자를 하나 넘겨서 진행한다는걸 알수있다. (왜 rev3 실행시켰는데 rev1 이라고뜨지) 인자로 testabcd 를 넘겨보니 Oops, !! 문제 다운 암호화나 컴파일 상태 확인 = gcc... 일단 지금 저 프로그램안에는 Oops, 라는 실패문자열이있다는걸 알았으니 그 기준으로 IDA을 통해 분석 내가 알고있는 문자열이 있으니 찾아가보자. 위의 이미지들을 보면 "egzloxi|ixw]dkSe]dzSzccShejSi^3q" 이 문.. [코드엔진] basic 7 풀이 7번 문제 c드라이브 문제 설명대로 C 드라이브의 이름을 CodeEngn 으로 변경하였다. 이제 실행해본다. 시리얼값을 요구. 역시 아님. 문자열 들 프로그램의 문자열들을 찾아보니 시리얼값 처럼 보이는게 많이나온다. 일단 성공 문자열로 이동해보았다. 성공 문자열로 이동하여 쭉 돌려보니 처음에 L2C-5781 이라는 문자열을 쭉비교해보고 그다음 함수에서 EqfgEngn4562-ABEX 라는 문자열을 쭉비교하는 모습이 보였다. L2C-5781EqfgEngn4562-ABEX 그래서 그둘을 붙혀서 입력해보니 성공 처음에는 c드라이브 이름을 변경하지않고 그냥 실행시켰더니 키값이 L2C-5781 4562-ABEX 이였다. 즉 c드라이브이름을 변경하여 나온 CodeEngn 은 EqfgEngn 으.. [코드엔진] basic 6 풀이 친철하게 언패킹하라고 알려주네요. UPX입니다 언패킹후 확인. 이제 실행시켜봅시다. 저 문자열을 디버거로 찾아봅시다. ....? AD46DFS547?? ...........????????찾았다 문제는 OEP를 같이 입력하라하였으니 OEP는 프로그램이 시작되는 위치를 말하는거입니다. 이미 언패킹을했기때문에 그냥 실행시켜서 보면되죠 OEP 이제 정답은 00401360AD46DFS547 입니다. 끝끝. [코드엔진] basic 5 풀이 5번 문제 일단 실행. 일단 입력. 당연하게 디버거로 올려봅시다. ????? 아까본 문자열이 없다?? 혹시 패킹되어있는지 확인해봅시다. 짜잔 UPX로 패킹되어있다. 풀어봅시다. 언패킹 언패킹하여 풀어낸 모습. 이제 디버거에 올려서 메시지로 보았던 문자열을 찾아서 이동해보자. 어우야.. 찾은 문자열에서 조금더 위로 올라가면 분기하는 부분들이나오는데 천천히 진행해본결과 문자열을 받아가는 함수 , 문자열을 입력했는지 확인하는 함수 , 1번시리얼과 2번시리얼을 비교하는 함수들이나오길래 시리얼을 위에칸만 입력하는게아니라 아래도 입력을 해야하는걸 알았다. 결과적으로 직접입력한 시리얼값 aaaa1111와 Registered User 을 비교하는데 안에 자세히 들어가면 4개씩 비.. 이전 1 2 3 4 5 다음 목록 더보기