no image
CodeEngn(코드엔진) basic 12
※ 작년에 작성한 라이트업입니다. ※ Basic RCE L12 Key를 구한 후 입력하게 되면 성공메시지를 볼 수 있다 이때 성공메시지 대신 Key 값이 MessageBox에 출력 되도록 하려면 파일을 HexEdit로 오픈 한 다음 0x???? ~ 0x???? 영역에 Key 값을 overwrite 하면 된다. 문제 : Key값과 + 주소영역을 찾으시오 Ex) 7777777???????? 1. 성공 메시지를 출력하는 부분을 살펴보면 그 위에 7A2896BF와 EAX의 값을 비교하여 일치하지 않으면 성공 메시지를 건너뛰는 부분이 있다. 2. 7A2896BF를 2진수로 변환하면 2049480383이 된다. 3. 파일을 HxD로 연 후 성공 메시지 부분을 확인한다. password는 총 10글자이므로 null ..
2020.06.25
no image
CodeEngn(코드엔진) basic 11
※ 작년에 작성한 라이트업입니다. ※ Basic RCE L11 OEP를 찾으시오. Ex) 00401000 / Stolenbyte 를 찾으시오. Ex) FF35CA204000E84D000000 정답인증은 OEP+ Stolenbyte Ex) 00401000FF35CA204000E84D000000 1. 11.exe 파일의 stolenbyte를 찾는 것은 9번 문제와 과정이 동일하므로 생략한다. Stolenbyte는 6A0068002040006812204000이다. 2020/06/25 - [리버싱] - CodeEngn(코드엔진) basic 09 CodeEngn(코드엔진) basic 09 Basic RCE L09 StolenByte를 구하시오 Ex) 75156A0068352040 stolenbyte란? 프로그램의..
2020.06.25
no image
CodeEngn(코드엔진) basic 10
※ 작년에 작성한 라이트업입니다. ※ Basic RCE L10 OEP를 구한 후 '등록성공' 으로 가는 분기점의 OPCODE를 구하시오. 정답인증은 OEP + OPCODE EX) 00400000EB03 1. PEiD를 통해서 10.exe가 aspack으로 패킹이 되어있는 것을 확인할 수 있다. http://blog.naver.com/PostView.nhn?blogId=suljang2&logNo=140201560221&parentCategoryNo=&categoryNo=23&viewDate=&isShowPopularPosts=true&from=search 사이트를 참고해서 언패킹을 진행했다. 2. 10.exe파일을 올리 디버거로 열어보았다. PUSHAD로 시작하는 것을 확인할 수 있다. PUSHAD로 시작..
2020.06.25
no image
CodeEngn(코드엔진) basic 09
※ 작년에 작성한 라이트업입니다. ※ Basic RCE L09 StolenByte를 구하시오 Ex) 75156A0068352040 stolenbyte란? 프로그램의 한 부분의 코드가 다른 부분으로 옮겨진 것, 정상적으로 프로그램이 동작되지 않음, 패킹된 프로그램에서 볼 수 있음 1. 09.exe 파일을 패킹된 채로 실행한 창과 언패킹을 진행한 후 실행을 해보면 언패킹을 한 후에 뜨는 창은 오류가 나는 것을 확인할 수 있다. Strolenbyte란 패커가 이동시킨 코드의 윗부분(보통 OEP로부터 몇 개의 명령어)로, 이 경우 언패킹을 할 시에도 정상 실행이 되지 않는다. 처음에 뜨는 창이 정상적으로 실행되지 않으므로 이 부분이 stolenbyte라는 것을 짐작할 수 있다. 2. 언패킹을 진행한 실행 파일을..
2020.06.25
no image
CodeEngn(코드엔진) basic 08
※ 작년에 작성한 라이트업입니다. ※ Basic RCE L08 OEP를 구하시오 Ex) 00400000 OEP란? Original Entry Point, 프로그램의 시작 위치를 의미 1. 08.exe는 upx로 패킹되어 있으니 언패킹을 해준다. 2. 프로그램의 시작점인 01012475가 OEP가 된다.
2020.06.25
no image
CodeEngn(코드엔진) basic 07
※ 작년에 작성한 라이트업입니다. ※ Basic RCE L07 컴퓨터 C 드라이브의 이름이 CodeEngn 일경우 시리얼이 생성될때 CodeEngn은 ‘어떤것'으로 변경되는가 1. 07.exe를 올리디버거로 열고 f8로 계속 실행하다 보면 DialogBoxParamA에서 창을 하나 띄우게 된다. 2. 그 창에서 Check 버튼을 누르면 Hex dump 창에 L2C-5781Ykpfows4562-ABEX라는 시리얼이 뜨게 되고 그것을 입력하면 올바른 시리얼이라는 창을 띄우게 된다. 3. 다음으로 C드라이브의 이름을 CodeEngn으로 바꾸고 진행을 하면 방금의 결과와는 달리 시리얼 번호가 “L2C-5781EqfgEngn4562-ABEX”로 바뀐 것을 확인할 수 있다. 즉 Windows->Ykpfows, Co..
2020.06.25
no image
CodeEngn(코드엔진) basic 06
※ 작년에 작성한 라이트업입니다. ※ Basic RCE L06 Unpack을 한 후 Serial을 찾으시오. 정답인증은 OEP + Serial Ex) 00400000PASSWORD 1. 06.exe를 보면 upx로 패킹이 되어있다. 언패킹을 해준다. 3. All referenced text strings을 열어서 문자열을 확인한다. 4. “AD46DFS547”이라는 문자열을 확인할 수 있다. 이것이 06.exe의 시리얼이 된다.
2020.06.25
no image
CodeEngn(코드엔진) basic 05
※ 작년에 작성한 라이트업입니다. ※ Basic RCE L05이 프로그램의 등록키는 무엇인가 ? 1. PEID로 확인하면 실행파일이 UPX로 패킹된 것을 확인할 수 있다. 2. cmd창을 통해서 언패킹을 해준다. 3. 언패킹이 된 실행파일을 올리디버거로 연 후 우클릭->Search for->All referenced text strings를 선택한다. 4. “Registered User”와 “GFX-754-IER-954”라는 시리얼 번호를 확인할 수 있다. 05.exe를 실행해서 아래의 텍스트를 입력하면 “Congrats! You cracked this Crackme!”라고 뜨고 문제를 해결할 수 있다.
2020.06.25

