본문 바로가기

WARGAME/codeengn

Advance 9

Korean 
Password는 무엇인가 ?




위 사진을 보면 프로그램이 시작하고 뜬금없이 VirtualAlloc() API를 이용해서 heap 영역에 256바이트의 영역을 할당하고 


해당 위치에 0x0088228f 값을 16바이트마다 꽉 채워 넣는다.





이후 ID와 PW를 입력하고 진행하다보면 00241035 라인부터 내가 PW에 입력한 값을 처음에 할당한 heap 영역에 적힌 0x0088228f 값과 비교한다.





위에서 패스워드 비교를 하고 조금더 내려오다보면 0024105f 라인에서 내가 입력한 ID와 DonaldDuck 문자열과 다시 비교한다.





이후엔 인증 성공 루틴과 인증 실패 루틴이 나오는데, 무조건 인증 실패 루틴으로 분기된다. 


어쨋든, 답은 0x0088228f의 10진수인 8921743이다.





답 : 8921743




'WARGAME > codeengn' 카테고리의 다른 글

Advance 11  (0) 2015.04.08
Advance 10  (0) 2015.04.06
Advance 8  (0) 2015.03.29
Advance 7  (0) 2015.03.19
Advance 6  (0) 2015.03.19