먼저 실행시켜보자.
간단히 입력을 받고 틀렷다고 출력을 해주었다.
strace에 붙여본결과 딱히 anti리버싱은 되어있지 않은거 같다.
ida에 붙여보면, 처음 start에서 libc_start_main을 부른다. 이때 준 인자값으로 가면 main함수인것을 알 수 있다.
입력받는함수 에 바로 따라나오는 함수가 입력한 값을 비교해 정답과 오답을 가려주는 함수이며, 이 함수가 0을 리턴하면 오답, 1을 리턴하면 정답이다.
일단 처음 2번째글자가 1인지 비교하고,
그리고 바로 뒤에서 첫번째, 2번째, 3번째 글자를 xor한다음, 4 번째 글자가 'X'인지 확인한다.
그리고 그 아래에서 xor한후 값과 비교를 하는데, 이는 python으로 쉽게 원래 비교값을 찾아냇다.
그래서 나온글자를 조합해보면 L1NUX이다
'wargame > reversing.kr' 카테고리의 다른 글
Easy_KeygenMe (0) | 2014.06.10 |
---|---|
Easy Crack (0) | 2014.06.03 |