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 14


0x00401082 에서 401005 함수를 호출합니다. 그리고 0x00404005 에서 실행 흐름이 0x00401020 으로 넘어갑니다. 이 상태에서 어떤 함수 호출 규약이 적용되었는지를 묻는 문제입니다. 따로 풀이를 할 것 없이 아래 참고 문헌을 읽어보면 쉽게 풀리는 문제입니다. 참 쉽죠잉?

참고 문헌


Calling Convention - 함수 호출 규약 :: http://www.reversecore.com/13
크리에이티브 커먼즈 라이센스
Creative Commons License

6l4ck3y3 #2. 지피지기, 백전불패/리버스 엔지니어링 , , , , , , ,

Trackback Address:http://hisjournal.net/blog/trackback/311
[로그인][오픈아이디란?]