diff --git a/iSniff_GPS/BSSIDApple.proto b/iSniff_GPS/BSSIDApple.proto index aae5eca..a7fd6f8 100644 --- a/iSniff_GPS/BSSIDApple.proto +++ b/iSniff_GPS/BSSIDApple.proto @@ -1,27 +1,33 @@ -message WifiDetected { -required string bssid = 1; -message Location { -optional int64 latitude = 1; -optional int64 longitude = 2; -optional int64 valeur_inconnue3 = 3; -optional int64 valeur_inconnue4 = 4; -optional int64 valeur_inconnue5 = 5; -optional int64 valeur_inconnue6 = 6; -optional int64 valeur_inconnue7 = 7; -optional int64 valeur_inconnue8 = 8; -optional int64 valeur_inconnue9 = 9; -optional int64 valeur_inconnue10 = 10; -optional int64 valeur_inconnue11 = 11; -optional int64 valeur_inconnue12 = 12; -optional int64 valeur_inconnue21 = 21; -} -optional Location location= 2; +syntax = "proto2"; +message WifiDetected { + required string bssid = 1; + message Location { + optional int64 latitude = 1; + optional int64 longitude = 2; + optional int64 horizontal_accuracy = 3; + optional int64 unknown_value4 = 4; + optional int64 altitude = 5; + optional int64 vertical_accuracy = 6; + optional int64 speed = 7; + optional int64 course = 8; + optional int64 timestamp = 9; + optional int64 unknown_context = 10; + optional int64 motion_activity_type = 11; + optional int64 motion_activity_confidence = 12; + optional int64 provider = 13; + optional int64 floor = 14; + optional int64 unknown15 = 15; + optional int64 motion_vehicle_connected_state_changed = 16; + optional int64 unknown_value21 = 21; + // Ignored 17-31 because they are mostly unused. Very much spyware-esq shit + } + optional Location location = 2; } message BlockBSSIDApple { -optional int64 valeur_inconnue0 = 1; -repeated WifiDetected wifi = 2; -optional int32 valeur_inconnue1 = 3; -optional int32 valeur_inconnue2 = 4; -optional string APIName = 5; + optional int64 valeur_inconnue0 = 1; + repeated WifiDetected wifi = 2; + optional int32 valeur_inconnue1 = 3; + optional int32 return_single_result = 4; + optional string APIName = 5; } diff --git a/iSniff_GPS/BSSIDApple_pb2.py b/iSniff_GPS/BSSIDApple_pb2.py index 9a288be..6d39fc0 100644 --- a/iSniff_GPS/BSSIDApple_pb2.py +++ b/iSniff_GPS/BSSIDApple_pb2.py @@ -1,5 +1,5 @@ # Generated by the protocol buffer compiler. DO NOT EDIT! -# source: BSSIDApple.proto +# source: iSniff_GPS/BSSIDApple.proto import sys _b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) @@ -16,9 +16,10 @@ DESCRIPTOR = _descriptor.FileDescriptor( - name='BSSIDApple.proto', + name='iSniff_GPS/BSSIDApple.proto', package='', - serialized_pb=_b('\n\x10\x42SSIDApple.proto\"\x9b\x03\n\x0cWifiDetected\x12\r\n\x05\x62ssid\x18\x01 \x02(\t\x12(\n\x08location\x18\x02 \x01(\x0b\x32\x16.WifiDetected.Location\x1a\xd1\x02\n\x08Location\x12\x10\n\x08latitude\x18\x01 \x01(\x03\x12\x11\n\tlongitude\x18\x02 \x01(\x03\x12\x18\n\x10valeur_inconnue3\x18\x03 \x01(\x03\x12\x18\n\x10valeur_inconnue4\x18\x04 \x01(\x03\x12\x18\n\x10valeur_inconnue5\x18\x05 \x01(\x03\x12\x18\n\x10valeur_inconnue6\x18\x06 \x01(\x03\x12\x18\n\x10valeur_inconnue7\x18\x07 \x01(\x03\x12\x18\n\x10valeur_inconnue8\x18\x08 \x01(\x03\x12\x18\n\x10valeur_inconnue9\x18\t \x01(\x03\x12\x19\n\x11valeur_inconnue10\x18\n \x01(\x03\x12\x19\n\x11valeur_inconnue11\x18\x0b \x01(\x03\x12\x19\n\x11valeur_inconnue12\x18\x0c \x01(\x03\x12\x19\n\x11valeur_inconnue21\x18\x15 \x01(\x03\"\x8d\x01\n\x0f\x42lockBSSIDApple\x12\x18\n\x10valeur_inconnue0\x18\x01 \x01(\x03\x12\x1b\n\x04wifi\x18\x02 \x03(\x0b\x32\r.WifiDetected\x12\x18\n\x10valeur_inconnue1\x18\x03 \x01(\x05\x12\x18\n\x10valeur_inconnue2\x18\x04 \x01(\x05\x12\x0f\n\x07\x41PIName\x18\x05 \x01(\t') + syntax='proto2', + serialized_pb=_b('\n\x1biSniff_GPS/BSSIDApple.proto\"\xe5\x03\n\x0cWifiDetected\x12\r\n\x05\x62ssid\x18\x01 \x02(\t\x12(\n\x08location\x18\x02 \x01(\x0b\x32\x16.WifiDetected.Location\x1a\x9b\x03\n\x08Location\x12\x10\n\x08latitude\x18\x01 \x01(\x03\x12\x11\n\tlongitude\x18\x02 \x01(\x03\x12\x1b\n\x13horizontal_accuracy\x18\x03 \x01(\x03\x12\x16\n\x0eunknown_value4\x18\x04 \x01(\x03\x12\x10\n\x08\x61ltitude\x18\x05 \x01(\x03\x12\x19\n\x11vertical_accuracy\x18\x06 \x01(\x03\x12\r\n\x05speed\x18\x07 \x01(\x03\x12\x0e\n\x06\x63ourse\x18\x08 \x01(\x03\x12\x11\n\ttimestamp\x18\t \x01(\x03\x12\x17\n\x0funknown_context\x18\n \x01(\x03\x12\x1c\n\x14motion_activity_type\x18\x0b \x01(\x03\x12\"\n\x1amotion_activity_confidence\x18\x0c \x01(\x03\x12\x10\n\x08provider\x18\r \x01(\x03\x12\r\n\x05\x66loor\x18\x0e \x01(\x03\x12\x11\n\tunknown15\x18\x0f \x01(\x03\x12.\n&motion_vehicle_connected_state_changed\x18\x10 \x01(\x03\x12\x17\n\x0funknown_value21\x18\x15 \x01(\x03\"\x91\x01\n\x0f\x42lockBSSIDApple\x12\x18\n\x10valeur_inconnue0\x18\x01 \x01(\x03\x12\x1b\n\x04wifi\x18\x02 \x03(\x0b\x32\r.WifiDetected\x12\x18\n\x10valeur_inconnue1\x18\x03 \x01(\x05\x12\x1c\n\x14return_single_result\x18\x04 \x01(\x05\x12\x0f\n\x07\x41PIName\x18\x05 \x01(\t') ) _sym_db.RegisterFileDescriptor(DESCRIPTOR) @@ -47,77 +48,105 @@ is_extension=False, extension_scope=None, options=None), _descriptor.FieldDescriptor( - name='valeur_inconnue3', full_name='WifiDetected.Location.valeur_inconnue3', index=2, + name='horizontal_accuracy', full_name='WifiDetected.Location.horizontal_accuracy', index=2, number=3, type=3, cpp_type=2, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None), _descriptor.FieldDescriptor( - name='valeur_inconnue4', full_name='WifiDetected.Location.valeur_inconnue4', index=3, + name='unknown_value4', full_name='WifiDetected.Location.unknown_value4', index=3, number=4, type=3, cpp_type=2, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None), _descriptor.FieldDescriptor( - name='valeur_inconnue5', full_name='WifiDetected.Location.valeur_inconnue5', index=4, + name='altitude', full_name='WifiDetected.Location.altitude', index=4, number=5, type=3, cpp_type=2, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None), _descriptor.FieldDescriptor( - name='valeur_inconnue6', full_name='WifiDetected.Location.valeur_inconnue6', index=5, + name='vertical_accuracy', full_name='WifiDetected.Location.vertical_accuracy', index=5, number=6, type=3, cpp_type=2, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None), _descriptor.FieldDescriptor( - name='valeur_inconnue7', full_name='WifiDetected.Location.valeur_inconnue7', index=6, + name='speed', full_name='WifiDetected.Location.speed', index=6, number=7, type=3, cpp_type=2, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None), _descriptor.FieldDescriptor( - name='valeur_inconnue8', full_name='WifiDetected.Location.valeur_inconnue8', index=7, + name='course', full_name='WifiDetected.Location.course', index=7, number=8, type=3, cpp_type=2, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None), _descriptor.FieldDescriptor( - name='valeur_inconnue9', full_name='WifiDetected.Location.valeur_inconnue9', index=8, + name='timestamp', full_name='WifiDetected.Location.timestamp', index=8, number=9, type=3, cpp_type=2, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None), _descriptor.FieldDescriptor( - name='valeur_inconnue10', full_name='WifiDetected.Location.valeur_inconnue10', index=9, + name='unknown_context', full_name='WifiDetected.Location.unknown_context', index=9, number=10, type=3, cpp_type=2, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None), _descriptor.FieldDescriptor( - name='valeur_inconnue11', full_name='WifiDetected.Location.valeur_inconnue11', index=10, + name='motion_activity_type', full_name='WifiDetected.Location.motion_activity_type', index=10, number=11, type=3, cpp_type=2, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None), _descriptor.FieldDescriptor( - name='valeur_inconnue12', full_name='WifiDetected.Location.valeur_inconnue12', index=11, + name='motion_activity_confidence', full_name='WifiDetected.Location.motion_activity_confidence', index=11, number=12, type=3, cpp_type=2, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, options=None), _descriptor.FieldDescriptor( - name='valeur_inconnue21', full_name='WifiDetected.Location.valeur_inconnue21', index=12, + name='provider', full_name='WifiDetected.Location.provider', index=12, + number=13, type=3, cpp_type=2, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='floor', full_name='WifiDetected.Location.floor', index=13, + number=14, type=3, cpp_type=2, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='unknown15', full_name='WifiDetected.Location.unknown15', index=14, + number=15, type=3, cpp_type=2, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='motion_vehicle_connected_state_changed', full_name='WifiDetected.Location.motion_vehicle_connected_state_changed', index=15, + number=16, type=3, cpp_type=2, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + options=None), + _descriptor.FieldDescriptor( + name='unknown_value21', full_name='WifiDetected.Location.unknown_value21', index=16, number=21, type=3, cpp_type=2, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, @@ -131,11 +160,12 @@ ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=95, - serialized_end=432, + serialized_start=106, + serialized_end=517, ) _WIFIDETECTED = _descriptor.Descriptor( @@ -167,11 +197,12 @@ ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=21, - serialized_end=432, + serialized_start=32, + serialized_end=517, ) @@ -204,7 +235,7 @@ is_extension=False, extension_scope=None, options=None), _descriptor.FieldDescriptor( - name='valeur_inconnue2', full_name='BlockBSSIDApple.valeur_inconnue2', index=3, + name='return_single_result', full_name='BlockBSSIDApple.return_single_result', index=3, number=4, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, @@ -225,11 +256,12 @@ ], options=None, is_extendable=False, + syntax='proto2', extension_ranges=[], oneofs=[ ], - serialized_start=435, - serialized_end=576, + serialized_start=520, + serialized_end=665, ) _WIFIDETECTED_LOCATION.containing_type = _WIFIDETECTED @@ -242,12 +274,12 @@ Location = _reflection.GeneratedProtocolMessageType('Location', (_message.Message,), dict( DESCRIPTOR = _WIFIDETECTED_LOCATION, - __module__ = 'BSSIDApple_pb2' + __module__ = 'iSniff_GPS.BSSIDApple_pb2' # @@protoc_insertion_point(class_scope:WifiDetected.Location) )) , DESCRIPTOR = _WIFIDETECTED, - __module__ = 'BSSIDApple_pb2' + __module__ = 'iSniff_GPS.BSSIDApple_pb2' # @@protoc_insertion_point(class_scope:WifiDetected) )) _sym_db.RegisterMessage(WifiDetected) @@ -255,7 +287,7 @@ BlockBSSIDApple = _reflection.GeneratedProtocolMessageType('BlockBSSIDApple', (_message.Message,), dict( DESCRIPTOR = _BLOCKBSSIDAPPLE, - __module__ = 'BSSIDApple_pb2' + __module__ = 'iSniff_GPS.BSSIDApple_pb2' # @@protoc_insertion_point(class_scope:BlockBSSIDApple) )) _sym_db.RegisterMessage(BlockBSSIDApple) diff --git a/iSniff_GPS/wloc.py b/iSniff_GPS/wloc.py index 455335f..4bd98f2 100755 --- a/iSniff_GPS/wloc.py +++ b/iSniff_GPS/wloc.py @@ -4,11 +4,13 @@ # Mostly taken from paper by François-Xavier Aguessy and Côme Demoustier # http://fxaguessy.fr/rapport-pfe-interception-ssl-analyse-donnees-localisation-smartphones/ -import sys import code -import requests +import sys + import BSSIDApple_pb2 import GSM_pb2 +import requests + #import simplekml def padBSSID(bssid): @@ -89,9 +91,9 @@ def QueryBSSID(query, more_results=True): wifi.bssid = bssid liste_wifi.valeur_inconnue1 = 0 if more_results: - liste_wifi.valeur_inconnue2 = 0 # last byte in request == 0 means return ~400 results, 1 means only return results for BSSIDs queried + liste_wifi.return_single_result = 0 # last byte in request == 0 means return ~400 results, 1 means only return results for BSSIDs queried else: - liste_wifi.valeur_inconnue2 = 1 + liste_wifi.return_single_result = 1 chaine_liste_wifi = liste_wifi.SerializeToString() longueur_chaine_liste_wifi = len(chaine_liste_wifi) headers = {'Content-Type':'application/x-www-form-urlencoded', 'Accept':'*/*', "Accept-Charset": "utf-8","Accept-Encoding": "gzip, deflate",\