저는 1.80KT 펌웨어에서 테스트했습니다. 개인적 용도와 목적으로 사용된 것이며 제가 인지하지 못한 저작권 문제가 발생하는 경우 글을 삭제하겠습니다. 혹여 아래 글을 보시고 따라 하시다가 문제가 생겨도 저는 책임을 지지 않으니 잘 판단하시기 바랍니다. 스토리가 워낙 내구성도 약하고 민감한 기계라고 하고 문제 발생시 A/S건 역시 힘드니만큼 사용자 개개인의 판단이 중요합니다.

잘 아시다시피 storyW는 olleh bookcafe 전용 기계라 다른 story 기계에서 가능한 기능(교보문고에서 구축한 도서관 - ebookcase 사용 - 에서 대출한 책 보기)이 지원되지 않고 있죠?

또한, 펌웨어 버전도 storyW 기준 1.80KT 즉 1.80의 KT향 버전으로 다른 story 기계(최신 1.88)와 다릅니다.

저도 포기하고 살던 차에 http://cafe.naver.com/ebook/126181 게시글을 보게 되었고요.
참고 문서인 http://openinkpot.org/wiki/Device/Story/RunArbitraryCode 에 따르면 임의의 명령을 root 권한으로 실행 가능하다고 합니다.
거기서 영감을 받아

"펌웨어 전체를 교체하기 보다 pdf를 실행하는 파일을 교체해 보자"

는 생각이 들게 되었습니다.

위 글에서 나온 참고 문서 http://vanderwijk.info/tags/hacking-e-reader-linux-hardware 에서 대략적인 story의 펌웨어 구조를 확인하고 제 storyW를 마루타삼아 가능성을 확인해 보았습니다.

http://cafe.naver.com/ebook/114774 에 보시면, 1.88 펌웨어에서 개선된 패치 펌웨어가 있습니다. 이 패치 펌웨어를 기반으로 작업을 진행했습니다.

참고 문서에 따르면 story 펌웨어는 zip으로 압축된 파일에 128B 헤더를 붙여 배포하는 것으로 보입니다. 분석에 따르면, 이 헤더를 제외하면 일반적인 zip 파일과 동일하다는 것이고 여기서 패치에 사용된 파일을 추출할 수 있습니다. (압축 파일에 암호가 걸려 있는데, 이 암호는 참고 사이트에서도 공개하지 않는 바 저도 공개하지 않겠습니다.)

압축 해제된 파일은 2개로 adoberm.feb와 tmp_comic.kbg 인데, 1.80KT 펌웨어에서 파일 구조를 받아 살펴본 바 adoberm.feb가 pdf 파일을 재생하는 실행 파일임을 추측할 수 있습니다. 따라서 이 파일을 교체시 별 문제가 없다면 교보문고 지원 pdf를 읽을 수 있다는 결론입니다.

다만, 이 실행 파일을 교체시 기존 olleh ebook에서 구입한 책을 읽을 수 있는가가 관건인데, 이 부분은 뒤에서 살펴보도록 하겠습니다.

http://cafe.naver.com/ebook/126181 에서 바탕화면 이미지를 교체하듯이 패치된 실행파일을 기존 디렉토리에 복사하는 방식으로 파일을 교체하였습니다. (만일을 대비하여 1.80KT 버전의 adoberm.feb는 SD카드에 복사하여 저장합니다.)

파일을 교체했으니 대출된 책이 읽히는지 확인합니다.

기존 펌웨어로는 ebookcase에서 stowyW로 복사한 파일이 열리지 않고 에러가 뜹니다만, 실행 파일을 교체한 후 잘 열리는 것을 확인할 수 있었습니다. 또한, 우려했던 사항인 olleh bookcafe에서 구입한 책도 잘 실행되는데 이 부분은 아무래도 epub와 pdf를 실행하는 파일이 달라서 문제가 안 된 것인지도 모릅니다. 또한 기존 adobe drm을 가진 파일의 실행도 무난히 잘 되었습니다. (첨부 사진 참조)

다만, 대출한 책 초반에 배경 이미지가 포함된 페이지를 여는 경우, 매우 긴 시간이 소요됩니다. 이 부분은 story EDU나 BASIC에서 동일한 지 확인이 필요합니다.

그럼 스크린샷 몇 장 첨부하며 글을 마칩니다.

01234567



# 이걸 펌웨어 해킹? 교체? 뭐라고 해야 할지 모르겠지만, 개인 사용에 있어 법적 문제가 없는지 또는 사용법 배포에 문제가 없는지 의문입니다. 이 문제가 해결되면 파일 교체에 사용된 상세 설정과 실행 파일을 공개하도록 하겠습니다.

# 이 글 공개 이후, iriver에서 파일 교체 가능한 위 방법을 막을 수도 있습니다. 물론 펌웨어 업그레이드를 해 줘야 가능한 얘기가 되겠습니다. ^^ 관계자의 빠른 펌웨어 업그레이드를 촉구합니다. ^^

+ Recent posts