Skip to content

Commit 71eb1ee

Browse files
committed
7.55 auto-commit
1 parent 9f4d791 commit 71eb1ee

File tree

8 files changed

+51
-8
lines changed

8 files changed

+51
-8
lines changed

CHANGELOG.txt

+7
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
7.55
2+
* 修复屏幕旋转显示不正常的问题
3+
* 修复远程桌面初次连接断开的问题
4+
* 修复元素存在判断
5+
* 加入 Meta 按键定义
6+
* 其他一些优化及问题修复
7+
18
7.52
29
* 修复 magisk 版雷电兼容性
310
* 修复无法正常退出服务的问题

README.md

+11-4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<p align="center">
2-
<img src="image/logo.svg" alt="LAMDA" width="365">
2+
<img src="image/logo.svg" alt="LAMDA" width="345">
33
</p>
44

55
<p align="center">Android reverse engineering & automation framework, the super power.</p>
@@ -8,14 +8,19 @@
88
<img src="https://img.shields.io/badge/python-3.6+-blue.svg?logo=python&labelColor=yellow" />
99
<img src="https://img.shields.io/badge/android-6.0+-blue.svg?logo=android&labelColor=white" />
1010
<img src="https://img.shields.io/badge/root%20require-red.svg?logo=android&labelColor=black" />
11+
<img src="https://img.shields.io/github/downloads/rev1si0n/lamda/total" />
1112
<img src="https://img.shields.io/github/v/release/rev1si0n/lamda" />
1213
</p>
1314

14-
<p align="center"><a href="https://github.com/rev1si0n/lamda/wiki">使用文档</a> | <a href="https://t.me/lamda_dev">TELEGRAM</a> | <a href="https://lamda.run/join/qq">QQ 群组</a></p>
15-
<br>
15+
<p align="center"><a href="https://github.com/rev1si0n/lamda/wiki">使用文档</a> | <a href="https://t.me/lamda_dev">TELEGRAM</a> | <a href="https://lamda.run/join/qq">QQ 群组</a> | <a href="https://github.com/rev1si0n/lamda/blob/HEAD/CHANGELOG.txt">更新历史</a></p>
1616

1717
LAMDA 是一个用于逆向及自动化的辅助框架,设计为减少安全分析以及应用测试人员的时间及琐碎问题,以编程化的接口替代大量手动操作,它并不是一个单一功能的框架,他是 Appium、uiautomator 的超集同时具备逆向领域的能力。为了让你大概了解它的用处:你是否会在手机上安装各类代理、插件或者点来点去的设置来完成你的工作?你是否要在异地操作远在千里之外的手机?你是否有编程控制手机的需求?是否还在某些云手机厂商那里购买昂贵的**IP切换****远程ADB调试****RPA自动化**甚至连 **logcat 日志**都要付费的服务?如果有,那么对了,只需一个 LAMDA 即可解决这些问题。并且,LAMDA 更注重**分布式**,事实上,你可以在一台公网服务器上管理散布在世界各地各种网络环境中的设备。当然,LAMDA 可以做到的不止于此。
1818

19+
<p align="center">
20+
<img src="image/wx.png" alt="公众号" width="234">
21+
</p>
22+
<p align="center"><small>关注公众号查看视频教程以及更多使用方法</small><br><small><b>知识应该是共享的,我们不会要求你为相关知识付费</b></small><br><small>文字版文档请查看<a href="https://github.com/rev1si0n/lamda/wiki">使用文档</a></small></p>
23+
1924
经过超 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 设备。
2025

2126
![动图演示](image/demo.gif)
@@ -26,4 +31,6 @@ LAMDA 是一个用于逆向及自动化的辅助框架,设计为减少安全
2631

2732
![中间人流量分析动图演示](image/mitm.gif)
2833

29-
当然,LAMDA 的能力不止于如上种种,他是你强有力的控制及管理工具,如果您感兴趣,请转到 [使用文档](https://github.com/rev1si0n/lamda/wiki)
34+
<p align="center">
35+
当然,LAMDA 提供的能力不止于这些,由于篇幅较长将不在此罗列,他是你强有力的设备控制及管理工具,如果你感兴趣,请转到 使用文档。
36+
</p>

image/wx.png

38.1 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.52"
5+
__version__ = "7.55"

lamda/client.py

+5
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,8 @@
6767
"Keys",
6868
"KeyCode",
6969
"KeyCodes",
70+
"MetaKeyCode",
71+
"MetaKeyCodes",
7072
"BaseCryptor",
7173
"FernetCryptor",
7274
"OpenVPNAuth",
@@ -182,6 +184,9 @@ def corner(b, position):
182184
KeyCode = protos.KeyCode
183185
KeyCodes = protos.KeyCode # make an alias
184186

187+
MetaKeyCode = protos.MetaKeyCode
188+
MetaKeyCodes = protos.MetaKeyCode # make an alias
189+
185190
OpenVPNAuth = protos.OpenVPNAuth
186191
OpenVPNEncryption = protos.OpenVPNEncryption
187192
OpenVPNKeyDirection = protos.OpenVPNKeyDirection

lamda/rpc/uiautomator.proto

+25
Original file line numberDiff line numberDiff line change
@@ -336,6 +336,31 @@ enum KeyCode {
336336
KEYCODE_PROFILE_SWITCH = 288;
337337
}
338338

339+
enum MetaKeyCode {
340+
META_UNKNOWN = 0;
341+
META_SHIFT_ON = 1;
342+
META_ALT_ON = 2;
343+
META_SYM_ON = 4;
344+
META_FUNCTION_ON = 8;
345+
META_ALT_LEFT_ON = 16;
346+
META_ALT_RIGHT_ON = 32;
347+
META_ALT_MASK = 50;
348+
META_SHIFT_LEFT_ON = 64;
349+
META_SHIFT_RIGHT_ON = 128;
350+
META_SHIFT_MASK = 193;
351+
META_CTRL_ON = 4096;
352+
META_CTRL_LEFT_ON = 8192;
353+
META_CTRL_RIGHT_ON = 16384;
354+
META_CTRL_MASK = 28672;
355+
META_META_ON = 65536;
356+
META_META_LEFT_ON = 131072;
357+
META_META_RIGHT_ON = 262144;
358+
META_META_MASK = 458752;
359+
META_CAPS_LOCK_ON = 1048576;
360+
META_NUM_LOCK_ON = 2097152;
361+
META_SCROLL_LOCK_ON = 4194304;
362+
}
363+
339364
enum Corner {
340365
COR_CENTER = 0;
341366
COR_BOTTOMRIGHT = 1;

tools/cert.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242
pk.generate_key(crypto.TYPE_RSA, 2048)
4343

4444
req = crypto.X509Req()
45-
req.set_version(2)
45+
req.set_version(0)
4646
req.get_subject().CN = CN
4747
req.set_pubkey(pk)
4848
req.sign(pk, "sha256")

tools/startmitm.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -88,8 +88,7 @@ def _start(cls, bind, port, upstream, proxy=None):
8888
loop = asyncio.new_event_loop()
8989
factory = partial(cls, loop, upstream, proxy)
9090
coro = loop.create_datagram_endpoint(factory,
91-
local_addr=(bind, port),
92-
reuse_port=True)
91+
local_addr=(bind, port))
9392
loop.run_until_complete(coro)
9493
loop.run_forever()
9594

0 commit comments

Comments
 (0)