Save 37% off PRO during our Black Friday Sale! »

リセットとフリーズで解析する電子辞書リバエン記 / reverse-engineer-e-dictionaries-with-reset-and-freeze

C825832c4fc71ffdfd44905729281fb0?s=47 Takumi Sueda
November 20, 2021

リセットとフリーズで解析する電子辞書リバエン記 / reverse-engineer-e-dictionaries-with-reset-and-freeze

Kernel/VM 探検隊 online part4 LT
小説版: https://www.zopfco.de/entry/reset_freeze_re

C825832c4fc71ffdfd44905729281fb0?s=128

Takumi Sueda

November 20, 2021
Tweet

Transcript

  1. Kernel/VM online part 4 LT @puhitaku

  2. Takumi Sueda @puhitaku NICT 
 HOMMA Inc. 
 Twitter 


  3. 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
  4. 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
  5. 2021 1 Brain

  6. Brain https://jp.sharp/edictionary/topics/ 6

  7. Brain https://brain-library.com/ 7

  8. Brain OS 
 SoC i.MX 283 8

  9. Brain 9

  10. Brain 10

  11. Brain 11

  12. Brain SoC NXP i.MX 7 ULP i.MX 7 ULP =

    Cortex-A 7 + Cortex-M 4 12
  13. Brain (Windows CE PE) OS 13

  14. None
  15. 
 objdump 0 Arm 15

  16. 
 as ELF .text 16

  17. 17

  18. resource hog 18 


  19. _start return 19

  20. 20

  21. 0x 00 0000 00 
 21

  22. return 0 x 0 00000 0 0 22

  23. U-Boot

  24. U-Boot 1 . MMU 2 . MMU U-Boot U-Boot 24

  25. U-Boot & OS API JTAG UART TX UART 
 I/O

    25
  26. U-Boot 
 
 1bit 26

  27. U-Boot 1 MMU

  28. U-Boot MMU MMU mrc SCTSR MMU mcr MMU 28 SCTSR

  29. U-Boot MMU mrc 
 29

  30. U-Boot MMU 30

  31. U-Boot MMU mrc SCTSR return 31

  32. U-Boot 2 U-Boot

  33. 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
  34. U-Boot 2 U-Boot 1

  35. U-Boot U-Boot 1 35 Brain 1 MiB NOP mov pc,

    lr NOP = mov r0, r0
  36. U-Boot U-Boot 1 36 1 5 MiB Brain 15 MiB

    1 ( 4 Bytes) 1 5 MiB DRAM 128 MiB 11.7%
  37. U-Boot 2 U-Boot 2 


  38. U-Boot U-Boot 38 NOP MMU NOP 1 NOP 6 4

    KiB NOP NOP ……… 2 1
  39. U-Boot U-Boot 2 39 Virtual 
 Memory 1 5 MiB

    1 MMU Physical 
 Memory MMU
  40. U-Boot U-Boot 2 40 1 Physical 
 Memory 0 x

    6000 000 0 0 x 6800 000 0 1 
 !"#$ %&'( !"#$ 1
  41. 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
  42. U-Boot 2 U-Boot 3 


  43. U-Boot U-Boot 43 2 
 MMU NOP NOP 6 4

    KiB NOP 3 1 NOP NOP NOP NOP
  44. U-Boot U-Boot 44 112 64 KiB NOP NOP 6 4

    KiB 3 1 NOP NOP NOP NOP 112 …
  45. 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
  46. U-Boot

  47. U-Boot i.MX 7 ULP con fi g 
 47

  48. U-Boot 48

  49. U-Boot U-Boot shell 49

  50. Linux

  51. Linux U-Boot Image printk UART Linux 51

  52. Linux @pepepper_cpp Mailbox Unit Linux MU NXP upstream MU merge

    52
  53. Linux Linux Linux 53

  54. None
  55. μITRON RTOS I/O I/O 55

  56. & Speakerdeck 56