diff --git a/cSploit/res/anim/fadein.xml b/cSploit/res/anim/fadein.xml
new file mode 100644
index 0000000000..4510acb6b1
--- /dev/null
+++ b/cSploit/res/anim/fadein.xml
@@ -0,0 +1,6 @@
+
+
diff --git a/cSploit/res/anim/fadeout.xml b/cSploit/res/anim/fadeout.xml
new file mode 100644
index 0000000000..4f62cbfbf0
--- /dev/null
+++ b/cSploit/res/anim/fadeout.xml
@@ -0,0 +1,6 @@
+
+
diff --git a/cSploit/res/drawable/rounded_square.xml b/cSploit/res/drawable/rounded_square.xml
new file mode 100644
index 0000000000..50a1009bc5
--- /dev/null
+++ b/cSploit/res/drawable/rounded_square.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/cSploit/res/layout/actions_layout.xml b/cSploit/res/layout/actions_layout.xml
index 346df9944a..98f8cf1167 100644
--- a/cSploit/res/layout/actions_layout.xml
+++ b/cSploit/res/layout/actions_layout.xml
@@ -27,6 +27,7 @@
android:layout_height="wrap_content"
android:showDividers="none"
android:dividerHeight="6dp"
- android:divider="#00ffffff"/>
+ android:divider="#00ffffff"
+ android:animateLayoutChanges="true" />
\ No newline at end of file
diff --git a/cSploit/res/layout/plugin_exploit_finder.xml b/cSploit/res/layout/plugin_exploit_finder.xml
index 85c00b6648..693f03cd88 100644
--- a/cSploit/res/layout/plugin_exploit_finder.xml
+++ b/cSploit/res/layout/plugin_exploit_finder.xml
@@ -1,45 +1,46 @@
+ android:layout_width="fill_parent"
+ android:layout_height="fill_parent"
+ android:orientation="vertical"
+ android:padding="10dp">
+ android:id="@+id/searchToggleButton"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:fontFamily="sans-serif-condensed"
+ android:paddingLeft="24dp"
+ android:paddingRight="24dp"
+ android:text="@string/toggle_button"
+ android:textAllCaps="true"
+ android:textOff="Start"
+ android:textOn="Stop" />
+ android:id="@+id/searchActivity"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignParentRight="true"
+ android:layout_alignTop="@+id/searchToggleButton"
+ android:visibility="invisible" />
+ android:id="@+id/separator"
+ android:layout_width="fill_parent"
+ android:layout_height="1dp"
+ android:layout_below="@+id/searchToggleButton"
+ android:layout_marginBottom="8dp"
+ android:layout_marginTop="8dp"
+ android:background="@android:color/darker_gray" />
+ android:id="@id/android:list"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_alignParentBottom="true"
+ android:layout_alignRight="@+id/searchActivity"
+ android:layout_below="@+id/separator"
+ android:animateLayoutChanges="true" />
\ No newline at end of file
diff --git a/cSploit/res/layout/plugin_mitm.xml b/cSploit/res/layout/plugin_mitm.xml
index ccf189e8c9..50b57f17e5 100644
--- a/cSploit/res/layout/plugin_mitm.xml
+++ b/cSploit/res/layout/plugin_mitm.xml
@@ -11,5 +11,6 @@
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:dividerHeight="6dp"
- android:divider="#00ffffff" />
+ android:divider="#00ffffff"
+ android:animateLayoutChanges="true" />
\ No newline at end of file
diff --git a/cSploit/res/layout/plugin_mitm_hijacker.xml b/cSploit/res/layout/plugin_mitm_hijacker.xml
index dd302814dd..58ef2fb6bc 100644
--- a/cSploit/res/layout/plugin_mitm_hijacker.xml
+++ b/cSploit/res/layout/plugin_mitm_hijacker.xml
@@ -1,61 +1,62 @@
+ android:layout_width="fill_parent"
+ android:layout_height="fill_parent"
+ android:orientation="vertical"
+ android:padding="8dp">
+ android:id="@+id/hijackToggleButton"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:fontFamily="sans-serif-condensed"
+ android:paddingLeft="24dp"
+ android:paddingRight="24dp"
+ android:text="@string/toggle_button"
+ android:textAllCaps="true"
+ android:textOff="Start"
+ android:textOn="Stop" />
+ android:id="@+id/hijackActivity"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignParentRight="true"
+ android:layout_alignTop="@+id/hijackToggleButton"
+ android:visibility="invisible" />
+ android:id="@+id/separator"
+ android:layout_width="fill_parent"
+ android:layout_height="1dp"
+ android:layout_below="@+id/hijackToggleButton"
+ android:layout_marginBottom="8dp"
+ android:layout_marginTop="8dp"
+ android:background="@android:color/darker_gray" />
+ android:id="@+id/textView"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignLeft="@+id/separator"
+ android:layout_alignRight="@+id/separator"
+ android:layout_below="@+id/separator"
+ android:gravity="center_horizontal"
+ android:padding="8dp"
+ android:text="@string/start_hijack"
+ android:textAppearance="?android:attr/textAppearanceSmall"
+ android:textColor="@color/gray_text" />
+ android:id="@+id/listView"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_alignParentBottom="true"
+ android:layout_alignRight="@+id/textView"
+ android:layout_below="@+id/textView"
+ android:animateLayoutChanges="true"
+ android:indicatorLeft="?android:attr/expandableListPreferredItemIndicatorLeft"
+ android:paddingLeft="8dp"
+ android:paddingRight="8dp" />
\ No newline at end of file
diff --git a/cSploit/res/layout/plugin_mitm_password_sniffer.xml b/cSploit/res/layout/plugin_mitm_password_sniffer.xml
index 62bd957df7..a782364237 100644
--- a/cSploit/res/layout/plugin_mitm_password_sniffer.xml
+++ b/cSploit/res/layout/plugin_mitm_password_sniffer.xml
@@ -1,48 +1,50 @@
+ android:layout_width="fill_parent"
+ android:layout_height="fill_parent"
+ android:orientation="vertical"
+ android:padding="8dp">
+ android:id="@+id/sniffToggleButton"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:fontFamily="sans-serif-condensed"
+ android:paddingLeft="24dp"
+ android:paddingRight="24dp"
+ android:text="@string/toggle_button"
+ android:textAllCaps="true"
+ android:textOff="Start"
+ android:textOn="Stop" />
+ android:id="@+id/sniffActivity"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignParentRight="true"
+ android:layout_alignTop="@+id/sniffToggleButton"
+ android:visibility="invisible" />
+ android:id="@+id/separator"
+ android:layout_width="fill_parent"
+ android:layout_height="1dp"
+ android:layout_below="@+id/sniffToggleButton"
+ android:layout_marginBottom="8dp"
+ android:layout_marginTop="8dp"
+ android:background="@android:color/darker_gray" />
+ android:id="@+id/listView"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_alignParentBottom="true"
+ android:layout_alignRight="@+id/sniffActivity"
+ android:layout_below="@+id/separator"
+ android:animateLayoutChanges="true"
+ android:indicatorLeft="?android:attr/expandableListPreferredItemIndicatorLeft"
+ android:paddingLeft="8dp"
+
+ android:paddingRight="8dp" />
\ No newline at end of file
diff --git a/cSploit/res/layout/plugin_mitm_sniffer.xml b/cSploit/res/layout/plugin_mitm_sniffer.xml
index 26c0595d54..7a7f06fb58 100644
--- a/cSploit/res/layout/plugin_mitm_sniffer.xml
+++ b/cSploit/res/layout/plugin_mitm_sniffer.xml
@@ -1,70 +1,71 @@
+ android:layout_width="fill_parent"
+ android:layout_height="fill_parent"
+ android:orientation="vertical"
+ android:padding="8dp">
+ android:id="@+id/sniffToggleButton"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:fontFamily="sans-serif-condensed"
+ android:paddingLeft="24dp"
+ android:paddingRight="24dp"
+ android:text="@string/toggle_button"
+ android:textAllCaps="true"
+ android:textOff="@string/start"
+ android:textOn="@string/stop" />
+ android:id="@+id/sniffActivity"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignParentRight="true"
+ android:layout_alignTop="@+id/sniffToggleButton"
+ android:visibility="invisible" />
+ android:id="@+id/separator"
+ android:layout_width="fill_parent"
+ android:layout_height="1dp"
+ android:layout_below="@+id/sniffToggleButton"
+ android:layout_marginBottom="8dp"
+ android:layout_marginTop="8dp"
+ android:background="@android:color/darker_gray" />
+ android:id="@+id/listView"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_alignParentBottom="true"
+ android:layout_alignRight="@+id/sniffActivity"
+ android:layout_below="@+id/separator"
+ android:animateLayoutChanges="true"
+ android:indicatorLeft="?android:attr/expandableListPreferredItemIndicatorLeft"
+ android:paddingLeft="8dp"
+ android:paddingRight="8dp" />
+ android:id="@+id/sortSpinner"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignBottom="@+id/sniffToggleButton"
+ android:layout_alignTop="@+id/sniffActivity"
+ android:layout_toLeftOf="@+id/sniffActivity"
+ android:layout_toRightOf="@+id/textView1" />
+ android:id="@+id/textView1"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignBottom="@+id/sniffToggleButton"
+ android:layout_alignTop="@+id/sortSpinner"
+ android:layout_toRightOf="@+id/sniffToggleButton"
+ android:gravity="center_vertical"
+ android:paddingLeft="24dp"
+ android:paddingRight="8dp"
+ android:text="@string/sort"
+ android:textAppearance="?android:attr/textAppearanceMedium" />
\ No newline at end of file
diff --git a/cSploit/res/layout/plugin_portscanner.xml b/cSploit/res/layout/plugin_portscanner.xml
index 1b118f4959..826434bf87 100644
--- a/cSploit/res/layout/plugin_portscanner.xml
+++ b/cSploit/res/layout/plugin_portscanner.xml
@@ -1,79 +1,80 @@
+ android:layout_width="fill_parent"
+ android:layout_height="fill_parent"
+ android:orientation="vertical"
+ android:padding="8dp">
+ android:id="@+id/scanToggleButton"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:fontFamily="sans-serif-condensed"
+ android:paddingLeft="24dp"
+ android:paddingRight="24dp"
+ android:text="@string/toggle_button"
+ android:textAllCaps="true"
+ android:textOff="@string/start"
+ android:textOn="Stop" />
+ android:background="@android:color/darker_gray" />
+ android:id="@+id/scanListView"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_alignParentLeft="true"
+ android:layout_alignParentRight="true"
+ android:layout_below="@+id/separator"
+ android:animateLayoutChanges="true" />
+ android:id="@+id/scanActivity"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignRight="@+id/scanListView"
+ android:visibility="invisible" />
+ android:visibility="gone" />
diff --git a/cSploit/res/layout/plugin_sessions_layout.xml b/cSploit/res/layout/plugin_sessions_layout.xml
index 809086d01b..27e1282d9f 100644
--- a/cSploit/res/layout/plugin_sessions_layout.xml
+++ b/cSploit/res/layout/plugin_sessions_layout.xml
@@ -1,38 +1,37 @@
+ android:id="@+id/layout"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:padding="10dp">
-
-
+ android:id="@android:id/list"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_alignParentBottom="true"
+ android:layout_alignParentLeft="true"
+ android:layout_below="@+id/textView"
+ android:animateLayoutChanges="true" />
+ android:layout_alignParentLeft="true"
+ android:background="@android:color/darker_gray" />
+ android:id="@+id/textView"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignParentLeft="true"
+ android:layout_alignParentRight="true"
+ android:layout_alignParentTop="true"
+ android:padding="5dp"
+ android:text="@string/sessions_title"
+ android:textAppearance="?android:attr/textAppearanceSmall"
+ android:textColor="#ccc" />
\ No newline at end of file
diff --git a/cSploit/res/layout/plugin_traceroute.xml b/cSploit/res/layout/plugin_traceroute.xml
index 2a27bdf7a0..7deb81c44b 100644
--- a/cSploit/res/layout/plugin_traceroute.xml
+++ b/cSploit/res/layout/plugin_traceroute.xml
@@ -1,44 +1,45 @@
+ android:layout_width="fill_parent"
+ android:layout_height="fill_parent"
+ android:orientation="vertical"
+ android:padding="8dp">
+ android:id="@+id/traceToggleButton"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:fontFamily="sans-serif-condensed"
+ android:paddingLeft="24dp"
+ android:paddingRight="24dp"
+ android:text="@string/toggle_button"
+ android:textAllCaps="true"
+ android:textOff="Start"
+ android:textOn="Stop" />
+ android:id="@+id/separator"
+ android:layout_width="fill_parent"
+ android:layout_height="1dp"
+ android:layout_below="@+id/traceToggleButton"
+ android:layout_marginBottom="8dp"
+ android:layout_marginTop="8dp"
+ android:background="@android:color/darker_gray" />
+ android:id="@+id/traceListView"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_alignParentLeft="true"
+ android:layout_alignParentRight="true"
+ android:layout_below="@+id/separator"
+ android:animateLayoutChanges="true" />
+ android:id="@+id/traceActivity"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignRight="@+id/traceListView"
+ android:visibility="invisible" />
\ No newline at end of file
diff --git a/cSploit/res/layout/target_layout.xml b/cSploit/res/layout/target_layout.xml
index acfb0543ad..0fc2d9e0b2 100644
--- a/cSploit/res/layout/target_layout.xml
+++ b/cSploit/res/layout/target_layout.xml
@@ -12,7 +12,9 @@
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
- android:layout_below="@+id/textView" />
+ android:layout_below="@+id/textView"
+ android:animateLayoutChanges="true"
+ />
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/cSploit/res/layout/wifi_scanner.xml b/cSploit/res/layout/wifi_scanner.xml
index cbd92e472a..d1524ed5f1 100644
--- a/cSploit/res/layout/wifi_scanner.xml
+++ b/cSploit/res/layout/wifi_scanner.xml
@@ -1,28 +1,29 @@
+ android:id="@+id/layout"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:padding="8dp">
+ android:id="@+id/android:list"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_alignParentBottom="true"
+ android:layout_alignParentLeft="true"
+ android:layout_below="@+id/scanStatusText"
+ android:animateLayoutChanges="true" />
+ android:id="@+id/scanStatusText"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignLeft="@+id/android:list"
+ android:layout_alignParentTop="true"
+ android:layout_alignRight="@+id/android:list"
+ android:fontFamily="sans-serif-condensed"
+ android:padding="8dp"
+ android:text="Status"
+ android:textAppearance="?android:attr/textAppearanceSmall" />
\ No newline at end of file
diff --git a/cSploit/res/values/strings.xml b/cSploit/res/values/strings.xml
index 1aa3a263a8..a5e99eb000 100644
--- a/cSploit/res/values/strings.xml
+++ b/cSploit/res/values/strings.xml
@@ -9,6 +9,7 @@
Enter redirection details below:
Address
Port
+ Ports
Target
No information
Services
@@ -77,8 +78,8 @@
Network discovery started.
Start Network Monitor
Stop Network Monitor
- Start MetaSploit RPCD
- Stop MetaSploit RPCD
+ Start Metasploit RPCD
+ Stop Metasploit RPCD
Exit
This will close cSploit, are you sure you want to continue?
@@ -238,11 +239,11 @@
RPC error
bad settings
cannot execute shell
- Starting MetaSploit RPCD. Standby…
- MetaSploit RPCD started
- MetaSploit RPCD stopped
- MetaSploit RPCD is already running
- MetaSploit RPCD does not respond
+ Starting Metasploit RPCD. Standby…
+ Metasploit RPCD started
+ Metasploit RPCD stopped
+ Metasploit RPCD is already running
+ Metasploit RPCD does not respond
Simple Sniff
@@ -325,7 +326,7 @@
General
Modules
- MetaSploit Framework
+ Metasploit Framework
Performance
Check for Updates
Wake Lock
@@ -354,20 +355,20 @@
Check for MSF updates
Check for MSF updates every time the application is started.
RPC username
- Username for connect to MetaSploit RPCD.
+ Username for connect to Metasploit RPCD.
RPC password
- Password for connect to MetaSploit RPCD.
+ Password for connect to Metasploit RPCD.
RPC host
- host where the MetaSploit RPC server is on
+ host where the Metasploit RPC server is on
RPC port
- Port for connect to MetaSploit RPCD.
+ Port for connect to Metasploit RPCD.
RPC use SSL
- Specify if MetaSploit RPC use SSL
+ Specify if Metasploit RPC use SSL
MSF directory
- Directory containing the MetaSploit Framework.
+ Directory containing the Metasploit Framework.
Ruby directory
Directory containing the Ruby interpreter.
- The MetaSploit Framework branch to use
+ The Metasploit Framework branch to use
MSF branch
Search preferences
Search for vulnerability using
@@ -397,12 +398,12 @@
Advanced
Folder
Enable MSF
- Enable the MetaSploit Framework
+ Enable the Metasploit Framework
MSF status notifications
View MSF RPC connection status
Delete MSF
- Delete the MetaSploit Framework from your device
- Do you really want to delete the MetaSploit Framework?
+ Delete the Metasploit Framework from your device
+ Do you really want to delete the Metasploit Framework?
About %d MB will be freed.
does not exists.
is not writable.
@@ -462,9 +463,9 @@
Target selected
Targets selected
Multiple attack
- Connect to MetaSploit
- Disconnect from MetaSploit
- Connected to MetaSploit
+ Connect to Metasploit
+ Disconnect from Metasploit
+ Connected to Metasploit
Connection FAILED!
An update for ruby is available
Delete previous location?
@@ -513,5 +514,5 @@
App version %s is available, do you want to upgrade ?
A new version for ruby is available, do you want to upgrade ?
A new msf version is available, do you want to upgrade ?
- MetaSploit Status
+ Metasploit Status
diff --git a/cSploit/src/org/csploit/android/ActionActivity.java b/cSploit/src/org/csploit/android/ActionActivity.java
index 798f121f1e..1df722f67b 100644
--- a/cSploit/src/org/csploit/android/ActionActivity.java
+++ b/cSploit/src/org/csploit/android/ActionActivity.java
@@ -79,7 +79,7 @@ public void onItemClick(AdapterView> parent, View view, int position, long id)
ActionActivity.this,
plugin.getClass()
));
- overridePendingTransition(R.anim.slide_in_left, R.anim.slide_out_left);
+ overridePendingTransition(R.anim.fadeout, R.anim.fadein);
} else
plugin.onActionClick(getApplicationContext());
}
@@ -109,7 +109,7 @@ public boolean onOptionsItemSelected(MenuItem item) {
@Override
public void onBackPressed() {
super.onBackPressed();
- overridePendingTransition(R.anim.slide_in_left, R.anim.slide_out_left);
+ overridePendingTransition(R.anim.fadeout, R.anim.fadein);
}
public class ActionsAdapter extends ArrayAdapter {
diff --git a/cSploit/src/org/csploit/android/MainActivity.java b/cSploit/src/org/csploit/android/MainActivity.java
index 52ad38b668..a9f89d182e 100644
--- a/cSploit/src/org/csploit/android/MainActivity.java
+++ b/cSploit/src/org/csploit/android/MainActivity.java
@@ -27,6 +27,7 @@
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
+import android.support.v4.content.ContextCompat;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.view.ActionMode;
import android.text.Html;
@@ -42,6 +43,7 @@
import android.widget.AdapterView.OnItemLongClickListener;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
+import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.RelativeLayout;
import android.widget.TextView;
@@ -132,6 +134,7 @@ private void createUpdateStatusText() {
layout.addView(mUpdateStatus);
}
+
private void createUpdateLayout() {
lv.setVisibility(View.GONE);
@@ -319,8 +322,8 @@ public void run() {
startActivityForResult(new Intent(MainActivity.this,
ActionActivity.class), WIFI_CONNECTION_REQUEST);
- overridePendingTransition(R.anim.slide_in_left,
- R.anim.slide_out_left);
+ overridePendingTransition(R.anim.fadeout, R.anim.fadein);
+
}
}).start();
@@ -638,6 +641,7 @@ public void run() {
startActivityForResult(new Intent(MainActivity.this,
WifiScannerActivity.class), WIFI_CONNECTION_REQUEST);
+ overridePendingTransition(R.anim.fadeout, R.anim.fadein);
return true;
case R.id.new_session:
@@ -732,6 +736,7 @@ public void onItemSelected(int index) {
case R.id.settings:
startActivity(new Intent(MainActivity.this, SettingsActivity.class));
+ overridePendingTransition(R.anim.fadeout, R.anim.fadein);
return true;
case R.id.ss_monitor:
@@ -841,13 +846,16 @@ public View getView(int position, View convertView, ViewGroup parent) {
.findViewById(R.id.itemTitle) : null);
holder.itemDescription = (TextView) (row != null ? row
.findViewById(R.id.itemDescription) : null);
-
+ holder.portCount = (TextView) (row != null ? row
+ .findViewById(R.id.portCount) : null);
+ holder.portCountLayout = (LinearLayout) (row != null ? row
+ .findViewById(R.id.portCountLayout) : null);
if (row != null)
row.setTag(holder);
} else
holder = (TargetHolder) row.getTag();
- Target target = System.getTarget(position);
+ final Target target = System.getTarget(position);
if (target.hasAlias())
holder.itemTitle.setText(Html.fromHtml(""
@@ -856,8 +864,7 @@ public View getView(int position, View convertView, ViewGroup parent) {
else
holder.itemTitle.setText(target.toString());
-
- holder.itemTitle.setTextColor(getResources().getColor((target.isConnected() ? R.color.app_color : R.color.gray_text)));
+ holder.itemTitle.setTextColor(ContextCompat.getColor(getContext(), (target.isConnected() ? R.color.app_color : R.color.gray_text)));
if (row != null && (getSharedPreferences("THEME", 0).getBoolean("isDark", false)))
row.setBackgroundResource(R.drawable.card_background_dark);
@@ -865,6 +872,10 @@ public View getView(int position, View convertView, ViewGroup parent) {
holder.itemImage.setImageResource(target.getDrawableResourceId());
holder.itemDescription.setText(target.getDescription());
+ int openedPorts = target.getOpenPorts().size();
+
+ holder.portCount.setText(String.format("%d", openedPorts));
+ holder.portCountLayout.setVisibility(openedPorts < 1 ? View.GONE : View.VISIBLE);
return row;
}
@@ -918,6 +929,8 @@ class TargetHolder {
ImageView itemImage;
TextView itemTitle;
TextView itemDescription;
+ TextView portCount;
+ LinearLayout portCountLayout;
}
}
diff --git a/cSploit/src/org/csploit/android/SettingsActivity.java b/cSploit/src/org/csploit/android/SettingsActivity.java
index 362174d831..da0e6d81b5 100644
--- a/cSploit/src/org/csploit/android/SettingsActivity.java
+++ b/cSploit/src/org/csploit/android/SettingsActivity.java
@@ -575,6 +575,11 @@ public void onDestroy() {
}
super.onDestroy();
}
+ }
+ @Override
+ public void onBackPressed() {
+ super.onBackPressed();
+ overridePendingTransition(R.anim.fadeout, R.anim.fadein);
}
}
diff --git a/cSploit/src/org/csploit/android/WifiScannerActivity.java b/cSploit/src/org/csploit/android/WifiScannerActivity.java
index 81ce8dd865..ad1fdf3195 100644
--- a/cSploit/src/org/csploit/android/WifiScannerActivity.java
+++ b/cSploit/src/org/csploit/android/WifiScannerActivity.java
@@ -415,7 +415,6 @@ public boolean onOptionsItemSelected(MenuItem item){
}
if(item.getItemId() == android.R.id.home){
onBackPressed();
-
return true;
} else
return super.onOptionsItemSelected(item);
@@ -435,7 +434,7 @@ public void onBackPressed(){
setResult(RESULT_OK, intent);
super.onBackPressed();
- overridePendingTransition(R.anim.slide_in_left, R.anim.slide_out_left);
+ overridePendingTransition(R.anim.fadeout, R.anim.fadein);
}
public class ScanAdapter extends ArrayAdapter{
diff --git a/cSploit/src/org/csploit/android/net/Target.java b/cSploit/src/org/csploit/android/net/Target.java
index 8c6c54dbbc..35f2d4fc01 100644
--- a/cSploit/src/org/csploit/android/net/Target.java
+++ b/cSploit/src/org/csploit/android/net/Target.java
@@ -404,7 +404,7 @@ else if(mType == Type.REMOTE){
}
public void setAlias(String alias){
- mAlias = alias.trim();
+ mAlias = alias == null ? null : alias.trim();
}
public String getAlias(){
diff --git a/cSploit/src/org/csploit/android/net/metasploit/MsfExploit.java b/cSploit/src/org/csploit/android/net/metasploit/MsfExploit.java
index e2eecb7cf9..113c3eab85 100644
--- a/cSploit/src/org/csploit/android/net/metasploit/MsfExploit.java
+++ b/cSploit/src/org/csploit/android/net/metasploit/MsfExploit.java
@@ -87,7 +87,9 @@ public MsfExploit(String name, String summary, String description, Ranking rank,
this.authors = authors;
this.platforms = platforms;
this.architectures = architectures;
- this.references.addAll(references);
+ if(references != null) {
+ this.references.addAll(references);
+ }
refresh();
}
diff --git a/cSploit/src/org/csploit/android/plugins/ExploitFinder.java b/cSploit/src/org/csploit/android/plugins/ExploitFinder.java
index 742fd9519a..6a44e008e5 100644
--- a/cSploit/src/org/csploit/android/plugins/ExploitFinder.java
+++ b/cSploit/src/org/csploit/android/plugins/ExploitFinder.java
@@ -21,7 +21,6 @@
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
-import android.graphics.Color;
import android.graphics.Typeface;
import android.net.Uri;
import android.os.Bundle;
@@ -123,7 +122,7 @@ public View getView(int position, View convertView, ViewGroup parent) {
switch (rank) {
case Low:
rString+= "Low";
- color = "red";
+ color = "#F44336"; // red
break;
case Average:
rString+= "Average";
@@ -135,20 +134,20 @@ public View getView(int position, View convertView, ViewGroup parent) {
break;
case Good:
rString+= "Good";
- color = "blue";
+ color = "#3F9FE0"; // blue
break;
case Great:
rString+= "Great";
- color = "green";
+ color = "#4CAF50"; // green
break;
case Excellent:
rString+= "Excellent";
- color = "green";
+ color = "#4CAF50"; // green
break;
case Manual:
default:
rString+= "Manual";
- color = "gray4";
+ color = "gray4"; //green
break;
}
@@ -415,7 +414,7 @@ public boolean onOptionsItemSelected(MenuItem item) {
public void onBackPressed() {
setStoppedState();
super.onBackPressed();
- overridePendingTransition(R.anim.slide_in_left, R.anim.slide_out_left);
+ overridePendingTransition(R.anim.fadeout, R.anim.fadein);
}
@Override
diff --git a/cSploit/src/org/csploit/android/plugins/Inspector.java b/cSploit/src/org/csploit/android/plugins/Inspector.java
index 27c97d64ed..76e07a1ca5 100644
--- a/cSploit/src/org/csploit/android/plugins/Inspector.java
+++ b/cSploit/src/org/csploit/android/plugins/Inspector.java
@@ -171,6 +171,7 @@ public void onClick(View v){
public void onBackPressed(){
setStoppedState();
super.onBackPressed();
+ overridePendingTransition(R.anim.fadeout, R.anim.fadein);
}
@Override
diff --git a/cSploit/src/org/csploit/android/plugins/LoginCracker.java b/cSploit/src/org/csploit/android/plugins/LoginCracker.java
index 44fa84843d..444e37e4be 100644
--- a/cSploit/src/org/csploit/android/plugins/LoginCracker.java
+++ b/cSploit/src/org/csploit/android/plugins/LoginCracker.java
@@ -413,6 +413,7 @@ protected void onActivityResult(int request, int result, Intent intent) {
public void onBackPressed() {
setStoppedState();
super.onBackPressed();
+ overridePendingTransition(R.anim.fadeout, R.anim.fadein);
}
public class ProtocolAdapter extends BaseAdapter implements SpinnerAdapter {
diff --git a/cSploit/src/org/csploit/android/plugins/PacketForger.java b/cSploit/src/org/csploit/android/plugins/PacketForger.java
index 4e4cf51bd2..8051ebc589 100644
--- a/cSploit/src/org/csploit/android/plugins/PacketForger.java
+++ b/cSploit/src/org/csploit/android/plugins/PacketForger.java
@@ -289,7 +289,7 @@ private void setStoppedState(String errorMessage) {
@Override
public void onBackPressed() {
setStoppedState(null);
-
super.onBackPressed();
+ overridePendingTransition(R.anim.fadeout, R.anim.fadein);
}
}
diff --git a/cSploit/src/org/csploit/android/plugins/PortScanner.java b/cSploit/src/org/csploit/android/plugins/PortScanner.java
index ca00602ac5..5965694e7a 100644
--- a/cSploit/src/org/csploit/android/plugins/PortScanner.java
+++ b/cSploit/src/org/csploit/android/plugins/PortScanner.java
@@ -23,7 +23,6 @@
import android.content.SharedPreferences;
import android.net.Uri;
import android.os.Bundle;
-import android.preference.PreferenceManager;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
@@ -363,6 +362,7 @@ public void onInputEntered(String input) {
public void onBackPressed() {
setStoppedState();
super.onBackPressed();
+ overridePendingTransition(R.anim.fadeout, R.anim.fadein);
}
private class Receiver extends NMap.SynScanReceiver {
diff --git a/cSploit/src/org/csploit/android/plugins/RouterPwn.java b/cSploit/src/org/csploit/android/plugins/RouterPwn.java
index fb3ac41344..b4f000b3d4 100644
--- a/cSploit/src/org/csploit/android/plugins/RouterPwn.java
+++ b/cSploit/src/org/csploit/android/plugins/RouterPwn.java
@@ -47,6 +47,13 @@ public boolean isAllowedTarget(Target target){
return target.isRouter();
}
+
+ @Override
+ public void onBackPressed() {
+ super.onBackPressed();
+ overridePendingTransition(R.anim.fadeout, R.anim.fadein);
+ }
+
@Override
public void onActionClick(Context context){
try{
diff --git a/cSploit/src/org/csploit/android/plugins/Sessions.java b/cSploit/src/org/csploit/android/plugins/Sessions.java
index 8c21c3144f..584fab63ee 100644
--- a/cSploit/src/org/csploit/android/plugins/Sessions.java
+++ b/cSploit/src/org/csploit/android/plugins/Sessions.java
@@ -77,7 +77,7 @@ public void onChoice(int choice) {
case R.string.open_shell:
System.setCurrentSession(s);
startActivity(new Intent(Sessions.this, Console.class));
- overridePendingTransition(R.anim.slide_in_left, R.anim.slide_out_left);
+ overridePendingTransition(R.anim.fadeout, R.anim.fadein);
break;
case R.string.show_full_description:
String message = s.getDescription();
@@ -126,7 +126,7 @@ public void onItemClick(AdapterView> parent, View view, int position, long id)
if(s.haveShell()) {
System.setCurrentSession(s);
startActivity(new Intent(Sessions.this,Console.class));
- overridePendingTransition(R.anim.slide_in_left, R.anim.slide_out_left);
+ overridePendingTransition(R.anim.fadeout, R.anim.fadein);
} else {
longClickListener.onItemLongClick(parent, view, position, id);
}
@@ -179,7 +179,7 @@ public void run() {
}).start();
}
- @Override
+ @Override
public void onRpcChange(RPCClient currentValue) {
if(UIThread==null)
return;
@@ -188,4 +188,10 @@ public void onRpcChange(RPCClient currentValue) {
else if(currentValue == null)
new FinishDialog(getString(R.string.error),getString(R.string.msfrpc_disconnected),Sessions.this).show();
}
+
+ @Override
+ public void onBackPressed() {
+ super.onBackPressed();
+ overridePendingTransition(R.anim.fadeout, R.anim.fadein);
+ }
}
\ No newline at end of file
diff --git a/cSploit/src/org/csploit/android/plugins/Traceroute.java b/cSploit/src/org/csploit/android/plugins/Traceroute.java
index 8edf16c5dc..0ad911884f 100644
--- a/cSploit/src/org/csploit/android/plugins/Traceroute.java
+++ b/cSploit/src/org/csploit/android/plugins/Traceroute.java
@@ -141,6 +141,7 @@ public boolean onOptionsItemSelected(MenuItem item){
public void onBackPressed() {
setStoppedState();
super.onBackPressed();
+ overridePendingTransition(R.anim.fadeout, R.anim.fadein);
}
private class Receiver extends NMap.TraceReceiver {
diff --git a/cSploit/src/org/csploit/android/plugins/mitm/DNSSpoofing.java b/cSploit/src/org/csploit/android/plugins/mitm/DNSSpoofing.java
index 53ac8fc72b..cf0fc832cf 100644
--- a/cSploit/src/org/csploit/android/plugins/mitm/DNSSpoofing.java
+++ b/cSploit/src/org/csploit/android/plugins/mitm/DNSSpoofing.java
@@ -236,7 +236,7 @@ public void run() {
public void onBackPressed() {
setStoppedState();
super.onBackPressed();
- overridePendingTransition(R.anim.slide_in_left, R.anim.slide_out_left);
+ overridePendingTransition(R.anim.fadeout, R.anim.fadein);
}
}
diff --git a/cSploit/src/org/csploit/android/plugins/mitm/MITM.java b/cSploit/src/org/csploit/android/plugins/mitm/MITM.java
index 5773800725..8497d3cd26 100644
--- a/cSploit/src/org/csploit/android/plugins/mitm/MITM.java
+++ b/cSploit/src/org/csploit/android/plugins/mitm/MITM.java
@@ -440,7 +440,7 @@ public void onClick(View v) {
Sniffer.class
)
);
- overridePendingTransition(R.anim.slide_in_left, R.anim.slide_out_left);
+ overridePendingTransition(R.anim.fadeout, R.anim.fadein);
}
}));
@@ -465,7 +465,7 @@ public void onClick(View v){
PasswordSniffer.class
)
);
- overridePendingTransition(R.anim.slide_in_left, R.anim.slide_out_left);
+ overridePendingTransition(R.anim.fadeout, R.anim.fadein);
}
}));
@@ -491,7 +491,7 @@ public void onClick(View v) {
DNSSpoofing.class
)
);
- overridePendingTransition(R.anim.slide_in_left, R.anim.slide_out_left);
+ overridePendingTransition(R.anim.fadeout, R.anim.fadein);
}
}));
@@ -516,7 +516,7 @@ public void onClick(View v){
Hijacker.class
)
);
- overridePendingTransition(R.anim.slide_in_left, R.anim.slide_out_left);
+ overridePendingTransition(R.anim.fadeout, R.anim.fadein);
}
}));
@@ -987,5 +987,6 @@ public void onError(String error, int resId){
public void onBackPressed(){
setStoppedState();
super.onBackPressed();
+ overridePendingTransition(R.anim.fadeout, R.anim.fadein);
}
}
diff --git a/cSploit/src/org/csploit/android/plugins/mitm/PasswordSniffer.java b/cSploit/src/org/csploit/android/plugins/mitm/PasswordSniffer.java
index e2b6ca7804..7fc5552553 100644
--- a/cSploit/src/org/csploit/android/plugins/mitm/PasswordSniffer.java
+++ b/cSploit/src/org/csploit/android/plugins/mitm/PasswordSniffer.java
@@ -352,6 +352,6 @@ public void run() {
public void onBackPressed() {
setStoppedState();
super.onBackPressed();
- overridePendingTransition(R.anim.slide_in_left, R.anim.slide_out_left);
+ overridePendingTransition(R.anim.fadeout, R.anim.fadein);
}
}
\ No newline at end of file
diff --git a/cSploit/src/org/csploit/android/plugins/mitm/Sniffer.java b/cSploit/src/org/csploit/android/plugins/mitm/Sniffer.java
index 021e1f3361..9765340502 100644
--- a/cSploit/src/org/csploit/android/plugins/mitm/Sniffer.java
+++ b/cSploit/src/org/csploit/android/plugins/mitm/Sniffer.java
@@ -463,6 +463,6 @@ public void run() {
public void onBackPressed(){
setStoppedState();
super.onBackPressed();
- overridePendingTransition(R.anim.slide_in_left, R.anim.slide_out_left);
+ overridePendingTransition(R.anim.fadeout, R.anim.fadein);
}
}
\ No newline at end of file
diff --git a/cSploit/src/org/csploit/android/plugins/mitm/hijacker/Hijacker.java b/cSploit/src/org/csploit/android/plugins/mitm/hijacker/Hijacker.java
index 00264c37bd..26f24cc2ef 100644
--- a/cSploit/src/org/csploit/android/plugins/mitm/hijacker/Hijacker.java
+++ b/cSploit/src/org/csploit/android/plugins/mitm/hijacker/Hijacker.java
@@ -622,6 +622,6 @@ public void onItemSelected(int index) {
public void onBackPressed() {
setStoppedState();
super.onBackPressed();
- overridePendingTransition(R.anim.slide_in_left, R.anim.slide_out_left);
+ overridePendingTransition(R.anim.fadeout, R.anim.fadein);
}
}
diff --git a/cSploit/src/org/csploit/android/plugins/mitm/hijacker/HijackerWebView.java b/cSploit/src/org/csploit/android/plugins/mitm/hijacker/HijackerWebView.java
index d2c565ab6f..4834a14400 100644
--- a/cSploit/src/org/csploit/android/plugins/mitm/hijacker/HijackerWebView.java
+++ b/cSploit/src/org/csploit/android/plugins/mitm/hijacker/HijackerWebView.java
@@ -190,8 +190,7 @@ public void onBackPressed() {
mWebView.stopLoading();
super.onBackPressed();
- overridePendingTransition(R.anim.slide_in_left,
- R.anim.slide_out_left);
+ overridePendingTransition(R.anim.fadeout, R.anim.fadein);
}
}
}
diff --git a/cSploit/src/org/csploit/android/services/NetworkRadar.java b/cSploit/src/org/csploit/android/services/NetworkRadar.java
index e8baadcdbb..0a466c97bd 100644
--- a/cSploit/src/org/csploit/android/services/NetworkRadar.java
+++ b/cSploit/src/org/csploit/android/services/NetworkRadar.java
@@ -8,7 +8,11 @@
import org.csploit.android.core.Logger;
import org.csploit.android.core.System;
import org.csploit.android.core.ChildManager;
+import org.csploit.android.net.Endpoint;
+import org.csploit.android.net.Network;
import org.csploit.android.net.Target;
+import org.csploit.android.tools.NMap;
+import org.csploit.android.tools.NetworkRadar.HostReceiver;
import java.net.InetAddress;
@@ -64,36 +68,57 @@ public void buildMenuItem(MenuItem item) {
item.setEnabled(System.getTools().networkRadar.isEnabled());
}
- private class Receiver extends org.csploit.android.tools.NetworkRadar.HostReceiver {
+ private void onNewHostFound(Target target) {
+ try {
+ System.getTools().nmap.synScan(target, new ScanReceiver(target));
+ } catch (ChildManager.ChildNotStartedException e) {
+ System.errorLogging(e);
+ }
+ }
+
+ private class Receiver extends HostReceiver {
@Override
public void onHostFound(byte[] macAddress, InetAddress ipAddress, String name) {
Target t;
boolean notify = false;
+ boolean justFound;
t = System.getTargetByAddress(ipAddress);
+ justFound = t == null;
- if(t==null) {
+ if(justFound) {
t = new Target(ipAddress, macAddress);
-
- System.addOrderedTarget(t);
-
- notify = true;
- }
-
- if( !t.isConnected() ) {
- t.setConneced(true);
- notify = true;
- }
-
- if (name != null && !name.equals(t.getAlias())) {
t.setAlias(name);
+ System.addOrderedTarget(t);
notify = true;
+ } else {
+ if (!t.isConnected()) {
+ t.setConneced(true);
+ notify = true;
+ }
+
+ if (name != null && !name.equals(t.getAlias())) {
+ t.setAlias(name);
+ notify = true;
+ }
+
+ //TODO: remove me ( and imports )
+ Endpoint e = new Endpoint(ipAddress, macAddress);
+ if(!e.equals(t.getEndpoint())) {
+ Logger.warning(
+ String.format("target '%s' changed it's mac address from '%s' to '%s'",
+ t.toString(), t.getEndpoint().getHardwareAsString(), e.getHardwareAsString()));
+ }
}
if(notify) {
sendIntent(NRDR_CHANGED);
}
+
+ if(justFound) {
+ onNewHostFound(t);
+ }
}
@Override
@@ -120,4 +145,19 @@ public void onDeath(int signal) {
sendIntent(NRDR_STOPPED);
}
}
+
+ private class ScanReceiver extends NMap.SynScanReceiver {
+
+ private final Target target;
+
+ public ScanReceiver(Target target) {
+ this.target = target;
+ }
+
+ @Override
+ public void onPortFound(int port, String protocol) {
+ target.addOpenPort(port, Network.Protocol.fromString(protocol));
+ sendIntent(NRDR_CHANGED);
+ }
+ }
}
diff --git a/cSploit/src/org/csploit/android/tools/NMap.java b/cSploit/src/org/csploit/android/tools/NMap.java
index af76f4e756..2486e1af08 100644
--- a/cSploit/src/org/csploit/android/tools/NMap.java
+++ b/cSploit/src/org/csploit/android/tools/NMap.java
@@ -142,6 +142,10 @@ public Child synScan( Target target, SynScanReceiver receiver, String custom ) t
return super.async( command, receiver );
}
+ public Child synScan( Target target, SynScanReceiver receiver) throws ChildManager.ChildNotStartedException {
+ return synScan(target, receiver, null);
+ }
+
public Child customScan( Target target, SynScanReceiver receiver, String custom ) throws ChildManager.ChildNotStartedException {
String command = "-vvv ";