Skip to content

Commit

Permalink
7.65 auto-commit
Browse files Browse the repository at this point in the history
  • Loading branch information
rev1si0n committed Apr 21, 2024
1 parent c65c949 commit 56d0cdc
Show file tree
Hide file tree
Showing 7 changed files with 13 additions and 80 deletions.
6 changes: 6 additions & 0 deletions CHANGELOG.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
7.65
* 移除 IDA 相关工具及接口
* 修复部分情况下启动失败的问题
* 其他一些优化及问题修复
* 新增增强隐身模式

7.60
* 优化以图找图查找速度
* 支持在远程桌面进行区域截图
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ LAMDA 是一个用于逆向及自动化的辅助框架,设计为减少安全
</p>


经过超 500 台设备的稳定生产环境考验,具有近乎商业级软件的质量和稳定性,仅需 root 权限即可正常运行。具备 ARM/X86 全架构,安卓 6.0-14 的广泛兼容性,支持模拟器、真机、云手机、 WSA(Windows Subsystem for Android™️)、无头开发板以及 Redroid。提供大量可编程接口,支持界面布局检视、获取/重放系统中最近的 Activity、唤起应用的 Activity 等功能。除此之外,它支持大文件上传下载,远程桌面,以及UI自动化编程接口,点击、截图、获取界面元素、执行 shell 命令、设备状态、资源读取、系统配置、属性读写、一键中间人等,可通过 SSH 或内置 ADB 登录设备终端。具备 socks5、OpenVPN 代理并可通过接口轻松设置根证书,实现中间人攻击,以及 Frida、IDA 等工具等等,同时支持定时任务、Magisk开机自启动,你可以在任何地方通过网络连接运行着 LAMDA 设备。
经过超 500 台设备的稳定生产环境考验,具有近乎商业级软件的质量和稳定性,仅需 root 权限即可正常运行。具备 ARM/X86 全架构,安卓 6.0-14 的广泛兼容性,支持模拟器、真机、云手机、 WSA(Windows Subsystem for Android™️)、无头开发板以及 Redroid。提供大量可编程接口,支持界面布局检视、获取/重放系统中最近的 Activity、唤起应用的 Activity 等功能。除此之外,它支持大文件上传下载,远程桌面,以及UI自动化编程接口,点击、截图、获取界面元素、执行 shell 命令、设备状态、资源读取、系统配置、属性读写、一键中间人等,可通过 SSH 或内置 ADB 登录设备终端。具备 socks5、OpenVPN 代理并可通过接口轻松设置系统证书及中间人,同时支持定时任务、Magisk开机自启动,你可以在任何地方通过网络连接运行着 LAMDA 设备。

![动图演示](image/demo.gif)

