romankh / gat-app

Android app for sending several types of SMS like Class 0 (Flash SMS), Type 0 (Silent SMS), Message Waiting Indicator
97 stars 39 forks source link
gsm silent-sms sms xposed

GAT-App

GAT-App is an Android app for sending several types of SMS:

This app was inspired by HushSMS, an commercial app that provides the capability of sending the same types of messages (and even some more). The main reason for re-implementation was the lack of a possibility to control the app remotely, a feature needed for a software related to GSM security, that will be published on github at some point. GAT-App provides this feature by implementing a server mode, where the app listens on a specific network port for a incoming connection. Using a very simple network protocol the app allows sending (and receiving) SMS messages from any network-capable software and device.

On the long term, it is planned to add more features to GAT-App. For example, it is planned to implement the capability of displaying information about the mobile network to which the phone is connected to.

The app is known to run with Android 2.3 to Android 4.3. Later versions are not tested, and incompatibility has to be expected. Furthermore, the app relies on the Xposed framework, which must be installed before the app can be used. However, this means the phone has to be root, as this is a prerequisite of Xposed.

Install provided APK

Build

As a prerequisite, you will need to extract the internal telephony libraries, which are located in /system/framework/telephony-common.odex on an Android phone with version >= 4.2. This can be done using the programs smali and dex2jar, there are several tutorials on how to do that on the internet. The result should be a file named telephony-dex2jar.jar

Usage

SMS

Using the GUI for sending messages is pretty straight forward.

To use the app remotely, you have enter Server Mode and tap Start. Additionally you can change the preset port if necessary.

The network protocol accepts two commands

When a SMS is successfully transmitted, the server replies with

If sending the SMS failed, the server replies with

For SMS with delivery report, the server transmits following message when the SMS was successfully delivered:

In case of a delivery failure the server transmits

Info Screen

This screen provides you with

Contributions

Any contributions are welcome. If you have ideas or suggestions, feel free to open an issue. If you found a bug, please open an issue that briefly describes the problem in an reproducible way. Pull requests are also welcome.