LAMDA
by firerpa
LAMDA is an Android reverse engineering & automation framework designed to reduce the time and effort spent on security analysis and application testing. It provides programmatic interfaces to replace manual operations, focusing on distributed management of devices in various network environments.
Last updated: N/A
What is LAMDA?
LAMDA is an auxiliary framework for reverse engineering and automation, designed to reduce the time and trivial problems of security analysis and application testers. It replaces a large number of manual operations with programmatic interfaces. It is not a single-function framework. It allows for programming control of mobile phones, remote operation of devices, and management of devices in various network environments.
How to use LAMDA?
To use LAMDA, you need a rooted Android device or emulator. Install the client-side Python library and the server-side component on the device. Configure the device according to the provided instructions, including time zone, accessibility, and network settings. Then, use the Python client to connect to the device and utilize the various APIs for automation, reverse engineering, and network analysis.
Key features of LAMDA
Zero dependencies, only root required
Easy setup of root certificates for MITM
Frida-based internal Java interface exposure
Near commercial-grade quality and stability, ARM/X86 support
Mobile network proxy
Partial uiautomator2 compatibility
Device status/resource consumption reading
System configuration/property reading and modification
Interface layout inspection
Wireless connection of built-in root-enabled WIFI ADB
Custom startup configuration support
Simulator and real machine support, cloud phone/headless development board, redroid (ARM only)
Android 6.0 - 13 support
WSA (Windows Subsystem for Android™️) support
UDP proxy support (socks5 UDP mode)
OpenVPN and proxy coexistence support
Magisk boot self-start support
Encapsulated a large number of commonly used interfaces, only need to write Python
Completely networked, detached from USB data cables/USB hubs, etc. entities
Large file upload download
Greatly reduce the threshold and time cost on trivial matters
Get/replay the most recent Activity in the system
Wake up the Activity of the application
Can use ssh to log in to the device terminal
As long as there is a network, you can connect to any device running LAMDA anywhere
Run shell commands in the foreground and background, grant and revoke application permissions, etc.
Built-in http/socks5 proxy, can set the proxy for the system/specified application
Built-in frida 15.x, IDA 7.5 server and other tools
Built-in crontab scheduled tasks
Built-in Python3.9 and some commonly used modules
Built-in OpenVPN to achieve global/non-global VPN
WIFI remote desktop (web)
WEB side file upload and download
UI automation, automated operation through interfaces
Use cases of LAMDA
Automated application testing
Mobile security analysis
Remote device control and management
Network traffic analysis and manipulation
Bypassing anti-detection mechanisms
Mobile proxy server
UI automation
Data collection
FAQ from LAMDA
What are the basic requirements for running LAMDA?
What are the basic requirements for running LAMDA?
A rooted Android device or emulator with at least 2GB of RAM and 1GB of free storage space is required. Magisk Hide and Frida-server must be disabled before starting LAMDA.
How do I install LAMDA?
How do I install LAMDA?
Install the client-side Python library using pip and the server-side component on the Android device using ADB. You can either use the Magisk module or manually install the server-side files.
How do I connect to a device using LAMDA?
How do I connect to a device using LAMDA?
Use the lamda.client library in Python to create a Device object, providing the IP address of the device. If a certificate is used, provide the path to the certificate file.
How do I set up a system proxy using LAMDA?
How do I set up a system proxy using LAMDA?
Create a GproxyProfile object, configure the proxy type, host, and port, and then call the start_gproxy method on the Device object.
How do I use Frida with LAMDA?
How do I use Frida with LAMDA?
Connect to the built-in Frida instance using the device.frida attribute. Use the -H parameter with Frida command-line tools, specifying the device's IP address and port.