Expand Down
2 changes: 1 addition & 1 deletion lamda/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
#
# Distributed under MIT license.
# See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
__version__ = "7.60"
__version__ = "7.65"
46 changes: 0 additions & 46 deletions lamda/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -1373,64 +1373,18 @@ def is_android_debug_bridge_running(self):
"""
r = self.stub.isAndroidDebugBridgeRunning(protos.Empty())
return r.value
def is_ida_running(self):
"""
IDA 服务端是否在运行
"""
r = self.stub.isIDARunning(protos.Empty())
return r.value
def is_ida64_running(self):
"""
IDA64 服务端是否在运行
"""
r = self.stub.isIDA64Running(protos.Empty())
return r.value
def start_android_debug_bridge(self):
"""
启动内置 adbd (默认随框架启动)
"""
r = self.stub.startAndroidDebugBridge(protos.Empty())
return r.value
def start_ida(self, port=23932, **env):
"""
启动 IDA 服务端
"""
req = protos.IDAConfigRequest(port=port)
req.environment.update(env)
r = self.stub.startIDA(req)
return r.value
def start_ida64(self, port=23964, **env):
"""
启动 IDA64 服务端
"""
req = protos.IDAConfigRequest(port=port)
req.environment.update(env)
r = self.stub.startIDA64(req)
return r.value
def stop_android_debug_bridge(self):
"""
停止内置 adb daemon
"""
r = self.stub.stopAndroidDebugBridge(protos.Empty())
return r.value
def set_debuggable(self):
"""
设置系统为 debuggable
"""
r = self.stub.setDebuggable(protos.Empty())
return r.value
def stop_ida(self):
"""
停止 IDA 服务端
"""
r = self.stub.stopIDA(protos.Empty())
return r.value
def stop_ida64(self):
"""
停止 IDA64 服务端
"""
r = self.stub.stopIDA64(protos.Empty())
return r.value


class SettingsStub(BaseServiceStub):
Expand Down
5 changes: 0 additions & 5 deletions lamda/rpc/debug.proto
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,6 @@ package lamda.rpc;

import "google/protobuf/struct.proto";

message IDAConfigRequest {
uint32 port = 1;
google.protobuf.Struct environment = 8;
}

message ADBDConfigRequest {
string adb_pubkey = 1;
}
8 changes: 0 additions & 8 deletions lamda/rpc/services.proto
Original file line number Diff line number Diff line change
Expand Up @@ -52,21 +52,13 @@ service Application {
}

service Debug {
rpc isIDARunning(google.protobuf.Empty) returns (Boolean) {}
rpc isIDA64Running(google.protobuf.Empty) returns (Boolean) {}
rpc isAndroidDebugBridgeRunning(google.protobuf.Empty) returns (Boolean) {}

rpc installADBPubKey(ADBDConfigRequest) returns (Boolean) {}
rpc uninstallADBPubKey(ADBDConfigRequest) returns (Boolean) {}

rpc startIDA(IDAConfigRequest) returns (Boolean) {}
rpc startIDA64(IDAConfigRequest) returns (Boolean) {}
rpc startAndroidDebugBridge(google.protobuf.Empty) returns (Boolean) {}

rpc stopIDA(google.protobuf.Empty) returns (Boolean) {}
rpc stopIDA64(google.protobuf.Empty) returns (Boolean) {}
rpc stopAndroidDebugBridge(google.protobuf.Empty) returns (Boolean) {}
rpc setDebuggable(google.protobuf.Empty) returns (Boolean) {}
}

service Proxy {
Expand Down
24 changes: 5 additions & 19 deletions properties.local.example
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,11 @@ ssl-web-credential=password123
# 此选项同时将禁用包括任何可能对系统稳定性产生影响的组件
disable-client-api=false

# 增强隐身模式,在可能损坏自身或第三方组件部分
# 功能的情况下尽量保护 LAMDA 及其附属组件不被探测
# 非必要请勿使用 (7.65 版本引入)
enhanced-stealth-mode=false

# ---------- OpenVPN 配置 ----------
# ***** 注意请勿手动编写此 OpenVPN 配置,你应该始终使用 tools
# ***** 目录下的 openvpn 镜像中提供的脚本来生成此配置
Expand Down Expand Up @@ -79,25 +84,6 @@ cron.enable=true
# 是否启用 true | false
sshd.enable=true

#
# 注意 IDA 以及 IDA64 服务需要你的设备为 debuggable (ro.debuggable)
# ---------- IDA 服务 ----------
# 是否启用 true | false
ida.enable=true
# 绑定接口
ida.bind=0.0.0.0
# 绑定端口
ida.port=65032

# 注意 IDA 以及 IDA64 服务需要你的设备为 debuggable (ro.debuggable)
# ---------- IDA64 服务 ----------
# 是否启用 true | false
ida64.enable=true
# 绑定接口
ida64.bind=0.0.0.0
# 绑定端口
ida64.port=65064

# ---------- 端口转发(frp) 服务 ----------
# 是否启用 true | false
fwd.enable=true
Expand Down

0 comments on commit 56d0cdc

Please sign in to comment.