※ 작년에 작성한 라이트업입니다. ※ 

 

 

 

Basic RCE L12

Key를 구한 후 입력하게 되면 성공메시지를 볼 수 있다
이때 성공메시지 대신 Key 값이 MessageBox에 출력 되도록 하려면 파일을 HexEdit로 오픈 한 다음 0x???? ~ 0x???? 영역에 Key 값을 overwrite 하면 된다.
문제 : Key값과 + 주소영역을 찾으시오
Ex) 7777777????????

 

 

 

1.     성공 메시지를 출력하는 부분을 살펴보면 그 위에 7A2896BFEAX의 값을 비교하여 일치하지 않으면 성공 메시지를 건너뛰는 부분이 있다.

 

 

2.     7A2896BF2진수로 변환하면 2049480383이 된다.

 

 

3.     파일을 HxD로 연 후 성공 메시지 부분을 확인한다. password는 총 10글자이므로 null 포함 11글자를 수정해야한다. 즉 주소영역은 0D3B~0D45가 된다.

 

728x90

'CTF > 리버싱' 카테고리의 다른 글

CodeEngn(코드엔진) basic 14  (0) 2020.06.25
CodeEngn(코드엔진) basic 13  (0) 2020.06.25
CodeEngn(코드엔진) basic 11  (0) 2020.06.25
CodeEngn(코드엔진) basic 10  (0) 2020.06.25
CodeEngn(코드엔진) basic 09  (0) 2020.06.25

※ 작년에 작성한 라이트업입니다. ※ 

 

 

 

Basic RCE L11

OEP를 찾으시오. Ex) 00401000 / Stolenbyte 를 찾으시오
Ex) FF35CA204000E84D000000
정답인증은 OEP+ Stolenbyte 
Ex) 00401000FF35CA204000E84D000000

 

 

 

1.     11.exe 파일의 stolenbyte를 찾는 것은 9번 문제와 과정이 동일하므로 생략한다. Stolenbyte 6A0068002040006812204000이다.

2020/06/25 - [리버싱] - CodeEngn(코드엔진) basic 09

 

CodeEngn(코드엔진) basic 09

Basic RCE L09 StolenByte를 구하시오 Ex) 75156A0068352040  stolenbyte란? 프로그램의 한 부분의 코드가 다른 부분으로 옮겨진 것, 정상적으로 프로그램이 동작되지 않음, 패킹된 프로그램에서 볼 수 있음 1. .

assb.tistory.com

      

 

 

2.     OEP는 언패킹을 진행한 파일을 통해서 구해야한다. OEP00401000이다. 따라서 정답은 004010006A0068002040006812204000가 된다.

 

728x90

'CTF > 리버싱' 카테고리의 다른 글

CodeEngn(코드엔진) basic 13  (0) 2020.06.25
CodeEngn(코드엔진) basic 12  (0) 2020.06.25
CodeEngn(코드엔진) basic 10  (0) 2020.06.25
CodeEngn(코드엔진) basic 09  (0) 2020.06.25
CodeEngn(코드엔진) basic 08  (0) 2020.06.25

