티스토리 뷰
RE02.exe는 파일 내에 key값이 저장되어 있다. 따라서 파일을 보기 위해 ollydbg를 사용 할 것이다. 이전에 사진을 보면 value를 입력하고 그 value에 따라 key값이 생성되는 이벤트를 이용하여 key값을 얻을 것이다. ollydbg를 켜 보자.
일단 RE02.exe 파일에서 이벤트 실행되는 부분의 값을 보고 그것을 memory window를 띄운 다음, 그 곳에서 .rdata 부분을 dump를 본다. value값을 입력하고 create하는 이벤트 버튼을 통해 값을 알아보기 위해 Resourse Hacker를 이용해 보자. 실행 장면은 다음과 같다.
create 버튼의 값이 1002인 것을 알 수 있는데, 이 값을 Hex값으로 바꾸면 3EA이다. 이것을 dump 뜬 창에 little endian 방식으로 나열하면 'ea 03 00 00' 인데 크기로 인해 두 번을 사용한 ‘ea 03 00 00 ea 03 00 00’을 써서 찾아본다. Ctrl + B를 이용하여 검색하면 다음과 같다.
이 상태에서 address로 바꾸어 나타내면 주변에 여러 address값이 나타나는데 위 아래 주소를 Ctrl + G를 통해 검색해 보면 PUSH EBP를 나타내는 주소 값을 얻을 수 있다. 거기에 F2로 breakpoint를 걸고 F9로 실행해 보자.
여기서 F7, F8을 이용하여 key값이 나오는 부분을 찾아보자. 내려가다 보면 ASCII로 된 값이 나온 부분을 알 수 있다.
그 부분에 breakpoint를 걸고 반복 실행해보면 다음과 같은 key값을 얻을 수 있다.
2e3aa05f25818e867dcdb333c6d40a6f
이제 이 값을 RE02.exe 파일에 넣으면...
RE02.exe 파일의 key값을 제대로 입력하여 Congratulation! 이라는 문구를 띄었다. 성공이다.
'Reversing' 카테고리의 다른 글
리버스 엔지니어링 문제풀이 2 (0) | 2013.02.27 |
---|---|
어셈블리어 기초 (0) | 2013.01.27 |
- Total
- Today
- Yesterday
- #FTK
- #Forensic
- #GRR
- #캐시
- #크롬
- 4차 산업혁명
- #EnCase
- ethereumj
- #Forensic Tools
- #Security
- #WireShark
- #이미지 수정
- #수정
- #ReKall
- #디지털 포렌식
- 이더리움
- #WinHex
- ethereum
- #포렌식
- #tool
- #Pmem
- #Chrome
- #DEFT
- #Volatility
- #WinPmem
- Fin Tech
- #메모리
- #010 Editor
- #tcpdump
- blockchain
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |