먼저 자료의 출처가 되어주신 mrblog님과 bulge1944님께 감사의 말씀을 아뢰옵니다.
Everything that has a beginning has an end
무슨 문장이 한 문장에 동사가 두 개씩이나 있냐라고 반문하시는 분들은 어서 가셔서 성문 기초 영문법 제 5장 관계대명사(Relative Pronoun) 파트를 정독하시길 바랍니다.(기초가 있어야지 이 사람들아!)
예, 시작이 있는 모든 것에는 끝이 있다라는 말입니다. 네이버 동영상 플레이어하고 매트릭스에서 인용한 말하고 무슨 관련이 있겠느냐 하시겠지만, 네이버 동영상 플레이어도 동영상 유출을 막으려 꽤나 애쓴듯 한데(시작:a beginning) 결국엔 제게 뚫렸단(끝:an end) 얘기입죠.
대표적인 실시간 동영상 전송 프로토콜에는 MMS(Microsoft Windows Media Server의 약자)와 RTSP(Real Time Streaming Protocol의 약자)가 있습니다. 사실 MMS가 아니라 MMS프로토콜이라 해야하고 RTSP프로토콜이 아니라 RTSP라 해야 정확한 표현이지만(Microsoft Window Media Server 'Protocol'과 Real Time Streaming 'Protocol'이니깐..) 그냥 MMS, RTSP라 칭하겠습니다.
생김새:

동영상을 플레이하면 가운데 플레이버튼이 사라지고 썸네일이 사라지면서 ActiveX기반의 동영상 플레이어가 나타납니다. 여기서 대부분 플레이어의 컨텍스트 메뉴(마우스 오른쪽 클릭했을 때 나타나는 메뉴)로 속성으로 들어가면 주소가 나온다는 것을 다들 아실겁니다.
그러나 여기서 나오는 '위치'항목의 주소는 쓸모가 없습니다. 3e4f3db0ab3e4f400d128-bulge1944.wmv뒤에 붙는 것들은 뭐랄까..접근 허가 용도로 쓰이는 키입니다. 그 앞의 주소는 정확하지만 뒤의 키는 한번 사용되고 나면 폐기되기 때문에 재생한 후에 속성창에서 주소를 보고 그대로 옮겨서 쓰게되면 무용지물이 되버립니다. 미디어 플레이어에 주소를 복사해서 재생하려 하면 파일을 재생할 수 없다고 에러메세지가 뜹니다. 여기서 추측을 할 수 있습니다. 파일이 없는 건 아니란 얘기죠. 그 에러메세지에서 추가정보를 클릭하여 내용을 보시면 대략 파일에 대한 접근 허가가 유효하지 않다라는 내용이란 것 아실 수 있습니다. 네, 바로 이게 문제죠.
지난번에 펌이 방지된 네이버 블로그의 소스를 보는 방법에 대해 거론했었는데요, 그 방법을 써야지 라고 생각하셨다면 반은 성공하신겁니다.
먼저 주의 사항을 말씀드리자면 페이지 저장하신 후에는 절대로 그 블로그에 있는 동영상을 재생하셔서는 안됩니다. 바로 키가 변경되어버려 저장한 페이지마저 쓸모가 없어집니다.
빼내고자 하는 동영상이 있는 PostView.htm 또는 PostList.htm(블로그의 처음 페이지인경우)를 보시면 동영상 플레이어가 있을만한 자리에
<IFRAME name=mplayer
src="네이버.files/i{100001157}.htm" frameBorder=no width=342
scrolling=no height=284></IFRAME>
이 것이 있을 겁니다. 아, i{100001157}.htm은 이름이 매번 달라지는 듯합니다. 따라서 i{어쩌구}.htm이라고 하겠습니다. 그래서 아싸 찾았다 하고 찾아가 들어가보면 아무것도 없는 블랭크 페이지입니다. 바로 저와 여러분과 같이 빼가려는 사람들에게 한 방 먹이려고 넣어논 듯 싶습니다. 진실은 저 너머에 있습니다. 조금만 내려가시면
<!-- Sub Layer --><IFRAME
id=CommentFrm style="DISPLAY: none; WIDTH: 572px; HEIGHT: 100px"
name=CommentFrm align=left src="네이버.files/CAT4GRLL.htm" frameBorder=0
scrolling=no></IFRAME><!-- //Sub Layer -->
를 찾으실 수 있습니다. 바로 이겁니다. CAT4GRLL.htm이 진짜입니다. 아, 참고로 이 이름은 매번 달라집니다. 제가 알기론 말이죠. 자 그럼 CAT4GRLL.htm(이런 파일 없다고 징징대지 마세요. 저장된 페이지의 이름에 '.files'가 뒤에 붙은 이름을 가진 폴더에 i{어쩌구}.htm말고 다른 htm 문서가 있을 것인데 바로 그겁니다.)을 열어보시면 이상한 자바스크립트들과 스타일시트의 내용들이 주아악 있을 것입니다. 주욱 내려가시면 재생 버튼에 해당되는 구문에
onclick="playerControl('open')"
이라고 있을 겁니다. 아! 플레이어를 조작하길, 파일을 열으란 얘기인 듯합니다. 그렇다면 playercontrol이란 함수가 있을 겁니다. 위로 가셔서 잘 찾아보시면
function PlayerControl(action)
이 것을 발견하실 수 있을 겁니다. 매개변수인 action의 문자열 내용에 따라 동작이 다르다는 것을 if문이 있다는 것을 통해 아실 수 있습니다.
else if (action == "open") 구문을 보시면 바로 아래에 유레카라고 외칠 만한 구문이 보입니다.
document.all.MediaPlayer.open("mms://stream.media.naver.com/data1/2003/2/16/257/3e4f3fdb0ab3e4f400d128-bulge1944.wmv?key=(중략...)
바로 이 것입니다. 만일 여기 올 때까지 그 동영상을 재생하지 않으셨다면 3e4f3fdb0ab3e4f400d128-bulge1944.wmv뒤에 붙은 키는 아직 유효합니다. 따라서 이 주소를 갖고 Net Tranport 따위의 전문 다운로더로 받으시면 이제 끝이 납니다. 그리고 유의사항은 중간에 중단했다가 이어받으시려고 하면 주소에 붙어있는 키가 무효화되기 때문에 액세스 문전박대를 당할 겁니다. 주의하시길 바랍니다.
네, 이제 끝이 났습니다. 강좌따윌 써본적이 그다지 별로 없기 때문에 무슨 말인지 못 알아 들으실 수도 있습니다.(그게 정상이죠) 이해가 안가신다거나 잘못된 내용은 덧글또는 이메일 주소 webmaster@eyesoft.co.kr 이나 kim050051@naver.com 과 MSN kjk_garasade@msn.com 을 통해 문의해주시길 바랍니다.
이상입니다.
Everything that has a beginning has an end
무슨 문장이 한 문장에 동사가 두 개씩이나 있냐라고 반문하시는 분들은 어서 가셔서 성문 기초 영문법 제 5장 관계대명사(Relative Pronoun) 파트를 정독하시길 바랍니다.(기초가 있어야지 이 사람들아!)
예, 시작이 있는 모든 것에는 끝이 있다라는 말입니다. 네이버 동영상 플레이어하고 매트릭스에서 인용한 말하고 무슨 관련이 있겠느냐 하시겠지만, 네이버 동영상 플레이어도 동영상 유출을 막으려 꽤나 애쓴듯 한데(시작:a beginning) 결국엔 제게 뚫렸단(끝:an end) 얘기입죠.
대표적인 실시간 동영상 전송 프로토콜에는 MMS(Microsoft Windows Media Server의 약자)와 RTSP(Real Time Streaming Protocol의 약자)가 있습니다. 사실 MMS가 아니라 MMS프로토콜이라 해야하고 RTSP프로토콜이 아니라 RTSP라 해야 정확한 표현이지만(Microsoft Window Media Server 'Protocol'과 Real Time Streaming 'Protocol'이니깐..) 그냥 MMS, RTSP라 칭하겠습니다.
생김새:

동영상을 플레이하면 가운데 플레이버튼이 사라지고 썸네일이 사라지면서 ActiveX기반의 동영상 플레이어가 나타납니다. 여기서 대부분 플레이어의 컨텍스트 메뉴(마우스 오른쪽 클릭했을 때 나타나는 메뉴)로 속성으로 들어가면 주소가 나온다는 것을 다들 아실겁니다.

지난번에 펌이 방지된 네이버 블로그의 소스를 보는 방법에 대해 거론했었는데요, 그 방법을 써야지 라고 생각하셨다면 반은 성공하신겁니다.
먼저 주의 사항을 말씀드리자면 페이지 저장하신 후에는 절대로 그 블로그에 있는 동영상을 재생하셔서는 안됩니다. 바로 키가 변경되어버려 저장한 페이지마저 쓸모가 없어집니다.
빼내고자 하는 동영상이 있는 PostView.htm 또는 PostList.htm(블로그의 처음 페이지인경우)를 보시면 동영상 플레이어가 있을만한 자리에
<IFRAME name=mplayer
src="네이버.files/i{100001157}.htm" frameBorder=no width=342
scrolling=no height=284></IFRAME>
이 것이 있을 겁니다. 아, i{100001157}.htm은 이름이 매번 달라지는 듯합니다. 따라서 i{어쩌구}.htm이라고 하겠습니다. 그래서 아싸 찾았다 하고 찾아가 들어가보면 아무것도 없는 블랭크 페이지입니다. 바로 저와 여러분과 같이 빼가려는 사람들에게 한 방 먹이려고 넣어논 듯 싶습니다. 진실은 저 너머에 있습니다. 조금만 내려가시면
<!-- Sub Layer --><IFRAME
id=CommentFrm style="DISPLAY: none; WIDTH: 572px; HEIGHT: 100px"
name=CommentFrm align=left src="네이버.files/CAT4GRLL.htm" frameBorder=0
scrolling=no></IFRAME><!-- //Sub Layer -->
를 찾으실 수 있습니다. 바로 이겁니다. CAT4GRLL.htm이 진짜입니다. 아, 참고로 이 이름은 매번 달라집니다. 제가 알기론 말이죠. 자 그럼 CAT4GRLL.htm(이런 파일 없다고 징징대지 마세요. 저장된 페이지의 이름에 '.files'가 뒤에 붙은 이름을 가진 폴더에 i{어쩌구}.htm말고 다른 htm 문서가 있을 것인데 바로 그겁니다.)을 열어보시면 이상한 자바스크립트들과 스타일시트의 내용들이 주아악 있을 것입니다. 주욱 내려가시면 재생 버튼에 해당되는 구문에
onclick="playerControl('open')"
이라고 있을 겁니다. 아! 플레이어를 조작하길, 파일을 열으란 얘기인 듯합니다. 그렇다면 playercontrol이란 함수가 있을 겁니다. 위로 가셔서 잘 찾아보시면
function PlayerControl(action)
이 것을 발견하실 수 있을 겁니다. 매개변수인 action의 문자열 내용에 따라 동작이 다르다는 것을 if문이 있다는 것을 통해 아실 수 있습니다.
else if (action == "open") 구문을 보시면 바로 아래에 유레카라고 외칠 만한 구문이 보입니다.
document.all.MediaPlayer.open("mms://stream.media.naver.com/data1/2003/2/16/257/3e4f3fdb0ab3e4f400d128-bulge1944.wmv?key=(중략...)
바로 이 것입니다. 만일 여기 올 때까지 그 동영상을 재생하지 않으셨다면 3e4f3fdb0ab3e4f400d128-bulge1944.wmv뒤에 붙은 키는 아직 유효합니다. 따라서 이 주소를 갖고 Net Tranport 따위의 전문 다운로더로 받으시면 이제 끝이 납니다. 그리고 유의사항은 중간에 중단했다가 이어받으시려고 하면 주소에 붙어있는 키가 무효화되기 때문에 액세스 문전박대를 당할 겁니다. 주의하시길 바랍니다.
네, 이제 끝이 났습니다. 강좌따윌 써본적이 그다지 별로 없기 때문에 무슨 말인지 못 알아 들으실 수도 있습니다.(그게 정상이죠) 이해가 안가신다거나 잘못된 내용은 덧글또는 이메일 주소 webmaster@eyesoft.co.kr 이나 kim050051@naver.com 과 MSN kjk_garasade@msn.com 을 통해 문의해주시길 바랍니다.
이상입니다.





앗.. 생각해보니 정말 간단하군요. 키는 이미 생성되어 있을꺼고 이것은 재생시 만료되어버릴테니까 재생안하고 접근만 한다면 언제나 볼 수 있다는 계산이 나오는군요! 놀랍습니다.
사실 저도 30분간 헤멨습니다. 하하하..;;