Browse Source

fixed ssl sockets

mip-it 10 years ago
parent
commit
7368a2e648
36 changed files with 237 additions and 197 deletions
  1. 10 3
      bin/AndroidManifest.xml
  2. BIN
      bin/classes/de/tudarmstadt/informatik/hostage/HoneyListener.class
  3. BIN
      bin/classes/de/tudarmstadt/informatik/hostage/HoneyService$LocalBinder.class
  4. BIN
      bin/classes/de/tudarmstadt/informatik/hostage/HoneyService.class
  5. BIN
      bin/classes/de/tudarmstadt/informatik/hostage/R$array.class
  6. BIN
      bin/classes/de/tudarmstadt/informatik/hostage/R$attr.class
  7. BIN
      bin/classes/de/tudarmstadt/informatik/hostage/R$dimen.class
  8. BIN
      bin/classes/de/tudarmstadt/informatik/hostage/R$drawable.class
  9. BIN
      bin/classes/de/tudarmstadt/informatik/hostage/R$id.class
  10. BIN
      bin/classes/de/tudarmstadt/informatik/hostage/R$layout.class
  11. BIN
      bin/classes/de/tudarmstadt/informatik/hostage/R$menu.class
  12. BIN
      bin/classes/de/tudarmstadt/informatik/hostage/R$string.class
  13. BIN
      bin/classes/de/tudarmstadt/informatik/hostage/R$style.class
  14. BIN
      bin/classes/de/tudarmstadt/informatik/hostage/R.class
  15. BIN
      bin/classes/de/tudarmstadt/informatik/hostage/protocol/FTP$STATE.class
  16. BIN
      bin/classes/de/tudarmstadt/informatik/hostage/protocol/FTP.class
  17. BIN
      bin/classes/de/tudarmstadt/informatik/hostage/protocol/HTTP.class
  18. BIN
      bin/classes/de/tudarmstadt/informatik/hostage/protocol/Protocol$TALK_FIRST.class
  19. BIN
      bin/classes/de/tudarmstadt/informatik/hostage/protocol/Protocol.class
  20. BIN
      bin/classes/de/tudarmstadt/informatik/hostage/protocol/SMB$STATE.class
  21. BIN
      bin/classes/de/tudarmstadt/informatik/hostage/protocol/SMB.class
  22. BIN
      bin/classes/de/tudarmstadt/informatik/hostage/protocol/SSH$STATE.class
  23. BIN
      bin/classes/de/tudarmstadt/informatik/hostage/protocol/SSH.class
  24. BIN
      bin/classes/de/tudarmstadt/informatik/hostage/ui/ListViewAdapter.class
  25. BIN
      bin/classes/de/tudarmstadt/informatik/hostage/ui/MainActivity$1.class
  26. BIN
      bin/classes/de/tudarmstadt/informatik/hostage/ui/MainActivity$2.class
  27. BIN
      bin/classes/de/tudarmstadt/informatik/hostage/ui/MainActivity$3.class
  28. BIN
      bin/classes/de/tudarmstadt/informatik/hostage/ui/MainActivity$4.class
  29. BIN
      bin/classes/de/tudarmstadt/informatik/hostage/ui/MainActivity$5.class
  30. BIN
      bin/classes/de/tudarmstadt/informatik/hostage/ui/MainActivity.class
  31. 116 81
      gen/de/tudarmstadt/informatik/hostage/R.java
  32. 53 31
      src/de/tudarmstadt/informatik/hostage/HoneyListener.java
  33. 1 1
      src/de/tudarmstadt/informatik/hostage/handler/AbstractHandler.java
  34. 36 29
      src/de/tudarmstadt/informatik/hostage/net/MySSLSocketFactory.java
  35. 0 20
      src/de/tudarmstadt/informatik/hostage/net/MyServerSocketFactory.java
  36. 21 32
      src/de/tudarmstadt/informatik/hostage/protocol/HTTPS.java

+ 10 - 3
bin/AndroidManifest.xml

@@ -21,7 +21,8 @@
         android:theme="@style/AppTheme" >
         <activity
             android:name="de.tudarmstadt.informatik.hostage.ui.MainActivity"
-            android:label="@string/app_name" >
+            android:label="@string/app_name" 
+            android:configChanges="keyboardHidden|orientation|screenSize">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <category android:name="android.intent.category.LAUNCHER" />
@@ -33,15 +34,21 @@
         </activity>
        	<activity
             android:name="de.tudarmstadt.informatik.hostage.ui.ViewLogTable"
-            android:label="@string/logFile" >
+            android:label="@string/database" >
         </activity>
         
        	<activity
             android:name="de.tudarmstadt.informatik.hostage.ui.SettingsActivity"
             android:label="@string/settings" >
         </activity>
+        
+       	<activity
+            android:name="de.tudarmstadt.informatik.hostage.ui.AboutActivity"
+            android:label="@string/action_about" >
+        </activity>
 
-        <service android:name="de.tudarmstadt.informatik.hostage.HoneyService" >
+        <service 
+            android:name="de.tudarmstadt.informatik.hostage.HoneyService" >
         </service>
     </application>
 

BIN
bin/classes/de/tudarmstadt/informatik/hostage/HoneyListener.class


BIN
bin/classes/de/tudarmstadt/informatik/hostage/HoneyService$LocalBinder.class


BIN
bin/classes/de/tudarmstadt/informatik/hostage/HoneyService.class


BIN
bin/classes/de/tudarmstadt/informatik/hostage/R$array.class


BIN
bin/classes/de/tudarmstadt/informatik/hostage/R$attr.class


BIN
bin/classes/de/tudarmstadt/informatik/hostage/R$dimen.class


BIN
bin/classes/de/tudarmstadt/informatik/hostage/R$drawable.class


BIN
bin/classes/de/tudarmstadt/informatik/hostage/R$id.class


BIN
bin/classes/de/tudarmstadt/informatik/hostage/R$layout.class


BIN
bin/classes/de/tudarmstadt/informatik/hostage/R$menu.class


BIN
bin/classes/de/tudarmstadt/informatik/hostage/R$string.class


BIN
bin/classes/de/tudarmstadt/informatik/hostage/R$style.class


BIN
bin/classes/de/tudarmstadt/informatik/hostage/R.class


BIN
bin/classes/de/tudarmstadt/informatik/hostage/protocol/FTP$STATE.class


BIN
bin/classes/de/tudarmstadt/informatik/hostage/protocol/FTP.class


BIN
bin/classes/de/tudarmstadt/informatik/hostage/protocol/HTTP.class


BIN
bin/classes/de/tudarmstadt/informatik/hostage/protocol/Protocol$TALK_FIRST.class


BIN
bin/classes/de/tudarmstadt/informatik/hostage/protocol/Protocol.class


BIN
bin/classes/de/tudarmstadt/informatik/hostage/protocol/SMB$STATE.class


BIN
bin/classes/de/tudarmstadt/informatik/hostage/protocol/SMB.class


BIN
bin/classes/de/tudarmstadt/informatik/hostage/protocol/SSH$STATE.class


BIN
bin/classes/de/tudarmstadt/informatik/hostage/protocol/SSH.class


BIN
bin/classes/de/tudarmstadt/informatik/hostage/ui/ListViewAdapter.class


BIN
bin/classes/de/tudarmstadt/informatik/hostage/ui/MainActivity$1.class


BIN
bin/classes/de/tudarmstadt/informatik/hostage/ui/MainActivity$2.class


BIN
bin/classes/de/tudarmstadt/informatik/hostage/ui/MainActivity$3.class


BIN
bin/classes/de/tudarmstadt/informatik/hostage/ui/MainActivity$4.class


BIN
bin/classes/de/tudarmstadt/informatik/hostage/ui/MainActivity$5.class


BIN
bin/classes/de/tudarmstadt/informatik/hostage/ui/MainActivity.class


+ 116 - 81
gen/de/tudarmstadt/informatik/hostage/R.java

@@ -15,12 +15,18 @@ public final class R {
         public static final int out_right_to_left=0x7f040003;
     }
     public static final class array {
-        public static final int protocols=0x7f070002;
-        public static final int upload_entries=0x7f070000;
-        public static final int upload_values=0x7f070001;
+        public static final int delete_criteria=0x7f060001;
+        public static final int format=0x7f060000;
+        public static final int protocols=0x7f060004;
+        public static final int upload_entries=0x7f060002;
+        public static final int upload_values=0x7f060003;
     }
     public static final class attr {
     }
