Skip to content

Commit 2f315bf

Browse files
committed
7.68 auto-commit
1 parent b45e2f6 commit 2f315bf

9 files changed

+83
-6
lines changed

CHANGELOG.txt

+3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
7.68
2+
* 优化 h264 实时屏幕
3+
14
7.67
25
* 精简掉部分无效的程序逻辑
36
* 修复自动恢复时间过长的问题

README.md

+34-4
Original file line numberDiff line numberDiff line change
@@ -22,16 +22,46 @@ LAMDA 是一个用于逆向及自动化的辅助框架,设计为减少安全
2222
<p align="center"><small>关注公众号查看视频教程以及更多使用方法</small><br><small><b>知识应该是共享的,我们不会要求你为相关知识付费</b></small><br><br><small><a href="https://space.bilibili.com/1964784386/video">BILIBILI 同步发布</a></small><br><small>文字版文档请查看<a href="https://github.com/rev1si0n/lamda/wiki">使用文档</a></small></small>
2323
</p>
2424

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

28-
![动图演示](image/demo.gif)
27+
<h3><p align="center">星火设备管理系统</p></h3>
28+
29+
<p align="center">星火设备管理系统是用于管理运行着 LAMDA 的设备管控平台,他可以集中管理您分散全国各地不同网络的安卓设备。真正的弱中心化分布式设备管理,您与所有设备都可以是相隔天涯海角,所有设备都是以您为中心,您在哪,设备就在哪。您无需自行购买任何或者搭建任何服务器资源,只需您自己的电脑即可使用。多年技术积累,专注解决行业痛点及难题。</p>
30+
31+
<p align="center"><small>首发低至 ¥3 元 5台</small><br><small><b>您可以关注上方公众号后在菜单订阅及查看使用教程</b></small></p>
32+
33+
<p align="center">
34+
<img src="image/overview.png" alt="设备管理平台" width="95%">
35+
</p>
36+
<p align="center">
37+
<img src="image/detail.png" alt="设备管理平台" width="95%">
38+
</p>
39+
<p align="center">
40+
<img src="image/totalview.png" alt="设备管理平台" width="95%">
41+
</p>
42+
43+
<h3><p align="center">丰富的设备编程接口</p></h3>
2944

30-
## 一键中间人流量分析
45+
<p align="center">LAMDA 提供多达 160 条编程 API 接口,让你可以对安卓设备进行无微不至的管理和操作,提供了包括命令执行,系统设置,系统状态,应用相关,自动化相关,代理以及文件等十几个大类的接口。同时提供了封装完整的 Python 库让你可以快速上手使用。</p>
46+
47+
<p align="center">
48+
<img src="image/api.png" alt="动图演示" width="95%">
49+
</p>
50+
51+
52+
<h3><p align="center">简洁易用的界面</p></h3>
53+
54+
<p align="center">
55+
<img src="image/demo.gif" alt="动图演示" width="95%">
56+
</p>
57+
58+
<h3><p align="center">一键中间人流量分析</p></h3>
3159

3260
支持常规以及国际APP流量分析,DNS流量分析,得益于 [mitmproxy flow hook](https://docs.mitmproxy.org/stable/api/events.html),你可以对任何请求做到最大限度的掌控,mitmproxy 功能足够丰富,你可以使用 Python 脚本实时修改或者捕获应用的请求,也可以通过其 `Export` 选项导出特定请求的 `curl` 命令或者 `HTTPie` 命令,分析重放、拦截修改、功能组合足以替代你用过的任何此类商业/非商业软件。如果你仍不清楚 mitmproxy 是什么以及其具有的能力,请务必先查找相关文档,因为 LAMDA 将会使用 mitmproxy 为你展现应用请求。
3361

34-
![中间人流量分析动图演示](image/mitm.gif)
62+
<p align="center">
63+
<img src="image/mitm.gif" alt="动图演示" width="95%">
64+
</p>
3565

3666
<p align="center">
3767
当然,LAMDA 提供的能力不止于这些,由于篇幅较长将不在此罗列,他是你强有力的设备控制及管理工具,如果你感兴趣,请转到 使用文档。

image/api.png

505 KB
Loading

image/detail.png

216 KB
Loading

image/overview.png

225 KB
Loading

image/totalview.png

196 KB
Loading

lamda/__init__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22
#
33
# Distributed under MIT license.
44
# See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
5-
__version__ = "7.67"
5+
__version__ = "7.68"

setup.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
description = "Android reverse engineering & automation framework",
1111
url = "https://github.com/rev1si0n/lamda",
1212
author = "rev1si0n",
13-
python_requires = ">=3.6,<3.12",
13+
python_requires = ">=3.6,<=3.12",
1414
zip_safe = False,
1515
extras_require = {
1616
"full": ["frida>=16.0.0,<17.0.0"],
+44
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
diff --git a/console/cli.py b/console/cli.py
2+
index 1fc22fb..80e52dc 100644
3+
--- a/console/cli.py
4+
+++ b/console/cli.py
5+
@@ -31,8 +31,10 @@ from ..utils.helpers import normalize_gadget_name, print_frida_connection_help,
6+
@click.option('--serial', '-S', required=False, default=None, help='A device serial to connect to.')
7+
@click.option('--debug', '-d', required=False, default=False, is_flag=True,
8+
help='Enable debug mode with verbose output. (Includes agent source map in stack traces)')
9+
+@click.option('--certificate', '-c', required=False, default=None, help="Frida connection certificate")
10+
+@click.option('--token', '-t', required=False, default=None, help="Frida connection token")
11+
def cli(network: bool, host: str, port: int, api_host: str, api_port: int,
12+
- gadget: str, serial: str, debug: bool) -> None:
13+
+ gadget: str, serial: str, debug: bool, certificate: str, token: str) -> None:
14+
"""
15+
\b
16+
_ _ _ _
17+
@@ -56,6 +58,8 @@ def cli(network: bool, host: str, port: int, api_host: str, api_port: int,
18+
state_connection.use_network()
19+
state_connection.host = host
20+
state_connection.port = port
21+
+ state_connection.certificate = certificate
22+
+ state_connection.token = token
23+
24+
if serial:
25+
state_connection.device_serial = serial
26+
diff --git a/utils/agent.py b/utils/agent.py
27+
index 6d88e3a..fbe9b40 100644
28+
--- a/utils/agent.py
29+
+++ b/utils/agent.py
30+
@@ -126,8 +126,13 @@ class Agent(object):
31+
return device
32+
33+
if state_connection.get_comms_type() == state_connection.TYPE_REMOTE:
34+
+ kwargs = {}
35+
+ if state_connection.certificate:
36+
+ kwargs["certificate"] = state_connection.certificate
37+
+ if state_connection.token:
38+
+ kwargs["token"] = state_connection.token
39+
device = frida.get_device_manager().add_remote_device('{host}:{port}'.format(
40+
- host=state_connection.host, port=state_connection.port))
41+
+ host=state_connection.host, port=state_connection.port), **kwargs)
42+
click.secho('Using networked device @`{n}`'.format(n=device.name), bold=True)
43+
44+
return device

0 commit comments

Comments
 (0)