rockbox - software freedom day 2010

Download Rockbox - Software Freedom Day 2010

If you can't read please download the document

Upload: daniel-stenberg

Post on 11-Jun-2015

1.787 views

Category:

Technology


0 download

DESCRIPTION

Daniel Stenbergs presentation om reverse engineering konsumentelektronik och Rockbox. Framfört den 18:e september 2010 på Svenska Linuxföreningens Linuxträfff 2010

TRANSCRIPT

  • 1. www.rockbox.org Software Freedom Day, Stockholm 18 september, 2010 Daniel Stenberg

2. Daniel Stenberg

  • Co-founder of the Rockbox project

3. Embedded developer 4. Open source hacker 5. 16000 commits 6. foss-sthlm 7. FSCONS 8. Vad jag tnkte snacka om

  • Orginalfirmwares r skrp

9. Hur byter man ut dem? 10. Hur funkar hrdvaran? 11. Hur bygger man mjukvara till den? 12. Lite om Rockbox varfr, vad, hur etc 13. Prylar Saker funkar inte som man vill 14. Folk gillar att bygga om grejor 15. Portabla musikspelare dk upp 2001 Inte s spektakulra 16. Original Firmwares suger

  • Alla r dliga

17. Jo alla 18. Sega 19. Dlig batteritid 20. Dligt codecutbud 21. Inga spel 22. Och mycket mycker mer 23. Hur svrt kan det vara? Bjrn Stenberg Linus Nielsen Feltzing Daniel Stenberg Stockholm Sverige, Dec 2001 24. Hur fr vi in vr kod hr?

  • Hr har vi en spelare

25. Den kr larvig kod 26. Jag vill kra min kod istllet 27. Vilken kod frresten? 28. Hur hackar man en mp3-spelare? Eller tminstone en genomgng om hur vi lyckats gra det hittills... 29. Community involvera massa folk! Tidsdande Enformigt Massor av jobb Svrt 30. Fysiska komponenter

  • Riv isr

31. Hi-Res scanna PCB och publicera 32. beepa koppel 33. Identifiera komponenter

  • - var lttare frr

34. - custom branded 35. SoC r fokus 36. Vad finns det innuti?

  • SoC (sh, ARM, m68k, MIPS, ...)

37. USB 38. Sound Codec 39. RAM (typiskt kanske 32MB) 40. Flash (NOR fr program/boot) 41. Flash (NAND fr allt i princip numera)

  • HDD (fr lagring)

42. FM tuner 43. LCD (grskala, 16bit frg, touch, ) 44. Fjrrkontroll 45. Knappar, pads, hjul...

  • Varje spelare r unik och tarvar anpassningar

46. Hur funkar komponenterna?

  • Hitta datablad

47. Inte alltid tillgngliga 48. NDAs som bara den 49. delar av chips r sublicensierade - under andra licenser/NDAer 50. Tillverkare gillar hemligheter 51. Blir svrare och svrare 52. HW-verktyg

  • JTAG

53. BDM 54. UART 55. USB 56. Uppgraderingsformat

  • Hur gr en uppgradering till?

57. Hur gr jag min egen upgradering? 58. Checksummor? 59. Scrambled/ kryptering? 60. Digitala signaturer? 61. Analysera! Kolla olika varianter 62. Digitalt signerade firmwares

  • Hrd riktigt kryptering kan inte brute-forcas

63. Leta alternativ 64. Luckor i algoritmen eller dess implementation 65. Buffer overflows 66. Disassemblera

  • Lista ut huvudarkitektur (sh, m68k, arm, MIPS, )

67. luriga icke-standard" CPU/DSP cores (calmrisc16) 68. Objdump r din vn 69. IDA Pro r dyrt 70. Binrt r assembler?

  • arm-elf-objdump -D --target binary -marm [file]

71. Sker exekvering av egen kod

  • Unbrickable spelare

72. Ladda till RAM 73. Ladda med HW-verktyg 74. Injicera i original / binary-patch 75. Buffer overflow-trigga 76. Skriv en bootloader

  • Baserat p all info du hittat, skriv...
  • LCD code

77. Button code 78. Disk/flash access code 79. Tidig Rockbox

  • Med en bootloader klar

80. Gr den upgraderingsbar p spelaren 81. Prova den 82. Sedan r det nedfrsbacke 83. F till sjlva Rockbox att stdja:

      • Ljud
    • 84. USB
  • 85. Inspelning

86. FM tuner 87. 88. Involvera alla andra!

  • IRC

