티스토리 뷰
Challenges : Basic 14
Author : BENGALY
Korean :
Name이 CodeEngn 일때 Serial을 구하시오
(이 문제는 정답이 여러개 나올 수 있는 문제이며 5개의 숫자로 되어있는 정답을 찾아야함, bruteforce 필요)
Ex) 11111
English :
Find the Serial when the Name of CodeEngn
(This problem has several answers, and the answer should be a 5 digit number. Brute forcing is required.)
Ex) 11111
1) 가장 먼저 해야될것은
PEID 로 패킹 여부 확인
UPX 로 패킹된것 확인 하였음
2) Olly 로 Dump
Dump 이후에 나머지 기존에 LordPE 로 PE 값 복구 해주자
3) 이제, 덤프된 파일 14.exe 파일로
올리로 실행하여, Pushad ~ popad 이후에 jmp 문을 확인하여
내부로 들어가서 확인해보자.
이제 내부로 들어가면 GetDlgItem 함수가 쓰이는곳을 발견할수 있을것이다 한 6군데정도?
왠지 이곳을 건드리면, id,password 처리를하는 냄새가 솔솔난다.
나는 이곳에 6개 정도 BP 걸고 차근차근 하나씩 실행해 보았다.
하나씩 실행하다보면, exe 파일이 실행되는구간이 있다, 문제와 같이
ID: CodeEngn 이며, 임의의 값으로 12345를 입력해보보았다.
그러면 CMP 구문에서 EAX 와 ESI 값을 비교하는것을 알 수 있는데, EAX 값과 ESI 값을 비교해보면, 내가 입력한 값은 EAX 이므로 ESI 값을 확인할 수 있을 것이다.
위의 사진을 보면 EAX 값은 DEC = 12345 = HEX = 3039 라는것을 알수 있고,
ESI 값은 000129A1의 값은 = DEC 값으로 76,193으로 확인 할 수 있다.
따라서, 실제 시리얼값을 확인한 결과 성공.
'Security' 카테고리의 다른 글
[리버싱] Code Engine - 16 문제 풀이 (0) | 2018.04.04 |
---|---|
[리버싱] Code Engine - 15 문제 풀이 (0) | 2018.04.04 |
[리버싱] Code Engine 13- 문제 풀이 (0) | 2018.04.03 |
[리버싱] Code Engine 12 - 문제 풀이 (0) | 2018.03.25 |
[리버싱] Code Engine 11 - 문제 풀이 (0) | 2018.03.25 |
- Total
- Today
- Yesterday
- MVC
- 코드엔진
- 리버싱
- C언어
- BFS
- 복습
- 감자코딩
- 알고리즘
- 텐서플로우
- programming
- 백준
- 안드로이드
- 스프링
- 백준알고리즘
- C langauge
- 머신러닝
- 감자개발자
- db
- 초보자를 위한 C언어 300제
- Spring
- node.js
- 개발하는 관광이
- 노드
- node
- Controller
- 프로그래밍
- Algorigm
- Android
- 학교
- TensorFlow
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |