From e357534414b8cfab2eeb8e081f1fcbe8d16e7519 Mon Sep 17 00:00:00 2001 From: emanuele-f Date: Tue, 13 Jun 2023 19:51:55 +0200 Subject: [PATCH] Allow exporting the SSLKEYLOG after anomalous app stop Closes #324 --- .../activities/MainActivity.java | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/emanuelef/remote_capture/activities/MainActivity.java b/app/src/main/java/com/emanuelef/remote_capture/activities/MainActivity.java index b13fdb95..916519fe 100644 --- a/app/src/main/java/com/emanuelef/remote_capture/activities/MainActivity.java +++ b/app/src/main/java/com/emanuelef/remote_capture/activities/MainActivity.java @@ -609,9 +609,15 @@ public class MainActivity extends BaseActivity implements NavigationView.OnNavig private void initAppState() { boolean is_active = CaptureService.isServiceActive(); - if (!is_active) + if (!is_active) { appStateReady(); - else + + // PCAPdroid could have been closed unexpectedly (e.g. due to low memory), try to export + // the keylog file if exists + mKeylogFile = MitmReceiver.getKeylogFilePath(MainActivity.this); + if(mKeylogFile.exists()) + startExportSslkeylogfile(); + } else appStateRunning(); } @@ -767,6 +773,13 @@ public class MainActivity extends BaseActivity implements NavigationView.OnNavig Utils.showToastLong(this, R.string.export_failed); } } - mKeylogFile = null; + + if(mKeylogFile != null) { + // upon closing the dialog, delete the keylog + + //noinspection ResultOfMethodCallIgnored + mKeylogFile.delete(); + mKeylogFile = null; + } } }