Home - Theliel/SMSForge GitHub Wiki
SMS Forge is an advanced Android application designed for technical users, developers, and mobile security researchers.
SMS FORGE REQUIRES ROOT ACCESS (Aka Superuser privileges) on your Android device to function. If your device is not rooted, SMS Forge will not be able to access the internal modem, and therefore will not be able to send any type of SMS, not even standard SMS.
Android, in its modern versions, does not provide any accessible public API for sending SMS messages via PDU (Protocol Data Unit). These low-level APIs were removed from the SDK a long time ago. Previous applications attempting PDU injection often relied on frameworks like Xposed, intercepting internal system calls and injecting the PDU at that moment.
SMS Forge takes a radically different and more direct approach:
Direct Modem Communication: SMS Forge uses Root permissions to gain access to low-level modem device (typically under
/dev/*or similar paths). This is the key that unlocks the modem.AT Command Execution: It sends low-level AT Commands (Attention Commands) to the modem, instructing it to prepare for a custom message transmission.
PDU Injection: The application calculates and generates a highly customized PDU string containing all message parameters (sender, receiver, validity, flags, content, etc.).
Raw Transmission: The generated PDU is injected directly into the modem via the privileged device file, bypassing the standard Android SMS framework entirely. This grants fine-grained control over the message properties.
This method allows for functionalities like Class 0 (Flash) messages, MWI (Message Waiting Indicator) control, custom validity periods, and other advanced TP-Layer manipulation that are strictly forbidden or inaccessible through standard Android development.
-
Future Note: I'm actively investigating methods to support PDU access on certain devices without requiring Root by exploiting specific modem access points.
SMS Forge provides unparalleled control over the SMS protocol:
Modem Selection: Choose the specific communication port (
/dev/...) for AT commands.Message Type Control: Send custom message classes (Class 0 to Class 4).
Replace Mesage: Send custom message which can be overwritten/rewritten later.
MWI Support: Toggle Message Waiting Indicator messages via DCS or UDH.
Advanced Flags: Utilize flags like Silent, Auto-Delete, and Reply Path.
RAW PDU: It allows you to send virtually any type of SMS via its PDU (Hexadecimal String). Note that the PDU will be processed directly to the baseband; if it is incorrectly formatted, contains errors, or has any other issues, the behavior may be unpredictable..
PDU Header Configuration: Full control over Service Center Address, Validity Period, TP-PID, TP-MR, and TP-SRR.
| Section | Description |
|---|---|
| User Guide | Step-by-step instructions for using the application's interface and features. |
| Core Concepts | Simple explanations of key terms like PDU, AT Commands, TP-PID, MWI, and SMS Classes. |
| Compatibility | Detailed guide on selecting the correct modem device and troubleshooting compatibility issues. (Critical for first-time setup) |
| FAQ & Known Issues | Answers to frequently asked questions about licensing, usage, and known issues. |
| Privacy Policy, Data and Permissions | Everything about privacy policy, data collection and retention, and permissions exposed |
| Terms of Service and EULA | ToS and EULA, as the section itself specifies |
SMS Forge is available for free testing on the Google Play Store (Basic SMS functionality only). Full features require an In-App Purchase.