Hacking firmware for devices - what are the difficulties?

fuzzybabybunny

Moderator<br>Digital & Video Cameras
Moderator
Jan 2, 2006
10,455
35
91
I'm frankly sick and tired of the stupid restrictions that device manufacturers place on their own devices, restrictions that can easily be lifted by a simple change to perhaps one line of code.

For example, I own a Panasonic Lumix GH3 digital camera.

It has a mode where I can set it to shoot 7 shots at 7 different exposures in a single burst, each exposure set 1 EV apart, but that's the highest it will go.

It would be a very very simple matter to modify the firmware to allow the camera to shoot 9 or 11 different exposures instead of 7, and to spread each exposure apart by 2 EV.

I just don't understand this. Is the firmware somehow encoded so that outside programmers can't understand it? Is it passkey protected or something?

These restrictions are entirely software-related and have nothing to do with hardware limitations. I'm to the point of wanting to pay someone just to hack into it and code in some more sensible features into the firmware...
 

EagleKeeper

Discussion Club Moderator<br>Elite Member
Staff member
Oct 30, 2000
42,591
5
0
Have you contracted Panasonic about this issue?

You hack into any firmware - kiss any warranty goodbye
 

Aluvus

Platinum Member
Apr 27, 2006
2,913
1
0
Perhaps this will provide some perspective: the only difference between "firmware" and "an operating system" is the device it is installed on. It's just a different word, a mostly arbitrary distinction. Traditionally firmware has referred to the software on smaller, simpler devices (and in turn, "firmware" is usually smaller and simpler); but for example modern phones are certainly bending the definition.

So an analogous question would be: why doesn't someone just hack Windows to fix all the annoying parts? And the answer: because it is hard.

It would be a very very simple matter to modify the firmware to allow the camera to shoot 9 or 11 different exposures instead of 7, and to spread each exposure apart by 2 EV.

It is always easy to look at someone else's design and describe a "simple" change.

The camera may run into throughput issues when trying to take more than 7 pictures in succession. There may be edge cases that they dodged with those restrictions. Providing more options means sorting out a user interface to do that, which they may have simply not wanted to bother with.

Is the firmware somehow encoded so that outside programmers can't understand it?

Well it's normally only released to the public as a compiled binary, not source... so yes, basically. That is a nontrivial obstacle to get past.

Is it passkey protected or something?

Some devices will only run code that was digitally signed by the original creator of the device, but I don't know of any cameras that do that.
 

Markbnj

Elite Member <br>Moderator Emeritus
Moderator
Sep 16, 2005
15,682
13
81
www.markbetz.net
It is always easy to look at someone else's design and describe a "simple" change.

The camera may run into throughput issues when trying to take more than 7 pictures in succession. There may be edge cases that they dodged with those restrictions. Providing more options means sorting out a user interface to do that, which they may have simply not wanted to bother with.

This. You have no idea how complicated it will be to make that change. Most popular cameras, by the way, have some sort of hacked firmware out there, which you run at your own risk. Canon's were always good on this front since there is a large community and you can run modded firmware non-destructively just by making a memory card bootable.

And just to be clear, modifying firmware for which you don't have source code is probably one of the most difficult programming challenges, and would normally be undertaken only by someone with a very thorough understanding of software and hardware at a low level.
 

fuzzybabybunny

Moderator<br>Digital & Video Cameras
Moderator
Jan 2, 2006
10,455
35
91
No, I haven't contacted Panasonic. I feel that it would be futile - my suggestion would probably never reach the team in charge of camera development.

Ultimately everything is hackable, but it can be difficult. Some firmware has to be signed to be run. Some firmware is embedded on a chip and can't be upgraded via a connection.

Your camera sounds quite hackable: http://nofilmschool.com/2013/03/panasonic-gh3-firmware-v-1-1-hack-soon/

Perhaps you can find the hackers and get them to add those changes.

The person trying to hack the firmware, the last I heard, the only hacker working on this, Vitaliy_Kiselev, is waiting for a dump or something. I have no idea what a dump is.

Perhaps this will provide some perspective: the only difference between "firmware" and "an operating system" is the device it is installed on. It's just a different word, a mostly arbitrary distinction. Traditionally firmware has referred to the software on smaller, simpler devices (and in turn, "firmware" is usually smaller and simpler); but for example modern phones are certainly bending the definition.

So an analogous question would be: why doesn't someone just hack Windows to fix all the annoying parts? And the answer: because it is hard.

It is always easy to look at someone else's design and describe a "simple" change.

