Skip to content

Instantly share code, notes, and snippets.

@ninjaprawn
Last active May 18, 2021 17:12
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ninjaprawn/5add99f788800cc9590d to your computer and use it in GitHub Desktop.
Save ninjaprawn/5add99f788800cc9590d to your computer and use it in GitHub Desktop.
Trying to "hack" the Pebble Time

#Introduction I recently got a Pebble Time for my cake day, and wanted to see what I could do with it outside watchfaces and apps.

#Before everything else I was able to accomplish all of below by using Pebble Firmware Utils by MarSoft (https://github.com/MarSoft/pebble-firmware-utils). Python 2.7 is required to get the firmware files. Run the following:

cd pebble-firmware-utils
python downloadFirmware.py
python unpackFirmware.py [file_name].pbz
cd pebble_firmware

#Hack 1: Changing strings The first thing I was able to do was change the string "BLUETOOTH" in settings to something else. I discovered the string by running:

strings tintin_fw.bin

I found some words, including BLUETOOTH. I was able to change this string by opening it in Hex Fiend, and changing the string. NOTE: The new string must be less than or equal to the length of the old string. If less than, add spaces as padding. Otherwise the Pebble will go into SOS mode. I then repacked the firmware by running:

python repackFirmware.py [file_name].pbz

And uploaded it to my Pebble.

#Hack 2 (it's just playing around stuff) Going to be using binwalk to find things in the binary.

binwalk tintin_fw.bin

Outputs only 2 entries, others are invalid:

DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------
541643        0x843CB         LZMA compressed data, properties: 0xB8, dictionary size: 524288 bytes, uncompressed size: 12599299 bytes
550655        0x866FF         LZMA compressed data, properties: 0xC0, dictionary size: 33554432 bytes, uncompressed size: 15728640 bytes

Going to try and extract them:

binwalk -e tintin_fw.bin

Files are in 7z, can't extract for some reason. Mac error: "Error on decrunching"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment