[ Orbic RCL400 Custom Firmware ]

📦 Installation Guide

Requirements

⚠️ Root access required! Your Orbic RCL400 must already have root access via an exploit before installing DagShell.

Hardware

Software

🔨 Building from Source

Clone the Repository

git clone https://github.com/dagnazty/DagShell.git
cd DagShell

ARM Toolchain (Included)

Windows: The ARM GNU Toolchain is included in the gcc/ folder. The build.ps1 script uses it automatically.

macOS: A custom crosstool-ng toolchain is included in gcc_mac/. This toolchain targets Linux kernel 3.2 headers for compatibility with the Orbic's older kernel (3.18). Standard Homebrew ARM compilers will NOT work as they target newer kernels.

Build the Firmware

Windows (PowerShell):

cd orbic_fw_c
python gen_pki.py   # Generate PKI Chain
.\build.ps1         # Compile firmware

macOS / Linux (Bash):

cd orbic_fw_c
python3 gen_pki.py  # Generate PKI Chain
./build.sh          # Compile firmware

This produces orbic_app (static ARM binary) and DER certificates.

🚀 Deployment

Deployment requires two steps: enabling the shell, then deploying the firmware.

Step 1: Enable Root Shell

Run our custom shell enabler script to open port 24 on the device:

Connect to Device

Connect via USB (RNDIS) or the Orbic's WiFi network. The device should be at 192.168.1.1.

Run Shell Enabler

python enable_shell.py YOUR_ADMIN_PASSWORD

Replace YOUR_ADMIN_PASSWORD with your Orbic admin password (found on device label or set in web UI).

This script:

  • Logs into the Orbic web API
  • Exploits SetRemoteAccessCfg to start a netcat shell
  • Opens port 24 for telnet access

Step 2: Deploy Firmware

Once the shell is enabled, deploy the DagShell firmware:

Run Deploy Script

python deploy_base64.py

The script will:

  • Kill any existing DagShell process
  • Transfer the binary in base64 chunks
  • Transfer the SSL Certificate Chain (Root + Leaf)
  • Decode and make executable
  • Configure autostart for persistence (port 8443)
💡 Persistence: The firmware is deployed to /data/orbic_app and configured to auto-start on boot. It will survive reboots!

Alternative: Network Deploy

If you prefer to use HTTP download instead of base64 transfer:

python deploy_net.py --host-ip YOUR_PC_IP

🌐 Accessing DagShell

Once deployed and running, access DagShell by opening your browser to:

https://192.168.1.1:8443/
⚠️ Certificate Warning: You will see a "Not Secure" or "Certificate Unknown" warning.
  • PC: Click "Advanced" → "Proceed".
  • iOS/Android: Click "Show Details" → "visit this website".
The connection IS encrypted. The warning appears because the Root CA is self-signed.
💡 Tip: The stock Orbic web interface is still available at http://192.168.1.1/ (port 80).

Default Pages

URL Page
/ Dashboard (Home)
/?page=net Network Analysis
/?page=privacy Privacy Tools
/?page=sms SMS Manager
/?page=tools Hacking Tools

🔧 Troubleshooting

Connection Refused on Port 24

The shell isn't enabled yet. Run python enable_shell.py YOUR_PASSWORD first.

If the script shows "Login retcode = 102", double-check your admin password.

enable_shell.py Connection Errors

If you see "connection closed before message completed":

  • Try again - the device can be flaky
  • Reboot the Orbic and try immediately after it boots
  • Make sure no other program is using the device

Binary Not Executing

Make sure the binary was compiled statically for ARM. Check with file orbic_app - it should show ARM architecture.

"Modem Port Busy" Errors

Another process may be using /dev/smd8. The firmware will retry automatically, but if persistent, reboot the device.

Page Not Loading After Deploy

Verify DagShell is running: connect to port 24 and run ps | grep orbic.

If not running, manually start it: /data/orbic_app &

DagShell © 2024 | Created by dag

Built with ❤️ and gcc | GitHub