전자사전을 개조하려면...

shduswo의 이미지

질문을 하자니 질문게시판에 맞는 전문적인 주제도 아닌거 같고,
그래서 편하게 자유 게시판에 글을 적어 보는데 혹시라도 자유게시판이 안되면
통보해주시면 바로 옮기겠습니다.

본론으로 가서
안녕하세요.
저는 몇일 전에 카XX 전자사전을 산 사람입니다.
그런데 이 사전이 굉장히 특이한게 SD카드를 인식할 수 있는 구멍이 있어서
외부 컨텐츠를 받아 들일 수 있는데 그 컨텐츠가 텍스트 로더 뿐이 없습니다. 황당하죠
적어도 MP3라도 있으면 좋을텐데...
그런데 갑자기 이런 생각이 들더라구요. 이 전자사전엔 원어민 발음 기능이 있습니다.
그럼 이런 생각이 가능하게 되죠
어느 소리의 포맷(mp3,wav 등)을 지원하는지는 모르겠지만
사운드를 플레이를 하는 기능은 있다는 것은 확실할 겁니다.
그렇다면 사전의 펌웨어를 수정하면 되지 않을까 라는 생각이 들었습니다.
(펌웨어는 보통 c++나 어셈블로 되있으니 IDA로 읽으면되지않을까요?
그런데 함수를 제가 수동으로 찾아야 될지 아니면 IDA로 분석할 때 읽혀질지 의문입니다)
그렇다면 일단 사전의 펌웨어를 읽고 쓸 수 있어야 된다는 문제가 닥칠 것입니다.
그래서 확 분해해 봤습니다.
분해해보니
http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=672&partnum=K9G8G08U0A&xFmly_id=
다음과 같은 NAND FLASH 를 사용하고 있더라구요

그럼 과연 이러한 메모리를 읽고 쓸 수가 있냐는건데..
찾아보니 ROM WRITER라는 것이 있더군요
(한가지 의문인 것은 왜 ROM READER기는 없고 WRITER기만 있냐는 것입니다..)
다른 회로도 없이 칩만 콕 찍어서 읽고 쓸 수 있는 기계가 혹시 있을까요?

그리고 재가 실현하려는 계획이 황당하고 전혀 실현 가능성이 없는건가요?

또한 제가 이러한것(커스텀 펌웨어)에 관심이 많은데..
그 예로 PSP같은 것을 보면 현재 펌웨어를 유저들이 변경해서 많이 쓰고 있더군요
그렇다면 맨 처음에 이것을 만들기 위해 제작자는 먼저 물리적으로 ROM을
읽어내서 오버플로우 지점을 찾아내서 권한을 획득하던가..
아니면 집적 물리적으로 ROM에 써버리던가 해야하나요?
아니면 ROM을 안 읽고도 그냥 여러번 시도해서 오버플로우 지점을 찾아낼 가능성도 있나요?
정말 신기하고 궁금합니다.
꼭 알려주십사 부탁드립니다.

장문의 글을 읽어주셔서 감사드립니다.

eou4의 이미지

일단 시리얼 콘솔을 쓸 수 있는지 찾아보는게 우선이라고봅니다.

그 후 시스템을 살펴보는거죠..

ㅎㅁㅎ

ㅎㅁㅎ

shint의 이미지

위에분 말씀처럼 시리얼 통신이 가능하다면 통신을 해서 임베디드 소프트웨어를 설치할 수 있습니다.
예전 회사제품이 jtag으로 부트를 올린후에 tftp로 이미지를 올렸던걸로 기억되네요... 잘되시길...

매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.

----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.

매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.

각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com

shduswo의 이미지

전부다 무슨말인지 모르겠군요..
전자사전에 있는 포트란 USB포트 뿐이 없고
분해를 해봐도 남는 포트는 없는것같습니다..
(전자사전은 완제품이니깐 디버깅할때 쓰던 포트는 이제 필요 없겠죠)
USB로 왔다갔다 전달하는 내용이 뭔가있긴한데..
사전에만 국한적으로 쓰이는 프로토콜 같습니다.

shduswo의 이미지

사전에서 txt리더기는 지원하는데..
SD카드 외에 기본적으로 사전 내부 메모리에도 txt파일을 저장가능합니다

다음은 텍스트문서(qq.txt)는
hellow world.txt를 전자사전측에서 제공되는 프로그램으로
사전 내부 메모리에 올릴 때 usb간에 발생하는 패킷을 캡쳐한 것입니다.

혹시 무슨 프로토콜인지 아시면 제보 부탁드립니다

댓글 첨부 파일: 
첨부파일 크기
Plain text icon qq.txt52.12 KB
Plain text icon Hellow World.txt21바이트
shint의 이미지

모르는 사람들끼리 이상한 질문과 답변이 오가는거 같네요.
하튼. 궁여지책으로 찾아봤습니다.

http://cafe.naver.com/fwinside.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=616
데이타전송 타입에는 4가지 벌크,ISO,인터럽트,컨트롤이 있는데요, 벌크는 정확한 데이타를 전송하지만, 전송시간에 대한 담보가 없답니다. 그래서 CPU사용률이 높아질때는 무한정 느려질 가능성이 있습니다. 정속으로 일정시간을 보장하고자 한다면 ISO를 사용하기도 합니다.
그리고 정상 전송일때는 BULK_OR_INTERRUPT_TRANSFER가 표시된다고 합니다.

Bulk Pipe 로 Read/Write 하기 위한 단계
http://blog.naver.com/cshmax?Redirect=Log&logNo=42696616

내용을보니 디바이스나 펌웨어 프로그램 하시는분들이 잘아실거 같네요
좀 도와들 주세요

매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.

----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.

매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.

각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com