Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
リセットとフリーズで解析する電子辞書リバエン記 / reverse-engineer-e-dictionaries-with-reset-and-freeze
Search
Takumi Sueda
November 20, 2021
Technology
2
6.1k
リセットとフリーズで解析する電子辞書リバエン記 / reverse-engineer-e-dictionaries-with-reset-and-freeze
Kernel/VM 探検隊 online part4 LT
小説版:
https://www.zopfco.de/entry/reset_freeze_re
Takumi Sueda
November 20, 2021
Tweet
Share
More Decks by Takumi Sueda
See All by Takumi Sueda
ルーターでプレゼンする
puhitaku
1
3.5k
AST as Black Magic
puhitaku
0
70
次世代の足下を舗装するコミュニティ
puhitaku
5
1.6k
電子辞書で学ぶ Linux のサスペンド
puhitaku
0
450
USB PD で迎える AC アダプター大統一時代
puhitaku
2
2.4k
電子辞書のアイデンティティを消す方法
puhitaku
3
3.6k
詳解・電子辞書で Linux がブートするまで / boot-linux-on-sharp-brain-explained
puhitaku
5
3.6k
MicroPython × BLE × テプラ 〜リバースエンジニアリングを添えて〜 /micropython-ble-tepra
puhitaku
2
710
TEPRA Lite ではじめる BLE リバースエンジニアリング / tepra-lite-ble-reverse-engineering
puhitaku
9
5.8k
Other Decks in Technology
See All in Technology
Money-saving tips for the frugal serverless developer
theburningmonk
1
420
20240516 OpenID TechNight Vol.21 OpenIDファウンデーション・ジャパンの 今後の活動について
oidfj
0
170
AWS アーキテクチャ作図入門/aws-architecture-diagram-101
ma2shita
16
6.7k
PhpStorm超絶技巧40分集中講義 #phpconkagawa
yusuke
4
790
ワールドカフェ再び、そしてロール・ツール群の開発 / World Café Again, and Development of Suites of Roles and Tools
ks91
PRO
0
130
【TSkaigi】2024/05/11 当日スライド
kimitashoichi
14
4.1k
多言語化対応における TypeScript の型定義を通して開発のしやすさについて考えた / TSKaigi TypeScript Multilingualization
nabeliwo
2
400
20240509 CloudWatch でいろいろなものを監視してみよう
masaruogura
1
120
Oracle Cloud Infrastructureデータベース・クラウド:各バージョンのサポート期間
oracle4engineer
PRO
12
7.9k
日本が誇るイタリアのダンスミュージック!? ユーロビートって何??
minorun365
PRO
2
230
令和版ソフトウェアエンジニアの情報収集術 PHPカンファレンス香川2024
ysknsid25
4
910
Blazor WASM × Code-first gRPC で始める C# ⼤統⼀理論
sansantech
PRO
1
920
Featured
See All Featured
RailsConf 2023
tenderlove
9
590
GitHub's CSS Performance
jonrohan
1025
450k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
188
16k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
14
1.5k
Making Projects Easy
brettharned
109
5.5k
KATA
mclloyd
16
12k
Writing Fast Ruby
sferik
622
60k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
22
1.6k
VelocityConf: Rendering Performance Case Studies
addyosmani
321
23k
10 Git Anti Patterns You Should be Aware of
lemiorhan
649
58k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3.1k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
123
39k
Transcript
Kernel/VM online part 4 LT @puhitaku
Takumi Sueda @puhitaku NICT HOMMA Inc. Twitter
SHARP Brain SHARP Windows CE CE exe (PE) 2011
TOSHIBA TMPA 9 10 CRAXBG (armv 5 tej) + 64 MiB DRAM Windows CE 2012 2020 NXP i.MX 2 83 (armv 5 tej) + 12 8 MiB DRAM Windows CE 2021 ??? SHARP Brain 3 https://jp.sharp/edictionary/products/pwsh 1 _overviiew.html
SHARP Brain 2019 2020 SHARP Brain PW-SH 1 Linux +
i.MX 283 Raspberry Pi Brain Linux SD Brain Linux 4 https://jp.sharp/edictionary/products/pwsh 1 _overviiew.html
2021 1 Brain
Brain https://jp.sharp/edictionary/topics/ 6
Brain https://brain-library.com/ 7
Brain OS SoC i.MX 283 8
Brain 9
Brain 10
Brain 11
Brain SoC NXP i.MX 7 ULP i.MX 7 ULP =
Cortex-A 7 + Cortex-M 4 12
Brain (Windows CE PE) OS 13
None
objdump 0 Arm 15
as ELF .text 16
17
resource hog 18
_start return 19
20
0x 00 0000 00 21
return 0 x 0 00000 0 0 22
U-Boot
U-Boot 1 . MMU 2 . MMU U-Boot U-Boot 24
U-Boot & OS API JTAG UART TX UART I/O
25
U-Boot 1bit 26
U-Boot 1 MMU
U-Boot MMU MMU mrc SCTSR MMU mcr MMU 28 SCTSR
U-Boot MMU mrc 29
U-Boot MMU 30
U-Boot MMU mrc SCTSR return 31
U-Boot 2 U-Boot
U-Boot U-Boot U-Boot MMU U-Boot 3 : 1 .
Brain 2 . DRAM 1. 1. 3 . 2. 64 KiB (large page) 1. U-Boot 33
U-Boot 2 U-Boot 1
U-Boot U-Boot 1 35 Brain 1 MiB NOP mov pc,
lr NOP = mov r0, r0
U-Boot U-Boot 1 36 1 5 MiB Brain 15 MiB
1 ( 4 Bytes) 1 5 MiB DRAM 128 MiB 11.7%
U-Boot 2 U-Boot 2
U-Boot U-Boot 38 NOP MMU NOP 1 NOP 6 4
KiB NOP NOP ……… 2 1
U-Boot U-Boot 2 39 Virtual Memory 1 5 MiB
1 MMU Physical Memory MMU
U-Boot U-Boot 2 40 1 Physical Memory 0 x
6000 000 0 0 x 6800 000 0 1 !"#$ %&'( !"#$ 1
U-Boot U-Boot 2 41 1 Physical Memory 0 x
6 78000 0 0 DRAM 15 MiB %&'( 0 x 6000 000 0 0 x 6800 000 0
U-Boot 2 U-Boot 3
U-Boot U-Boot 43 2 MMU NOP NOP 6 4
KiB NOP 3 1 NOP NOP NOP NOP
U-Boot U-Boot 44 112 64 KiB NOP NOP 6 4
KiB 3 1 NOP NOP NOP NOP 112 …
U-Boot U-Boot 1 . ✅ U-Boot 2 . ✅ MMU
3 . ✅ MMU U-Boot 1 5 MiB 0x 7 0 0 0 0 0 u-boot.bin 0x 67 800000 U-Boot U-Boot 45
U-Boot
U-Boot i.MX 7 ULP con fi g 47
U-Boot 48
U-Boot U-Boot shell 49
Linux
Linux U-Boot Image printk UART Linux 51
Linux @pepepper_cpp Mailbox Unit Linux MU NXP upstream MU merge
52
Linux Linux Linux 53
None
μITRON RTOS I/O I/O 55
& Speakerdeck 56