Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Learning Embedded Firmware Hacking [closed]

I have a Samsung TV with connected via optical output to my DTS sound system.TV has ARM CPU and an embedded linux operating system. It comes with an embedded media player.But internal media player doesn't pass DTS audio to my sound system. it only passes-though AC3 and other formats. I want to hack TV's firmware to pass-though DTS audio to my sound system.

What are the books, learning resources etc. to start this kind of hobby project ? I have never programmed on embedded platform. What should I know before the start ? For example Should I know audio programming, electronics, Linux Kernel, C Programming ? Any recommendation would be helpful.

Actually there is a whole dedicated sourceforge project related to firmware hacking on Samsung TVs called SamyGO. But When I asked one of main firmware hacker in this site, I didn't get a reply from him. So I thougth someone here can answer to my question.Thanks..

UPDATE :

How much electronics knowledge should I have for this kind of job ? (I have a C.S degree and basic knowledge about electronics, logic design etc.). Should I be a linux kernel or C expert ?

Actually I have always wondered how embedded device hackers like George Hotz gain this kind of knowledge.Because it is a closed system, they don't have any documentation, how can they do this? Do they learn it from school?(I don't think so). If they do, What do they study? Which books do they use? If they don't, how ?

like image 256
caltuntas Avatar asked Jun 30 '11 06:06

caltuntas


People also ask

Can embedded system be hacked?

Attackers have hacked embedded systems to spy on the devices, to take control of them or simply to disable (brick) them. Embedded systems exist in a wide variety of devices including Internet and wireless access points, IP cameras, security systems, pace makers, drones and industrial control systems.

What is embedded firmware engineer?

As As an Embedded Firmware Engineer, you will help architect embedded systems. You will have to implement software of embedded devices from requirements to production and commercial deployment while also analyzing and enhancing efficiency, stability and scalability of system resources.

What is embedded firmware?

Embedded firmware is the flash memory chip that stores specialized software running in a chip in an embedded device to control its functions. Firmware in embedded systems fills the same purpose as a ROM but can be updated more easily for better adaptability to conditions or interconnecting with additional equipment.


2 Answers

I came across this excellent blog post on Reverse engineering firmware for Linksys router,

http://www.devttys0.com/2011/05/reverse-engineering-firmware-linksys-wag120n/

It explains in detail how to reverse engineer the firmware, get to the file system in clear steps. If you can follow through the steps, you would get a really good insight into what it takes to hack a firmware.

I don't think you require lot of electronics knowledge to hack a firmware, basic 101 level knowledge would suffice. If you understand basic OS and systems in general then you should be able to work your way through.

like image 56
Chintan Parikh Avatar answered Sep 28 '22 02:09

Chintan Parikh


Hacking an undocumented system is nowhere a trivial task. You definitively should learn C and practice embedded programming and a good knowledge about electronics will help a lot (you'll have to look at the circuit and guess how it works, if you can't find any docs on google). My advice is: get some (documented) ARM board to start hacking on (beagleboard/pandaboard comes to mind). You'll learn a lot about Linux, C, Kernel development and even electronics if you want to. Trying to dive directly on a TV system will probably be very frustrating for you.

UPDATE: At the electronics side, you don't need to be an electronic engineer. Study a lot of digital electronics and understand how CPU's, buses and commom peripherals work. Most of the time you can look at any chip code and search for it datasheet, but sometimes they're designed specially for one device, or have no identification at all. In this case, you'll need a logic analyzer to reverse engineer it and try to understand how to "talk" to it. You can learn CS and electronics from books, but real reverse engineering can only be learnt by experience (of course, learning how others do things helps a lot). Go on and open devices you find interesting, try to understand how they work and change things on it. You'll for sure burn some of them (begin with the cheaper ones), but it's the best way to learn how to hack devices.

Just take care to not die while messing with high voltage devices (and LCD TV do have some HV parts)

like image 30
Vitor Avatar answered Sep 28 '22 02:09

Vitor