├── .nojekyll ├── app ├── .gitignore ├── dynamic.jar ├── out │ └── classes.dex ├── src │ ├── main │ │ ├── res │ │ │ ├── values │ │ │ │ ├── strings.xml │ │ │ │ ├── themes.xml │ │ │ │ └── colors.xml │ │ │ ├── mipmap-hdpi │ │ │ │ ├── ic_launcher.webp │ │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-mdpi │ │ │ │ ├── ic_launcher.webp │ │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xhdpi │ │ │ │ ├── ic_launcher.webp │ │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xxhdpi │ │ │ │ ├── ic_launcher.webp │ │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xxxhdpi │ │ │ │ ├── ic_launcher.webp │ │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-anydpi │ │ │ │ ├── ic_launcher.xml │ │ │ │ └── ic_launcher_round.xml │ │ │ ├── xml │ │ │ │ ├── backup_rules.xml │ │ │ │ └── data_extraction_rules.xml │ │ │ └── drawable │ │ │ │ ├── ic_launcher_foreground.xml │ │ │ │ └── ic_launcher_background.xml │ │ ├── java │ │ │ └── dev │ │ │ │ └── jamescullimore │ │ │ │ └── android_security_training │ │ │ │ ├── ui │ │ │ │ └── theme │ │ │ │ │ ├── Color.kt │ │ │ │ │ ├── Type.kt │ │ │ │ │ └── Theme.kt │ │ │ │ ├── perm │ │ │ │ ├── PermDemoHelper.kt │ │ │ │ ├── DemoService.kt │ │ │ │ └── DemoProvider.kt │ │ │ │ ├── risks │ │ │ │ └── RisksHelper.kt │ │ │ │ ├── re │ │ │ │ └── ReDemoHelper.kt │ │ │ │ ├── deeplink │ │ │ │ └── DeepLinkHelper.kt │ │ │ │ ├── network │ │ │ │ └── NetworkHelper.kt │ │ │ │ ├── root │ │ │ │ └── RootHelper.kt │ │ │ │ ├── storage │ │ │ │ └── StorageHelper.kt │ │ │ │ ├── web │ │ │ │ └── WebViewHelper.kt │ │ │ │ ├── multiuser │ │ │ │ └── MultiUserHelper.kt │ │ │ │ ├── crypto │ │ │ │ └── CryptoHelper.kt │ │ │ │ ├── DemoReceiver.kt │ │ │ │ └── ClearDataReceiver.kt │ │ └── AndroidManifest.xml │ ├── test │ │ ├── snapshots │ │ │ └── images │ │ │ │ ├── __REHomePreview.png │ │ │ │ ├── __E2EHomePreview.png │ │ │ │ ├── __PermHomePreview.png │ │ │ │ ├── __RisksScreenPreview.png │ │ │ │ ├── __RootScreenPreview.png │ │ │ │ ├── __WebScreenPreview.png │ │ │ │ ├── __DeepLinksHomePreview.png │ │ │ │ ├── __PinningScreenPreview.png │ │ │ │ ├── __StorageScreenPreview.png │ │ │ │ └── __MultiUserScreenPreview.png │ │ └── java │ │ │ └── dev │ │ │ └── jamescullimore │ │ │ └── android_security_training │ │ │ ├── PaparazziConfig.kt │ │ │ └── PreviewTestParameterTests.kt │ ├── vuln │ │ ├── assets │ │ │ └── sensitive.txt │ │ ├── res │ │ │ └── xml │ │ │ │ └── network_security_config_client_vuln.xml │ │ ├── java │ │ │ └── dev │ │ │ │ └── jamescullimore │ │ │ │ └── android_security_training │ │ │ │ ├── risks │ │ │ │ └── VulnRisksHelper.kt │ │ │ │ ├── ExportedService.kt │ │ │ │ ├── root │ │ │ │ └── VulnRootHelper.kt │ │ │ │ ├── perm │ │ │ │ └── VulnPermDemoHelper.kt │ │ │ │ ├── Provider.kt │ │ │ │ ├── network │ │ │ │ └── VulnNetworkHelper.kt │ │ │ │ ├── deeplink │ │ │ │ └── VulnDeepLinkHelper.kt │ │ │ │ ├── crypto │ │ │ │ └── VulnCryptoHelper.kt │ │ │ │ └── re │ │ │ │ └── VulnReDemoHelper.kt │ │ └── AndroidManifest.xml │ ├── secure │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── dev │ │ │ │ └── jamescullimore │ │ │ │ └── android_security_training │ │ │ │ ├── risks │ │ │ │ └── SecureRisksHelper.kt │ │ │ │ ├── perm │ │ │ │ └── SecurePermDemoHelper.kt │ │ │ │ ├── Provider.kt │ │ │ │ ├── deeplink │ │ │ │ └── SecureDeepLinkHelper.kt │ │ │ │ ├── re │ │ │ │ └── SecureReDemoHelper.kt │ │ │ │ ├── network │ │ │ │ └── SecureNetworkHelper.kt │ │ │ │ └── web │ │ │ │ └── SecureWebViewHelper.kt │ │ └── res │ │ │ └── xml │ │ │ └── network_security_config_client_secure.xml │ ├── storage │ │ ├── AndroidManifest.xml │ │ └── java │ │ │ └── dev │ │ │ └── jamescullimore │ │ │ └── android_security_training │ │ │ └── StorageActivity.kt │ ├── e2e │ │ ├── AndroidManifest.xml │ │ └── java │ │ │ └── dev │ │ │ └── jamescullimore │ │ │ └── android_security_training │ │ │ └── E2EActivity.kt │ ├── perm │ │ ├── AndroidManifest.xml │ │ └── java │ │ │ └── dev │ │ │ └── jamescullimore │ │ │ └── android_security_training │ │ │ └── PermActivity.kt │ ├── re │ │ ├── AndroidManifest.xml │ │ └── java │ │ │ └── dev │ │ │ └── jamescullimore │ │ │ └── android_security_training │ │ │ └── REActivity.kt │ ├── risks │ │ └── AndroidManifest.xml │ ├── root │ │ ├── AndroidManifest.xml │ │ └── java │ │ │ └── dev │ │ │ └── jamescullimore │ │ │ └── android_security_training │ │ │ └── RootActivity.kt │ ├── users │ │ ├── AndroidManifest.xml │ │ └── java │ │ │ └── dev │ │ │ └── jamescullimore │ │ │ └── android_security_training │ │ │ └── MultiUserActivity.kt │ ├── pinning │ │ ├── AndroidManifest.xml │ │ └── java │ │ │ └── dev │ │ │ └── jamescullimore │ │ │ └── android_security_training │ │ │ └── PinningActivity.kt │ ├── androidTest │ │ └── java │ │ │ └── dev │ │ │ └── jamescullimore │ │ │ └── android_security_training │ │ │ └── ExampleInstrumentedTest.kt │ ├── web │ │ ├── AndroidManifest.xml │ │ └── java │ │ │ └── dev │ │ │ └── jamescullimore │ │ │ └── android_security_training │ │ │ └── WebActivity.kt │ └── links │ │ ├── AndroidManifest.xml │ │ └── java │ │ └── dev │ │ └── jamescullimore │ │ └── android_security_training │ │ └── DeepLinksActivity.kt ├── build_classes │ └── dev │ │ └── training │ │ └── dynamic │ │ └── Hello.class ├── dev │ └── training │ │ └── dynamic │ │ └── Hello.java ├── proguard-rules.pro └── build.gradle.kts ├── _config.yml ├── abe.jar ├── seminar.jks ├── gradle ├── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties └── libs.versions.toml ├── html └── payload.html ├── server_ecdh_pub.pem ├── server_ecdh.key ├── privapp-permissions-androidsecuritytraining.xml ├── .gitignore ├── frida └── hook_secure_storage.js ├── settings.gradle.kts ├── .well-known └── assetlinks.json ├── docs ├── topics │ ├── README.md │ ├── root │ │ └── README.md │ ├── storage │ │ └── README.md │ ├── perm │ │ └── README.md │ ├── pinning │ │ └── README.md │ ├── e2e │ │ └── README.md │ ├── re │ │ └── README.md │ ├── web │ │ └── README.md │ └── links │ │ └── README.md └── howtos │ ├── rooted-emulator.md │ ├── frida.md │ └── mitmproxy.md ├── gradle.properties ├── gradlew.bat └── README.md /.nojekyll: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | include: [".well-known"] 2 | -------------------------------------------------------------------------------- /abe.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LethalMaus/AndroidSecurityTraining/HEAD/abe.jar -------------------------------------------------------------------------------- /seminar.jks: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LethalMaus/AndroidSecurityTraining/HEAD/seminar.jks -------------------------------------------------------------------------------- /app/dynamic.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LethalMaus/AndroidSecurityTraining/HEAD/app/dynamic.jar -------------------------------------------------------------------------------- /app/out/classes.dex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LethalMaus/AndroidSecurityTraining/HEAD/app/out/classes.dex -------------------------------------------------------------------------------- /app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Android Security Training 3 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LethalMaus/AndroidSecurityTraining/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LethalMaus/AndroidSecurityTraining/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LethalMaus/AndroidSecurityTraining/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LethalMaus/AndroidSecurityTraining/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LethalMaus/AndroidSecurityTraining/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LethalMaus/AndroidSecurityTraining/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /app/src/test/snapshots/images/__REHomePreview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LethalMaus/AndroidSecurityTraining/HEAD/app/src/test/snapshots/images/__REHomePreview.png -------------------------------------------------------------------------------- /app/build_classes/dev/training/dynamic/Hello.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LethalMaus/AndroidSecurityTraining/HEAD/app/build_classes/dev/training/dynamic/Hello.class -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LethalMaus/AndroidSecurityTraining/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LethalMaus/AndroidSecurityTraining/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /app/src/test/snapshots/images/__E2EHomePreview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LethalMaus/AndroidSecurityTraining/HEAD/app/src/test/snapshots/images/__E2EHomePreview.png -------------------------------------------------------------------------------- /app/src/test/snapshots/images/__PermHomePreview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LethalMaus/AndroidSecurityTraining/HEAD/app/src/test/snapshots/images/__PermHomePreview.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LethalMaus/AndroidSecurityTraining/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LethalMaus/AndroidSecurityTraining/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LethalMaus/AndroidSecurityTraining/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /app/src/test/snapshots/images/__RisksScreenPreview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LethalMaus/AndroidSecurityTraining/HEAD/app/src/test/snapshots/images/__RisksScreenPreview.png -------------------------------------------------------------------------------- /app/src/test/snapshots/images/__RootScreenPreview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LethalMaus/AndroidSecurityTraining/HEAD/app/src/test/snapshots/images/__RootScreenPreview.png -------------------------------------------------------------------------------- /app/src/test/snapshots/images/__WebScreenPreview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LethalMaus/AndroidSecurityTraining/HEAD/app/src/test/snapshots/images/__WebScreenPreview.png -------------------------------------------------------------------------------- /app/src/test/snapshots/images/__DeepLinksHomePreview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LethalMaus/AndroidSecurityTraining/HEAD/app/src/test/snapshots/images/__DeepLinksHomePreview.png -------------------------------------------------------------------------------- /app/src/test/snapshots/images/__PinningScreenPreview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LethalMaus/AndroidSecurityTraining/HEAD/app/src/test/snapshots/images/__PinningScreenPreview.png -------------------------------------------------------------------------------- /app/src/test/snapshots/images/__StorageScreenPreview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LethalMaus/AndroidSecurityTraining/HEAD/app/src/test/snapshots/images/__StorageScreenPreview.png -------------------------------------------------------------------------------- /html/payload.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |

JS Injection Test

5 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/test/snapshots/images/__MultiUserScreenPreview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LethalMaus/AndroidSecurityTraining/HEAD/app/src/test/snapshots/images/__MultiUserScreenPreview.png -------------------------------------------------------------------------------- /app/dev/training/dynamic/Hello.java: -------------------------------------------------------------------------------- 1 | package dev.training.dynamic; 2 | 3 | public class Hello { 4 | public static String greet() { 5 | return "Hello from dynamic DEX"; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /app/src/test/java/dev/jamescullimore/android_security_training/PaparazziConfig.kt: -------------------------------------------------------------------------------- 1 | package dev.jamescullimore.android_security_training 2 | 3 | annotation class PaparazziConfig(val maxPercentDifference: Double) -------------------------------------------------------------------------------- /server_ecdh_pub.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAESHikZYG7KDqWy5VPFAV8Onu1+msM 3 | GGFxlwWBHRlM/1QlPnrJxvceqHbv98CaRMTQ+N0uaoiLddQjCvUnQoqyhQ== 4 | -----END PUBLIC KEY----- 5 | -------------------------------------------------------------------------------- /app/src/main/res/values/themes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |