2022년 12월 13일 공개된 a604r_ml_12_162.bin 파일을 가지고 분석을 시도했다.

-A 옵션으로 아키텍처도 분석해봤는데, 사실 이게 무슨 뜻인지를 잘 모르겠다.
DECIMAL HEXADECIMAL DESCRIPTION
--------------------------------------------------------------------------------
898 0x382 MIPS instructions, function epilogue
1074 0x432 MIPS instructions, function epilogue
2386 0x952 MIPS instructions, function epilogue
2458 0x99A MIPS instructions, function epilogue
2766 0xACE MIPS instructions, function epilogue
3078 0xC06 MIPS instructions, function epilogue
3242 0xCAA MIPS instructions, function epilogue
3370 0xD2A MIPS instructions, function epilogue
3978 0xF8A MIPS instructions, function epilogue
4084 0xFF4 MIPSEL instructions, function epilogue
4316 0x10DC MIPSEL instructions, function epilogue
4646 0x1226 MIPS instructions, function epilogue
5250 0x1482 MIPS instructions, function epilogue
7554 0x1D82 MIPS instructions, function epilogue
7634 0x1DD2 MIPS instructions, function epilogue
7742 0x1E3E MIPS instructions, function epilogue
7846 0x1EA6 MIPS instructions, function epilogue
8198 0x2006 MIPS instructions, function epilogue
8982 0x2316 MIPS instructions, function epilogue
9858 0x2682 MIPS instructions, function epilogue
10958 0x2ACE MIPS instructions, function epilogue
12074 0x2F2A MIPS instructions, function epilogue
15078 0x3AE6 MIPS instructions, function epilogue
15206 0x3B66 MIPS instructions, function epilogue
15322 0x3BDA MIPS instructions, function epilogue
15426 0x3C42 MIPS instructions, function epilogue
15966 0x3E5E MIPS instructions, function epilogue
16318 0x3FBE MIPS instructions, function epilogue
16362 0x3FEA MIPS instructions, function epilogue
16618 0x40EA MIPS instructions, function epilogue
16818 0x41B2 MIPS instructions, function epilogue
17142 0x42F6 MIPS instructions, function epilogue
18082 0x46A2 MIPS instructions, function epilogue
18534 0x4866 MIPS instructions, function epilogue
23450 0x5B9A MIPS instructions, function epilogue
24742 0x60A6 MIPS instructions, function epilogue
24866 0x6122 MIPS instructions, function epilogue
25030 0x61C6 MIPS instructions, function epilogue
25186 0x6262 MIPS instructions, function epilogue
25342 0x62FE MIPS instructions, function epilogue
25466 0x637A MIPS instructions, function epilogue
25590 0x63F6 MIPS instructions, function epilogue
25650 0x6432 MIPS instructions, function epilogue
25706 0x646A MIPS instructions, function epilogue
28212 0x6E34 MIPSEL instructions, function epilogue
28512 0x6F60 MIPSEL instructions, function epilogue
28804 0x7084 MIPSEL instructions, function epilogue
29520 0x7350 MIPSEL instructions, function epilogue
29572 0x7384 MIPSEL instructions, function epilogue
29844 0x7494 MIPSEL instructions, function epilogue
263156 0x403F4 MIPSEL instructions, function epilogue
263240 0x40448 MIPSEL instructions, function epilogue
263584 0x405A0 MIPSEL instructions, function epilogue
263832 0x40698 MIPSEL instructions, function epilogue
264536 0x40958 MIPSEL instructions, function epilogue
265824 0x40E60 MIPSEL instructions, function epilogue
265868 0x40E8C MIPSEL instructions, function epilogue
266144 0x40FA0 MIPSEL instructions, function epilogue
268108 0x4174C MIPSEL instructions, function epilogue
270832 0x421F0 MIPSEL instructions, function epilogue
375148 0x5B96C ARM instructions, function prologue
-e 옵션으로는 펌웨어 파일 추출이 가능했는데


이렇게 한개의 폴더가 나왔고, 열어보니, 아래와 같은 파일들이 있었다.

.squashfs 확장자가 뭔지 궁금해서 찾아보니, SquashFS는 리눅스 운영체제에서 사용되는 읽기 전용 파일시스템이라고 한다. 아마 _a604r_ml_12_162.bin.extracted 폴더에는 언팩된 SquashFS 파일시스템을 볼 수 있었던 듯.
squashfs-root-0 폴더에는 아무것도 없었고, squashfs-root 폴더에는 아래와 같은 파일들이 있었다.

뭔가 이게 좀 중요해보인다.
그리고 firmware-mod-kit를 통해서도 펌웨어 파일을 추출해봤는데, 아래처럼 입력하면 된다. 우분투 20.04인가 이상부터는 이전이랑 좀 달라졌다고 한다.
$ sudo apt-get install git build-essential zlib1g-dev liblzma-dev python3-magic autoconf python-is-python3
$ git clone https://github.com/rampageX/firmware-mod-kit.git
$ cd firmware-mod-kit
$ ./extract-firmware.sh firm.fd.bin

이렇게 추출된 결과를 보면, 폴더 3개가 나오는데, image_parts는 그냥 뭐 진짜 시스템 이미지같은거 있는거같고, logs에는 로그 파일들 들어가는거 같고, rootfs에는 아래와 같은 파일이 있다.

아까 squashfs-root 폴더에 있던거랑 유사해보인다.