diff --git a/build.gradle b/build.gradle index e97f625189..3008053707 100644 --- a/build.gradle +++ b/build.gradle @@ -5,7 +5,7 @@ buildscript { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:3.3.0-alpha12' + classpath 'com.android.tools.build:gradle:3.6.0-alpha12' } } diff --git a/cSploit/build.gradle b/cSploit/build.gradle index 41ac0b3288..9a41054b5d 100644 --- a/cSploit/build.gradle +++ b/cSploit/build.gradle @@ -4,7 +4,7 @@ buildscript { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:3.3.0-alpha12' + classpath 'com.android.tools.build:gradle:3.6.0-alpha12' } } @@ -18,25 +18,25 @@ apply plugin: 'com.android.application' dependencies { implementation 'androidx.legacy:legacy-support-v4:1.0.0' - implementation 'androidx.appcompat:appcompat:1.0.0' - implementation 'androidx.preference:preference:1.0.0' - implementation 'androidx.multidex:multidex:2.0.0' + implementation 'androidx.appcompat:appcompat:1.1.0' + implementation 'androidx.preference:preference:1.1.0' + implementation 'androidx.multidex:multidex:2.0.1' implementation 'com.google.android.material:material:1.0.0' - implementation 'org.apache.commons:commons-compress:1.18' + implementation 'org.apache.commons:commons-compress:1.19' implementation 'commons-net:commons-net:3.6' implementation 'com.github.zafarkhaja:java-semver:0.9.0' implementation 'org.unbescape:unbescape:1.1.6.RELEASE' implementation 'org.msgpack:msgpack:0.6.12' implementation 'com.googlecode.juniversalchardet:juniversalchardet:1.0.3' implementation 'org.tukaani:xz:1.8' - implementation 'ch.acra:acra-http:5.2.0' - implementation 'ch.acra:acra-notification:5.2.0' + implementation 'ch.acra:acra-http:5.4.0' + implementation 'ch.acra:acra-notification:5.4.0' testImplementation 'junit:junit:4.12' } android { - compileSdkVersion 28 - buildToolsVersion '28.0.3' + compileSdkVersion 29 + buildToolsVersion '29.0.2' compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 @@ -50,7 +50,7 @@ android { defaultConfig { minSdkVersion 14 - targetSdkVersion 28 + targetSdkVersion 29 versionCode 4 versionName "1.7.0-unstable" if(System.getenv("NIGHTLY_BUILD")) { diff --git a/cSploit/src/main/AndroidManifest.xml b/cSploit/src/main/AndroidManifest.xml index e835cfaa72..80bef4c0d3 100644 --- a/cSploit/src/main/AndroidManifest.xml +++ b/cSploit/src/main/AndroidManifest.xml @@ -19,11 +19,13 @@ + android:resizeableActivity="true" + tools:ignore="GoogleAppIndexingWarning"> mSessions = new ArrayList(); public static Target getFromString(String string){ - final Pattern PARSE_PATTERN = Pattern.compile("^(([a-z]+)://)?([0-9a-z\\-\\.]+)(:([\\d]+))?[0-9a-z\\-\\./]*$", Pattern.CASE_INSENSITIVE); + final Pattern PARSE_PATTERN = Pattern.compile("^(([a-z]+)://)?([0-9a-z\\-.]+)(:([\\d]+))?[0-9a-z\\-./]*$", Pattern.CASE_INSENSITIVE); final Pattern IP_PATTERN = Pattern.compile("^[\\d]{1,3}\\.[\\d]{1,3}\\.[\\d]{1,3}\\.[\\d]{1,3}$"); Matcher matcher; diff --git a/cSploit/src/main/java/org/csploit/android/net/http/proxy/ProxyThread.java b/cSploit/src/main/java/org/csploit/android/net/http/proxy/ProxyThread.java index 3819307fd6..a6dc1c18d0 100644 --- a/cSploit/src/main/java/org/csploit/android/net/http/proxy/ProxyThread.java +++ b/cSploit/src/main/java/org/csploit/android/net/http/proxy/ProxyThread.java @@ -44,7 +44,7 @@ public class ProxyThread extends Thread private final static int MAX_REQUEST_SIZE = 8192; private final static int HTTP_SERVER_PORT = 80; private final static int HTTPS_SERVER_PORT = 443; - private final static Pattern LINK_PATTERN = Pattern.compile("(https://[\\w\\d:#@%/;$()~_?\\+-=\\\\\\.&]*)", Pattern.CASE_INSENSITIVE); + private final static Pattern LINK_PATTERN = Pattern.compile("(https://[\\w\\d:#@%/;$()~_?+-=\\\\.&]*)", Pattern.CASE_INSENSITIVE); private Socket mSocket = null; private BufferedOutputStream mWriter = null; diff --git a/cSploit/src/main/java/org/csploit/android/net/metasploit/RPCClient.java b/cSploit/src/main/java/org/csploit/android/net/metasploit/RPCClient.java index 0e3fc6dacf..c1652a273a 100644 --- a/cSploit/src/main/java/org/csploit/android/net/metasploit/RPCClient.java +++ b/cSploit/src/main/java/org/csploit/android/net/metasploit/RPCClient.java @@ -3,7 +3,6 @@ import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; -import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; import java.net.UnknownHostException; diff --git a/cSploit/src/main/java/org/csploit/android/net/metasploit/Session.java b/cSploit/src/main/java/org/csploit/android/net/metasploit/Session.java index 86f1d5a292..3ee593dd7e 100644 --- a/cSploit/src/main/java/org/csploit/android/net/metasploit/Session.java +++ b/cSploit/src/main/java/org/csploit/android/net/metasploit/Session.java @@ -1,7 +1,6 @@ package org.csploit.android.net.metasploit; import java.io.IOException; -import java.net.InetAddress; import java.net.UnknownHostException; import java.util.Map; import java.util.regex.Pattern; diff --git a/cSploit/src/main/java/org/csploit/android/plugins/PortScanner.java b/cSploit/src/main/java/org/csploit/android/plugins/PortScanner.java index 6a789e9b9d..170dc5881f 100644 --- a/cSploit/src/main/java/org/csploit/android/plugins/PortScanner.java +++ b/cSploit/src/main/java/org/csploit/android/plugins/PortScanner.java @@ -23,8 +23,7 @@ import android.content.SharedPreferences; import android.net.Uri; import android.os.Bundle; -import com.google.android.material.floatingactionbutton.FloatingActionButton; -import androidx.core.content.ContextCompat; +import android.util.SparseArray; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; @@ -39,6 +38,10 @@ import android.widget.TextView; import android.widget.Toast; +import androidx.core.content.ContextCompat; + +import com.google.android.material.floatingactionbutton.FloatingActionButton; + import org.csploit.android.R; import org.csploit.android.core.ChildManager; import org.csploit.android.core.Logger; @@ -55,8 +58,6 @@ import org.csploit.android.tools.NMap; import java.util.ArrayList; -import java.util.HashMap; -import java.util.Map; public class PortScanner extends Plugin { private TextView mTextDoc = null; @@ -72,7 +73,7 @@ public class PortScanner extends Plugin { private static final String CUSTOM_PARAMETERS = "PortScanner.Prefs.CustomParameters"; private static final String CUSTOM_PARAMETERS_TEXT = "PortScanner.Prefs.CustomParameters.Text"; private SharedPreferences mPreferences = null; - private Map urlFormats = new HashMap<>(); + private SparseArray urlFormats = new SparseArray<>(); private boolean mShowCustomParameters = false; public PortScanner() { @@ -228,7 +229,7 @@ public boolean onItemLongClick(AdapterView parent, View view, int position, long id) { int portNumber = target.getOpenPorts().get(position).getNumber(); - if(!urlFormats.containsKey(portNumber)) { + if(urlFormats.get(portNumber) != null) { portNumber = 0; } diff --git a/cSploit/src/main/java/org/csploit/android/plugins/mitm/MITM.java b/cSploit/src/main/java/org/csploit/android/plugins/mitm/MITM.java index 5381b35959..da4cde1c37 100644 --- a/cSploit/src/main/java/org/csploit/android/plugins/mitm/MITM.java +++ b/cSploit/src/main/java/org/csploit/android/plugins/mitm/MITM.java @@ -232,7 +232,7 @@ public String onDataReceived(String headers, String data){ // handle css background declarations data = data.replaceAll ( - "(?i)background\\s*(:|-)\\s*url\\s*[\\(|:][^\\);]+\\)?.*", + "(?i)background\\s*(:|-)\\s*url\\s*[(|:][^\\);]+\\)?.*", "background: url(" + resource + ")" ); diff --git a/cSploit/src/main/java/org/csploit/android/services/NetworkRadar.java b/cSploit/src/main/java/org/csploit/android/services/NetworkRadar.java index 9a81cd5a08..902c92e629 100644 --- a/cSploit/src/main/java/org/csploit/android/services/NetworkRadar.java +++ b/cSploit/src/main/java/org/csploit/android/services/NetworkRadar.java @@ -2,7 +2,6 @@ import android.app.Activity; import android.content.Context; -import android.content.SharedPreferences; import android.view.MenuItem; import org.csploit.android.R; diff --git a/cSploit/src/main/res/layout/about_dialog.xml b/cSploit/src/main/res/layout/about_dialog.xml index 99a119a226..8a09df294d 100644 --- a/cSploit/src/main/res/layout/about_dialog.xml +++ b/cSploit/src/main/res/layout/about_dialog.xml @@ -1,104 +1,104 @@ + android:id="@+id/ScrollView01" + android:layout_width="fill_parent" + android:layout_height="fill_parent"> - + + android:id="@+id/textView1" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_alignParentLeft="true" + android:layout_alignParentTop="true" + android:layout_alignParentRight="true" + android:text="@string/csploit_catchphrase" + android:textAppearance="?android:attr/textAppearanceMedium" /> + android:id="@+id/textView2" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_below="@+id/textView1" + android:layout_alignLeft="@+id/textView1" + android:layout_alignRight="@+id/textView1" + android:text="@string/csploit_copyleft" + android:textAppearance="?android:attr/textAppearanceSmall" /> + android:id="@+id/textView3" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_below="@+id/textView2" + android:layout_alignLeft="@+id/textView2" + android:layout_alignRight="@+id/textView2" + android:autoLink="web" + android:linksClickable="true" + android:text="@string/csploit_url" + android:textAppearance="?android:attr/textAppearanceSmall" + android:textStyle="bold" /> + android:id="@+id/textView5" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_below="@+id/textView3" + android:layout_alignLeft="@+id/textView3" + android:text="@string/disclaimer" + android:textAppearance="?android:attr/textAppearanceMedium" /> + android:id="@+id/textView6" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_below="@+id/textView5" + android:layout_alignLeft="@+id/textView5" + android:text="@string/csploit_disclaimer" + android:textAppearance="?android:attr/textAppearanceSmall" /> + android:id="@+id/textView7" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_below="@+id/textView6" + android:layout_alignLeft="@+id/textView6" + android:text="@string/license" + android:textAppearance="?android:attr/textAppearanceMedium" /> + android:id="@+id/textView8" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_below="@+id/textView7" + android:layout_alignLeft="@+id/textView7" + android:layout_alignParentRight="true" + android:text="@string/gpl_license" + android:textAppearance="?android:attr/textAppearanceSmall" /> + android:textAppearance="?android:attr/textAppearanceMedium" /> + android:layout_alignParentBottom="true" + android:textAppearance="?android:attr/textAppearanceSmall" /> \ No newline at end of file diff --git a/cSploit/src/main/res/layout/plugin_exploit_finder.xml b/cSploit/src/main/res/layout/plugin_exploit_finder.xml index c1ac9b7e11..7ac9823c46 100644 --- a/cSploit/src/main/res/layout/plugin_exploit_finder.xml +++ b/cSploit/src/main/res/layout/plugin_exploit_finder.xml @@ -14,7 +14,6 @@ android:layout_margin="20dp" />