+    public static final class color {
+        public static final int dark_grey=0x7f070001;
+        public static final int light_grey=0x7f070000;
+    }
     public static final class dimen {
         /**  Default screen margins, per the Android Design guidelines. 
 
@@ -28,93 +34,122 @@ public final class R {
          screen margins) for sw720dp devices (e.g. 10" tablets) in landscape here.
     
          */
-        public static final int activity_horizontal_margin=0x7f060000;
-        public static final int activity_vertical_margin=0x7f060001;
+        public static final int activity_horizontal_margin=0x7f080000;
+        public static final int activity_vertical_margin=0x7f080001;
     }
     public static final class drawable {
         public static final int ic_launcher=0x7f020000;
-        public static final int light_green=0x7f020001;
-        public static final int light_green_large=0x7f020002;
-        public static final int light_grey=0x7f020003;
-        public static final int light_grey_large=0x7f020004;
-        public static final int light_red=0x7f020005;
-        public static final int light_red_large=0x7f020006;
-        public static final int light_yellow=0x7f020007;
-        public static final int light_yellow_large=0x7f020008;
+        public static final int ic_service_green=0x7f020001;
+        public static final int ic_service_red=0x7f020002;
+        public static final int ic_service_yellow=0x7f020003;
+        public static final int light_green=0x7f020004;
+        public static final int light_green_large=0x7f020005;
+        public static final int light_grey=0x7f020006;
+        public static final int light_grey_large=0x7f020007;
+        public static final int light_red=0x7f020008;
+        public static final int light_red_large=0x7f020009;
+        public static final int light_yellow=0x7f02000a;
+        public static final int light_yellow_large=0x7f02000b;
     }
     public static final class id {
-        public static final int TextViewServices=0x7f0b000f;
-        public static final int action_settings=0x7f0b001e;
-        public static final int buttonDeleteLog=0x7f0b001a;
-        public static final int buttonExportDatabase=0x7f0b0018;
-        public static final int buttonShowLog=0x7f0b0005;
-        public static final int buttonUploadLog=0x7f0b0019;
-        public static final int checkBoxParanoid=0x7f0b0003;
-        public static final int imageViewLight=0x7f0b0002;
-        public static final int layoutContainer=0x7f0b0012;
-        public static final int listViewProtocols=0x7f0b0010;
-        public static final int textFirstAttack=0x7f0b0013;
-        public static final int textFirstAttackValue=0x7f0b0014;
-        public static final int textLastAttack=0x7f0b0015;
-        public static final int textLastAttackValue=0x7f0b0016;
-        public static final int textLogFile=0x7f0b0017;
-        public static final int textStatistics=0x7f0b0011;
-        public static final int textViewBSSID=0x7f0b0009;
-        public static final int textViewBSSIDValue=0x7f0b000a;
-        public static final int textViewConnections=0x7f0b001c;
-        public static final int textViewConnectionsValue=0x7f0b001d;
-        public static final int textViewDetails=0x7f0b0006;
-        public static final int textViewExternalIP=0x7f0b000d;
-        public static final int textViewExternalIPValue=0x7f0b000e;
-        public static final int textViewInternalIP=0x7f0b000b;
-        public static final int textViewInternalIPValue=0x7f0b000c;
-        public static final int textViewProtocol=0x7f0b001b;
-        public static final int textViewSSID=0x7f0b0007;
-        public static final int textViewSSIDValue=0x7f0b0008;
-        public static final int textViewStatus=0x7f0b0001;
-        public static final int toggleButtonOnOff=0x7f0b0004;
-        public static final int viewAnimator=0x7f0b0000;
+        public static final int TextViewServices=0x7f0c0017;
+        public static final int action_about=0x7f0c0027;
+        public static final int action_settings=0x7f0c0026;
+        public static final int buttonDeleteLog=0x7f0c0022;
+        public static final int buttonExportDatabase=0x7f0c0020;
+        public static final int buttonShowLog=0x7f0c000d;
+        public static final int buttonUploadLog=0x7f0c0021;
+        public static final int checkBoxParanoid=0x7f0c000b;
+        public static final int imageViewLight=0x7f0c000a;
+        public static final int layoutContainer=0x7f0c001a;
+        public static final int listViewProtocols=0x7f0c0018;
+        public static final int textFirstAttack=0x7f0c001b;
+        public static final int textFirstAttackValue=0x7f0c001c;
+        public static final int textLastAttack=0x7f0c001d;
+        public static final int textLastAttackValue=0x7f0c001e;
+        public static final int textLogFile=0x7f0c001f;
+        public static final int textStatistics=0x7f0c0019;
+        public static final int textViewBSSID=0x7f0c0011;
+        public static final int textViewBSSIDValue=0x7f0c0012;
+        public static final int textViewConnections=0x7f0c0024;
+        public static final int textViewConnectionsValue=0x7f0c0025;
+        public static final int textViewDetails=0x7f0c000e;
+        public static final int textViewExternalIP=0x7f0c0015;
+        public static final int textViewExternalIPValue=0x7f0c0016;
+        public static final int textViewInternalIP=0x7f0c0013;
+        public static final int textViewInternalIPValue=0x7f0c0014;
+        public static final int textViewProtocol=0x7f0c0023;
+        public static final int textViewSSID=0x7f0c000f;
+        public static final int textViewSSIDValue=0x7f0c0010;
+        public static final int textViewStatus=0x7f0c0009;
+        public static final int text_author_1=0x7f0c0004;
+        public static final int text_author_2=0x7f0c0005;
+        public static final int text_author_3=0x7f0c0006;
+        public static final int text_author_4=0x7f0c0007;
+        public static final int text_authors=0x7f0c0003;
+        public static final int text_description=0x7f0c0002;
+        public static final int text_version=0x7f0c0000;
+        public static final int toggleButtonOnOff=0x7f0c000c;
+        public static final int version=0x7f0c0001;
+        public static final int viewAnimator=0x7f0c0008;
     }
     public static final class layout {
-        public static final int activity_main=0x7f030000;
-        public static final int activity_viewlog=0x7f030001;
-        public static final int list_view_protocols_row=0x7f030002;
+        public static final int activity_about=0x7f030000;
+        public static final int activity_main=0x7f030001;
+        public static final int activity_viewlog=0x7f030002;
+        public static final int list_view_protocols_row=0x7f030003;
     }
     public static final class menu {
-        public static final int main=0x7f0a0000;
+        public static final int main=0x7f0b0000;
     }
     public static final class string {
-        public static final int action_settings=0x7f080001;
-        public static final int app_name=0x7f080000;
-        public static final int bssid=0x7f080008;
-        public static final int capital_off=0x7f080003;
-        public static final int capital_on=0x7f080002;
-        public static final int connections=0x7f08000c;
-        public static final int details=0x7f080006;
-        public static final int external_ip=0x7f08000a;
-        public static final int firstAttack=0x7f08000f;
-        public static final int internal_ip=0x7f080009;
-        public static final int lastAttack=0x7f080010;
-        public static final int logFile=0x7f08000e;
-        public static final int paranoid=0x7f080005;
-        public static final int pref_alarm=0x7f080012;
-        public static final int pref_alarm_default=0x7f080013;
-        public static final int pref_external_storage_summ=0x7f080016;
-        public static final int pref_external_storage_title=0x7f080015;
-        public static final int pref_notification=0x7f080017;
-        public static final int pref_storage=0x7f080014;
-        public static final int pref_tracing=0x7f08001a;
-        public static final int pref_upload=0x7f08001b;
-        public static final int pref_upload_connection=0x7f08001d;
-        public static final int pref_upload_connection_summ=0x7f08001e;
-        public static final int pref_upload_summ=0x7f08001c;
-        public static final int pref_vibration=0x7f080018;
-        public static final int pref_vibration_summ=0x7f080019;
-        public static final int services=0x7f08000b;
-        public static final int settings=0x7f080011;
-        public static final int ssid=0x7f080007;
-        public static final int statistics=0x7f08000d;
-        public static final int status=0x7f080004;
+        public static final int action_about=0x7f090002;
+        public static final int action_settings=0x7f090001;
+        public static final int app_name=0x7f090000;
+        public static final int authors=0x7f09001c;
+        public static final int authors_j=0x7f090020;
+        public static final int authors_l=0x7f09001e;
+        public static final int authors_m=0x7f09001d;
+        public static final int authors_w=0x7f09001f;
+        public static final int bssid=0x7f090009;
+        public static final int cancel=0x7f090015;
+        public static final int capital_off=0x7f090004;
+        public static final int capital_on=0x7f090003;
+        public static final int clear=0x7f090013;
+        public static final int connections=0x7f09000d;
+        public static final int database=0x7f09000f;
+        public static final int delete=0x7f090014;
+        public static final int delete_dialog_title=0x7f090018;
+        public static final int description=0x7f09001b;
+        public static final int details=0x7f090007;
+        public static final int dialog_clear_database=0x7f090016;
+        public static final int dialog_clear_database_date=0x7f090019;
+        public static final int export_dialog_title=0x7f090017;
+        public static final int external_ip=0x7f09000b;
+        public static final int firstAttack=0x7f090011;
+        public static final int internal_ip=0x7f09000a;
+        public static final int lastAttack=0x7f090012;
+        public static final int log_actions=0x7f090010;
+        public static final int paranoid=0x7f090006;
+        public static final int pref_alarm=0x7f090022;
+        public static final int pref_alarm_default=0x7f090023;
+        public static final int pref_alarm_summ=0x7f090024;
+        public static final int pref_external_location_title=0x7f090028;
+        public static final int pref_external_storage_summ=0x7f090027;
+        public static final int pref_external_storage_title=0x7f090026;
+        public static final int pref_notification=0x7f090029;
+        public static final int pref_storage=0x7f090025;
+        public static final int pref_upload=0x7f09002c;
+        public static final int pref_upload_server=0x7f09002d;
+        public static final int pref_upload_server_summ=0x7f09002e;
+        public static final int pref_vibration=0x7f09002a;
+        public static final int pref_vibration_summ=0x7f09002b;
+        public static final int services=0x7f09000c;
+        public static final int settings=0x7f090021;
+        public static final int ssid=0x7f090008;
+        public static final int statistics=0x7f09000e;
+        public static final int status=0x7f090005;
+        public static final int text_version=0x7f09001a;
     }
     public static final class style {
         /** 
@@ -138,11 +173,11 @@ public final class R {
     
  API 14 theme customizations can go here. 
          */
-        public static final int AppBaseTheme=0x7f090000;
+        public static final int AppBaseTheme=0x7f0a0000;
         /**  Application theme. 
  All customizations that are NOT specific to a particular API-level can go here. 
          */
-        public static final int AppTheme=0x7f090001;
+        public static final int AppTheme=0x7f0a0001;
     }
     public static final class xml {
         public static final int preferences=0x7f050000;

+ 53 - 31
src/de/tudarmstadt/informatik/hostage/HoneyListener.java

@@ -5,8 +5,10 @@ import java.net.Socket;
 import java.util.ArrayList;
 import java.util.Iterator;
 
+import javax.net.ssl.SSLContext;
 import javax.net.ssl.SSLServerSocket;
 import javax.net.ssl.SSLSocket;
+import javax.net.ssl.SSLSocketFactory;
 
 import android.content.Context;
 import android.content.SharedPreferences;
@@ -32,11 +34,11 @@ public class HoneyListener implements Runnable {
 	private Thread thread;
 
 	private HoneyService service;
-    // Shared Preferences
-    private SharedPreferences pref;
-     
-    // Editor for Shared preferences
-    private Editor editor;
+	// Shared Preferences
+	private SharedPreferences pref;
+
+	// Editor for Shared preferences
+	private Editor editor;
 
 	private boolean running = false;
 
@@ -47,8 +49,9 @@ public class HoneyListener implements Runnable {
 	public HoneyListener(HoneyService service, Protocol protocol) {
 		this.service = service;
 		this.protocol = protocol;
-        pref = service.getApplicationContext().getSharedPreferences(MainActivity.SESSION_DATA, Context.MODE_PRIVATE);
-        editor = pref.edit();
+		pref = service.getApplicationContext().getSharedPreferences(
+				MainActivity.SESSION_DATA, Context.MODE_PRIVATE);
+		editor = pref.edit();
 	}
 
 	@Override
@@ -63,17 +66,19 @@ public class HoneyListener implements Runnable {
 
 	public void start() {
 		try {
-			if(protocol.isSecure())
-				//TODO
-//				server = new MyServerSocketFactory().createServerSocket(
-//						protocol.getPort(), protocol.getSSLContext());
-				server = (SSLServerSocket) protocol.getSSLContext().getServerSocketFactory().createServerSocket(protocol.getPort());
+			if (protocol.isSecure())
+				// TODO
+				// server = new MyServerSocketFactory().createServerSocket(
+				// protocol.getPort(), protocol.getSSLContext());
+				server = (SSLServerSocket) protocol.getSSLContext()
+						.getServerSocketFactory()
+						.createServerSocket(protocol.getPort());
 			else
-				server = new MyServerSocketFactory().createServerSocket(protocol
-					.getPort());
+				server = new MyServerSocketFactory()
+						.createServerSocket(protocol.getPort());
 			(this.thread = new Thread(this)).start();
-	    	editor.putBoolean(protocol + MainActivity.LISTENER, true);
-	    	editor.commit();
+			editor.putBoolean(protocol + MainActivity.LISTENER, true);
+			editor.commit();
 			service.notifyUI(protocol.toString(), MainActivity.LISTENER);
 			running = true;
 		} catch (Exception e) {
@@ -85,8 +90,8 @@ public class HoneyListener implements Runnable {
 		try {
 			server.close();
 			thread.interrupt();
-	    	editor.putBoolean(protocol + MainActivity.LISTENER, false);
-	    	editor.commit();
+			editor.putBoolean(protocol + MainActivity.LISTENER, false);
+			editor.commit();
 			service.notifyUI(protocol.toString(), MainActivity.LISTENER);
 			running = false;
 		} catch (Exception e) {
@@ -99,32 +104,49 @@ public class HoneyListener implements Runnable {
 	}
 
 	public void refreshHandlers() {
-		for (Iterator<AbstractHandler> iterator = handlers.iterator(); iterator.hasNext(); ) {
+		for (Iterator<AbstractHandler> iterator = handlers.iterator(); iterator
+				.hasNext();) {
 			AbstractHandler handler = iterator.next();
 			if (handler.isTerminated()) {
 				iterator.remove();
 			}
-		}		
+		}
 	}
 
 	private void addHandler() {
 		try {
-			Socket client; 
-			if(protocol.isSecure()) 
-				client = (SSLSocket) server.accept();
-			else
-				client = server.accept();
-			handlers.add(newInstance(service, this, protocol.getClass()
-					.newInstance(), client));
-	    	int handlerCount = pref.getInt(protocol + MainActivity.HANDLER_COUNT, 0);
-	    	editor.putInt(protocol + MainActivity.HANDLER_COUNT, handlerCount + 1);
-	    	editor.commit();    
-	    	service.notifyUI(protocol.toString(), MainActivity.HANDLER_COUNT);
+			Socket client = server.accept();
+			if (protocol.isSecure()) {
+				startSecureHandler(client);
+			} else {
+				startHandler(client);
+			}
+			int handlerCount = pref.getInt(protocol
+					+ MainActivity.HANDLER_COUNT, 0);
+			editor.putInt(protocol + MainActivity.HANDLER_COUNT,
+					handlerCount + 1);
+			editor.commit();
+			service.notifyUI(protocol.toString(), MainActivity.HANDLER_COUNT);
 		} catch (Exception e) {
 			e.printStackTrace();
 		}
 	}
 
+	private void startSecureHandler(Socket client) throws Exception {
+		SSLContext sslContext = protocol.getSSLContext();
+		SSLSocketFactory factory = sslContext.getSocketFactory();
+		SSLSocket sslClient = (SSLSocket) factory.createSocket(client, null,
+				client.getPort(), false);
+		sslClient.setUseClientMode(false);
+		handlers.add(newInstance(service, this, protocol.getClass()
+				.newInstance(), sslClient));
+	}
+
+	private void startHandler(Socket client) throws Exception {
+		handlers.add(newInstance(service, this, protocol.getClass()
+				.newInstance(), client));
+	}
+
 	private AbstractHandler newInstance(HoneyService service,
 			HoneyListener listener, Protocol protocol, Socket client) {
 		if (protocol.getType().equals(String.class)) {

+ 1 - 1
src/de/tudarmstadt/informatik/hostage/handler/AbstractHandler.java

@@ -41,7 +41,7 @@ public abstract class AbstractHandler implements Runnable {
 		this.protocol = protocol;
 		this.client = client;
 		this.thread = new Thread(this);
-		//TODO attack_id für jeden Logger
+		//TODO attack_id für jeden Logger
 		SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(service);
 		Editor editor = pref.edit();
 		attack_id = pref.getInt("ATTACK_ID_COUNTER", 0);

+ 36 - 29
src/de/tudarmstadt/informatik/hostage/net/MySSLSocketFactory.java

@@ -16,34 +16,41 @@ import javax.net.ssl.TrustManager;
 import javax.net.ssl.X509TrustManager;
 
 import org.apache.http.conn.ssl.SSLSocketFactory;
-public class MySSLSocketFactory extends SSLSocketFactory {
-    SSLContext sslContext = SSLContext.getInstance("TLS");
-
-    public MySSLSocketFactory(KeyStore truststore) throws NoSuchAlgorithmException, KeyManagementException, KeyStoreException, UnrecoverableKeyException {
-        super(truststore);
-
-        TrustManager tm = new X509TrustManager() {
-            public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
-            }
-
-            public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
-            }
 
-            public X509Certificate[] getAcceptedIssuers() {
-                return null;
-            }
-        };
-
-        sslContext.init(null, new TrustManager[] { tm }, null);
-    }
-
-    @Override
-    public Socket createSocket(Socket socket, String host, int port, boolean autoClose) throws IOException, UnknownHostException {
-        return sslContext.getSocketFactory().createSocket(socket, host, port, autoClose);
-    }
-
-    @Override
-    public Socket createSocket() throws IOException {
-        return sslContext.getSocketFactory().createSocket();
-    }
+public class MySSLSocketFactory extends SSLSocketFactory {
+	SSLContext sslContext = SSLContext.getInstance("TLS");
+
+	public MySSLSocketFactory(KeyStore truststore)
+			throws NoSuchAlgorithmException, KeyManagementException,
+			KeyStoreException, UnrecoverableKeyException {
+		super(truststore);
+
+		TrustManager tm = new X509TrustManager() {
+			public void checkClientTrusted(X509Certificate[] chain,
+					String authType) throws CertificateException {
+			}
+
+			public void checkServerTrusted(X509Certificate[] chain,
+					String authType) throws CertificateException {
+			}
+
+			public X509Certificate[] getAcceptedIssuers() {
+				return null;
+			}
+		};
+
+		sslContext.init(null, new TrustManager[] { tm }, null);
+	}
+
+	@Override
+	public Socket createSocket(Socket socket, String host, int port,
+			boolean autoClose) throws IOException, UnknownHostException {
+		return sslContext.getSocketFactory().createSocket(socket, host, port,
+				autoClose);
+	}
+
+	@Override
+	public Socket createSocket() throws IOException {
+		return sslContext.getSocketFactory().createSocket();
+	}
 }

+ 0 - 20
src/de/tudarmstadt/informatik/hostage/net/MyServerSocketFactory.java

@@ -8,8 +8,6 @@ import java.net.ServerSocket;
 import java.net.SocketImpl;
 
 import javax.net.ServerSocketFactory;
-import javax.net.ssl.SSLContext;
-import javax.net.ssl.SSLServerSocket;
 
 import de.tudarmstadt.informatik.hostage.system.PrivilegedPort;
 
@@ -35,24 +33,6 @@ public class MyServerSocketFactory extends ServerSocketFactory {
 
 		return socket;
 	}
-	
-	public ServerSocket createServerSocket(int port, SSLContext sslc) throws IOException {
-		//TODO
-		FileDescriptor fd = new PrivilegedPort(port).bindAndGetFD();
-
-		ServerSocketFactory ssf = sslc.getServerSocketFactory();
-		ServerSocket socket = ssf.createServerSocket();
-		try {
-			SocketImpl impl = getImpl(socket);
-			injectFD(fd, impl);
-			injectImpl(impl, socket);
-			setBound(socket);
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-
-		return socket;
-	}
 
 	/**
 	 * Extracts the SocketImpl out of a ServerSocket.

+ 21 - 32
src/de/tudarmstadt/informatik/hostage/protocol/HTTPS.java

@@ -15,11 +15,10 @@ public class HTTPS implements Protocol<String> {
 	};
 
 	private STATE state = STATE.NONE;
-	
+
 	@Override
 	public int getPort() {
-		//TODO
-		return 50505;
+		return 80;
 	}
 
 	@Override
@@ -30,7 +29,7 @@ public class HTTPS implements Protocol<String> {
 	@Override
 	public List<String> processMessage(String message) {
 		List<String> response = new ArrayList<String>();
-		response.add(header+html);
+		response.add(header + html);
 		state = STATE.CLOSED;
 		return response;
 	}
@@ -49,7 +48,7 @@ public class HTTPS implements Protocol<String> {
 	public Class<String> getType() {
 		return String.class;
 	}
-	
+
 	@Override
 	public String toString() {
 		return "HTTPS";
@@ -59,13 +58,14 @@ public class HTTPS implements Protocol<String> {
 	public SSLContext getSSLContext() {
 		String ksName = "/storage/sdcard0/server.bks";
 		char ksPass[] = "password".toCharArray();
-        
+
 		KeyStore ks;
 		KeyManagerFactory kmf = null;
 		try {
 			ks = KeyStore.getInstance(KeyStore.getDefaultType());
 			ks.load(new FileInputStream(ksName), ksPass);
-			kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
+			kmf = KeyManagerFactory.getInstance(KeyManagerFactory
+					.getDefaultAlgorithm());
 			kmf.init(ks, ksPass);
 		} catch (Exception e) {
 			e.printStackTrace();
@@ -80,30 +80,19 @@ public class HTTPS implements Protocol<String> {
 		}
 		return sslcontext;
 	}
-	
-	private String header =	
-			"HTTP/1.1 200 OK\r\n" +
-			"Date: Mon, 01 Jul 2013 18:27:55 GMT\r\n" +
-			"Server: Apache/2.2.22 (Debian)\r\n" +
-			"X-Powered-By: PHP/5.4.4.-14\r\n" +
-			"Vary: Accept-Encoding\r\n" +
-			"Content-Length: 173\r\n" +	
-			"Keep-Alive: timeout=5, max=100\r\n" +
-			"Connection: Keep-Alive\r\n" +
-			"Content-Type: text/html\r\n" +
-			"\r\n";
-
-	private String html =	
-			"<!doctype html>\n" +
-			"<html lang=\"en\">\n" +
-			"<head>\n" +
-			"<meta charset=\"UTF-8\">\n" +
-			"<title>Test successful</title>\n" +
-			"</head>\n" +
-			"<body>\n" +
-			"<h1>Test successful</h1>\n" +
-			"<p>Congratulations.</p>\n" +
-			"</body>\n" +
-			"</html>";
+
+	private String header = "HTTP/1.1 200 OK\r\n"
+			+ "Date: Mon, 01 Jul 2013 18:27:55 GMT\r\n"
+			+ "Server: Apache/2.2.22 (Debian)\r\n"
+			+ "X-Powered-By: PHP/5.4.4.-14\r\n" + "Vary: Accept-Encoding\r\n"
+			+ "Content-Length: 173\r\n" + "Keep-Alive: timeout=5, max=100\r\n"
+			+ "Connection: Keep-Alive\r\n" + "Content-Type: text/html\r\n"
+			+ "\r\n";
+
+	private String html = "<!doctype html>\n" + "<html lang=\"en\">\n"
+			+ "<head>\n" + "<meta charset=\"UTF-8\">\n"
+			+ "<title>Test successful</title>\n" + "</head>\n" + "<body>\n"
+			+ "<h1>Test successful</h1>\n" + "<p>Congratulations.</p>\n"
+			+ "</body>\n" + "</html>";
 
 }