일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- web
- Basic
- 라이트업
- 리버스 엔지니어링
- 2021
- 드림핵
- 라업
- 리버싱
- 라이트 업
- probgame
- ctf
- ShaktiCTF
- 시탭
- reversing
- write-up
- 뭉뭉
- 파이썬
- 워 게임
- c언어
- 코드엔진
- 히공
- write up
- vsCode
- 강의
- PYTHON
- 변수
- reversing.kr
- hackingcamp
- 풀이
- 해킹캠프
히공
코드엔진 - basic 05 본문
05번 문제를 풀겠습니다.
이러한 문제 입니다.
실행시키면 이러한 창이 나타납니다.
문제를 풀기 전에 PEID라는 것으로 저 프로그램의 정보를 확인해 봅시다.
여기를 클릭하시면 다운하실 수 있습니다. (출처 : playthegame00.tistory.com/5)
실행시키고 05.exe를 열어보면 upx패킹이 되었다고 알려줍니다.
자 UPX 패킹이란
파일 크기를 줄이고 내부 코드와 리소스를 감추기 위한 목적으로 사용 됩니다. 실행 압축 방식으로 파일 내부에 압축해제 코드를 포함하고 있기 때문에 실행되는 순간에 메모리에서 압축을 해제하여 바로 실행할 수 있습니다
한마디로 어떠한 주소에 OPCODE(기계어)를 작성하고 그 작성한 주소로 jump하게 됩니다.
x32dbg로 보면 pushad에서 멈췄습니다.
UPX패킹의 특징이라면
pushad후 popad후 jmp로 원본코드로 점프합니다.
원본코드로 점프하는것을 볼 수 있습니다.
F2를 눌러서 bp(break point)를 걸고 f9를 눌러서 bp전까지 실행 시킵니다.
f8을 눌러서 jump합니다
원본 코드 입니다.
문자열 중에 Congrats 로 시작하는 성공했을때 출력될꺼 같은 것으로 이동합니다.
[ebp+2C4] 부분이 Name 부분이고 Registered User 이라고 입력이 되어야 합니다.
ebp-4가 GFX-754-IER-954 여야 합니다.
그러면 점프를 하지 않고 축하한다는 메세지가 나오게 됩니다.
시리얼은 GFX-754-IER-954이니깐
정답 : GFX-754-IER-954
'reverse engineering > CodeEngn' 카테고리의 다른 글
코드엔진 - basic 07 (0) | 2020.09.16 |
---|---|
코드엔진 - basic 06 (6) | 2020.09.16 |
코드엔진 - basic 04 (0) | 2020.09.10 |
코드엔진 - basic 03 (0) | 2020.09.10 |
코드엔진 - basic 02 (0) | 2020.09.10 |