Androrat is a client/server application developed in Java Android for the client side and in Java/Swing for the Server.
The name Androrat is a mix of Android and RAT (Remote Access Tool).
It has been developed in a team of 4 for a university project. It has been realised in one month. The goal of the application is to give the control of the android system remotely and retrieve informations from it.
- The android application is the client for the server which receive all the connections.
- The android application run as a service(not an activity) that is started during the boot. So the user does not need to interact with the service (Even though there is a debug activity that allow to configure the IP and the port to connect to).
- The connection to the server can be triggered by a SMS or a call (this can be configured)
All the available functionalities are
- Get contacts (and all theirs informations)
- Get call logs
- Get all messages
- Location by GPS/Network
- Monitoring received messages in live
- Monitoring phone state in live (call received, call sent, call missed…)
- Take a picture from the camera
- Stream sound from microphone (or other sources…)
- Streaming video (for activity based client only)
- Do a toast
- Send a text message
- Give call
- Open an URL in the default browser
- Do vibrate the phone
The project contains the following folders:
- doc: Will soonly contain all the documentation about the project
- Experiment: Contain an experimental version of the client articulated around an activity wish allow by the way to stream video
- src/Androrat: Contain the source code of the client that should be put on the android plateform
- src/AndroratServer: Contain the sources of the Java/Swing server that can be run on any plateform
- src/api: Contain all the different api used in the project (JMapViewer for the map, forms for swing, and vlcj for video streaming)
- src/InOut: Contain the code of the content common for the client and the server which is basically the protocol implementation
- You will need the Android SDK and Eclipse to compile this project.
- Command & Control Application is cross platform Java, tested fine on OSX, Linux and Windows
- You need to edit /src/Androrat/src/my/app/client/LauncherActivity.java before compiling the APK.
- This is where you hardcode the listeners IP and Port. You can use an IP, or a domain name like a dyndns.
- On certain mobile devices it drains battery fast. Be aware of this.