다음 리버싱문제 고고
일단 이건 올리디버거로 실행이 안된다
64비트는 올리로 실행이 안된다고 해서 x64dbg 툴을 깔아서 실행시켜보았다
사용법이 올리랑 비슷해서 불편하진 않았다
으음 input값이 flag라고 적혀있다 이제 input값을 어떻게 구할까
일단 저 "M@[A7Z7XDFV2]B6H"는 갱장히 수상하다
Ida로도 까보자
요런 중요해보이는 코드가 딱!
Loc_14005000함수를 x64dbg로 보니
정확히는 모르겠지만 실행시켜보았을 때 인자 두개가 같으면 1을 반환하는 것 같다
인자값을 보니 (1씩 증가하는 v10)과
("M@[A7Z7XDFV2]B6H"와 나의 입력값을 xor연산한 값) 이다
이 두 값이 같아야지 1을 반환하여 v10이 16이 되고, input값이 flag가 된다
어떻게 푸는지 알았는데 비트연산을 이해하지 못해서 삽질을 오질나게 했다
도모다치의 도움으로
a^b=c이면 c^b=a 원리를 이용하여
"M@[A7Z7XDFV2]B6H”을 16진수로 바꾸고 v10과 비트연산
Flag is
{MAYB3_1_LOV3_A2M}
'CTF > KCTF' 카테고리의 다른 글
[Reversing] 난 별이 좋아! (0) | 2018.02.01 |
---|---|
[Reversing] Where am i? (0) | 2018.02.01 |
[pwnable] 자네 날 한번 키워보겠나 (0) | 2018.02.01 |
[DIGITALAPP] RDP (0) | 2018.02.01 |
[DIGITALFORENSIC] 안녕!안녕!안녕! (0) | 2018.02.01 |