The camera may run into throughput issues when trying to take more than 7 pictures in succession. There may be edge cases that they dodged with those restrictions. Providing more options means sorting out a user interface to do that, which they may have simply not wanted to bother with.

Well it's normally only released to the public as a compiled binary, not source... so yes, basically. That is a nontrivial obstacle to get past.

Some devices will only run code that was digitally signed by the original creator of the device, but I don't know of any cameras that do that.

Ah, I'm beginning to see the difficulty. I didn't really know the definition of source code and compiling. From what I understand, the only thing that the public has is a binary, which I guess is literally just a file with a bunch of 0's and 1's. It's unintelligible except to the hardware device that is programmed to be able to understand it. What people need is the source code, which is code that human programmers can actually read and edit. After the source code is made, it is compiled, basically translated down into those 0's and 1's that the hardware understands, and then loaded onto the hardware.

So any kind of "hacking" of the firmware could require reverse-engineering of the binary / machine code into something that a programmer could actually understand and manipulate. This, to me, sounds impossible, unless you had access to the coding environment and tools at Panasonic Inc.

As for the camera itself not being able to handle the changes, it is highly, highly unlikely. Adding things like 4K video recording and focus peaks I can understand as being very risky and taxing of the hardware, but I assure you that being able to shoot photos at a wider exposure spread is trivial on the hardware (the camera can already shoot 20 full resolution photos a *second*). In fact, I believe people can buying a corded programmable remote control that can do what I want (at least on Canon cameras), but at the cost of an additional piece of hardware.

This. You have no idea how complicated it will be to make that change. Most popular cameras, by the way, have some sort of hacked firmware out there, which you run at your own risk. Canon's were always good on this front since there is a large community and you can run modded firmware non-destructively just by making a memory card bootable.

And just to be clear, modifying firmware for which you don't have source code is probably one of the most difficult programming challenges, and would normally be undertaken only by someone with a very thorough understanding of software and hardware at a low level.

Canon's are the only ones I know of that allow Magic Lantern. Nikon doesn't. The old Panasonic GH2 had hackable firmware but the GH3 has been out for a while now with no firmware in sight.
 
sale-70-410-exam    | Exam-200-125-pdf    | we-sale-70-410-exam    | hot-sale-70-410-exam    | Latest-exam-700-603-Dumps    | Dumps-98-363-exams-date    | Certs-200-125-date    | Dumps-300-075-exams-date    | hot-sale-book-C8010-726-book    | Hot-Sale-200-310-Exam    | Exam-Description-200-310-dumps?    | hot-sale-book-200-125-book    | Latest-Updated-300-209-Exam    | Dumps-210-260-exams-date    | Download-200-125-Exam-PDF    | Exam-Description-300-101-dumps    | Certs-300-101-date    | Hot-Sale-300-075-Exam    | Latest-exam-200-125-Dumps    | Exam-Description-200-125-dumps    | Latest-Updated-300-075-Exam    | hot-sale-book-210-260-book    | Dumps-200-901-exams-date    | Certs-200-901-date    | Latest-exam-1Z0-062-Dumps    | Hot-Sale-1Z0-062-Exam    | Certs-CSSLP-date    | 100%-Pass-70-383-Exams    | Latest-JN0-360-real-exam-questions    | 100%-Pass-4A0-100-Real-Exam-Questions    | Dumps-300-135-exams-date    | Passed-200-105-Tech-Exams    | Latest-Updated-200-310-Exam    | Download-300-070-Exam-PDF    | Hot-Sale-JN0-360-Exam    | 100%-Pass-JN0-360-Exams    | 100%-Pass-JN0-360-Real-Exam-Questions    | Dumps-JN0-360-exams-date    | Exam-Description-1Z0-876-dumps    | Latest-exam-1Z0-876-Dumps    | Dumps-HPE0-Y53-exams-date    | 2017-Latest-HPE0-Y53-Exam    | 100%-Pass-HPE0-Y53-Real-Exam-Questions    | Pass-4A0-100-Exam    | Latest-4A0-100-Questions    | Dumps-98-365-exams-date    | 2017-Latest-98-365-Exam    | 100%-Pass-VCS-254-Exams    | 2017-Latest-VCS-273-Exam    | Dumps-200-355-exams-date    | 2017-Latest-300-320-Exam    | Pass-300-101-Exam    | 100%-Pass-300-115-Exams    |
http://www.portvapes.co.uk/    | http://www.portvapes.co.uk/    |