From d02e832695e72f75057e99ae9510df8910f8b7b0 Mon Sep 17 00:00:00 2001 From: tux_mind Date: Wed, 14 Oct 2015 11:05:37 +0200 Subject: [PATCH 01/10] fixes #404 --- cSploit/build.gradle | 4 ++-- cSploit/src/org/csploit/android/MainActivity.java | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/cSploit/build.gradle b/cSploit/build.gradle index 1271813146..ffa986128a 100644 --- a/cSploit/build.gradle +++ b/cSploit/build.gradle @@ -52,8 +52,8 @@ android { defaultConfig { minSdkVersion 9 targetSdkVersion 22 - versionCode 3 - versionName "1.6.1" + versionCode 4 + versionName "1.6.2" if(System.getenv("NIGHTLY_BUILD")) { versionName += "+" + System.getenv("NIGHTLY_BUILD_COMMIT").substring(0, 7) } diff --git a/cSploit/src/org/csploit/android/MainActivity.java b/cSploit/src/org/csploit/android/MainActivity.java index 157d8ad230..0d1a076b98 100644 --- a/cSploit/src/org/csploit/android/MainActivity.java +++ b/cSploit/src/org/csploit/android/MainActivity.java @@ -1130,7 +1130,7 @@ public void onReceive(Context context, Intent intent) { mUpdateStatus.setText(UPDATE_MESSAGE.replace( "#STATUS#", getString(R.string.no_updates_available))); - if (!System.isCoreInitialized()) { + if (!System.isCoreInstalled()) { onInitializationError(getString(R.string.no_core_found)); } break; From 77020ccf7bf3a58b27c427a67706f945da213784 Mon Sep 17 00:00:00 2001 From: tux_mind Date: Fri, 25 Dec 2015 03:38:48 +0100 Subject: [PATCH 02/10] Define the floating button at the end of the RelativeLayout, to put it over all the others widgets. Thanks to @0MazaHacka0 for reporting it. --- cSploit/res/layout/plugin_inspector.xml | 30 ++++++++++++++----------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/cSploit/res/layout/plugin_inspector.xml b/cSploit/res/layout/plugin_inspector.xml index 1c9ee175ef..026735c44a 100644 --- a/cSploit/res/layout/plugin_inspector.xml +++ b/cSploit/res/layout/plugin_inspector.xml @@ -6,19 +6,6 @@ android:paddingTop="16sp" android:id="@+id/whatever"> - - + + + \ No newline at end of file From 8c5a9cc5048b30a2e1a1809711b623861375e56d Mon Sep 17 00:00:00 2001 From: tux_mind Date: Fri, 25 Dec 2015 03:41:15 +0100 Subject: [PATCH 03/10] version bump --- cSploit/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cSploit/build.gradle b/cSploit/build.gradle index ffa986128a..d719669179 100644 --- a/cSploit/build.gradle +++ b/cSploit/build.gradle @@ -52,8 +52,8 @@ android { defaultConfig { minSdkVersion 9 targetSdkVersion 22 - versionCode 4 - versionName "1.6.2" + versionCode 5 + versionName "1.6.3" if(System.getenv("NIGHTLY_BUILD")) { versionName += "+" + System.getenv("NIGHTLY_BUILD_COMMIT").substring(0, 7) } From 539f98252a35a1be8718233b5d1d2b66e897360f Mon Sep 17 00:00:00 2001 From: tux_mind Date: Fri, 25 Dec 2015 03:43:57 +0100 Subject: [PATCH 04/10] use stable version of gradle android plugin --- build.gradle | 2 +- cSploit/build.gradle | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index c0bd27756b..dea94eb99c 100644 --- a/build.gradle +++ b/build.gradle @@ -5,7 +5,7 @@ buildscript { mavenCentral() } dependencies { - classpath 'com.android.tools.build:gradle:1.4.0-beta6' + classpath 'com.android.tools.build:gradle:1.5.0' } } diff --git a/cSploit/build.gradle b/cSploit/build.gradle index d719669179..dcbe82d686 100644 --- a/cSploit/build.gradle +++ b/cSploit/build.gradle @@ -4,7 +4,7 @@ buildscript { mavenCentral() } dependencies { - classpath 'com.android.tools.build:gradle:1.4.0-beta6' + classpath 'com.android.tools.build:gradle:1.5.0' } } From d29597b91cbb6493abdd153544657587b88bc315 Mon Sep 17 00:00:00 2001 From: tux_mind Date: Thu, 7 Jan 2016 14:26:26 +0100 Subject: [PATCH 05/10] fixes #555 --- .../services/receivers/MsfRpcdServiceReceiver.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/cSploit/src/org/csploit/android/services/receivers/MsfRpcdServiceReceiver.java b/cSploit/src/org/csploit/android/services/receivers/MsfRpcdServiceReceiver.java index d832e90f62..63dacf81ac 100644 --- a/cSploit/src/org/csploit/android/services/receivers/MsfRpcdServiceReceiver.java +++ b/cSploit/src/org/csploit/android/services/receivers/MsfRpcdServiceReceiver.java @@ -2,6 +2,7 @@ import android.app.Activity; import android.app.NotificationManager; +import android.app.PendingIntent; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; @@ -68,7 +69,7 @@ private void showToastForStatus(Context context, MsfRpcdService.Status status) { } private void updateNotificationForStatus(Context context, MsfRpcdService.Status status) { - NotificationCompat.Builder mBuilder = + NotificationCompat.Builder builder = new NotificationCompat.Builder(context) .setSmallIcon(R.drawable.exploit_msf) .setContentTitle(context.getString(R.string.msf_status)) @@ -76,8 +77,13 @@ private void updateNotificationForStatus(Context context, MsfRpcdService.Status .setContentText(context.getString(status.getText())) .setColor(ContextCompat.getColor(context, status.getColor())); + PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, + new Intent(), PendingIntent.FLAG_UPDATE_CURRENT); + + builder.setContentIntent(pendingIntent); + NotificationManager mNotificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); - mNotificationManager.notify(MSF_NOTIFICATION, mBuilder.build()); + mNotificationManager.notify(MSF_NOTIFICATION, builder.build()); } } From 5a120d732171938f8bc5342bf2711ef4e18eb146 Mon Sep 17 00:00:00 2001 From: tux_mind Date: Thu, 7 Jan 2016 14:33:18 +0100 Subject: [PATCH 06/10] version bump --- cSploit/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cSploit/build.gradle b/cSploit/build.gradle index dcbe82d686..5475b4df46 100644 --- a/cSploit/build.gradle +++ b/cSploit/build.gradle @@ -53,7 +53,7 @@ android { minSdkVersion 9 targetSdkVersion 22 versionCode 5 - versionName "1.6.3" + versionName "1.6.4" if(System.getenv("NIGHTLY_BUILD")) { versionName += "+" + System.getenv("NIGHTLY_BUILD_COMMIT").substring(0, 7) } From f92cde5420828df24788009b1ae5b4ca2fe759c5 Mon Sep 17 00:00:00 2001 From: tux-mind Date: Sat, 16 Jan 2016 08:16:01 +0100 Subject: [PATCH 07/10] force user to choose empty or old directories. --- cSploit/res/values/strings.xml | 1 + .../org/csploit/android/SettingsActivity.java | 107 +++++++++++++----- 2 files changed, 81 insertions(+), 27 deletions(-) diff --git a/cSploit/res/values/strings.xml b/cSploit/res/values/strings.xml index d03780c5c9..43af23b7c5 100644 --- a/cSploit/res/values/strings.xml +++ b/cSploit/res/values/strings.xml @@ -529,4 +529,5 @@ Select %s ? https://github.com/cSploit/android/issues Before opening a new issue, please, take the time to read the already open issues, probably it\' s already open. If it\' s not open we\'ll need as much information as you can get, so please, read this guide in order to know how to report a bug properly.

]]>
+ must be empty or an old installation directory. diff --git a/cSploit/src/org/csploit/android/SettingsActivity.java b/cSploit/src/org/csploit/android/SettingsActivity.java index 4a64f9787a..dbb71f2026 100644 --- a/cSploit/src/org/csploit/android/SettingsActivity.java +++ b/cSploit/src/org/csploit/android/SettingsActivity.java @@ -214,14 +214,84 @@ public void onEnd(int exitCode) { } } + private boolean isDirectoryEmptyOrWithVersion(File folder) { + String[] files = folder.list(); + + if(files.length > 0) { + for(String fname : files) { + if("VERSION".equals(fname)) { + return true; + } + } + return false; + } + + return true; + } + + private ExecChecker getCheckerForKey(String key) { + switch (key) { + case "RUBY_DIR": + return ExecChecker.ruby(); + case "MSF_DIR": + return ExecChecker.msf(); + } + return null; + } + + private String getCurrentPathForKey(String key) { + switch (key) { + case "RUBY_DIR": + return System.getRubyPath(); + case "MSF_DIR": + return System.getMsfPath(); + } + return null; + } + + private boolean shallAskForDelete(String key) { + return key.equals("RUBY_DIR") || key.equals("MSF_DIR"); + } + + /** + * check if selected directory is valid for the given key. + * @param key to be updated + * @param path of the chosen directory + * @return true if {@code path} is valid, false otherwise + */ + private boolean canChangeDirectoryTo(String key, String path) { + File folder = new File(path); + ExecChecker checker = getCheckerForKey(key); + String oldPath = getCurrentPathForKey(key); + String toastMessage = null; + boolean valid = false; + boolean checkEmptyOrVersion = shallAskForDelete(key); + + if (!folder.exists()) { + toastMessage = getString(R.string.pref_folder) + " " + path + " " + getString(R.string.pref_err_exists); + } else if (!folder.canWrite()) { + toastMessage = getString(R.string.pref_folder) + " " + path + " " + getString(R.string.pref_err_writable); + } else if (checker != null && !checker.canExecuteInDir(path)) { + toastMessage = getString(R.string.pref_folder) + " " + path + " " + getString(R.string.pref_err_executable); + } else if (checkEmptyOrVersion && !isDirectoryEmptyOrWithVersion(folder)) { + toastMessage = getString(R.string.pref_folder) + " " + path + " " + getString(R.string.pref_err_empty_or_old); + } else if (oldPath == null || !oldPath.equals(path)) { + valid = true; + } + + if(toastMessage != null) { + Toast.makeText(getContext(), toastMessage, Toast.LENGTH_LONG).show(); + } + + return valid; + } + @Override public void onActivityResult(int requestCode, int resultCode, Intent intent) { if (requestCode == DirectoryPicker.PICK_DIRECTORY && resultCode != RESULT_CANCELED) { Bundle extras = intent.getExtras(); String path; String key; - File folder; - String oldPath = null; if (extras == null) { Logger.debug("null extra: " + intent); @@ -236,35 +306,18 @@ public void onActivityResult(int requestCode, int resultCode, Intent intent) { return; } - folder = new File(path); - ExecChecker checker = null; - - - if (key.equals("RUBY_DIR")) { - oldPath = System.getRubyPath(); - checker = ExecChecker.ruby(); - } else if (key.equals("MSF_DIR")) { - oldPath = System.getMsfPath(); - checker = ExecChecker.msf(); - } - - if (!folder.exists()) - Toast.makeText(getActivity(), getString(R.string.pref_folder) + " " + path + " " + getString(R.string.pref_err_exists), Toast.LENGTH_SHORT).show(); - - else if (!folder.canWrite()) - Toast.makeText(getActivity(), getString(R.string.pref_folder) + " " + path + " " + getString(R.string.pref_err_writable), Toast.LENGTH_SHORT).show(); + if(canChangeDirectoryTo(key, path)) { - else if (checker != null && !checker.canExecuteInDir(path)) - Toast.makeText(getActivity(), getString(R.string.pref_folder) + " " + path + " " + getString(R.string.pref_err_executable), Toast.LENGTH_LONG).show(); - else { - //noinspection ConstantConditions getPreferenceManager().getSharedPreferences().edit().putString(key, path).commit(); - if (oldPath != null && !oldPath.equals(path)) { - File current = new File(oldPath); - if (current.exists() && current.isDirectory() && current.listFiles().length > 2) { - wipe_prompt_older(current); + if(shallAskForDelete(key)) { + String oldPath = getCurrentPathForKey(key); + if(oldPath != null) { + File current = new File(oldPath); + if(current.exists() && current.isDirectory() && current.list().length > 0) { + wipe_prompt_older(current); + } } } } From cc505266783be1296c7b9b77d51b8e1fce46c879 Mon Sep 17 00:00:00 2001 From: tux-mind Date: Sat, 16 Jan 2016 08:17:14 +0100 Subject: [PATCH 08/10] version bump --- cSploit/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cSploit/build.gradle b/cSploit/build.gradle index 5475b4df46..2c5d5117ed 100644 --- a/cSploit/build.gradle +++ b/cSploit/build.gradle @@ -52,8 +52,8 @@ android { defaultConfig { minSdkVersion 9 targetSdkVersion 22 - versionCode 5 - versionName "1.6.4" + versionCode 6 + versionName "1.6.5" if(System.getenv("NIGHTLY_BUILD")) { versionName += "+" + System.getenv("NIGHTLY_BUILD_COMMIT").substring(0, 7) } From 8a268aca59c45ebc24d6c8f5921e09853f01c332 Mon Sep 17 00:00:00 2001 From: pahapoika Date: Fri, 3 Feb 2017 13:36:10 +0200 Subject: [PATCH 09/10] create ISSUE_TEMPLATE.md --- ISSUE_TEMPLATE.md | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 ISSUE_TEMPLATE.md diff --git a/ISSUE_TEMPLATE.md b/ISSUE_TEMPLATE.md new file mode 100644 index 0000000000..cca0066ac0 --- /dev/null +++ b/ISSUE_TEMPLATE.md @@ -0,0 +1,35 @@ +##DEVICE: + + +##OS version: + + +##cSploit version: + + +##busybox (installed or not): + + +##Rooted with supersu? + + +##logcat (filter it!): + + +**Daemon specific questions** + +##Go version: + + +##OS: + + +##Using Docker (incase of unofficial build.) + + +##Actions performed: + +#Logs: + +##Issue: +*Remember to search for issues alike before creating new one. From 39ee303d2498a8ffc702158d094c6b6f7dd5fedf Mon Sep 17 00:00:00 2001 From: pahapoika Date: Fri, 3 Feb 2017 13:42:36 +0200 Subject: [PATCH 10/10] Delete ISSUE_TEMPLATE.md --- ISSUE_TEMPLATE.md | 35 ----------------------------------- 1 file changed, 35 deletions(-) delete mode 100644 ISSUE_TEMPLATE.md diff --git a/ISSUE_TEMPLATE.md b/ISSUE_TEMPLATE.md deleted file mode 100644 index cca0066ac0..0000000000 --- a/ISSUE_TEMPLATE.md +++ /dev/null @@ -1,35 +0,0 @@ -##DEVICE: - - -##OS version: - - -##cSploit version: - - -##busybox (installed or not): - - -##Rooted with supersu? - - -##logcat (filter it!): - - -**Daemon specific questions** - -##Go version: - - -##OS: - - -##Using Docker (incase of unofficial build.) - - -##Actions performed: - -#Logs: - -##Issue: -*Remember to search for issues alike before creating new one.