[리디북스] DRM 해제하기, 한번 더 (ft. Riberty)

Edit (2020/09/09): 1.0 릴리즈 이후로 다시 돌아보지 않으려고 한 프로젝트이지만 정말 많은 분들이 자신이 소유한 책들을 킨들을 비롯한 타 이북리더에 옮겨서 읽고싶다며 요청해주셔서 간단한 버그픽스와 리디북스 Beta 앱을 지원하는 버전을 공유합니다. 리디북스 리더 Beta 앱을 사용하시는 분들은 다운로드한 책을 모두 삭제한 후, DRM 해제를 원하는 책들을 다운로드 받고 해당 책들을 열지 않은 상태에서 Riberty-beta 앱을 켜서 사용하시면 됩니다. 10.15.6에서만 테스트 해 보았습니다.


많이 바쁘기도 하고, 기술적으로 크게 어려워진 부분은 없었으므로 장문의 글은 게재하지 않을 예정입니다.

이전에는 Proof-of-Concept 수준의 파이썬 코드를 공개했는데, @disjukr님께서 간단한 GUI wrapper를 만들어주심에 영감을 받아서 이번에는 Riberty라는 이름의 간단한 툴로 만들어 배포합니다.

macOS만 지원하며, 10.12 (Sierra)와 10.14 (Mojave) 버전에서만 테스트 하였습니다. PyQt로 작성되었으며, 실행에 용이하도록 앱으로 패키징하는 바람에 용량이 39MB 정도로 꽤 큽니다.

PyQt를 사용한 것은 간단한 GUI를 지원하기 위함만은 아닙니다. 그러기엔 사실 용량을 고려했을때 비효율적이죠. 진짜 이유는.. 지난번 공개 이후 리디측에서 DRM 알고리즘에 약간의 변화를 두었는데 (정확히는 암호화된 content-key를 복호화하기 위한 key 도출 방법의 변화), 이 부분에서 리디북스 앱이 Qt 함수 몇 가지를 가져다가 쓰는데 직접 구현하기 귀찮아서 PyQt에서 임포트 해와서 사용하게 되었습니다.

 

사용방법

  1. 여기에서 압축파일을 다운로드 받습니다.
  2. 압축을 풀면, Riberty 앱이 나옵니다.
  3. 최초 실행 시, “확인되지 않은 개발자의 앱”이라며 경고가 뜰 수 있습니다. 이 경우, 보안 설정에 가서 예외처리 해주면 됩니다.
  4. 실행 후, 다음 화면에서 DRM이 해제된 파일들이 저장될 폴더 경로를 지정해주고 해제 버튼을 눌러주면 해제 작업이 시작됩니다.
  5. 해제 작업 진행중 모습입니다.
  6. 모든 파일에 대한 처리가 끝나면 다음과 같은 결과 화면이 나옵니다. 완료 메세지 클릭 시, 상세 내용이 나옵니다.

  7. 앞서 지정해준 폴더에 가보면 본인이 소유한 책들의 DRM-free 버전이 저장되어있는 것을 확인할 수 있습니다.

 

경고

위 프로그램은 어떠한 지원도 계획되어 있지 않으며, 해당 프로그램을 악용하여 받을 수 있는 법적 제재 또는 컴퓨터의 오류 등의 일체 문제는 사용자 본인의 몫이며 책임임을 밝힙니다.

위 프로그램은 리디북스 측의 알고리즘 변경으로 어느 시점에든 더이상 작동하지 않게 될 수 있음을 유의하시기 바랍니다.

 

You may also like...

87 Responses

  1. says:

    저도 맥을 사용하는데, 바이너리를 reverse engineering 할때 어떤 툴을 사용하시나요? 직접 코드를 짠 적은 있지만 한번도 존재하는 프로그램을 해부해본적은 없어서 맨 처음 올라온 리디drm해제 포스팅은 정말 읽으면서 감탄했었어요! 답변 부탁드립니다 :)

  2. jEdo says:

    iBooks에서 볼 수 있을까 해서 방금 시도했는데 com.ridibooks.Ridibooks.plist 파일이 없다는 메시지가 떠서 스팟라이트 검색해봤더니 com.ridi.books.plist만 있네요.
    프로그래밍 1도 몰라서 여기서 멈췄습니다.

  3. 리벤타 says:

    프로그램 공유 가능하실까요?? ㅠ

  4. Lee says:

    [Errno 2] No such file or directory: ‘/Users/kwangholee/Library/Preferences/com.ridibooks.Ridibooks.plist’

    이런 메시지가 뜨는데, 어떻게 하면 좋을까요?

  5. @@ says:

    리디북스와 yes24에 책이 많이 있는데, 프로그램 구입할 수 있을까요?

  6. 유진 says:

    안녕하세요. no such file or directory라고 뜨는데 왜그런거죠? ㅜㅜ 알려주시면 감사하겟습니다.

  7. 전자책덕후 says:

    이제 뷰어가 업뎃되는데… 막혀서 고민이네요

  8. 박승원 says:

    정말 감사합니다

  9. ㄴㅏ그네 says:

    막힘

  10. YJ says:

    안녕하세요 어플 제작 감사드립니다. 현재 맥 Mojave 10.14.6 버전을 쓰는데 다음 에러가 뜨네요 ㅜ
    [Errno 2] No such file or directory: ‘/Users/yeonjin/Library/Preferences/com.ridibooks.Ridibooks.plist’

  11. 이얏 says:

    ERRNO 2 no such file of directory 디렉토리 오류가 뜨는데 어떤환경을 갖추고
    실행해야하는지 궁금합니다.

  12. yj says:

    저혹시 epub파일도가능한건가요??개발자님께서 작성하신 대로 했는데 1시간째 다운이 안되고 있어 연락드립니다.ㅜㅜㅜ 학교 공부하려고 e북으로구매했는데…너무 안되네요ㅜㅜㅜㅜ답변부탁드립니다.

  13. suone jin says:

    리디북스를 200개 씩이나 구매 해놔서 혹시나 서비스가 종료되면 어떡해하나 불안했었는데 덕분에 파일형식으로 영구적으로 보관하게 된거같아요 개발자님 진짜 고맙습니다 ㅠㅠㅠ 요즘 코딩 기초배우고 있는데 정말 대단하신거같아요

  14. sunjunho says:

    막혔네요..

  15. 안녕하세요 says:

    안녕하세요
    공부용 책을 리디북스에서 구매하고, Riverty라는 좋은 프로그램을 찾아 시도 중에 오류를 발견했는데, 도와주실 수 있을지요?
    정상적으로 프로그램과 이북을 다운 받았는데, 하기와 같이 뜨게 됩니다..!

    [Errno 2] No such file or directory: ‘/Users/(username)/Library/Preferences/com.ridibooks.Ridibooks.plist’

Leave a Reply

Your email address will not be published. Required fields are marked *