Browse Source

Icons updated
Echo added again
Starting of Services only with connected wi-fi

lp-tu 10 years ago
parent
commit
1acc9e0a6a

BIN
res/drawable-hdpi/ic_launcher.png


BIN
res/drawable-hdpi/ic_service_green.png


BIN
res/drawable-hdpi/ic_service_red.png


BIN
res/drawable-hdpi/ic_service_yellow.png


BIN
res/drawable-hdpi/icon_service_green.png


BIN
res/drawable-hdpi/icon_service_red.png


BIN
res/drawable-hdpi/icon_service_yellow.png


BIN
res/drawable-mdpi/ic_launcher.png


BIN
res/drawable-mdpi/ic_service_green.png


BIN
res/drawable-mdpi/ic_service_red.png


BIN
res/drawable-mdpi/ic_service_yellow.png


BIN
res/drawable-xhdpi/ic_launcher.png


BIN
res/drawable-xhdpi/ic_service_green.png


BIN
res/drawable-xhdpi/ic_service_red.png


BIN
res/drawable-xhdpi/ic_service_yellow.png


BIN
res/drawable-xxhdpi/ic_launcher.png


BIN
res/drawable-xxhdpi/ic_service_green.png


BIN
res/drawable-xxhdpi/ic_service_red.png


BIN
res/drawable-xxhdpi/ic_service_yellow.png


+ 1 - 0
res/values/protocols.xml

@@ -8,6 +8,7 @@
         <item>SSH</item>
         <item>TELNET</item>
         <item>MySQL</item>
+        <item>ECHO</item>
     </string-array>
 
 </resources>

+ 4 - 9
src/de/tudarmstadt/informatik/hostage/HoneyService.java

@@ -120,10 +120,7 @@ public class HoneyService extends Service {
 		public void onReceive(Context context, Intent intent) {
 				String bssid_old = pref.getString(MainActivity.BSSID, "");
 				String bssid_new = HelperUtils.getBSSID(context);
-				Log.i("HoneyService", "Connection changed");
-
 				if(!stopped && (bssid_new == null || !bssid_new.equals(bssid_old))){
-					Log.i("HoneyService", "Connection lost");
 					wifiChangeNotification();
 					stopListeners();
 					deleteSessionData();
@@ -151,13 +148,13 @@ public class HoneyService extends Service {
 										.setContentTitle(getString(R.string.app_name))
 										.setWhen(System.currentTimeMillis());	
 		if(activeHandlers){
-			builder.setSmallIcon(R.drawable.icon_service_red);
+			builder.setSmallIcon(R.drawable.ic_service_red);
 			builder.setContentText("Network is infected!");
 		} else if(bssidSeen){
-			builder.setSmallIcon(R.drawable.icon_service_yellow);
+			builder.setSmallIcon(R.drawable.ic_service_yellow);
 			builder.setContentText("Network has been infected in previous session!");
 		} else{
-			builder.setSmallIcon(R.drawable.icon_service_green);
+			builder.setSmallIcon(R.drawable.ic_service_green);
 			builder.setContentText("Everything looks fine!");
 		}				
 		TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);
@@ -173,12 +170,11 @@ public class HoneyService extends Service {
 	private void updateNotification() {
 		SharedPreferences defaultPref = PreferenceManager.getDefaultSharedPreferences(this);
 		String strRingtonePreference = defaultPref.getString("pref_notification_sound", "content://settings/system/notification_sound");  
-		Log.i("HoneyService", "Ringtone: " + strRingtonePreference);
 		builder = new NotificationCompat.Builder(this)
 				.setContentTitle(getString(R.string.app_name))
 				.setTicker("Honeypot under attack!")
 				.setContentText("Network is infected!")
-				.setSmallIcon(R.drawable.icon_service_red)
+				.setSmallIcon(R.drawable.ic_service_red)
 				.setWhen(System.currentTimeMillis())
 				.setSound(Uri.parse(strRingtonePreference)); 
 		TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);
@@ -187,7 +183,6 @@ public class HoneyService extends Service {
 		PendingIntent resultPendingIntent = stackBuilder.getPendingIntent(0,
 				PendingIntent.FLAG_UPDATE_CURRENT);
 		builder.setContentIntent(resultPendingIntent);
-		Log.i("HoneyService", "Vibrating: " + defaultPref.getBoolean("pref_vibration", false));
 		if(defaultPref.getBoolean("pref_vibration", false)){
 			builder.setVibrate(new long[]{100, 200, 100, 200});
 		} 

+ 10 - 5
src/de/tudarmstadt/informatik/hostage/logging/SQLLogger.java

@@ -2,8 +2,11 @@ package de.tudarmstadt.informatik.hostage.logging;
 
 import java.io.File;
 import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
 import java.util.ArrayList;
 
+import org.apache.http.client.ClientProtocolException;
 import org.apache.http.client.HttpClient;
 import org.apache.http.client.methods.HttpPost;
 import org.apache.http.entity.StringEntity;
@@ -111,10 +114,11 @@ public class SQLLogger implements Logger{
 					HttpClient httpclient = HelperUtils.createHttpClient();
 					ArrayList<Record> recordList = dbh.getRecordOfEachAttack(lastUploadedAttackId + 1);
 					progressMax = recordList.size();		
-					try {
+
 							HttpPost httppost;
 							int progressBarStatus = 1;
 							for(Record record: recordList){
+								try {
 								httppost = new HttpPost(pref.getString("pref_upload", "https://ssi.cased.de"));
 								StringEntity se = new StringEntity(record.toString(JSON));
 								httppost.setEntity(se);
@@ -123,11 +127,12 @@ public class SQLLogger implements Logger{
 								progressBarStatus++;
 			                     // Update the progress bar
 								mNotifyManager.notify(2, builder.build());
+								} catch (Exception e) {
+									// TODO Auto-generated catch block
+									e.printStackTrace();
+								}
 							}
-						} catch (Exception e) {
-							// TODO Auto-generated catch block
-							e.printStackTrace();
-						}	
+
 					// When the loop is finished, updates the notification
 		            builder.setContentText("Upload complete")
 		            	   .setTicker("Upload complete")

+ 14 - 2
src/de/tudarmstadt/informatik/hostage/ui/MainActivity.java

@@ -119,6 +119,12 @@ public class MainActivity extends Activity {
 		registerNetReceiver();
 		if (isServiceRunning()) {
 			bindService(getServiceIntent(), mConnection, BIND_AUTO_CREATE);
+		} else {
+			String bssid_old = pref.getString(MainActivity.BSSID, "");
+			String bssid_new = HelperUtils.getBSSID(this);
+			if(bssid_new == null || !bssid_new.equals(bssid_old)){
+				deleteSessionData();
+			}
 		}
 		updateUI();
 		updateConnectionInfo();
@@ -157,8 +163,14 @@ public class MainActivity extends Activity {
 	}
 
 	private void startAndBind() {
-		startService(getServiceIntent());
-		bindService();
+		if(HelperUtils.getBSSID(this) != null){
+			startService(getServiceIntent());
+			bindService();			
+		} else{
+			ToggleButton button = (ToggleButton) findViewById(R.id.toggleButtonOnOff);
+			button.setChecked(false);
+			Toast.makeText(getApplicationContext(), "To start a service, first connect to a wireless network.", Toast.LENGTH_SHORT).show();
+		}
 	}
 	
 	private void bindService(){