소형 컬러 TFT LCD(Raz TN9000/Kraze HD7K/등)를 포함하는 일부 충전식 일회용 베이프의 리버스 엔지니어링.
추가 업데이트는 https://github.com/ginbot86/ColorLCDVape-RE에서 확인할 수 있습니다.
시중에 나와 있는 일부 일회용 베이프에는 컬러 LCD 화면 및 USB-C 재충전 기능과 같은 장치가 포함되어 있지만 일회용 장치입니다. 이는 그러한 장치를 생태학적으로 상당히 해롭게 만듭니다. 반면에 이는 애호가/엔지니어가 하드웨어를 회수할 수 있는 기회를 열어주고, 신선한 베이프 주스로 리필하고 내부 측정기를 재설정하여 베이프를 있는 그대로 재사용하거나 온보드 이미지를 편집하여 사용자 정의할 수도 있습니다.
이 프로젝트에서 연구 중인 특정 베이프는 다양한 이름이 있지만 구체적으로 연구된 베이프는 Kraze HD7K라고 불렸습니다. 그러나 이 베이프는 RAZ TN9000과 같은 "RAZ" 브랜드 이름으로도 볼 수 있습니다.
일회용 베이프는 일반적으로 보호 회로 없이 리튬 이온 배터리를 사용합니다. 단락으로 인해 통제할 수 없는 양의 전력이 소모되어 부상 및/또는 재산 피해가 발생할 수 있습니다. 이러한 베이프에 대한 모든 작업은 본인의 책임하에 수행됩니다.
이러한 베이프에는 여러 회로 개정판이 있으며, 버전이 일치하지 않으면 장치가 손상될 수 있는 비호환성이 있을 수 있는 것으로 확인되었습니다. 수정을 진행하기 전에 연결 및 펌웨어 호환성을 확인하십시오.
또한 베이프 주스/"e-액체"에는 피부를 통해 흡수되는 고농도의 니코틴이 포함될 수 있습니다. 내부 부품에서 주스 및/또는 잔여물이 제거될 때까지 베이프 내부 부품을 장갑을 낀 채 다루어야 합니다.
이러한 베이프에 대한 다른 사람들의 작업에는 다음이 포함되지만 이에 국한되지는 않습니다.
앞서 언급한 저장소에서 수행된 작업은 이 프로젝트에서 수행된 작업을 기반으로 할 수도 있고 그렇지 않을 수도 있습니다. 이는 이러한 베이프에 대해 더 많은 커뮤니티 노력이 수행될 수 있기를 바라며 유사한 프로젝트를 연결하는 것을 의미합니다.
vape는 다음 하드웨어를 사용합니다.
vape는 vape 메인보드에 납땜된 13핀 0.7mm 피치 플랫 플렉스(FPC) 케이블과 함께 80x160 해상도 0.96인치 IPS LCD를 사용합니다. 4선 SPI(데이터, 클럭, 데이터/명령, 칩 선택)를 통해 연결되며 ST7735S 컨트롤러를 사용하는 것으로 보입니다. Smart Prototyping #102106과 같이 시중에서 판매되는 디스플레이에도 동일한 핀아웃을 사용합니다.
핀 | 이름 | 기능 |
---|---|---|
1 | TP0/NC | 미사용 |
2 | TP1/NC | 미사용 |
3 | SDIN | SPI 데이터를 LCD로 |
4 | SCLK | SPI 시계 |
5 | RS | 로직 로우 = 명령, 하이 = 데이터 |
6 | /RST | 재설정(액티브 로우) |
7 | /CS | 칩 선택(액티브 로우) |
8 | 접지 | 전원 공급 장치/신호 접지 |
9 | NC | 연결되지 않음 |
10 | VDD | 전원 공급 장치(3.3V) |
11 | LEDK | LED 백라이트 음극 |
12 | 레다 | LED 백라이트 양극 |
13 | 접지 | 전원 공급 장치/신호 접지 |
vape에는 두 가지 형태의 플래시 메모리가 있습니다. 마이크로 컨트롤러의 내부 플래시와 외부 SPI NOR 플래시의 1메가바이트(8메가비트)입니다. 전자에는 펌웨어가 포함되어 있고 후자에는 LCD에 표시되는 모든 이미지와 vape 가열 코일이 사용된 총 시간이 포함되어 있습니다. 이 카운터는 베이프 과즙 측정기에 표시되는 "바" 수를 파생하는 데 사용됩니다. LCD 데이터 버스 분석(DreamSourceLab DSView를 사용한 .dsl 논리 캡처 참조)에 따르면 데이터 전송은 연속적인 4096바이트 청크로 발생하므로 마이크로컨트롤러가 DMA(직접 메모리 액세스)를 사용하여 외부 플래시의 이미지 데이터를 LCD로 스트리밍하는 것으로 나타났습니다. , 단일 NOR 플래시 페이지에 해당합니다. 마이크로 컨트롤러의 메모리를 분석한 결과 DMA 메모리 버퍼가 RAM 주소 0x2000022C-0x2000062B에 있는 것으로 나타났습니다.
모든 이미지는 원시 RGB565 16비트 비트맵으로 외부 플래시에 저장됩니다(즉, 각 픽셀은 2바이트의 데이터를 차지합니다). Rinky-Dink Electronics의 UTFT 라이브러리의 ImageConverter565와 같은 변환 도구를 사용하면 JPEG/PNG와 같은 이미지 형식을 해당 오프셋에서 외부 플래시에 패치할 수 있는 원시 바이너리 파일로 변환할 수 있습니다. 원시 이미지와 함께 저장된 메타데이터가 없으므로 아래 표에 표시된 대로 이미지 크기를 수동으로 제공해야 합니다.
색인 (#) | 오프셋(16진수) | 길이(16진수) | 프레임 H(px) | 프레임 V(px) | 범주 | 미사용? | 시퀀스(#) | 메모 |
---|---|---|---|---|---|---|---|---|
0 | 0 | 6400 | 80 | 160 | 배경 | 0 | ||
1 | 6400 | 2880 | 72 | 72 | 배터리 아이콘 | 0 | ||
2 | 8C80 | 2880 | 72 | 72 | 배터리 아이콘 | 1 | ||
3 | B500 | 2880 | 72 | 72 | 배터리 아이콘 | 2 | ||
4 | DD80 | 2880 | 72 | 72 | 배터리 아이콘 | 3 | ||
5 | 10600 | 2880 | 72 | 72 | 배터리 아이콘 | 4 | ||
6 | 12E80 | 2880 | 72 | 72 | 배터리 아이콘 | 5 | ||
7 | 15700 | 2880 | 72 | 72 | 배터리 아이콘 | 6 | ||
8 | 17F80 | 2880 | 72 | 72 | 배터리 아이콘 | 7 | ||
9 | 1A800 | 2880 | 72 | 72 | 배터리 아이콘 | 8 | ||
10 | 1D080 | 2880 | 72 | 72 | 배터리 아이콘 | 9 | ||
11 | 1F900 | 2880 | 72 | 72 | 배터리 아이콘 | 10 | ||
12 | 22180 | 2880 | 72 | 72 | 주스 아이콘 | 0 | ||
13 | 24A00 | 2880 | 72 | 72 | 주스 아이콘 | 1 | ||
14 | 27280 | 2880 | 72 | 72 | 주스 아이콘 | 2 | ||
15 | 29B00 | 2880 | 72 | 72 | 주스 아이콘 | 3 | ||
16 | 2C380 | 2880 | 72 | 72 | 주스 아이콘 | 4 | ||
17 | 2EC00 | 2880 | 72 | 72 | 주스 아이콘 | 5 | ||
18 | 31480 | 2880 | 72 | 72 | 주스 아이콘 | 6 | ||
19 | 33D00 | 6400 | 80 | 160 | 베이핑 애니메이션 | 0 | ||
20 | 3A100 | 6400 | 80 | 160 | 베이핑 애니메이션 | 1 | ||
21 | 40500 | 6400 | 80 | 160 | 베이핑 애니메이션 | 2 | ||
22 | 46900 | 6400 | 80 | 160 | 베이핑 애니메이션 | 3 | ||
23 | 4CD00 | 6400 | 80 | 160 | 베이핑 애니메이션 | 4 | ||
24 | 53100 | 6400 | 80 | 160 | 베이핑 애니메이션 | 5 | ||
25 | 59500 | 6400 | 80 | 160 | 베이핑 애니메이션 | 6 | ||
26 | 5F900 | 6400 | 80 | 160 | 베이핑 애니메이션 | 7 | ||
27 | 65D00 | 6400 | 80 | 160 | 베이핑 애니메이션 | 8 | ||
28 | 6C100 | 6400 | 80 | 160 | 베이핑 애니메이션 | 9 | ||
29 | 72500 | 6400 | 80 | 160 | 베이핑 애니메이션 | 10 | ||
30 | 78900 | 6400 | 80 | 160 | 베이핑 애니메이션 | 11 | ||
31 | 7ED00 | 6400 | 80 | 160 | 베이핑 애니메이션 | 12 | ||
32 | 85100 | 6400 | 80 | 160 | 베이핑 애니메이션 | 13 | ||
33 | 8B500 | 6400 | 80 | 160 | 베이핑 애니메이션 | 14 | ||
34 | 91900 | 6400 | 80 | 160 | 베이핑 애니메이션 | 15 | ||
35 | 97D00 | 6400 | 80 | 160 | 플러그인 배경 1 | 미사용 | 16 | 1 |
36 | 9E100 | 17CA | 35 | 87 | 로고 지우기 | 미사용 | 0 | 1 |
37 | 9F8CA | 17CA | 35 | 87 | 로고 지우기 | 미사용 | 1 | 1 |
38 | A1094 | 17CA | 35 | 87 | 로고 지우기 | 미사용 | 2 | 1 |
39 | A285E | 17CA | 35 | 87 | 로고 지우기 | 미사용 | 3 | 1 |
40 | A4028 | 17CA | 35 | 87 | 로고 지우기 | 미사용 | 4 | 1 |
41 | A57F2 | 17CA | 35 | 87 | 로고 지우기 | 미사용 | 5 | 1 |
42 | A6FBC | 17CA | 35 | 87 | 로고 지우기 | 미사용 | 6 | 1 |
43 | A8786 | 17CA | 35 | 87 | 로고 지우기 | 미사용 | 7 | 1 |
44 | A9F50 | 17CA | 35 | 87 | 로고 지우기 | 미사용 | 8 | 1 |
45 | AB71A | 17CA | 35 | 87 | 로고 지우기 | 미사용 | 9 | 1 |
46 | ACEE4 | 17CA | 35 | 87 | 로고 지우기 | 미사용 | 10 | 1 |
47 | AE6AE | 17CA | 35 | 87 | 로고 지우기 | 미사용 | 11 | 1 |
48 | AFE78 | 17CA | 35 | 87 | 로고 지우기 | 미사용 | 12 | 1 |
49 | B1642 | 17CA | 35 | 87 | 로고 지우기 | 미사용 | 13 | 1 |
50 | B2E0C | 17CA | 35 | 87 | 로고 지우기 | 미사용 | 14 | 1 |
51 | B45D6 | 17CA | 35 | 87 | 로고 지우기 | 미사용 | 15 | 1 |
52 | B5DA0 | 17CA | 35 | 87 | 로고 지우기 | 미사용 | 16 | 1 |
53 | B756A | 17CA | 35 | 87 | 로고 지우기 | 미사용 | 17 | 1 |
54 | B8D34 | 17CA | 35 | 87 | 로고 지우기 | 미사용 | 18 | 1 |
55 | BA4FE | 17CA | 35 | 87 | 로고 지우기 | 미사용 | 19 | 1 |
56 | BBCC8 | 17CA | 35 | 87 | 로고 지우기 | 미사용 | 20 | 1 |
57 | BD492 | 17CA | 35 | 87 | 로고 지우기 | 미사용 | 21 | 1 |
58 | BEC5C | 17CA | 35 | 87 | 로고 지우기 | 미사용 | 22 | 1 |
59 | C0426 | 17CA | 35 | 87 | 로고 지우기 | 미사용 | 23 | 1 |
60 | C1BF0 | 17CA | 35 | 87 | 로고 지우기 | 미사용 | 24 | 1 |
61 | C33BA | 17CA | 35 | 87 | 로고 지우기 | 미사용 | 25 | 1 |
62 | C4B84 | 17CA | 35 | 87 | 로고 지우기 | 미사용 | 26 | 1 |
63 | C634E | 17CA | 35 | 87 | 로고 지우기 | 미사용 | 27 | 1 |
64 | C7B18 | 17CA | 35 | 87 | 로고 지우기 | 미사용 | 28 | 1 |
65 | C92E2 | 6400 | 80 | 160 | 플러그인 배경 2 | 미사용 | 0 | 1 |
66 | CF6E2 | F80 | 31 | 64 | 배터리 바 애니메이션 | 미사용 | 0 | 1 |
67 | D0662 | F80 | 31 | 64 | 배터리 바 애니메이션 | 미사용 | 1 | 1 |
68 | D15E2 | F80 | 31 | 64 | 배터리 바 애니메이션 | 미사용 | 2 | 1 |
69 | D2562 | F80 | 31 | 64 | 배터리 바 애니메이션 | 미사용 | 3 | 1 |
70 | D34E2 | F80 | 31 | 64 | 배터리 바 애니메이션 | 미사용 | 4 | 1 |
71 | D4462 | F80 | 31 | 64 | 배터리 바 애니메이션 | 미사용 | 5 | 1 |
72 | D53E2 | 6400 | 80 | 160 | 플러그인 배경 3 | 0 | ||
73 | DB7E2 | E9A | 21 | 89 | 충전기 로고 닦아 | 0 | ||
74 | DC67C | E9A | 21 | 89 | 충전기 로고 닦아 | 1 | ||
75 | DD516 | E9A | 21 | 89 | 충전기 로고 닦아 | 2 | ||
76 | DE3B0 | E9A | 21 | 89 | 충전기 로고 닦아 | 3 | ||
77 | DF24A | E9A | 21 | 89 | 충전기 로고 닦아 | 4 | ||
78 | E00E4 | E9A | 21 | 89 | 충전기 로고 닦아 | 5 | ||
79 | E0F7E | E9A | 21 | 89 | 충전기 로고 닦아 | 6 | ||
80 | E1E18 | E9A | 21 | 89 | 충전기 로고 닦아 | 7 | ||
81 | E2CB2 | E9A | 21 | 89 | 충전기 로고 닦아 | 8 | ||
82 | E3B4C | E9A | 21 | 89 | 충전기 로고 닦아 | 9 | ||
83 | E49E6 | E9A | 21 | 89 | 충전기 로고 닦아 | 10 | ||
84 | E5880 | E9A | 21 | 89 | 충전기 로고 닦아 | 11 | ||
85 | E671A | E9A | 21 | 89 | 충전기 로고 닦아 | 12 | ||
86 | E75B4 | E9A | 21 | 89 | 충전기 로고 닦아 | 13 | ||
87 | E844E | E9A | 21 | 89 | 충전기 로고 닦아 | 14 | ||
88 | E92E8 | E9A | 21 | 89 | 충전기 로고 닦아 | 15 | ||
89 | EA182 | E9A | 21 | 89 | 충전기 로고 닦아 | 16 | ||
90 | EB01C | E9A | 21 | 89 | 충전기 로고 닦아 | 17 | ||
91 | EBEB6 | E9A | 21 | 89 | 충전기 로고 닦아 | 18 | ||
92 | ECD50 | E9A | 21 | 89 | 충전기 로고 닦아 | 19 | ||
93 | 에드베아 | E9A | 21 | 89 | 충전기 로고 닦아 | 20 | ||
94 | EEA84 | E9A | 21 | 89 | 충전기 로고 닦아 | 21 | ||
95 | EF91E | E9A | 21 | 89 | 충전기 로고 닦아 | 22 | ||
96 | F07B8 | E9A | 21 | 89 | 충전기 로고 닦아 | 23 | ||
97 | F1652 | E9A | 21 | 89 | 충전기 로고 닦아 | 24 | ||
98 | F24EC | E9A | 21 | 89 | 충전기 로고 닦아 | 25 | ||
99 | F3386 | E9A | 21 | 89 | 충전기 로고 닦아 | 26 | ||
100 | F4220 | E9A | 21 | 89 | 충전기 로고 닦아 | 27 | ||
101 | F50BA | E9A | 21 | 89 | 충전기 로고 닦아 | 28 | ||
102 | F5F54 | E9A | 21 | 89 | 충전기 로고 닦아 | 29 | ||
103 | F6DEE | E9A | 21 | 89 | 충전기 로고 닦아 | 30 | ||
104 | F8000 | 4 | 해당 없음 | 해당 없음 | 총 베이프 시간 x0.01s (LSB->MSB) | 해당 없음 | 2 | |
105 | F8004 | 1 | 해당 없음 | 해당 없음 | Vape 사용 중 플래그(0xBB) | 해당 없음 | 3 |
SPI 플래시에 저장된 개별 이미지에서 플래시 덤프를 분할하고 재조립하는 데 도움이 되는 두 개의 Python 스크립트( split-flashdump.py
및 assemble-flashdump.py
가 포함되었습니다. 도구는 현재 형식 변환을 수행하지 않지만(ChatGPT가 여기까지 도움을 주는 것은 이미 긴 프로세스였습니다), 사용자 정의 "테마" 팩 생성을 돕는 데 큰 도움이 됩니다. 사용하지 않는 리소스는 재조립할 파일이 포함된 디렉터리에 보관하여 재패킹된 플래시 덤프에서 제거할 수 있습니다. 사용되지 않은 영역은 0xFF/삭제된 바이트로 유지됩니다.
리패커인 assemble-flashdump.py
는 16진수로 인코딩된 오프셋을 사용하여 각 조각을 1MB 플래시 덤프 파일에 삽입할 위치를 결정하므로 입력 파일 이름이 특정 형식일 것으로 예상합니다(split_map.csv 또는 포함된 예제 참조). 테마(아래 사용자 정의 테마 팩 에 설명되어 있음):
{index}_{offset}_{width}x{height}_{category}_{sequence}.bin
19_33d00_80x160_vapeanim-0.bin
PNG 또는 JPEG 이미지를 변환하려면 앞서 언급한 UTFT 라이브러리의 ImgConv.exe
도구를 사용하세요.
ImgConv.exe *.png /r
ImgConv.exe *.jpg /r
ren *.raw *.bin
참고: 변환하기 전에 .bin 형식으로 변환할 사진의 크기가 올바른지 확인하세요!
개념 증명으로 완성된 Windows 95 스타일 테마 팩이 포함되어 있습니다. 배터리 및 주스 표시기, 충전 애니메이션(플러그인 배경 3 및 충전기 로고 삭제만 해당, 테스트된 펌웨어와 함께 사용된 유일한 애니메이션 세트임) 및 베이핑 애니메이션(3D의 종횡비 올바른 캡처)에 대한 모든 리소스를 구현합니다. 파이프 화면 보호기). 필요한 것은 SPI 플래시에 대한 액세스와 이를 재프로그래밍하는 수단뿐입니다. 이 개념을 확장할 수 있는 여지는 USB-C 포트를 통해 연결된 저렴한 SWD USB 동글과 작은 재프로그래밍 도구를 마이크로 컨트롤러의 RAM에 업로드하는 일부 소프트웨어를 통해 가능하며 잠재적으로 플래시 칩의 납땜을 제거할 필요가 없습니다.
비어 있거나 편집 가능한 템플릿도 포함되어 있습니다. 모든 프레임은 애니메이션용 프레임 번호로 구현됩니다.
이 모든 사용자 정의는 마이크로컨트롤러의 펌웨어를 건드리지 않고도 가능합니다!
위의 외부 플래시 메모리 레이아웃 , 참고 2 및 3에 설명된 대로, 외부 플래시 위치 0xF8000-0xF8004를 0xFF로 채우면 주스 측정기가 가득 차도록 재설정되어 저장소가 다시 채워지면 베이프를 재사용할 수 있습니다. 그런 다음 nRST 핀을 접지로 당기거나 배터리를 분리했다가 다시 연결하여 전원을 껐다 켜서 마이크로 컨트롤러 자체를 재설정해야 합니다. 재프로그래밍/패칭을 위해 외부 플래시를 납땜 제거하고 다시 납땜하는 경우에는 이미 이런 일이 발생했을 가능성이 높습니다.
마이크로컨트롤러는 펌웨어 및/또는 내부 SRAM 메모리를 읽고 쓰기 위해 산업 표준 SWD(직렬 와이어 디버그) 디버그/프로그래밍 인터페이스를 사용합니다. SWD 인터페이스는 vape의 USB-C 충전 포트를 통해 노출됩니다. 커넥터는 일반적으로 전원 전용이므로 SWDIO/SWCLK 라인은 일반 5.1k Rd 풀다운 저항 뒤의 CC 핀에 연결됩니다.
마이크로 컨트롤러의 펌웨어는 판독 보호되지 않으므로 디컴파일을 통해 펌웨어에 대한 추가 연구가 가능한 방법입니다. 이 디버그 인터페이스를 사용하여 외부 플래시와 상호 작용하는 것이 가능할 수 있지만 아직 연구된 바는 없습니다.
테스트된 일부 vape 메인보드에는 보드 뒷면에 RX/TX 테스트 패드가 있었습니다. 이 포트가 펌웨어와 상호 작용하는 방식 및/또는 외부 플래시 콘텐츠를 업데이트하는 데 사용할 수 있는지 여부는 아직 조사되지 않았습니다.
vape는 9핀 0.15mm 피치 직각 수 핀 헤더와 결합된 두 개의 PCB로 구성됩니다.
핀 1은 전원 보드의 사각형 패드와 로직 보드 밑면(마이크로 컨트롤러, SPI 플래시 및 LCD의 반대쪽)에 있는 해당 패드로 표시됩니다. 경고: 핀 1 표시는 두 보드 사이에서 서로 반대일 수 있습니다!
전원 보드 핀 | 로직 보드 핀 | 이름 | 기능 |
---|---|---|---|
1 | 9 | VBAT | 전원 보드의 배터리 양극(+) |
2 | 8 | V버스 | SMD 퓨즈가 있는 전원 보드의 USB-C 포트에서 +5V, "B" 표시 |
3 | 7 | 접지 | 전원/신호 접지 |
4 | 6 | COIL_DRV | 로직 보드 MCU의 히터 제어 신호(액티브 하이) |
5 | 5 | PUFF_DET | 전원 보드 vape 컨트롤러의 퍼프 감지 신호(참고 1) |
6 | 4 | CC2/SWCLK | 로직 보드의 MCU에 대한 USB-C Rd 풀다운 2/SWD 디버그 인터페이스 클록 |
7 | 3 | CC1/SWDIO | 로직 보드의 MCU에 대한 USB-C Rd 풀다운 1/SWD 디버그 인터페이스 데이터 |
8 | 2 | VDD | 로직 보드의 LDO 레귤레이터에서 vape 컨트롤러로 3V 공급 |
9 | 1 | COIL_DET? | 로직 보드의 MCU에 대한 히터 코일 감지(참고 2 참조) |
N32G01 시리즈 마이크로컨트롤러는 데이터시트에 온보드 플래시 암호화 및 보안 부팅 지원 기능이 있다고 광고되어 있지만, 이 기능은 (다행히도) 지금까지 테스트한 vape(즉, Kraze HD7K)에서는 사용되지 않았습니다.
펌웨어 자체를 리버스 엔지니어링하는 작업은 많지 않았지만 SWD 디버그/프로그래밍 포트를 통해 액세스되는 Segger J-Link 및 해당 J-Mem 소프트웨어를 사용하여 플래시 덤프를 얻을 수 있었습니다. 많은 Arm 기반 MCU와 마찬가지로 플래시는 0x08000000에 있지만 0x00000000에도 미러링됩니다. 펌웨어 덤프는 주소 0x08000000-0x0800FFFF(64k)에서 가져왔으며 펌웨어 덤프를 대충 살펴보면 플래시 공간의 약 50%만 실제로 사용되었음을 알 수 있습니다(0x8000 직전부터 0xFFFF까지의 주소는 모두 0xFF 바이트였습니다. 지워진/프로그램되지 않은 메모리를 나타냅니다). 펌웨어 덤프에는 사람이 읽을 수 있는 문자열이 없는 것 같습니다.
USB-C 전원을 빠르게 켰다가 끄면(그러나 일관되지 않게 발생하는 것 같음) "비밀" 버전 번호가 화면에 표시됩니다. Kraze HD7K로 시도하면 화면이 검게 변하고 "GV-K23 0904V1"이라는 텍스트가 몇 초 동안 두 줄의 텍스트에 걸쳐 빨간색으로 표시됩니다. Windows의 12포인트 크기 "시스템" 글꼴의 고정 폭 버전으로 렌더링된 것으로 보입니다. 이는 내부 제품 이름이 "GV-K"이고 펌웨어가 2023년 9월 4일자 개정 1임을 암시합니다. 동시에 사용된 플래시 주소 공간의 끝 부분에는 0x00 및 0xE8E4로 채워진 바이트 블록이 있습니다. 검정색과 빨간색-주황색 픽셀 데이터처럼 의심스럽게 보입니다. 이 영역의 원시 데이터에 대한 추가 분석을 통해 버전 번호가 원시 비트맵으로 저장되고 텍스트 문자열(아래 설명)에서 렌더링되지 않음이 확인되었습니다.
주소 0x7066-0x7E75의 펌웨어 플래시 덤프 내부에는 앞서 언급한 버전 번호의 비트맵 버전인 것으로 보입니다. 크기는 60x30픽셀에 불과한 것으로 보이지만 이 비트맵 주위에는 120바이트 경계(60픽셀)에 정렬되지 않는 0x00 패딩 바이트가 있으므로 펌웨어를 디컴파일하고 기능을 찾지 않으면 "실제" 이미지 크기를 결정하기가 어렵습니다. 버전 화면이 실행됩니다.
모든 상표는 해당 소유자의 재산입니다.