파일을 실행하면 캐릭터하나가 나온다.

ollydbg로 연 후 문자열을 확인해 보면 congratulation이란 성공 문자열이 보인다.

해당 문자열이 있는 곳으로 가보면 다음과 같이 C;@R 이란 문자열을 1 Byte씩 어떤 값과 비교 한 후에 성공문자열로 분기하는 걸 볼 수 있다.

C;@R란 문자열과 비교되는 문자열이 생성되는걸 루틴은 다음과 같다. EBP-84 주소에서부터 4byte값이 다음의 연산 과정을 거쳐서 C;@R값과 비교가 되는걸 볼 수 있다. EBP-84의 값에는 프로그램 자체에서 지정한 임의의 값이 들어가있고 그렇다면 어떠한 값을 넣었을때 아래의 연산과정을 거쳐서 C;@R가 생성되는지 역연산하는 코드를 짜서 돌리면 될 것 같다.

다음은 역연산하는 코드다.


auth = SECU


'CTF > Writeup' 카테고리의 다른 글

Sharif University CTF 2016 : SRM  (0) 2018.01.20
In CTF 2017 Challenge100 Write up  (0) 2018.01.20
Hack.lu CTF 2015: Module Loader Write up  (0) 2018.01.20
Hack.lu CTF 2014: ImageUpload Write up  (0) 2018.01.20
Hack.lu CTF 2014: Killy The Bit Write up  (0) 2018.01.20
블로그 이미지

JeonYoungSin

메모 기록용 공간

,