AM Debug v4.0.5 Run#3056
1-click ops: improve performance of "back up apps with changes"
Calculating hash values for each directory can be very time consuming. Instead,
a greedy approach has been adopted that looks up to depth 3 recursively to find
changes in the timestamp (access and/or modification time). While this approach
may miss a few cases, it's less time consuming that the previous method.
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
1-click ops: improve performance of "back up apps with changes"
Calculating hash values for each directory can be very time consuming. Instead,
a greedy approach has been adopted that looks up to depth 3 recursively to find
changes in the timestamp (access and/or modification time). While this approach
may miss a few cases, it's less time consuming that the previous method.
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
π3β€1π₯1
AM Debug v4.0.5 Run#3057
backup: back up randomized icon instead of the actual icon
Even with the upcoming secure backups with minimal metadata, an attacker can
infer the backed up package name by matching the icon hash with the hash of the
icons extracted from the application of interest. By randomly modifying the MSB
part of the colors in the icon, App Manager effectively prevents any partial
hash matching attacks. At the same time, it also attempts to preserves visual
integrity by selecting a color that blends with its neighbors.
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
backup: back up randomized icon instead of the actual icon
Even with the upcoming secure backups with minimal metadata, an attacker can
infer the backed up package name by matching the icon hash with the hash of the
icons extracted from the application of interest. By randomly modifying the MSB
part of the colors in the icon, App Manager effectively prevents any partial
hash matching attacks. At the same time, it also attempts to preserves visual
integrity by selecting a color that blends with its neighbors.
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
π3
AM Debug v4.0.5 Run#3058
backup: use cache directory for storing unencrypted backups
When encryption is enabled, App Manager used to use the backup directory for
encryption and decryption, which had several issues:
1. Any adversary watching the directory can detect and obtain a reference to the
unencrypted file, thereby, can also access the unencrypted data
2. For folder that are synced to clouds, creation of unencrypted files would
trigger a sync which would waste bandwidth.
Storing the unencrypted data this way ensures that an adversary cannot access
those transient files without privileged permissions.
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
backup: use cache directory for storing unencrypted backups
When encryption is enabled, App Manager used to use the backup directory for
encryption and decryption, which had several issues:
1. Any adversary watching the directory can detect and obtain a reference to the
unencrypted file, thereby, can also access the unencrypted data
2. For folder that are synced to clouds, creation of unencrypted files would
trigger a sync which would waste bandwidth.
Storing the unencrypted data this way ensures that an adversary cannot access
those transient files without privileged permissions.
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
π4
App Manager | DEBUG
AM Debug v4.0.5 Run#3058 backup: use cache directory for storing unencrypted backups When encryption is enabled, App Manager used to use the backup directory for encryption and decryption, which had several issues: 1. Any adversary watching the directoryβ¦
I've forgot to cleanup the directory after restoring. Will do in the next commit.
π3β€1
AM Debug v4.0.5 Run#3059
backup: cleanup temporary path after completing backup/restore
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
backup: cleanup temporary path after completing backup/restore
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
β€2π2
AM Debug v4.0.5 Run#3060
refactor: move MetadataManager.Metadata to BackupMetadataV2
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
refactor: move MetadataManager.Metadata to BackupMetadataV2
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
π₯4β€1
AM Debug v4.0.5 Run#3061
backup: apply Magisk hide/denylist rules only if it is enabled
In App Info tab, adding a package or process to Magisk hide/denylist continues
to enable the feature automatically since it is done actively.
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
backup: apply Magisk hide/denylist rules only if it is enabled
In App Info tab, adding a package or process to Magisk hide/denylist continues
to enable the feature automatically since it is done actively.
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
π4β€1π₯1
AM Debug v4.0.5 Run#3062
interceptor: Add workaround for parsing flags in Android < 15
https://issuetracker.google.com/issues/265489457
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
interceptor: Add workaround for parsing flags in Android < 15
https://issuetracker.google.com/issues/265489457
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
π3β€2
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 <muntashirakon@riseup.net>
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 <muntashirakon@riseup.net>
π2β€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 <muntashirakon@riseup.net>
refactor: modify backup framework to add support for the upcoming backup v5 2/3
Signed-off-by: Muntashir Al-Islam <muntashirakon@riseup.net>
π3β€1