Skip to content
EB solys target agent for android devices
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
app
gradle
.gitignore
LICENSE
README.md
build.gradle
gradle.properties
settings.gradle

README.md

EB solys target agent for android

The EB solys target agent for android collects data from android devices for live or offline analysis with the host tool EB solys, which can be downloaded from here: https://github.com/Elektrobit/eb-solys

It is plug-in based and contains currently two plug-ins:

  • Logcat Monitor
  • Resource Monitor

Pre-requisites

  • Android Studio 3.x
  • Android Studion Platform Tools (including adb)
  • Gradle
  • An android device that can be rooted

The android target agent is built as an APK with Android Studio and gradle. It can be controlled with Android Debug Bridge (adb) commands.

Build

Clone this repository into a directory of your choice:

git clone https://github.com/Elektrobit/eb-solys-android-agent

Open Android Studio and open the cloned project. Press "Build/Build APK(s)" and follow the instructions.

Lifecycle

Install

adb install -t app-debug.apk

Launch

adb shell am startservice -n com.elektrobit.solysagent/.app.TargetAgentService

Shutdown

adb shell am broadcast -a "com.ebsolys.intent.EXIT"                    

Configuration Items

Main Configuration

Following configuration items are available for the main service.

Type Parameter Default Value Valid Values
network streamingPort 9998 any accessible tcp port
network cmdCtrlPort 9999 any accessible tcp port
buffering enabled false true / false
buffering sizeLimit 20000 ...
recording enabled false true / false
recording path "recordings" any valid directory path
recording filePrefix "ta" any file prefix
recording chunkSize 100 Maximum files size in MB. If set to 0, then the size is unlimited

The items can be changed with a corresponding adb call:

The adb call must have follwing syntax:

adb shell am broadcast -a "com.ebsolys.intent.EDIT_CONFIG" -e TYPE <TYPE> -e PARAMETER <PARAM> -e VALUE <VALUE>		

e.g.: activate file recording:

adb shell am broadcast -a "com.ebsolys.intent.EDIT_CONFIG" -e TYPE recording -e PARAMETER enabled -e VALUE true		

Configuration changes will not be applied to a running target agent, but after next re-start.

Plugin configuration

Following configuration items are available for the plugins.

Plugin Parameter Default Value Valid Values
logcat-monitor priority "VERBOSE" "VERBOSE", "DEBUG", "INFO", "WARNING", "ERROR", "FATAL"
logcat-monitor buffers "main, system, crash" see: https://developer.android.com/studio/command-line/logcat#alternativeBuffers
logcat-monitor filterExpression "" see: https://developer.android.com/studio/command-line/logcat#filteringOutput
logcat-monitor fromNow "false" "false", "true"
logcat-monitor updateRate "1000" any reasonable value in milliseconds
logcat-monitor queueSize "2000" maximum number of messages buffered in the given updateRate
resource-monitor sameplRate "1000" any reasonable value in milliseconds. The lower the value, the higher the impact on the system.

The adb call must have follwing syntax:

adb shell am broadcast -a "com.ebsolys.intent.EDIT_PLUGIN_CONFIG" -e PLUGIN <PLUGIN> -e PARAMETER <PARAM> -e VALUE <VALUE>		

e.g.: change log priority to "INFO":

adb shell am broadcast -a "com.ebsolys.intent.EDIT_PLUGIN_CONFIG" -e PLUGIN logcat-monitor -e PARAMETER priority -e VALUE INFO
You can’t perform that action at this time.