If an activity involving sensitive information is exported, it could potentially bypass authentication mechanisms, allowing unauthorized access.
Example:
<activity android:name="com.example.demo.HiddenActivity" android:exported="true">
</activity>Test with adb:
adb shell am start -n com.example.demo/com.example.demo.MainActivityTest with a custom android application:
Intent intent = new Intent();
intent.setClassName("com.example.myapplication", "com.example.myapplication.SecondActivity");
startActivity(intent);adb backup allows you to create a backup of an
Android device’s data. It can back up app data, system setting, etc.
Testing
Requirement:
android:allowBackup="true" in the
AndroidManifest.xml
# Backup one application with its apk
adb backup -apk <package_name> -f <backup_name>.ab
# Restore backup
adb restore <backup_name>.ab# Alternative way
adb shell
bu backup <package_name>
# Restore
adb shell
bu restore backup.abThe android:debuggable attribute indicates if the
application is debuggable and it is set to false by
default [↗].
Check android:debuggable="true" in the
AndroidManifest.xml.
Note: You cannot release a debuggable app on Google Play Store [↗] [↗].
Impact
Debug an application. See Debug application code
You can use run-as command to read and extract,
without root privileges, all files inside the app
internal storage. [↗].
adb shell
run-as com.package idExtract data from internal storage
sh adb exec-out run-as <package_name> tar c . > output.tar
Requirements:
setWebContentsDebuggingEnabled is set to trueandroid:debuggable="true"
(setWebContentsDebuggingEnabled is enabled
automatically if the app is declared). More info: setWebContentsDebuggingEnabled.Testing
chrome://inspect/#devicesinspect.