[리디북스] 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...

88 Responses

  1. 감자 says:

    Errno 2 떠요 ㅠㅠ
    No such files or directory
    Users //library/preferences/com.ridubooks.plist
    책 많은데 왜 아무것도 없다고 뜰까요?
    라디때문에 맥깔았는데 ㅠㅠ살려주세요 ㅠㅠ

  2. kimdj says:

    지금도 이 프로그램으로 drm 해제 가능한가요?

  3. ㅇㅇㄴ says:

    이젠 안되나보네요 ㅜ

  4. hyun says:

    [Errno 2]No such file or directoru: ‘/Users/hyun/Library/Preferences/com.ridibooks.Ridibooks.plist’
    라고 뜨는데 이건 왜이런거죠?

  5. mileu says:

    사용하다가 찾은 버그 남깁니다
    1. 동일 이름의 서적이 있을 경우 경고 없이 이전에 다운로드한 서적 삭제
    2. 이름에 macOS에서 폴더 경로로 인식하는 문자 포함시 에러 문구 표시 후 정지
    잘 사용했습니다. 감사합니다

  6. riesling says:

    [Errno 2] No such file or directory: ‘/Users/skywalker/Library/Preferences/com.ridibooks.Ridibooks.plist’ 라는 에러메세지가 뜨면서 프로그램이 정상작동 하지 않고 있습니다.

    MacOS Catalina에서Mac용 리디북스로 다운로드 받아서 실행했습니다.

    • Riesling says:

      최신 베타버전의 클라이언트를 설치해서 생긴 문제였군요. 기존 안정화 버전을 쓰니 해결되었습니다.

  7. char says:

    안녕하세요. 좋은 포스팅 올려주셔서 감사합니다. 앱을 실행해보았는데, [Errno 2] No such file of directory: ‘Users/*/Library/Preferences/com/ridibooks/Ridibooks.plist’라고 뜨면서 실행이 안 되네요.. (*는 제 이름입니다) OS는 카탈레나이고, 근래에 PC뷰어 업데이트가 있었던 듯 한데 이것때문일까요? ㅠㅠ

  8. 감사 says:

    선생님 감사합니다… 제가 이거 하려고 이번에 맥을 샀나봅니다… 언제 막힐지 안 막힐지 모르겠지만 잘 쓰겠습니다 😍😍

  9. 감사합니다 says:

    크헉 굉장하네요. 이전에 여러 전자책 어플 쓰다 회사 망해서 돈 주고 산 책들 다시 재구매 했던 돈 낭비와 이 회사도 또 그렇게 되지 않을까 하는 불안함 때문에 늘 찝찝했는데 정말 감사합니다.

  10. qwerty says:

    막힌 것 같네요

  11. 아주 says:

    이제는 안 되네요 ㅠㅠ 발빠르게 막았나봅니다.

  12. qwerty says:

    실행시 [Errorno2] no such file or directory: ‘/Users//Library/Preperences/com.ridibooks.plist’ 라고 뜨는데 어떻게 해결할 수 있을까요?

  13. kajong says:

    안녕하세요! 제가 사용할줄 몰라서 그러는것 같습니다만, Riberty를 여러번 돌려도 완료 0, 성공 0, 실패 0 이렇게 나옵니다. 현재 리디북스에서 전자책 (CBZ) 6권 소유하고 있으며, 모두 다운 받은 상태인데, 뭐가 잘못된걸까요….으흐흑

  14. sichore says:

    킨들에서 보려고 주로 구글북스에서 구입했었는데, 개발자님 덕분에 리디북스에서 구입한 책들도 이제 킨들에 넣을수 있게 되었습니다. 감사합니다!!!
    참고) 제맥북 MacOS 10.15.3 뷰어 2.7.6 버전에서 실행하였습니다.
    처음엔 뷰어 베타버전(0.7.10) 설치되어 있는 상태에서 개발자님의 프로그램을 실행했는데, 추출되는 책이 이상하게 뷰어에 다운로드되어 있는 책들과는 다르더라구요. 그래서 베타버젼 삭제하고 이전버전 2.7.6 설치하니, 예전에 이전버전 설치했었을때의 데이터가 남아있었던지 예전에 다운로드 받았던 책들이 그대로 다운로드되어 있는 상태로 뷰어가 실행되더라구요. 개발자님의 프로그램이 이전버전 뷰어의 데이터에서 epub을 추출한것 같습니다.

  15. gavio says:

    plist가 업데이트로 이름이 살짝 달라져서 인식을 못하는데 한번 봐주실 수 있나요? ㅠㅠ

Leave a Reply

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