Pebble Watch Faces - pebble-watch

I'm trying to create my own Pebble watch faces. It appears no one has done this yet and there's no SDK.
So far I've figured out that the watch faces are hosted here:
http://pebble-static.s3.amazonaws.com/watchfaces/index.html
Each watch face is a .pbw file which is a zip file. There's 3 files inside: app_resources.pbpack, manifest.json and pebble-app.bin.
The JSON file includes a list of all the parts of the watch face (images), which appears to be an app. The .bin file is probably the executable binary and the .pbpack file is probably a bundle of all the resources. I can't figure out how to extract the .pbpack file. I'm also not sure what to do with .bin file.
I'm trying to post my progress here: http://hackingpebble.tumblr.com
Any thoughts on what to do with the .pback and .bin files?

The SDK is now live. developer.getpebble.com

I've begun looking at the .pbpack and the .bin in a hex editor and it's quite odd. First with the .pbpack I've noticed a few patterns, in between each major chunks of bits, there is a bunch of 0's and then a 45 00 54, which I am guessing is acting like a delimiter. I tried searching the file's hex signature to see if I would get lucky to find out that it was some obscure file format but got nothing. Now with the .bin I figured I wouldn't get anywhere with the hex editing, however we do know what processor it is designed to run on (ARM Cortex-M3), which means we can reasonably assume that using a decompiler designed for arm processor files we can read it. I'm researching into finding one, however it's a bit late at night for me to do too much more work, so I figured I'd give you what I have so far.
I know this is not a great response, but I figured maybe it'll help you with it what you're trying to do.

Since there is no Pebble company anymore, new community project Rebble took over.
It has new SDK on Dev portal.

I think you guys might be looking toward something like Hopper. This should give you some raw data.

Related

is there any way to change .exe file into .apk?

i made a python script with tkinter, python and i turned it into a program folder with .exe file that woks correctly using auto py to exe .
I m asking if there is a similar solution to turn this exe folder into an apk file and thanks
I think I understand the substance of your question.
I am not too much in the style of putting -1 on questions because I believe that no question is good or bad.
Be aware that there is no miracle method to transform your script into an android application. There are solutions to do things with python and android (notably Kivy) but not with Tkinter ...
Happy development!
See you soon
Actually there are ways of changing exe files to apk, but some controls (touch, scoll) doesn't always work as you might expect it to.
You can find how to do this here although I wouldn't exactly recommend it

How do I upload an image onto a pycharm project?

I am making a chess program for school. I have the first part of the code, but I need the images for the pieces to be in the project files. I can open my files within the project, but annoyingly cannot find a way to save them in the project.
I have had a look around, but haven't found any help on it online, making me think I must be missing something really simple. Your help would be very much appreciated.
Found the answer:
just need to upload it into the files along with the main venv library and the main program.
Simples.

How to Hide the source code in xcode?

I am writing an app using applescriptobjc in xcode, and while making the archive I see the source code is still inside the package, is there a way to hide it or transform it completely to binary code?
Thanks
I may be a year late to the discussion but I asked the same question around the same time as you did last year and hope that the answer I got will satisfy your own question. Here is an extract answer from
my own question:
When you save the AppleScript file you have the option of checking "Run Only" - in that case the script is compiled into a new form that can be run exactly as the original script, but it is not meant for further editing/development.
It doesn't mean that the run-only file is complete protected or non-readable, but parts of your code, comments, etc. are not included or not easily readable.
If you want to do more you'll need a code obfuscator if you still want to use AppleScript - however I'm not sure if one exists on the market, or you need to develop your own.
As you can see, a simple way to do this is:
Open your final AppDelegate.applescript file in Script Editor on the mac.
Select: File > Export...
2.1. Don't change the file name but override the archive file
2.2. BEFORE SAVING: Choose Run-only checkbox from the save options but leave the File Format as Script
Now your file cannot be opened in plain text as it is set to Run-only. Please remember that it is not a 100% read-proof solution, but works great for small projects (provided you are not rushing the final export and don't forget to perform the above mentioned steps before handing it over to the customer).
I hope you can make the most of this answer and still deem it useful. Let me know how you get on or whether you have any more questions. Perhaps you have since found a far better solution (or just an alternative), if so, I am still looking for the next best thing in source code protection.
In Xcode 9.2. (and maybe earlier versions) you can find under Build Settings the item OSACompile and can choose to compile to an executable only directly from Xcode.

XNA 4.0 resources not found

I'm using XNA 4.0 with VS 2010. When I start a new project, a decent amount of the resources have broken links; other sites where people have encountered this problem suggest manually fixing the file paths, which works but is bothersome when I'm creating several new projects (I'm following various tutorials to learn my way around XNA). Does anyone know if there is a way to fix the underlying problem, rather than changing the file paths for each new project?
Are you trying to use Contents of other project in one solution ? Than you add to your Content Project Reference's the external Content you want to use. Jon's answer is already works fine, I already prefer Jon's answer :)
If you put your resources in the Content directory, then copy the Content directory to your new project, it should retain all the files and the links should still be good.
Not sure what the problem is exactly, possibly provide more information on the problem so that we can get a better idea of what is wrong.

Programmatically grabbing DLL manifest information with Python or other common scripting language / tool

I am having a problem like this one:
http://svn.haxx.se/tsvnusers/archive-2008-07/1051.shtml
Except that the app is our own (sorry, won't give you confidential details). Although, it is not our fault that SideBySide is so flawed.
Anyhow, version X works and version Y bombs right at the start. I am facing the task of walking through a bunch of directories and up to 100 dll files to figure out what the difference may be.
It looks like there is a conflict between two dll files which load two different versions of another dll file.
I would appreciate your help with a Python / other snippet for extracting a manifest from a given file. Thanks!
EDIT: By the way, I did find a way: I can run the following command (mt.exe is part of Visual Studio 2008 Tools): mt.exe -inputresource:MyFile.dll;#2 -out:MyFile.dll.extracted_manifest.txt.
This is a good start, but there are two problems with it:
There can be multiple manifests embedded (In my understanding): #1, #2, #3, ... - I do not know which ones and how many ahead of time. What is the maximum?
If I take a guess and run mt.exe with that parameter, I get a failure. Dealing with these errors would make the script longer.
Could someone shed some light on this please?
ANOTHER EDIT: Ah, never mind! 1 is for .exe, 2 is fo dll and that is it. I guess I know what to do now. However, if you have a solution which beats mine, or if you have automated calls to mt.exe from a Python / other script, then feel free to share it.
A manual brute-force (clicking) approach worked faster. Took only a few hours.

Resources