Telegram Web Link
AM Debug v4.0.5 Run#3063

refactor: modify backup framework to add support for the upcoming backup v5

Also added tests for v4 backups to prevent breaking compatibility in the future.

Signed-off-by: Muntashir Al-Islam <[email protected]>
❀2πŸ‘2
AppManager_v4.0.5-DEBUG#3063.apk
29.8 MB
πŸ‘7πŸŽ‰3❀1πŸ”₯1
AM Debug v4.0.5 Run#3064

refactor: modify backup framework to add support for the upcoming backup v5 2/3

Signed-off-by: Muntashir Al-Islam <[email protected]>
πŸ‘3❀1
AM Debug v4.0.5 Run#3065

refactor: modify backup framework to add support for the upcoming backup v5 3/3

Signed-off-by: Muntashir Al-Islam <[email protected]>
πŸ‘4
AM Debug v4.0.5 Run#3066

backup: enable backup v5 in debug mode

Signed-off-by: Muntashir Al-Islam <[email protected]>
πŸ‘3
AM Debug v4.0.5 Run#3067

backup: add support for ADB backup

A new backup option, "ADB data", has been added. This option supersedes the
"Internal data" option and the "External data" option. If the option is enabled,
an AB formatted backup is taken instead of internal or external storage backup.
The backup file takes the usual data<numeric> filename with .ab extension (and
other extensions depending on the encryption method).

Signed-off-by: Muntashir Al-Islam <[email protected]>
πŸ‘4
App Manager | DEBUG
AM Debug v4.0.5 Run#3067 backup: add support for ADB backup A new backup option, "ADB data", has been added. This option supersedes the "Internal data" option and the "External data" option. If the option is enabled, an AB formatted backup is taken instead…
Only enabled in debug mode. For now, App Manager does not check if a particular app allows backup or not. In future, if an app doesn't allow backup, it'll fall back to the other two options (if available).
πŸ‘5πŸ”₯1
The backups (from v5) are now stored inside the backups folder, thereby, reducing the clutter in the primary directory. If you choose to enable encryption (which will be mandatory in the future), all an adversary will see are the info_v5.am.json and icon.png files. The info_v5.am.json file contains only the generic and essential info (in the picture above) making it impossible for an adversary to determine the backup contents. The icon.png file has been slightly modified to prevent any form of hash matching attack. The attacker can still view the file manually to determine app though. In the future, I'll introduce a flag to allow encrypting the icon.png file too so that you can safely and securely keep backups of your sensitive apps in a world where govt imposed regulations seems to be becoming a growing concern compared to common adversaries.
πŸ‘7πŸ”₯3❀2
Technically, it's also possible to transform a regular ADB backup into AM formatted backup and vice versa, but it is only applicable for regular ADB backup, and not the key-value backups due to API limitations. However, even then, an ADB backup (AB) is very subtle and limited compared to a backup taken by App Manager. But we can still convert from one to another for portability's sake. adb backup is a legacy feature which may be removed in the future but not likely any time soon.
πŸ‘4
AM Debug v4.0.5 Run#3068

backup: check if the given package can be backed up using ADB

If the package cannot be backed up using ADB, it falls back to "Internal data"
and "External data".

Signed-off-by: Muntashir Al-Islam <[email protected]>
πŸ‘2❀1
AM Debug v4.0.5 Run#3070

backup: add tests for AB to AM and AM to AB conversion

In order to ensure consistency among the backups, ADB/Android full backup (AB)
to App Manager (AM) formatted backup and vice versa needs to be ensured. The AB
backup created by App Manager via ADB backup API is different from a regular
ADB backup in the following way:
1. It does not take backup of the APK files or OBB files, because they are
handled separately by App Manager. This does not affect the backup, however.
2. Each backup (.ab) file contains backup of just one application package,
because App Manager always takes backup in a per-package basis.
3. No backup password should be given in the backup prompt that the user
receives. App Manager handles the necessary encryption using its own backup
scheme. Besides, Android backup still uses AES/CBC/PKCS5Padding algorithm
for backups which is vulnerable to padding oracle attacks (CWE-326).

Signed-off-by: Muntashir Al-Islam <[email protected]>
πŸ‘2
App Manager | DEBUG
AM Debug v4.0.5 Run#3070 backup: add tests for AB to AM and AM to AB conversion In order to ensure consistency among the backups, ADB/Android full backup (AB) to App Manager (AM) formatted backup and vice versa needs to be ensured. The AB backup created…
What is the use of this, you may ask. This offers a certain level of interoperability between App Manager and ADB backups which may have many uses. One particular that I can think of now is converting a backup taken in root mode in a different device and restore it in another device in ADB mode. This is, of course, assuming that the app supports regular backup/restore. That being said, many mainstream apps do not support ADB backups and some only supports key-value backups (which cannot be converted to App Manager-style backups).
πŸ‘3❀1
AM Debug v4.0.5 Run#3072

refactor: enable new features in non-debug builds

- "filter" profile (via profile type selector)
- "Use system font" setting (in Appearances settings)
- "ADB data" flag for backups
- Backup metadata v5

Signed-off-by: Muntashir Al-Islam <[email protected]>
πŸ‘3❀1
2025/10/31 06:32:58
Back to Top
HTML Embed Code: