Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Develop #859

Open
wants to merge 30 commits into
base: #831-5X-API25-Patch
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
45c1539
Merge pull request #832 from cSploit/#831-5X-API25-Patch
tux-mind Feb 11, 2017
ff6b13a
[#831] manage Endpoint with null HW address
tux-mind Feb 11, 2017
41b9ccf
Update styling for more simplified template
Cardiak Jun 15, 2017
2751837
Quick fix for styling
Cardiak Jun 15, 2017
09bb74b
Fixed Href Link in ISSUE_TEMPLATE
IwraStudios Jun 15, 2017
f794919
Update everything for Android 3.2a3 (big, see below)
fat-tire Feb 15, 2018
455e114
Additional updates for Android Studio 3.2a4 + new gradle + acra update
fat-tire Mar 2, 2018
6686cf1
Merge pull request #938 from fat-tire/refresh
fat-tire Mar 2, 2018
7cb17d6
Update build tools + libraries + gradle etc. to latest + target api 28
fat-tire Aug 19, 2018
e3b0dd0
Add check to make sure WAKE_LOCK perm is available + delcare in manifest
fat-tire Aug 19, 2018
20aad68
Some additions to manifest in case anyone is using this on a chromebook.
fat-tire Aug 19, 2018
4db0830
Remove double WAKE_LOCK permission.
fat-tire Aug 19, 2018
3402fb3
Refactor for AppCompat (using AS3.3 canary 6 + custom fixes)
fat-tire Aug 19, 2018
01beed3
Migrate from legacy support libraries to new Jetpack/AndroidX
fat-tire Aug 19, 2018
6213872
Add multidex support for older APIs & update to latest gradle/plugins
fat-tire Aug 23, 2018
09cc75e
Drop unneeded MavenCentral() repositories
fat-tire Aug 26, 2018
54069c7
Merge pull request #968 from fat-tire/refresh2
fat-tire Aug 26, 2018
dd165ae
Update gradle to 4.10 release
fat-tire Aug 28, 2018
49cd67a
Add gradle.properties to git per gradle.org forum recommendation
fat-tire Aug 28, 2018
5b1317d
Merge pull request #969 from fat-tire/refresh3
fat-tire Aug 28, 2018
269d481
Update to latest build tools + androidx libraries.
fat-tire Sep 3, 2018
a2ee9e4
Merge pull request #970 from fat-tire/refresh4
fat-tire Sep 3, 2018
0da5564
Update build tools, a few libraries, & MaterialComponents theme
fat-tire Sep 19, 2018
1cc2439
Update gradle 4.10->4.10.2
fat-tire Sep 20, 2018
b185901
gradle plugin & library updates + enable R8
fat-tire Sep 28, 2018
b4a2dc7
Merge pull request #973 from cSploit/refresh5
fat-tire Sep 28, 2018
dafa5f5
Merge remote-tracking branch 'origin/develop' into refresh5
fat-tire Sep 28, 2018
70268d9
Merge pull request #974 from fat-tire/refresh6
fat-tire Sep 28, 2018
814ddc8
EOL notice
pahapoika Jan 13, 2021
3679ca5
Merge pull request #1067 from cSploit/EOL-notice
pahapoika Jan 20, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 17 additions & 13 deletions ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,35 +1,39 @@
##DEVICE:
DEVICE:


##OS version:
OS version:


##cSploit version:
**cSploit version:**


##busybox (installed or not):
**busybox** *(installed or not):*


##Rooted with supersu?
**Rooted with supersu?**


##logcat (filter it!):
**logcat** *(filter it!):*
[How-to guide](https://forum.xda-developers.com/showthread.php?t=1726238)

------------------------------------------------------------------------------------------------------------------------------

**Daemon specific questions**

##Go version:
Go version:


##OS:
OS:


##Using Docker (incase of unofficial build.)
Using Docker (incase of unofficial build.)

Actions performed:

##Actions performed:

#Logs:
Logs:
------------------------------------------------------------------------------------------------------------------------------

**Issue:**
*Remember to search for issues alike before creating new one!*

##Issue:
*Remember to search for issues alike before creating new one.
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
# cSploit is now considered EOL and is not being updated by the developers. Current version might not be functional on newer Android versions. We appreciate everyone who contributed to cSploit over the years.



# cSploit: Android network pentesting suite

<img src="http://i.imgur.com/cFll5P9.jpg" width="250" />
Expand Down
6 changes: 3 additions & 3 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
google()
jcenter()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.5.0'
classpath 'com.android.tools.build:gradle:3.3.0-alpha12'
}
}

allprojects {
repositories {
google()
jcenter()
mavenCentral()
}
}
58 changes: 28 additions & 30 deletions cSploit/build.gradle
Original file line number Diff line number Diff line change
@@ -1,48 +1,46 @@
buildscript {
repositories {
google()
jcenter()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.5.0'
classpath 'com.android.tools.build:gradle:3.3.0-alpha12'
}
}

def getDate() {
return Calendar.getInstance().getTimeInMillis();
}

allprojects {
repositories {
google()
jcenter()
mavenCentral()
}
}
apply plugin: 'com.android.application'

dependencies {
compile 'com.android.support:support-v4:23.1.1'
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:design:23.1.1'
compile 'com.android.support:preference-v7:23.1.1'
compile 'org.apache.commons:commons-compress:1.10'
compile 'commons-net:commons-net:3.3'
compile 'com.github.zafarkhaja:java-semver:0.9.0'
compile 'org.unbescape:unbescape:1.1.1.RELEASE'
compile 'org.msgpack:msgpack:0.6.12'
compile 'com.googlecode.juniversalchardet:juniversalchardet:1.0.3'
compile 'org.tukaani:xz:1.5'
compile 'ch.acra:acra:4.6.2'
testCompile 'junit:junit:4.12'
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 'com.google.android.material:material:1.0.0'
implementation 'org.apache.commons:commons-compress:1.18'
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'
testImplementation 'junit:junit:4.12'
}

android {
compileSdkVersion 23
buildToolsVersion '23.0.2'
compileSdkVersion 28
buildToolsVersion '28.0.3'

compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}

packagingOptions {
Expand All @@ -51,8 +49,8 @@ android {
}

defaultConfig {
minSdkVersion 9
targetSdkVersion 22
minSdkVersion 14
targetSdkVersion 28
versionCode 4
versionName "1.7.0-unstable"
if(System.getenv("NIGHTLY_BUILD")) {
Expand Down Expand Up @@ -81,8 +79,8 @@ android {

buildTypes {
debug {
buildConfigField "java.util.Date", "BUILD_TIME", "new java.util.Date(" + getDate() + "L)"
buildConfigField "String", "BUILD_NAME", "\"" + System.getenv("USER") + "\"";
buildConfigField "java.util.Date", "BUILD_TIME", "new java.util.Date(" + Calendar.getInstance().getTimeInMillis() + "L)"
buildConfigField "String", "BUILD_NAME", "\"" + System.getenv("USER") + "\""
minifyEnabled false
shrinkResources false
debuggable true
Expand All @@ -91,8 +89,8 @@ android {
multiDexEnabled true
}
release {
buildConfigField "java.util.Date", "BUILD_TIME", "new java.util.Date(" + getDate() + "L)"
buildConfigField "String", "BUILD_NAME", "\"" + System.getenv("USER") + "\"";
buildConfigField "java.util.Date", "BUILD_TIME", "new java.util.Date(" + Calendar.getInstance().getTimeInMillis() + "L)"
buildConfigField "String", "BUILD_NAME", "\"" + System.getenv("USER") + "\""
if (System.getenv("KEYSTORE_FILE") != null) {
signingConfig signingConfigs.release
}
Expand Down
24 changes: 15 additions & 9 deletions cSploit/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,27 +1,34 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="org.csploit.android">

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.ACCESS_SUPERUSER" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission
android:name="android.permission.READ_EXTERNAL_STORAGE"
android:maxSdkVersion="18" />
<uses-permission android:name="android.permission.READ_LOGS" />
<uses-permission android:name="android.permission.WAKE_LOCK" tools:node="replace"/>


<application
android:name=".CSploitApplication"
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme">
android:theme="@style/AppTheme"
android:resizeableActivity="true">

<meta-data
android:name="android.max_aspect"
android:value="2.1" />

<activity
android:name=".MainActivity"
android:configChanges="orientation|screenSize"
Expand All @@ -32,14 +39,13 @@

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<meta-data android:name="WindowManagerPreference:SuppressWindowControlNavigationButton" android:value="true" />
<layout
android:gravity="center"
android:minHeight="320dp"
android:minWidth="480dp" />
</activity>

<activity android:name="org.acra.CrashReportDialog"
android:theme="@style/Theme.Dialog"
android:launchMode="singleInstance"
android:excludeFromRecents="true"
android:finishOnTaskLaunch="true" />

<!-- suppress AndroidDomInspection -->
<service
android:name=".services.UpdateService"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@

import android.content.SharedPreferences;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import androidx.appcompat.app.AppCompatActivity;

public class ActionActivity extends AppCompatActivity {

Expand Down
8 changes: 4 additions & 4 deletions cSploit/src/main/java/org/csploit/android/ActionFragment.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.AppCompatActivity;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.core.content.ContextCompat;
import androidx.appcompat.app.AppCompatActivity;
import android.view.LayoutInflater;
import android.view.MenuItem;
import android.view.View;
Expand Down
50 changes: 36 additions & 14 deletions cSploit/src/main/java/org/csploit/android/CSploitApplication.java
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,19 @@
package org.csploit.android;

import android.app.Application;
import android.content.Context;
import android.content.SharedPreferences;
import androidx.multidex.MultiDex;

import org.acra.ACRA;
import org.acra.ReportingInteractionMode;
import org.acra.annotation.ReportsCrashes;
import org.acra.annotation.AcraCore;
import org.acra.annotation.AcraHttpSender;
import org.acra.annotation.AcraNotification;
import org.acra.config.CoreConfigurationBuilder;
import org.acra.config.HttpSenderConfigurationBuilder;
import org.acra.config.NotificationConfigurationBuilder;
import org.acra.data.StringFormat;
import org.acra.sender.HttpSender;
import org.csploit.android.core.Logger;
import org.csploit.android.core.System;
import org.csploit.android.plugins.ExploitFinder;
import org.csploit.android.plugins.Inspector;
Expand All @@ -40,19 +46,24 @@

import java.net.NoRouteToHostException;

@ReportsCrashes(
@AcraHttpSender(
httpMethod = HttpSender.Method.PUT,
reportType = HttpSender.Type.JSON,
formUri = "http://csploit.iriscouch.com/acra-csploit/_design/acra-storage/_update/report",
formUriBasicAuthLogin = "android",
formUriBasicAuthPassword = "DEADBEEF",
mode = ReportingInteractionMode.DIALOG,
resDialogText = R.string.crash_dialog_text,
resDialogIcon = R.drawable.dsploit_icon,
resDialogTitle = R.string.crash_dialog_title,
resDialogCommentPrompt = R.string.crash_dialog_comment
uri = "http://csploit.iriscouch.com/acra-csploit/_design/acra-storage/_update/report",
basicAuthLogin = "android",
basicAuthPassword = "DEADBEEF"
)
@AcraNotification (
resChannelName = R.string.csploitChannelId,
resText = R.string.crash_dialog_text,
resIcon = R.drawable.dsploit_icon,
resTitle = R.string.crash_dialog_title,
resCommentPrompt = R.string.crash_dialog_comment
)

@AcraCore(applicationLogFile = "/cSploitd.log")

public class CSploitApplication extends Application {

@Override
public void onCreate() {
SharedPreferences themePrefs = getSharedPreferences("THEME", 0);
Expand All @@ -76,7 +87,11 @@ public void onCreate() {
System.errorLogging(e);
}

ACRA.setConfig(ACRA.getConfig().setApplicationLogFile(System.getCorePath() + "/cSploitd.log"));
CoreConfigurationBuilder builder = new CoreConfigurationBuilder(this);
builder.setBuildConfigClass(BuildConfig.class).setReportFormat(StringFormat.JSON);
builder.getPluginConfigurationBuilder(HttpSenderConfigurationBuilder.class);
builder.getPluginConfigurationBuilder(NotificationConfigurationBuilder.class);
ACRA.init(this, builder);

// load system modules even if the initialization failed
System.registerPlugin(new RouterPwn());
Expand All @@ -89,4 +104,11 @@ public void onCreate() {
System.registerPlugin(new MITM());
System.registerPlugin(new PacketForger());
}

@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(this);
ACRA.init(this);
}
}
Loading