DVR이 있는데 비밀번호를 잊어버렸습니다. 원격으로 로그인을 시도하고 인터넷에서 자격 증명을 얻으십시오(제조업체가 동일할 수 있으므로 많은 딜러에게 동일한 것 같습니다), JTR 비밀번호. 그런데 이것이 호기심을 불러일으켰고 이제는 재미삼아 펌웨어를 만지작거리고 싶습니다. 나는 꽤 어리석기 때문에 맞춤형 로고를 추가해 보았고, 아마도 우리 집에 있는 다른 사람들이 그것을 작동할 수 있도록 메뉴 언어를 변경해 보았습니다.
펌웨어는 바이너리 파일로 제공됩니다. 4개의 .img 파일로 추출합니다.
- 맞춤-x.cramfs.img
- 플래그-x.cramfs.img
- romfs-x.cramfs.img
- 사용자-x.cramfs.img
이 이미지에 일부 헤더 바이트가 추가되었기 때문에 설치할 수 없습니다.MK 이미지, 일부 블로그 게시물에서 알 수 있듯이.
문서다음 이미지(로고) 중 하나에 대한 명령 출력:
logo-x.cramfs.img: u-boot legacy uImage, linux, Linux/ARM, Standalone Program (gzip), 40960 bytes, Fri Jul 4 06:04:30 2014, Load Address: 0x00770000, Entry Point: 0x00780000, Header CRC: 0xBC5511F0, Data CRC: 0xC6BFF7D1
64바이트의 데이터를 제거한 후DD설치하고 파일에 액세스할 수 있습니다. 다른 이미지 파일을 생성하기 위해 일부 정크 파일을 추가해 보았습니다. 파일을 변경/추가한 후 설치된 img를 어떻게 다시 패키지합니까? 삭제한 64바이트 데이터를 다시 추가하려면 어떻게 해야 하나요?
유용한 아이디어를 주시면 감사하겠습니다.
답변1
SPI 플래시를 이미지화 하고 싶다고 가정합니다 squashfs
. 먼저 squashfs
원하는 디렉터리에서 이미지를 만듭니다.
mksquashfs yourdir romfs.squashfs -b 64K -comp xz
그런 다음 올바른 시작점과 진입점을 사용하여 헤더를 추가합니다.
mkimage -A arm -O linux -C gzip -T kernel -a 0x50000 -e 0x430000 -n 'linux' -d romfs.squashfs romfs.squashfs.img