89. Mailinglistor 90. Forum 91. Snacka. Chatta. Testa. Rapportera. Hjlp. Sprid kunskap. Beskriv framgngar 92. Frvnta dig inte snabba resultat! 93. Bygga en egen spelare?

  • Svrt och dyrt komponenter, design, tillverkning etc

94. SW kan gras nstan utan kostnad, HW inte lika mycket 95. Lyre bygger spelare fr att kra Rockbox 96. Tillverkare och Rockbox

  • Programvara sljer inte spelarna

97. Det r dyrare att stta in sig i andras kod 98. GPL r lskigt 99. Oklart 100. Rockbox ett OS

  • Rockbox r inte Linux

101. Litet 102. Skrivet frn scratch 103. Cooperative multitasking med prioriteter 104. Message queues 105. UI 106. Loadable plugins 107. Loadable codecs 108. Themeable 109. Rockboxutveckling

  • Gcc, make, shell, perl

110. Bygger vra egna cross-compilers 111. SVN 112. Bygg din egen binr p 30 minuter 113. Mest C, sm delar i assembler 114. Behlla funktionalitet

  • Simulatorer testar hgnivkod utan hrdvara

115. Distribuerat byggsystem (160 byggen p 100 sekunder) 116. Nedladdningsbara binrer eftervarjecommit 117. Bug tracker 118. 119. Playback

  • Codecs(MP3, Ogg Vorbis, WAV, MPC, AC3, AAC, WMA, ADX, Speex, Cook, ATRAC3, AIFF, FLAC, ALAC, Wavpack, Shorten, Monkey's audio, SID, MOD, NSF, SPC, MIDI, GBS, SAP)

120. Gapless playback 121. 5-band fully-parametric equalizer, och crossfeed 122. Advancerad crossfading 123. Cuesheet support 124. Album Art Support 125. Tillgnglighet

  • tagdatabas eller filsystem

126. Unicodesupport och fonter 127. Sprk! 128. Talat interface 129. Target-specifika detaljerade 200+ sidiga manualer! 130. Icke-playback (aka rubbish)

  • Themes

131. 100 plugins/apps 132. Games, including Doom 133. Emulators 134. MPEG videos 135. View pictures 136. och mer! 137. Folk gillar skins 138. Standing on the shoulders...

  • libmad, wavpack, ffmpeg, Ogg Vorbis, liba52, Speex, libfaad, Doom, gnuchess, gnuboy, Pacman Instructional Emulator, Spectemu, libmpeg2, Game_Music_Emu, OpenSPC DSP emulator, ALAC decoder, UCL, iPod Linux, Vision-8 Emulator, robotfindskitten, libmtp, asap, libpng

139. Team Rockbox

  • 90+ committers, 500 named contributors

140. 900K lines of code 141. IRC 142. Distribuerade beslut 143. Rockbox Steering Board 144. Devcons! 145. This is one of the largest open-source teams in the world, and is in the top 2% of all project teams on Ohloh. 146. Policies

  • GPL v2 or later

147. Lagligt 148. Real name policy 149. Inga anonyma bidrag 150. Vi avrder frn piratkopiering 151. Ltt att installera

  • Rockbox Utility

152. Linux, Windows och Mac 153. Sandisk Sansa c100, Onda VX747, SanDisk Sansa Fuze, Sandisk Sansa Clip v1, iAudio M5, Archos FM Recorder, Cowon iAudio 7, iAudio X5, Apple iPod Mini 2nd gen, Apple iPod color/photo, Archos Recorder V2, Onda VX767, Logik Dax, Philips GoGear HDD6300, Samsung YH-925, Olympus M-Robe 500, Apple iPod 3rd gen, SanDisk Sansa c200, Tatung Elio, Archos Ondio FM, iriver H100/H115, Archos Recorder, Apple iPod Nano 2nd gen, iriver H120/H140, Archos Ondio SP, iriver H10 5GB, Philips GoGear SA9200, Philips GoGear HDD1800, Sandisk Sansa m200, Toshiba Gigabeat F/X, SanDisk Sansa e200 v2, Archos Jukebox 5000, Samsung YH-820, Apple iPod Nano 1st gen, iriver H320/H340, Creative ZVM, Apple iPod 4th gen gray, Cowon D2, Meizu M6, Archos Jukebox 6000, Toshiba Gigabeat S, Apple iPod Video 60 GB, Olympus M-Robe 100, Apple iPod 1st and 2nd gen, Samsung YH-920, Apple iPod Video 30 GB, Apple iPod Mini 1st gen, iAudio M3, Sandisk Sansa c200v2, iriver H10 20GB, Philips GoGear HDD1600, SanDisk Sansa e200 154. torn! 155. Som fan!