Here is a little post to answer questions:
Can we currently install unsigned apps?Technically we can install unsigned packages, but not apps itself the thing that launches them has signature checks.
If we can install unsigned apps why can't we run them?The "Launcher" binary, which delegates the process of running an app to the right runtime. Has a signature check internally that checks the validity of the whole application on startup, and prevents it to run. The only way to run unsigned apps is to have an insecure device
How can i make an app for Blackberry without being able to sign native apps?Even if we cannot compile apps that can be executed natively on device we have the following alternatives to build apps:
- Android 4.3 APK: Due to the Android Runtime available on blackberry (Example Projects: Legacy App (https://github.com/FerreiraPablo/BlackberryLegacyAndroidExample),Web Wrapper (https://github.com/FerreiraPablo/BlackberryAndroidWebWrapperExample))
- Web Applications: Any Web App compatible with ES2014 should work fine, with a lot of available APIs like local notifications, workers, filesytem access and more. Is a really viable option for development, if you can get used to the lack of classes and arrow functions.
- C++ Console Applications: Using the Blackberry NDK is possible to run native C++ Binaries, that can be executed via Term49.
I cannot compile an app and send it to my device in Momentics, why? You need a developer account from Blackberry and that service is down, and the signing server is also down. And cannot be spoofed because in the end the device OS requires a signature confirmed by Blackberry.
Can i make a backup of my device? A native system backup, NO, is not possible the method to do that rely on the BBID Servers which are down. You can copy your files, and maybe even dump some partitions but you probably cannot put them back together. Maybe, try it.
Where i can get the firmware images (The Signed Images)? You need to extract them with tools like Darcy BB Tools or Sachesi, from an Autoloader a little google search should guide you in the right direction. Make sure to use an Autoloader compatible with your specific device.
Can i make CLI applications for the Blackberry? Yes absolutely, and access a lot of native functionality with pretty good performance overall, There are many ways:
- Python 3.2 : Included in the blackberry, with access to many native features due to QNX Packages integrated on the device.
- BBNDK: Which you can find online, that allow you to build native C++ Console applications for Blackberry.
Also other available ways made by the community. and you can run them using Term49.
Can we change the Insecure Device Flag somehow? Currently no, we know that it is on boot0 which is read only.
Why don't we replace the "Launcher" binary so it allows to run unsigned applications?Because its located on the RCFS Partition of the system, which is read only and has a signature, any try of modifying file on this partition will result into a device not booting.
But how do we have custom roms if we cannot modify the system itself?All of the ROM Mods we have currently leave the RCFS Partition to avoid breaking the signature, and modify the mostly unprotected QNX6 Partition which mostly contains user data directories and settings.
Is it possible to update the Android Runtime? No, its a signed application, and modifying it or installing it means breaking it.
Can we root the BB10 Devices? No, is not currently possible to access root privileges, but thanks to Oleksandr one of our greater contributors is possible to impersonate any other user and group in the system.
Is it possible to downgrade a BB10 Device?Yes it is, Easy Downgrade Guide (https://forum.waitberry.com/index.php/topic,3.0.html) and another guide (https://bb10wiki.github.io/downgrade.html)
Is it possible to use BBID in today?No, servers have been down for years now, and tries to spoof and create servers have failed due to many certificated validations and DNS Server requirements. It could be done in the future tho, but it requires a lot of reverse engineering.