반응형
Codeengn Challenges = Basic 20 풀이.
20번이다. Key파일에 들어갈 Key값을 구하는 문제다.
일단 Crackme3.key라는 파일이 필요하다.
다운로드 후 .exe파일을 실행해본다.
지금 다음의 crackme를 시도해보라는 말이 등장한다.
일단 올리디버거를 실행해본다.
KEY파일이 18(12)만큼의 바이트가 있는지 확인해본다.
12는 HEX. 10진수로는 18.
저 회색 부분을 보면 알고리즘이 나왔는데, 인터넷을 검색해보니 이 알고리즘은 한자리씩 A ~ O까지 XOR 연산을 하는 알고리즘.
C로 해석해봤다. Key는 10진수로 18자리니까 123456789123456789로 맞춘다.
이 알고리즘은 XOR 연산을 한 뒤에, 연산값을 누적시키는 것이 특징이다.
이 값하고 나머지 4자리 값하고 같아야 한다.
그런 다음 함수로 간다.
이 위의 화면은 나머지 4자리수를 가져오는 함수다.
CMP로 나머지 4가지 수와 비교를 한다.
이제는 Key값을 알아야 한다.
Key값은 메시지박스가 출력될 때 CodeEngn!이 되어야 한다.
즉 CodeEngn!을 A ~ O까지 한 글자씩 XOR 연산을 해서 값을 구해야 한다.
올리디버거로 나머지 4자리 값을 알아내야 한다.
Key 값을 저장하고 실행한다.
음.................이 문제는 처음에도 언급했듯이 인증이 되지 않는다.
Key 값 중에서 사용하지 않는 값이 있을 수 있기 떄문에
비공개로 게시글을 올려서 인증을 해야 한다.
반응형
'# Related site issues > CODEENGN' 카테고리의 다른 글
Codeengn Advance 2 (0) | 2018.05.17 |
---|---|
Codeengn Advance 1 (0) | 2018.05.17 |
Codeengn Challenges = Basic 19. (0) | 2018.04.03 |
Codeengn Challenges = Basic 18. (0) | 2018.04.03 |
Codeengn Challenges = Basic 17. (0) | 2018.04.03 |