CodeEngn Basic RCE의 10번 문제입니다. 해당 프로그램의 OEP를 구한 후 "등록성공"으로 가는 분기점의 OPCODE를 구하는 문제입니다. ※OPCODE(연산코드)란? 프로세서가 수행 할 연산과 실행 할 동작을 정의하는 코드입니다. 올리디버거로 열었을 때 Hex dump 칸에 있는 코드들이 OPCODE입니다. 먼저 파일을 다운로드 받겠습니다. '10.exe'라는 이름의 파일입니다. 실행시켜보면.. 이런 창이 뜹니다. 이제 프로그램 분석을 시작하겠습니다. 먼저 PEID로 파일의 정보를 확인하겠습니다. ASPack 패킹이 되어있습니다. 올리디버거로 직접 언패킹을 해보겠습니다. 올리디버거로 열고 Ctrl + F 를 눌러서 'retn 0c'를 검색해줍니다. RETN 0xC 밑에 있는 두 줄에 BP..
CodeEngn Basic RCE의 9번 문제입니다. 해당 프로그램의 StolenByte를 구하는 문제입니다. ※StolenByte란? 패커가 위치를 이동시킨 코드로써 보호된 프로그램 코드의 윗부분입니다. 이동된 코드들은 OEP 주소로 점프하기 전에 PUSH 됩니다. 이 부분의 명령어는 할당받은 메모리 공간에서 실행됩니다. 만약 StolenByte를 복구하지 못하고 덤프한다면 실행 파일이 작동하지 않을 수 있습니다. 먼저 파일을 다운로드 받아보겠습니다. '09.exe'라는 이름의 파일입니다. 실행시켜보면.. 위와 같은 메시지를 띄웁니다. 이제 프로그램 분석을 시작하겠습니다. 먼저 PEID로 파일의 정보를 보겠습니다. UPX로 패킹 되어 있군요. UPX 언패킹 툴로 언패킹 한 뒤 실행시켜보겠습니다. Sto..
CodeEngn Basic RCE의 8번 문제입니다. 해당 프로그램의 OEP를 구하는 문제입니다. 먼저 프로그램을 다운로드 받아보겠습니다. '08.exe'라는 이름의 파일입니다. 실행시켜보겠습니다. 평범한 계산기 프로그램입니다. 먼저 PEID로 확인해보겠습니다. UPX로 패킹이 되어있습니다. 올리디버거로 직접 언패킹을 해보겠습니다. 언패킹을 완료했습니다. 이제 OEP를 알 수 있습니다. 알아낸 OEP를 코드엔진 사이트에 인증 해보면...
- Total
- Today
- Yesterday
- Level 01
- 유니티
- reversing.kr
- c++
- pwnable
- Level 05
- Level 03
- xcz.kr
- Android
- Write-up
- Programming
- Level 06
- 안드로이드
- Advance RCE
- Level 04
- ftz
- Unity
- Reversing
- unity2d
- 풀이
- wargame
- hackerschool
- HackingCamp
- 안드로이드 멘토링
- CodeEngn
- Level 02
- 17th HackingCamp CTF
- Basic RCE
- C#
- 멘토링
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |