전체 글 (58) 썸네일형 리스트형 [Reversing.Kr] Music Player 보호되어 있는 글입니다. CodeEngn Advance RCE 3 CodeEngn Advance RCE 3 Q. Name이 CodeEngn일 때 Serial은 무엇인가 해당 문제를 풀기 위해, 03.exe 문제 파일을 다운로드하여 주었다. 7-Zip File Manager로 압축을 풀고 DIE로 파일 정보를 확인해보려고 한다. DIE를 통해서, 해당 파일이 UPX로 패킹이 되어 있지 않다는 사실을 알 수 있다.만일 패킹이 되어 있다면 언패킹 과정을 거쳐야 하지만, 그렇지 않기에 Immunity Debugger로 가서 바로 파일을 열어주었다 F9키를 눌러 프로그램을 실행하면 익숙한 이러한 화면이 나타난다. Name 입력칸Serial 입력칸문제에서 Name이 CodeEngn이라고 알려 주었기 때문에, Name 입력 칸에는 CodeEngn으로, Serial number는.. Codeengn Basic RCE 9 Codeengn Basic RCE 9 Q. StolenByte를 구하시오 Ex) 75156A0068352040해당 문제를 읽었는데, 처음 보는 개념인 Stolenbyte가 등장하였다. Stolenbyte가 무엇인지 모르겠어서 이에 대해 알고 문제 풀기를 시작하고자 한다.Stolenbyte란 무엇일까? 말 그대로 “훔쳐진 바이트”라는 뜻으로,원래 실행 파일의 초기 코드(OEP 근처)에 있어야 할 바이트가 패킹 과정에서 디스크에서는 사라졌다가,프로그램이 실제 실행될 때 메모리에서 다시 복구되는 코드 조각을 의미한다.Q. 왜 이러한 훔쳐진 바이트가 생길까?UPX와 같은 패커는 프로그램을 압축하기 위해 내부 섹션 구조를 재배치한다.이 과정에서 아래와 같은 동작이 일어난다.원래 OEP 앞뒤의 코드 일부가 디스크.. Codeengn Basic RCE 11 Codeengn Basic RCE 11 Q. OEP를 찾으시오. Ex) 00401000 / Stolenbyte를 찾으시오. Ex) FF35CA204000E84D000000 정답인증은 OEP+ Stolenbyte Ex ) 00401000FF35CA204000E84D000000 Stolenbyte란 무엇일까? 말 그대로 “훔쳐진 바이트”라는 뜻으로,원래 실행 파일의 초기 코드(OEP 근처)에 있어야 할 바이트가 패킹 과정에서 디스크에서는 사라졌다가,프로그램이 실제 실행될 때 메모리에서 다시 복구되는 코드 조각을 의미한다.Q. 왜 이러한 훔쳐진 바이트가 생길까?UPX와 같은 패커는 프로그램을 압축하기 위해 내부 섹션 구조를 재배치한다.이 과정에서 아래와 같은 동작이 일어난다.원래 OEP 앞뒤의 코드 일부가 .. Codeengn Basic RCE 17 Q. Key 값이 BEDA-2F56-BC4F4368-8A71-870B 일 때 Name 은 무엇인가. 힌트 : Name은 한자리인데.. 알파벳일수도 있고 숫 자일수도 있고.. 정답인증은 Name의 MD5 해쉬값(대문자) 즉, 문제를 해결하려면프로그램이 Name과 Key를 어떻게 검증하는지 분석하고주어진 Key가 통과하도록 만드는 올바른 Name(단 한 글자) 을 찾은 뒤그 Name의 MD5 해시(대문자) 를 제출하면 된다. 라고 정리할 수 있다. Codeengn Basic RCE 17번 문제를 풀기 위해서, 먼저 17.exe 문제 파일을 다운로드하였다.7-zip을 이용하여 압축을 해제한 다음, DIE를 통해서, 해당 파일이 UPX로 패킹이 되어 있지 않다는 사실을 알 수 있다.만일 패킹이 되어 있다면 언.. Codeengn Basic RCE 13 Codeengn Basic RCE 13Q. 정답은 무엇인가? Codeengn Basic RCE 13번 문제를 풀기 위해서, 먼저 13.exe 문제 파일을 다운로드하였다.7-zip을 이용하여 압축을 해제한 다음, DIE 결과, 이 파일은 . NET Assembly로 제작된 프로그램임을 알 수 있었다..NET 프로그램은 네이티브 바이너리가 아니라 IL(Intermediate Language)로 구성되어 있기 때문에,일반적인 디스어셈블러 대신 dnSpy, ILSpy, dotPeek 같은. NET 디컴파일러를 사용하는 것이 적절하기 때문에, 이 문제를 풀 때에는 dnSpy를 사용하였다. dnSpy로 파일을 열어보면, 프로그램이 Entry Point(메인 함수) 위치를 주석으로 표시해주고 있다.해당 위치를 .. Codeengn Basic RCE 20 Codeengn Basic RCE 20 Q. 이 프로그램은 Key파일을 필요로 하는 프로그램이다. 'Cracked by: CodeEngn!' 문구가 출력 되도록 하려면 crackme3.key 파일안의 데이터는 무엇이 되어야 하는가 Ex) 41424344454647 --> 해당 문제를 읽으며, 이 CrackMe는 외부 key 파일(CRACKME3.KEY) 이 없으면 동작하지 않고,그 key 파일의 내용이 프로그램이 원하는 대로 맞아야 Cracked by: CodeEngn! 이라는 성공 메세지가 출력된다는 사실을 알 수 있다. 즉, 우리가 해야 할 것은 “프로그램이 원하는 KEY 파일 내용을 찾아서 넣는 것” 이라는 사실을 알 수 있다. Codeengn Basic RCE 20번 문제를 풀기 위해서, 먼저 .. Codeengn Basic RCE 16 Codeengn Basic RCE 16 Q. Name이 CodeEngn일때 Serial을 구하시오 Codeengn Basic RCE 16번 문제를 풀기 위해서, 먼저 16.exe 문제 파일을 다운로드 받았다.7-zip을 이용하여 압축을 해제한 다음, DIE를 통해서, 해당 파일이 UPX로 패킹이 되어 있지 않다는 사실을 알 수 있다.만일 패킹이 되어 있다면 언패킹 과정을 거쳐야 하지만, 그렇지 않기에 Immunity Debugger로 가서 바로 파일을 열어주었다 F9 키를 눌러 실행하였더니, Name과 Password를 입력하는 콘솔 창이 나타났다. 우리는 Name은 'CodeEngn'으로 알고 있기에, Name 칸에는 CodeEngn을 입력하고 password는 모르기에 임의로 '1111' 이라는 .. 이전 1 2 3 4 ··· 8 다음