Logs & Support
CleveresTricky provides several built-in mechanisms for capturing diagnostic snapshots, runtime logs, and emergency bug reports. When opening an issue or reporting an unexpected behavior, providing diagnostics and logs is critical to diagnosing the problem.
For general bug reports, email info@tryigit.dev with both System Summary and Module Logs. Project members may also use GitLab issues; repository access is not required to email a report.
Logs & Support
- Open Logs & Support, or use Get Support on Dashboard. Enable Debug Logging only if needed, reproduce the issue, then refresh the logs. Viewing, copying and downloading logs still work independently.
- Expand Report Preview. System Summary is a bounded state snapshot, not a log. Copy System Summary copies exactly the displayed summary. The report preview separately shows the recent module logs.
- Press Share Basic Report to create a ZIP with
system-summary.txtandmodule-logs.txtand open Android's sharing picker. Choose the destination yourself. If file sharing is unavailable or fails, the same ZIP is downloaded; cancellation does not trigger a download. Nothing is sent to Telegram automatically. - Refresh Report refreshes both report snapshots. Copy/share stay disabled if preparation fails. Disable Debug Logging when finished.
The summary uses a fixed allowlist: module/version/environment state, interceptor state, aggregate counts, CPU/RSS, feature flags and basic Android/device metadata. It excludes package/keybox names, credentials, server configuration, private keys and identity identifiers. Its schema=2 field names and machine values stay stable across languages. The ZIP also includes real module logs, which may contain device or app names: review both parts before sharing. Report limits are 8 KiB for the summary and 1 MiB for UTF-8 module logs; oversized or unreadable data is rejected. This basic ZIP is separate from the larger emergency .tar.gz report.
Native sharing uses a private Android Shell provider copy (mode 0640) and a temporary read grant. The primary Android user is supported; other users or hosts without a usable provider receive the download fallback. At most 32 basic-report copies are retained; copies older than 24 hours are removed only after a new export succeeds. Downloaded ZIPs are not removed by this cleanup.
Method 2: One-Click Emergency Bug Report Archive (emergency-report.sh)
CleveresTricky includes an automated bug report tool that packages system logs, module state, and root environment information into a compressed archive (.tar.gz).
[!NOTE] On Magisk the module Action button opens the WebUI (via the standalone host app). On KernelSU/APatch it runs this report.
Via Root Manager (KernelSU / APatch):
- Tap the Action button next to the CleveresTricky module card.
Via Terminal (Termux / Root Shell):
su -c /data/adb/modules/cleverestricky/emergency-report.sh
Where to find the report:
The emergency archive is normally published under Android Shell's private files/bugreports/ directory. If unavailable, the tool uses /storage/emulated/0/Download/, then /data/local/tmp/. Use the path printed by the command; the current filename is CleveresTricky-bugreport-<timestamp>-<nonce>.tar.gz.
- Attach this archive to your bug-report email.
[!TIP] Keybox XML/CBOX files and private credentials are intentionally excluded from the bug report archive to protect your security.
Method 3: Native Daemon Runtime Log
The native background daemon continuously records its initialization, hooks, and operational status to:
/data/adb/cleverestricky/native_runtime.log
To view or extract the latest runtime logs via terminal:
su -c "tail -n 100 /data/adb/cleverestricky/native_runtime.log"
Method 4: Android Logcat (ADB or Terminal)
If the WebUI does not open or the module cannot start, logcat provides direct insight into early startup and Binder transactions.
Live capture via ADB:
adb logcat -s cleverestricky CleveresTricky
In Termux or root shell:
su -c "logcat -d -s cleverestricky CleveresTricky"
Clean startup capture (restarting Keystore):
adb logcat -c
adb shell su -c 'setprop ctl.restart keystore2'
adb logcat -d -s cleverestricky CleveresTricky
Important startup markers:
Welcome to Service!Web server on port ...libbinder ioctl hook installed successfullyKeystore Binder interceptor registeredTEE SecurityLevel interceptor registered
KeyMint / TEE Hardware Failure Marker:
If you see:
[WARN] Platform KeyMint HAL unreachable or TEE broken (SECURE_HW_COMMUNICATION_FAILED).
[INFO] CleveresTricky requires a functional hardware KeyMint; aborting injection to prevent framework deadlock.
[INFO] Please consult documentation (docs/security/Attestation.md or docs/LOG.md) for TEE recovery guidance.
This indicates that the device's hardware TEE or vendor KeyMint HAL is failing to communicate (error code -49 / SECURE_HW_COMMUNICATION_FAILED). CleveresTricky intentionally trips an internal circuit breaker and halts interception rather than deadlocking the framework. Refer to Attestation.md for device-side TEE provisioning recovery options on unlocked devices.
[!WARNING] Review your logs before sharing publicly. While credentials and WebUI tokens are never logged, device model names, process IDs, and package names may still be visible.
Summary for Issue Reports
When sending a bug report, please include:
1. System Summary / Share Basic Report (Logs & Support)
2. Module Logs (from Logs & Support with Debug Logging enabled, an emergency-report.sh archive, or logcat)
3. Device model, Android version, and root manager (KernelSU / APatch / Magisk)