본문 바로가기

CTF/Write-up

f-secure reverse engineering challenge

fsc_level 1

FSC_Leve_1.zip

오늘은 1번부터 3번까지 풀어보겠습니다. 

이 프로그램을 실행하면 Key를 입력받습니다.70ry입력 후 엔터를 치니 Sorry라는 문구가 나타납니다.

이제 올리디버거로 보면 stricmp함수를 호출해 s2인 Asm07REC와 비교합니다.

Note: 
- JNZ를 JZ로 수정 
- JNZ를 JMP로 수정 
- Asm07REC를 입력

이 외 뭐 방법은 다양하지만 넘어가겠습니다.

fsc_level 2

FSC_Level_2.zip

이번에는 그냥 메시지 박스가 나타나고 끝입니다. 


exeinfope로 보면 UPX로 패킹됬다는 것을 알 수 있습니다. 
upx에 -d 옵션을 주고 upx언패킹을 하면됩니다.

그다음은 무슨 파라미터를 넘겨 조건을 만족해야합니다.
그냥 JNZ를 고쳐가며 메시지 박스르 띄울 수 있고 
최고의 툴인 IDA를 사용하면 바로 보입니다. 

목적은 이메일 주소를 얻기 위함이므로 넘기겠습니다.

fsc_level 3

FSC_Level_3.zip

1번 문제와 동일한 문제같아 보입니다. 하지만 겁나 빡센 문제입니다.

성공과 실패 문구가 있는 분기점 바로 위 호출하는 곳에 들어가면 위의 사진 처럼 나옵니다. 잘 가다가 갑자기 엄청 먼 곳으로 점프를 하게됩니다. 그리고 수많은 점프가 있습니다. 계속 위 아래 먼곳을 왔다갔다합니다.

그리고 캡쳐는 못했지만 문자열 길이가 0x10이여야합니다. 그래서 16자리를 맞춰주고 실행해야합니다.

그러다가 이렇게 문자를 비교하는 곳을 찾았습니다. 첫 번째 글자는 S입니다.

두 번째는 a입니다 이런식으로만 나오면 참 좋겠지만.... 

이렇게 입력하고 다음 다음 글자는 j입니다

Sa*j************ 키형식은 이렇게 됩니다 그다음 부터 진짜 답이없는데

막 더해서 나온 숫자가 뭐랑 같아야한다 든가... 엄청난 노가다를 요구합니다.

그래서 깔끔히 다른 문제를 풀겠습니다!


'CTF > Write-up' 카테고리의 다른 글

RC3 CTF GoReverseMe  (0) 2016.12.04
RC3 2016 CTF FLE  (0) 2016.12.02
SHARIF CTF DMD android app  (0) 2016.02.08
SHARIF CTF dMd  (0) 2016.02.07
sharif CTF SRM  (0) 2016.02.06