2008년 1월 11일 금요일

멜론 파일(DCF)를 MP3로 만들자.. #1

이 글을 읽는 여러분들은 컴퓨터를 언제 가장 많이 쓰는가?
사람들 마다 답이 다르겠지만, 나는 아마도 음악을 듣는데 가장 많이 쓴다고 답변할 것이다.

그것도 그런것이 공부할 때, 작업할 때, 개발할 때, 문서 작업 할 때..
따지고 보면 게임 할때를 제외하고는 계속 컴퓨터에서 음악이 흘러 나온다.
시간으로 따지고 보면 음악 재생 프로그램이 가장 오랜 시간동안 동작한다.
그럼 음악을 재생할 때는 어떤 매체를 이용하는가?

CD라고 생각하는 사람들이 있겠고.. 십중팔구 MP3라고 대답할 것이다.
LP라고 대답하는 사람은 없겠지? 카세트 테이프?? 오지마라..

MP3 파일은 어디서 구하는가? 어둠의 경로?
몇개월전에 벅스뮤직에서 월 15000원인가 10000원인가에 MP3 무제한 다운로드 서비스 열었다가
저작권 때문에 한방 맞은것을 기억한다.
요즘 가장 뜨는 음악 사이트는 아마 멜론이 아닐까..
멜론에서 MP3파일을 받을 수 있는가?? 정답은 No.
멜론에서는 DRM(Digital Rights Management) 형식의 DCF 파일을 다운로드 받을 수 있다.
DCF 파일에 대해서 간단히 얘기하자면... 기간과 재생 장치가 정해져 있는 MP3파일이다.

얼마전인가 DCF파일에서 MP3로 변환하는 방법을 알아낼려고 무지하게 애를 썼었다.
결국 알아낼 수 없었다. 지금 깨달은 거지만... 앞으로도 알아낼 수 없을 것이다.
아니지 언젠가는 크랙이 되겠지만. 가까운 미래에는 불가능 할 것이다.

그럼 멜론의 DCF의 재생방식에 대해서 알아보자.. 이부분은 순전히 내 추측으로 쓰는것이다.
(태클 환영합니다.) 내 추측이니 그냥 그런갑다 생각해주면 너무 고마울것 같다.

사용자 삽입 이미지


서버에 음원파일이 있고 Melong Player를 통해서 DCF 다운로드 또는 스트리밍을 한다.
음원파일은 WAV가 될수도 있고 MP가 될수도 있는데 멜론서버를 통해서 날짜와 아이디를 이용하여 암호화 된다. 물론 휴대폰이나 MP3플레이어로 전송될때는 날짜와 플레이어 고유 ID를 통해서 암호화 되는걸로 보인다.
결론적으로 다운로드 된 파일은 DCF 파일이며 MP3플레이어에서는 날짜와 휴대폰으로 복호화 해서 재생을 하게 된다.

자 그럼 이걸을 어떻게 분석할 것이가...

이렇게 생각하는 사람들 분명히 있을것이다. 그럼 날짜와 MP3플레이어 아이디 이용해서 복호화 시키면 바로 MP3 파일로 변환할 수 있겠네... 라고 생각하는 사람...
그게 진작 되었으면 멜론은 망했다라고 하자...
물론 불가능한건 절대 아니다... DVD도 크랙되었고. WMV도 크랙된 적이 있다.
이것도 언젠가는 크랙되겠지... 그래서 한번 해볼까 하고 DRM 스펙이라던지 뭐.. 별별 자료는 다 찾아 봤지만 결론은 힘들다 였다.
그리고 크랙이 되었을 경우에... 멜론에서 가만히 있지 않는다. 암호화 방식을 약간 변경한다던지 키 값 생성방법을 다르게 하면 또 분석해서 크랙해야 된다.
결론적으로 저것을 기획한 사람이 아니면 원천 봉쇄적인 크랙은 안된다는 것이다.

이에 관련 자료를 웹사이트에서 찾아봤더니
대부분 멜론플레이어를 재생하고 루프백으로 녹음하는 방법을 사용하더라.
뭐 이 글에서도 그런 방법을 사용할것이다. 이 문장 읽고 실망하시는 분들 좀 더 읽어보던지
아니면 그냥 돌아가던지...

그럼 내가 쓰는 이 글이 다른글하고 무슨 차이가 있어? 라고 생각하는 사람들 있을것이다.
그런 사람들은 내 블로그 이름을 다시 한번 살펴보고..

난 앞으로 쓰여질 이 글에서 재생, 녹음, MP3을 어떻게 하면 자동화 시킬것인지에 대해서 논하겠다. 이 글을 읽을려면 윈도우즈 프로그래밍에 대한 약간의 기초적인 지식이 있어야 할것이다.

작업 순서는 다음과 같다.
사용자 삽입 이미지

위의 그림은 멜론 플레이어를 충분히 분석한 뒤에 나온 그림임을 알아두길 바란다.
1 번부터 5번까지는 프로그램을 직접 작성해 자동화 되는 방식으로 진행된다.
3번이 두개인 이유는 3번 과정이 동시에 진행되어야 하기 때문이다.

그럼 다음 글에서는 위의 같은 순서가 왜 필요한지 짚어보도록 하자..

퍼가길 기대하지 않지만 퍼가시는 분들은 출처를 꼭 밝혀주시기를 바랍니다.

댓글 3개:

  1. 원래 플레이어 연결하구 플레이어를 PC에 연결한 상태가 아니라도 기간이 지나면 재생 만료가 되어야 정상인데 언제 한번은... 아마 연말쯤이었던걸로 기억합니다. 그 때에는 기간 만료일이 지났는데도 향후 두달 정도 더 계속 재생이 되었습니다. 머 결국엔 플레이어 오류로 인해 리셋을 해야 했지만...

    답글삭제
  2. 저는 프로그래밍에 대한 지식이 요만큼도 없는 사람이지만 한가지 말씀드리고 싶은게 있어서 적습니다..



    멜론에서 제공되는 dcf 파일은 정해진 mp3 플레이어에서 재생이 되는걸로 알고 있습니다.

    그렇다면 dcf 파일이 네트워크를 통해서 정보를 받아 재생하는건 아니라고 봅니다..

    분명히 암호화 된 상태로 저당되어서 풀면은 변환기를 만들 수 있을 것이라고 생각하는데..

    아무래도 그건 불법이고, 멜론에서도 보완에 노력을 기울일테니.. 역시 녹음밖에 방법은 없는거겠죠?

    아.. 정말 mp3플레이어로 들으려고 한다면 해당 기종을 사야 하는데 얼마전에 산 mp3는 그런 기종이 아니라... ㅠㅠ

    답글삭제
  3. 예.. 맞습니다. DCF파일의 암호화 방식은 장치 고유ID와 날짜로 되는것 같습니다. 정확하게는 잘 모르지만, 그리고 이 암호화 방식은 컨텐츠 프로바이더 측에서 조작할 수 있는것으로 생각됩니다.

    답글삭제