PADOCON 2010 hand-ray 리버싱 풀이 1st
2010/02/27 16:13
이번 파도콘 때 컨퍼런스 발표 외에도 섹션 밖에서 재미있는 이벤트들이 있었습니다. 그 중에서 순천향대학교 Security First 에서 핸드레이 리버싱 문제를 출제했었지요. 문제들이 재미있어서 소개합니다.
문제
다음 프로그램은 어떤 함수호출 규약을 사용하는가??
00401078 |. 6A 05 PUSH 5
0040107A |. 6A 04 PUSH 4
0040107C |. 6A 03 PUSH 3
0040107E |. 6A 02 PUSH 2
00401080 |. 6A 01 PUSH 1
00401082 |. E8 7EFFFFFF CALL Q1.00401005
------------------------in the Function -----------------------
00401020 /> \55 PUSH EBP
00401021 |. 8BEC MOV EBP,ESP
00401023 |. 83EC 40 SUB ESP,40
00401026 |. 53 PUSH EBX
00401027 |. 56 PUSH ESI
00401028 |. 57 PUSH EDI
00401029 |. 8D7D C0 LEA EDI,DWORD PTR SS:[EBP-40]
0040102C |. B9 10000000 MOV ECX,10
00401031 |. B8 CCCCCCCC MOV EAX,CCCCCCCC
00401036 |. F3:AB REP STOS DWORD PTR ES:[EDI]
00401038 |. 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8]
0040103B |. 0345 0C ADD EAX,DWORD PTR SS:[EBP+C]
0040103E |. 0345 10 ADD EAX,DWORD PTR SS:[EBP+10]
00401041 |. 0345 14 ADD EAX,DWORD PTR SS:[EBP+14]
00401044 |. 0345 18 ADD EAX,DWORD PTR SS:[EBP+18]
00401047 |. 5F POP EDI
00401048 |. 5E POP ESI
00401049 |. 5B POP EBX
0040104A |. 8BE5 MOV ESP,EBP
0040104C |. 5D POP EBP
0040104D \. C2 1400 RETN 140x00401082 에서 401005 함수를 호출합니다. 그리고 0x00404005 에서 실행 흐름이 0x00401020 으로 넘어갑니다. 이 상태에서 어떤 함수 호출 규약이 적용되었는지를 묻는 문제입니다. 따로 풀이를 할 것 없이 아래 참고 문헌을 읽어보면 쉽게 풀리는 문제입니다. 참 쉽죠잉?
참고 문헌
Calling Convention - 함수 호출 규약 :: http://www.reversecore.com/13
"#2. 지피지기, 백전불패 / 리버스 엔지니어링" 분류의 다른 글
| HDCON 2009 예선 Stage 0 (0) | 2010/06/11 |
| PADOCON 2010 hand-ray 리버싱 풀이 3rd (5) | 2010/02/28 |
| PADOCON 2010 hand-ray 리버싱 풀이 2nd (0) | 2010/02/27 |
| InvokeClearTracks () at INETCPL.cpl in IE7 (0) | 2010/02/01 |
| Brute Forcing with DLL Injection (0) | 2010/01/10 |
| Evan's Debugger(EDB) Manual (0) | 2009/12/10 |
| OllyDbg로 쉽게 디버깅하기 - Back to User 모드 (0) | 2009/07/15 |
| DEFCON 2009 :: Binary L33tness 100, EDB로 풀어보자. (6) | 2009/06/28 |
Trackback Address:http://hisjournal.net/blog/trackback/311