lamda 8.0__tar.gz → 8.8__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {lamda-8.0 → lamda-8.8}/PKG-INFO +1 -1
- lamda-8.8/README.md +46 -0
- {lamda-8.0 → lamda-8.8}/lamda/__init__.py +1 -1
- {lamda-8.0 → lamda-8.8}/lamda/client.py +36 -5
- {lamda-8.0 → lamda-8.8}/lamda.egg-info/PKG-INFO +1 -1
- lamda-8.0/README.md +0 -43
- {lamda-8.0 → lamda-8.8}/lamda/bcast.proto +0 -0
- {lamda-8.0 → lamda-8.8}/lamda/const.py +0 -0
- {lamda-8.0 → lamda-8.8}/lamda/exceptions.py +0 -0
- {lamda-8.0 → lamda-8.8}/lamda/google/protobuf/any.proto +0 -0
- {lamda-8.0 → lamda-8.8}/lamda/google/protobuf/api.proto +0 -0
- {lamda-8.0 → lamda-8.8}/lamda/google/protobuf/compiler/plugin.proto +0 -0
- {lamda-8.0 → lamda-8.8}/lamda/google/protobuf/descriptor.proto +0 -0
- {lamda-8.0 → lamda-8.8}/lamda/google/protobuf/duration.proto +0 -0
- {lamda-8.0 → lamda-8.8}/lamda/google/protobuf/empty.proto +0 -0
- {lamda-8.0 → lamda-8.8}/lamda/google/protobuf/field_mask.proto +0 -0
- {lamda-8.0 → lamda-8.8}/lamda/google/protobuf/source_context.proto +0 -0
- {lamda-8.0 → lamda-8.8}/lamda/google/protobuf/struct.proto +0 -0
- {lamda-8.0 → lamda-8.8}/lamda/google/protobuf/timestamp.proto +0 -0
- {lamda-8.0 → lamda-8.8}/lamda/google/protobuf/type.proto +0 -0
- {lamda-8.0 → lamda-8.8}/lamda/google/protobuf/wrappers.proto +0 -0
- {lamda-8.0 → lamda-8.8}/lamda/rpc/application.proto +0 -0
- {lamda-8.0 → lamda-8.8}/lamda/rpc/debug.proto +0 -0
- {lamda-8.0 → lamda-8.8}/lamda/rpc/file.proto +0 -0
- {lamda-8.0 → lamda-8.8}/lamda/rpc/policy.proto +0 -0
- {lamda-8.0 → lamda-8.8}/lamda/rpc/proxy.proto +0 -0
- {lamda-8.0 → lamda-8.8}/lamda/rpc/services.proto +0 -0
- {lamda-8.0 → lamda-8.8}/lamda/rpc/settings.proto +0 -0
- {lamda-8.0 → lamda-8.8}/lamda/rpc/shell.proto +0 -0
- {lamda-8.0 → lamda-8.8}/lamda/rpc/status.proto +0 -0
- {lamda-8.0 → lamda-8.8}/lamda/rpc/storage.proto +0 -0
- {lamda-8.0 → lamda-8.8}/lamda/rpc/types.proto +0 -0
- {lamda-8.0 → lamda-8.8}/lamda/rpc/uiautomator.proto +0 -0
- {lamda-8.0 → lamda-8.8}/lamda/rpc/util.proto +0 -0
- {lamda-8.0 → lamda-8.8}/lamda/rpc/wifi.proto +0 -0
- {lamda-8.0 → lamda-8.8}/lamda/types.py +0 -0
- {lamda-8.0 → lamda-8.8}/lamda.egg-info/SOURCES.txt +0 -0
- {lamda-8.0 → lamda-8.8}/lamda.egg-info/dependency_links.txt +0 -0
- {lamda-8.0 → lamda-8.8}/lamda.egg-info/not-zip-safe +0 -0
- {lamda-8.0 → lamda-8.8}/lamda.egg-info/requires.txt +0 -0
- {lamda-8.0 → lamda-8.8}/lamda.egg-info/top_level.txt +0 -0
- {lamda-8.0 → lamda-8.8}/setup.cfg +0 -0
- {lamda-8.0 → lamda-8.8}/setup.py +0 -0
{lamda-8.0 → lamda-8.8}/PKG-INFO
RENAMED
lamda-8.8/README.md
ADDED
@@ -0,0 +1,46 @@
|
|
1
|
+
<p align="center">
|
2
|
+
<img src="image/logo.svg" alt="FIRERPA" width="345">
|
3
|
+
</p>
|
4
|
+
|
5
|
+
<p align="center">安卓 RPA 机器人框架,下一代移动端数据自动化机器人</p>
|
6
|
+
|
7
|
+
<p align="center">
|
8
|
+
<img src="https://img.shields.io/badge/python-3.6+-blue.svg?logo=python&labelColor=yellow" />
|
9
|
+
<img src="https://img.shields.io/badge/android-6.0--15-blue.svg?logo=android&labelColor=white" />
|
10
|
+
<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" />
|
12
|
+
<img src="https://img.shields.io/github/v/release/rev1si0n/lamda" />
|
13
|
+
</p>
|
14
|
+
|
15
|
+
<p align="center"><a href="https://device-farm.com/doc/index.html">使用文档</a> | <a href="https://t.me/lamda_dev">TELEGRAM</a> | <a href="https://qm.qq.com/q/zDaX2a594I">QQ 群组</a> | <a href="https://device-farm.com/doc/版本历史.html">更新历史</a></p>
|
16
|
+
|
17
|
+
智能机崛起,传统网页端的普及度也开始显著减弱,数据与应用正加速向移动端转移。越来越多的人选择通过智能手机和平板等移动设备来获取信息和服务。随着移动设备的普及,用户享受到更便捷访问体验,传统的网页内容模式面临重新审视。与此同时,数据采集的技术也亟需适应这一趋势。过去,许多数据采集工具专注于网页内容,在移动端环境中,尤其是在移动端封闭的黑盒中,现今的常规技术也面临着新的挑战,FIRERPA 创造了可能,将这一切变得更加简单快捷。
|
18
|
+
|
19
|
+
FIRERPA 是**安卓领域的集大成者**,设计为减少**安全分析**及**应用测试**或**自动化**工作的时间和琐碎问题,经过超 500 台设备集群的生产环境考验,稳定应用于多个大型系统,包括自动化取证,云平台,数据采集,合规分析等,完全商业级软件的质量和稳定性,仅需 root 权限即可正常运行。具备 **ARM/X86** 全架构,安卓 **6.0-15** 的广泛兼容性([16 KB page size](https://developer.android.com/guide/practices/page-sizes) 的安卓 15 适配中),支持 **模拟器**、**真机**、**云手机**、 **WSA**(Windows Subsystem for Android™️)、**RK开发板** (所有 ARM 架构)以及 **Redroid** 等大多数运行安卓系统的设备。为**移动端 RPA 和数据自动化**提供稳定的解决方案,以**编程化**的**接口**替代大量手动操作,**易部署**,没有那些复杂花哨不跨平台的安装流程,你所需要的能力他大概率能做到并且做的更好。他并不是一个单一功能的框架,他是集 Appium、uiautomator **自动化**的超集同时具备**逆向**领域如 **Hook** **抓包** **证书安装** **组网** **API跟踪** **手机自控** 等等各种能力的框架。当然,FIRERPA 可以做到的远不止于此,你可以阅读使用文档尽情探索他的所有能力。
|
20
|
+
|
21
|
+
|
22
|
+
<h3><p align="center">适用广泛的服务架构设计</p></h3>
|
23
|
+
|
24
|
+
<p align="center">FIRERPA 不同于任何其他同类或者子集软件,在设计之初即考虑到了各种可能的应用环境,可在非侵入的情况下运行在当下绝大部分的安卓设备内,即插即用,没有任何外部依赖,无需任何多余设置,原生即是为大型的业务场景设计,易于系统化的管理及更新。而此时,其他具备相似功能的软件还在经历掉线、不稳定、兼容性差、无人维护、管理难度大等各种问题。</p>
|
25
|
+
|
26
|
+
<h3><p align="center">丰富编程接口为业务赋能</p></h3>
|
27
|
+
|
28
|
+
<p align="center">提供多达 160 条编程 API 接口,让你可以对安卓设备进行无微不至的管理和操作,提供了包括命令执行,系统设置,系统状态,应用相关,自动化控制,代理以及文件等十几个大类的接口。同时提供了封装完整的 Python 库让你可以快速上手使用。规范及稳定的服务和接口让你可以无忧的通过代码控制每一个细节,甚至可以让其和 AI 进行互联,让大模型自动编写以及执行任务。</p>
|
29
|
+
|
30
|
+
<h3><p align="center">简洁易用的远程桌面</p></h3>
|
31
|
+
|
32
|
+
<p align="center">
|
33
|
+
<img src="image/demo.gif" alt="动图演示" width="95%">
|
34
|
+
</p>
|
35
|
+
|
36
|
+
<h3><p align="center">一键中间人流量分析及更多其他功能</p></h3>
|
37
|
+
|
38
|
+
支持常规以及国际APP流量分析,DNS流量分析,得益于 [mitmproxy flow hook](https://docs.mitmproxy.org/stable/api/events.html),你可以对任何请求做到最大限度的掌控,mitmproxy 功能足够丰富,你可以使用 Python 脚本实时修改或者捕获应用的请求,也可以通过其 `Export` 选项导出特定请求的 `curl` 命令或者 `HTTPie` 命令,分析重放、拦截修改、功能组合足以替代你用过的任何此类商业/非商业软件。如果你仍不清楚 mitmproxy 是什么以及其具有的能力,请务必先查找相关文档,因为 FIRERPA 将会使用 mitmproxy 为你展现应用请求。
|
39
|
+
|
40
|
+
<p align="center">
|
41
|
+
<img src="image/mitm.gif" alt="动图演示" width="95%">
|
42
|
+
</p>
|
43
|
+
|
44
|
+
<p align="center">
|
45
|
+
当然,FIRERPA 提供的能力不止于这些,他是你强有力的设备控制及管理工具,感兴趣请转到 使用文档。
|
46
|
+
</p>
|
@@ -88,6 +88,7 @@ __all__ = [
|
|
88
88
|
"Orientation",
|
89
89
|
"OpenVPNProfile",
|
90
90
|
"GproxyProfile",
|
91
|
+
"TouchBuilder",
|
91
92
|
"Selector",
|
92
93
|
"TouchWait",
|
93
94
|
"TouchMove",
|
@@ -256,6 +257,7 @@ TouchSequence.load = classmethod(touchSequenceLoad)
|
|
256
257
|
TouchSequence.save = touchSequenceSave
|
257
258
|
TouchSequence.appendAction = touchSequenceAppendAction
|
258
259
|
TouchSequence.appendDown = touchSequenceAppendDown
|
260
|
+
TouchSequence.appendMove = touchSequenceAppendMove
|
259
261
|
TouchSequence.appendWait = touchSequenceAppendWait
|
260
262
|
TouchSequence.appendUp = touchSequenceAppendUp
|
261
263
|
|
@@ -328,6 +330,29 @@ class FernetCryptor(BaseCryptor):
|
|
328
330
|
return key
|
329
331
|
|
330
332
|
|
333
|
+
class TouchBuilder(object):
|
334
|
+
def __init__(self):
|
335
|
+
self.s = TouchSequence()
|
336
|
+
def down(self, x, y, pressure=50, track=0):
|
337
|
+
self.s.appendDown(tid=track, x=x, y=y,
|
338
|
+
pressure=pressure)
|
339
|
+
return self
|
340
|
+
def move(self, x, y, pressure=50, track=0):
|
341
|
+
self.s.appendMove(tid=track, x=x, y=y,
|
342
|
+
pressure=pressure)
|
343
|
+
return self
|
344
|
+
def up(self, track=0):
|
345
|
+
self.s.appendUp(tid=track)
|
346
|
+
return self
|
347
|
+
def wait(self, mills):
|
348
|
+
self.s.appendWait(wait=mills)
|
349
|
+
return self
|
350
|
+
def build(self):
|
351
|
+
sequence = TouchSequence()
|
352
|
+
sequence.CopyFrom(self.s)
|
353
|
+
return sequence
|
354
|
+
|
355
|
+
|
331
356
|
class ClientLoggingInterceptor(ClientInterceptor):
|
332
357
|
def truncate_string(self, s):
|
333
358
|
return "{:.1024}...".format(s) if len(s) > 1024 else s
|
@@ -2103,6 +2128,15 @@ class Device(object):
|
|
2103
2128
|
policy["maxBackoff"] = "15s"
|
2104
2129
|
config = json.dumps(dict(methodConfig=[{"name": [{}],
|
2105
2130
|
"retryPolicy": policy,}]))
|
2131
|
+
option = dict()
|
2132
|
+
option["grpc.max_send_message_length"] = 64*1024*1024
|
2133
|
+
option["grpc.max_receive_message_length"] = 128*1024*1024
|
2134
|
+
option["grpc.keepalive_time_ms"] = 30*1000
|
2135
|
+
option["grpc.keepalive_timeout_ms"] = 15*1000
|
2136
|
+
option["grpc.keepalive_permit_without_calls"] = True
|
2137
|
+
option["grpc.max_pings_without_data"] = 0
|
2138
|
+
option["grpc.service_config"] = config
|
2139
|
+
option["grpc.enable_http_proxy"] = 0
|
2106
2140
|
if certificate is not None:
|
2107
2141
|
with open(certificate, "rb") as fd:
|
2108
2142
|
key, crt, ca = self._parse_certdata(fd.read())
|
@@ -2112,13 +2146,10 @@ class Device(object):
|
|
2112
2146
|
self._chan = grpc.secure_channel(self.server, creds,
|
2113
2147
|
options=(("grpc.ssl_target_name_override",
|
2114
2148
|
self._parse_cname(crt)),
|
2115
|
-
(
|
2116
|
-
("grpc.enable_http_proxy",
|
2117
|
-
0)))
|
2149
|
+
*tuple(option.items()),))
|
2118
2150
|
else:
|
2119
2151
|
self._chan = grpc.insecure_channel(self.server,
|
2120
|
-
options=((
|
2121
|
-
("grpc.enable_http_proxy", 0))
|
2152
|
+
options=(*tuple(option.items()),)
|
2122
2153
|
)
|
2123
2154
|
session = session or uuid.uuid4().hex
|
2124
2155
|
interceptors = [ClientSessionMetadataInterceptor(session),
|
lamda-8.0/README.md
DELETED
@@ -1,43 +0,0 @@
|
|
1
|
-
<p align="center">
|
2
|
-
<img src="image/logo.svg" alt="LAMDA" width="345">
|
3
|
-
</p>
|
4
|
-
|
5
|
-
<p align="center">安卓 RPA 机器人框架,下一代移动端数据自动化机器人</p>
|
6
|
-
|
7
|
-
<p align="center">
|
8
|
-
<img src="https://img.shields.io/badge/python-3.6+-blue.svg?logo=python&labelColor=yellow" />
|
9
|
-
<img src="https://img.shields.io/badge/android-6.0+-blue.svg?logo=android&labelColor=white" />
|
10
|
-
<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" />
|
12
|
-
<img src="https://img.shields.io/github/v/release/rev1si0n/lamda" />
|
13
|
-
</p>
|
14
|
-
|
15
|
-
<p align="center"><a href="https://device-farm.com/doc/index.html">使用文档</a> | <a href="https://t.me/lamda_dev">TELEGRAM</a> | <a href="https://lamda.run/join/qq">QQ 群组</a> | <a href="https://device-farm.com/doc/版本历史.html">更新历史</a></p>
|
16
|
-
|
17
|
-
智能机的崛起,传统网页端的普及度也开始显著减弱,数据与应用正加速向移动端转移。越来越多的人选择通过智能手机和平板等移动设备来获取信息和服务。随着移动设备的普及,用户享受到更便捷访问体验,传统的网页内容模式面临重新审视。与此同时,数据采集的技术也亟需适应这一趋势。过去,许多数据采集工具专注于网页内容,在移动端环境中,尤其是在移动端封闭的黑盒中,现今的常规采集技术也面临着新的挑战。LAMDA 的诞生,为这一切创造了可能。
|
18
|
-
|
19
|
-
LAMDA 是**安卓领域的集大成者**,设计为减少**安全分析**及**应用测试**或**自动化**工作的时间和琐碎问题,经过超 500 台设备的生产环境考验,稳定应用于多个大型系统,包括自动化取证,云平台,数据采集,合规分析等,具备商业级软件的质量和稳定性,仅需 root 权限即可正常运行。具备 ARM/X86 全架构,安卓 6.0-14 的广泛兼容性,支持 **模拟器**、**真机**、**云手机**、 **WSA**(Windows Subsystem for Android™️)、**RK开发板** (所有 ARM 架构)以及 **Redroid** 等大多数运行安卓系统的设备。为**移动端 RPA 数据采集**提供稳定的解决方案,以**编程化**的**接口**替代大量手动操作,**易部署**,没有那些复杂花哨不跨平台的安装流程,你所需要的能力他大概率能做到并且做的更好。他并不是一个单一功能的框架,他是集 Appium、uiautomator **自动化**的超集同时具备**逆向**领域如 **Hook** **抓包** **证书安装** **组网** **API跟踪** **手机自控** 等等各种能力的框架。当然,LAMDA 可以做到的远不止于此,你可以阅读使用文档尽情探索他的所有能力。
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
<h3><p align="center">丰富的设备编程接口</p></h3>
|
24
|
-
|
25
|
-
<p align="center">提供多达 160 条编程 API 接口,让你可以对安卓设备进行无微不至的管理和操作,提供了包括命令执行,系统设置,系统状态,应用相关,自动化相关,代理以及文件等十几个大类的接口。同时提供了封装完整的 Python 库让你可以快速上手使用。</p>
|
26
|
-
|
27
|
-
<h3><p align="center">简洁易用的远程桌面</p></h3>
|
28
|
-
|
29
|
-
<p align="center">
|
30
|
-
<img src="image/demo.gif" alt="动图演示" width="95%">
|
31
|
-
</p>
|
32
|
-
|
33
|
-
<h3><p align="center">一键中间人流量分析及更多其他功能</p></h3>
|
34
|
-
|
35
|
-
支持常规以及国际APP流量分析,DNS流量分析,得益于 [mitmproxy flow hook](https://docs.mitmproxy.org/stable/api/events.html),你可以对任何请求做到最大限度的掌控,mitmproxy 功能足够丰富,你可以使用 Python 脚本实时修改或者捕获应用的请求,也可以通过其 `Export` 选项导出特定请求的 `curl` 命令或者 `HTTPie` 命令,分析重放、拦截修改、功能组合足以替代你用过的任何此类商业/非商业软件。如果你仍不清楚 mitmproxy 是什么以及其具有的能力,请务必先查找相关文档,因为 LAMDA 将会使用 mitmproxy 为你展现应用请求。
|
36
|
-
|
37
|
-
<p align="center">
|
38
|
-
<img src="image/mitm.gif" alt="动图演示" width="95%">
|
39
|
-
</p>
|
40
|
-
|
41
|
-
<p align="center">
|
42
|
-
当然,LAMDA 提供的能力不止于这些,由于篇幅较长将不在此罗列,他是你强有力的设备控制及管理工具,如果你感兴趣,请转到 使用文档。
|
43
|
-
</p>
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{lamda-8.0 → lamda-8.8}/setup.py
RENAMED
File without changes
|