튜기's blogggg

Reversing.kr Easy ELF

by St1tch



실행을 하고 아무거나 입력을 하면 Wrong이 뜬다.

IDA로 킨 후 살펴보았다.



간단한 구조로 되어있는 것을 볼 수 있다.

출력을 한 후, 2개의 함수를 거치고 eax가 1이면 Correct가 출력이 된다.

두 함수를 살펴 보았다.


첫번째 함수인데 scanf를 호출한다.

byte_804A020에 버퍼가 있다는 것을 확인한 후 다음 함수로 넘어갔다.







다음함수의 일부이다. 

byte_804A020가 첫번째 글자이므로 

두번째 글자는 0x31이고, 

첫번째 글자와 34를 xor하고 al을 다시 그 자리에 대입한다.

세번째 글자와 32를 xor하고 al을 다시 그 자리에 대입한다.

네번째 글자와 0xffffff88를 xor하고 al을 다시 그자리에 대입한다.

다섯번째 글자가 0x58인지 확인을 한다.

byte_804A025가 0인지 확인을 하므로 총 5글자임을 알 수 있다.




다음 흐름을 보면 세번째 글자가 0x7c인지 확인,

첫번째 글자가 0x78인지 확인,

네번째 글자가 0xdd인지 확인을 한다.


따라서 1,3,4 번째 글자만 xor연산을 해주면 간단하게 나온다.





블로그의 프로필 사진

블로그의 정보

튜기's blogg(st1tch)

St1tch

활동하기