※ 작년에 작성한 라이트업입니다. ※ 

 

 

 

Basic RCE L10

OEP를 구한 후 '등록성공' 으로 가는 분기점의 OPCODE를 구하시오
정답인증은 OEP + OPCODE 
EX) 00400000EB03 

 

 

1.     PEiD를 통해서 10.exeaspack으로 패킹이 되어있는 것을 확인할 수 있다.

http://blog.naver.com/PostView.nhn?blogId=suljang2&logNo=140201560221&parentCategoryNo=&categoryNo=23&viewDate=&isShowPopularPosts=true&from=search 사이트를 참고해서 언패킹을 진행했다.

 

 

2.     10.exe파일을 올리 디버거로 열어보았다. PUSHAD로 시작하는 것을 확인할 수 있다. PUSHAD로 시작하는 것은 aspack으로 패킹된 파일의 특징이다.

 

 

3.     F8을 누른 후 ESP에서 Follow in Dump를 선택한다.

 

 

4.     dump창에서 드래그를 한 후 Breakpoint-Hardware, on access-Dword를 선택한다.

 

 

5.     f9로 실행해주면 JNZ~부분으로 이동하게 된다. 상단의 POPAD가 있다.

 

 

6.     RETN으로 들어가면 하단과 같은 화면이 뜨는데 이는 올리 디버거가 분석을 하지 못했을 때 나타나는 화면이다. 여기서 ctrl+A를 눌러주면 언패킹이 완료된다.

 

 

7.     언패킹이 완료되었다. OEP00445834가 된다. 이제 이제 두번째 문제인 등록 성공으로 가는 분기점의 OPCODE를 찾아야 한다.

 

 

8.     텍스트를 확인해보았다. “Resisterd … well done!”이라고 등록에 성공했을 때 등장하는 문자열이 보인다. 이것을 더블 클릭한다.

 

 

9.     등록 성공 메시지에서 조금 위로 올려보면 점프문이 하나 등장한다. 이 점프문에 걸릴 경우 등록 성공 메시지를 띄우는 부분을 건너뛰게 되므로 이 코드가 등록성공으로 가는 분기점임을 알 수 있다. 이 코드의 OPCODE 7555이므로 이 문제의 정답은 004458347555가 된다.

728x90

'CTF > 리버싱' 카테고리의 다른 글

CodeEngn(코드엔진) basic 12  (0) 2020.06.25
CodeEngn(코드엔진) basic 11  (0) 2020.06.25
CodeEngn(코드엔진) basic 09  (0) 2020.06.25
CodeEngn(코드엔진) basic 08  (0) 2020.06.25
CodeEngn(코드엔진) basic 07  (0) 2020.06.25

※ 작년에 작성한 라이트업입니다. ※ 

 

 

 

Basic RCE L09

StolenByte를 구하시오 Ex) 75156A0068352040 

 

 

 stolenbyte란? 프로그램의 한 부분의 코드가 다른 부분으로 옮겨진 것, 정상적으로 프로그램이 동작되지 않음, 패킹된 프로그램에서 볼 수 있음

 

 

1.     09.exe 파일을 패킹된 채로 실행한 창과 언패킹을 진행한 후 실행을 해보면 언패킹을 한 후에 뜨는 창은 오류가 나는 것을 확인할 수 있다. Strolenbyte란 패커가 이동시킨 코드의 윗부분(보통 OEP로부터 몇 개의 명령어), 이 경우 언패킹을 할 시에도 정상 실행이 되지 않는다. 처음에 뜨는 창이 정상적으로 실행되지 않으므로 이 부분이 stolenbyte라는 것을 짐작할 수 있다.

        

 

 

2.     언패킹을 진행한 실행 파일을 올리 디버거로 열어 보았다. 이때 처음 시작 부분은 00401000이고, 이 값을 기억해둔다.

 

 

3.     패킹된 파일을 올리 디버거로 연다. Ctrl+g를 누르고 아까 기억해 두었던 00401000주소로 이동한다.

 

 

4.     F2breakpoint를 걸고 실행을 해보면 우측에 텍스트들이 나타난다.

 

 

5.     우클릭->Search for->All referenced text strings를 클릭하면 아래에 stolenbyte로 추정되는 부분이 나타난다.

 

 

6.     “abex’s 3rd crackme” “click OK to check for the keyfile”, 그리고 그 위의 PUSH0까지가 stolenbyte이다. 따라서 6A0068002040006812204000이 정답이 된다.

728x90

'CTF > 리버싱' 카테고리의 다른 글

CodeEngn(코드엔진) basic 11  (0) 2020.06.25
CodeEngn(코드엔진) basic 10  (0) 2020.06.25
CodeEngn(코드엔진) basic 08  (0) 2020.06.25
CodeEngn(코드엔진) basic 07  (0) 2020.06.25
CodeEngn(코드엔진) basic 06  (0) 2020.06.25

※ 작년에 작성한 라이트업입니다. ※ 

 

 

 

Basic RCE L08

OEP를 구하시오 Ex) 00400000 

 

 

OEP란? Original Entry Point, 프로그램의 시작 위치를 의미

 

 

1.     08.exe upx로 패킹되어 있으니 언패킹을 해준다.

 

 

2.     프로그램의 시작점인 01012475 OEP가 된다.

728x90

'CTF > 리버싱' 카테고리의 다른 글

CodeEngn(코드엔진) basic 10  (0) 2020.06.25
CodeEngn(코드엔진) basic 09  (0) 2020.06.25
CodeEngn(코드엔진) basic 07  (0) 2020.06.25
CodeEngn(코드엔진) basic 06  (0) 2020.06.25
CodeEngn(코드엔진) basic 05  (0) 2020.06.25

※ 작년에 작성한 라이트업입니다. ※ 

 

 

 

Basic RCE L07

컴퓨터 C 드라이브의 이름이 CodeEngn 일경우 시리얼이 생성될때 CodeEngn어떤것'으로 변경되는가 

 

 

1.     07.exe를 올리디버거로 열고 f8로 계속 실행하다 보면 DialogBoxParamA에서 창을 하나 띄우게 된다.

 

 

 

2.     그 창에서 Check 버튼을 누르면 Hex dump 창에 L2C-5781Ykpfows4562-ABEX라는 시리얼이 뜨게 되고 그것을 입력하면 올바른 시리얼이라는 창을 띄우게 된다.

 

 

3.     다음으로 C드라이브의 이름을 CodeEngn으로 바꾸고 진행을 하면 방금의 결과와는 달리 시리얼 번호가 “L2C-5781EqfgEngn4562-ABEX”로 바뀐 것을 확인할 수 있다. Windows->Ykpfows, CodeEngn->EqfgEngn로 바뀐 것이다.

 

 

728x90

'CTF > 리버싱' 카테고리의 다른 글

CodeEngn(코드엔진) basic 09  (0) 2020.06.25
CodeEngn(코드엔진) basic 08  (0) 2020.06.25
CodeEngn(코드엔진) basic 06  (0) 2020.06.25
CodeEngn(코드엔진) basic 05  (0) 2020.06.25
CodeEngn(코드엔진) basic 04  (0) 2020.06.25

※ 작년에 작성한 라이트업입니다. ※ 

 

 

 

Basic RCE L06

Unpack을 한 후 Serial을 찾으시오.

정답인증은 OEP + Serial 
Ex) 00400000PASSWORD 

 

 

 

1.     06.exe를 보면 upx로 패킹이 되어있다. 언패킹을 해준다.

 

 

 

 

3.     All referenced text strings을 열어서 문자열을 확인한다.

 

 

4.     “AD46DFS547”이라는 문자열을 확인할 수 있다. 이것이 06.exe의 시리얼이 된다.

 

728x90

'CTF > 리버싱' 카테고리의 다른 글

CodeEngn(코드엔진) basic 08  (0) 2020.06.25
CodeEngn(코드엔진) basic 07  (0) 2020.06.25
CodeEngn(코드엔진) basic 05  (0) 2020.06.25
CodeEngn(코드엔진) basic 04  (0) 2020.06.25
CodeEngn(코드엔진) basic 03  (0) 2020.06.25

※ 작년에 작성한 라이트업입니다. ※ 

 

 

 

Basic RCE L05이 프로그램의 등록키는 무엇인가 ?

 

 

1.     PEID로 확인하면 실행파일이 UPX로 패킹된 것을 확인할 수 있다.

 

 

2.     cmd창을 통해서 언패킹을 해준다.

 

 

3.     언패킹이 된 실행파일을 올리디버거로 연 후 우클릭->Search for->All referenced text strings를 선택한다.

 

 

4.     “Registered User”“GFX-754-IER-954”라는 시리얼 번호를 확인할 수 있다. 05.exe를 실행해서 아래의 텍스트를 입력하면 “Congrats! You cracked this Crackme!”라고 뜨고 문제를 해결할 수 있다.

 

 

728x90

'CTF > 리버싱' 카테고리의 다른 글

CodeEngn(코드엔진) basic 07  (0) 2020.06.25
CodeEngn(코드엔진) basic 06  (0) 2020.06.25
CodeEngn(코드엔진) basic 04  (0) 2020.06.25
CodeEngn(코드엔진) basic 03  (0) 2020.06.25
CodeEngn(코드엔진) basic 02  (0) 2020.06.25