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.
Files changed (43) hide show
  1. {lamda-8.0 → lamda-8.8}/PKG-INFO +1 -1
  2. lamda-8.8/README.md +46 -0
  3. {lamda-8.0 → lamda-8.8}/lamda/__init__.py +1 -1
  4. {lamda-8.0 → lamda-8.8}/lamda/client.py +36 -5
  5. {lamda-8.0 → lamda-8.8}/lamda.egg-info/PKG-INFO +1 -1
  6. lamda-8.0/README.md +0 -43
  7. {lamda-8.0 → lamda-8.8}/lamda/bcast.proto +0 -0
  8. {lamda-8.0 → lamda-8.8}/lamda/const.py +0 -0
  9. {lamda-8.0 → lamda-8.8}/lamda/exceptions.py +0 -0
  10. {lamda-8.0 → lamda-8.8}/lamda/google/protobuf/any.proto +0 -0
  11. {lamda-8.0 → lamda-8.8}/lamda/google/protobuf/api.proto +0 -0
  12. {lamda-8.0 → lamda-8.8}/lamda/google/protobuf/compiler/plugin.proto +0 -0
  13. {lamda-8.0 → lamda-8.8}/lamda/google/protobuf/descriptor.proto +0 -0
  14. {lamda-8.0 → lamda-8.8}/lamda/google/protobuf/duration.proto +0 -0
  15. {lamda-8.0 → lamda-8.8}/lamda/google/protobuf/empty.proto +0 -0
  16. {lamda-8.0 → lamda-8.8}/lamda/google/protobuf/field_mask.proto +0 -0
  17. {lamda-8.0 → lamda-8.8}/lamda/google/protobuf/source_context.proto +0 -0
  18. {lamda-8.0 → lamda-8.8}/lamda/google/protobuf/struct.proto +0 -0
  19. {lamda-8.0 → lamda-8.8}/lamda/google/protobuf/timestamp.proto +0 -0
  20. {lamda-8.0 → lamda-8.8}/lamda/google/protobuf/type.proto +0 -0
  21. {lamda-8.0 → lamda-8.8}/lamda/google/protobuf/wrappers.proto +0 -0
  22. {lamda-8.0 → lamda-8.8}/lamda/rpc/application.proto +0 -0
  23. {lamda-8.0 → lamda-8.8}/lamda/rpc/debug.proto +0 -0
  24. {lamda-8.0 → lamda-8.8}/lamda/rpc/file.proto +0 -0
  25. {lamda-8.0 → lamda-8.8}/lamda/rpc/policy.proto +0 -0
  26. {lamda-8.0 → lamda-8.8}/lamda/rpc/proxy.proto +0 -0
  27. {lamda-8.0 → lamda-8.8}/lamda/rpc/services.proto +0 -0
  28. {lamda-8.0 → lamda-8.8}/lamda/rpc/settings.proto +0 -0
  29. {lamda-8.0 → lamda-8.8}/lamda/rpc/shell.proto +0 -0
  30. {lamda-8.0 → lamda-8.8}/lamda/rpc/status.proto +0 -0
  31. {lamda-8.0 → lamda-8.8}/lamda/rpc/storage.proto +0 -0
  32. {lamda-8.0 → lamda-8.8}/lamda/rpc/types.proto +0 -0
  33. {lamda-8.0 → lamda-8.8}/lamda/rpc/uiautomator.proto +0 -0
  34. {lamda-8.0 → lamda-8.8}/lamda/rpc/util.proto +0 -0
  35. {lamda-8.0 → lamda-8.8}/lamda/rpc/wifi.proto +0 -0
  36. {lamda-8.0 → lamda-8.8}/lamda/types.py +0 -0
  37. {lamda-8.0 → lamda-8.8}/lamda.egg-info/SOURCES.txt +0 -0
  38. {lamda-8.0 → lamda-8.8}/lamda.egg-info/dependency_links.txt +0 -0
  39. {lamda-8.0 → lamda-8.8}/lamda.egg-info/not-zip-safe +0 -0
  40. {lamda-8.0 → lamda-8.8}/lamda.egg-info/requires.txt +0 -0
  41. {lamda-8.0 → lamda-8.8}/lamda.egg-info/top_level.txt +0 -0
  42. {lamda-8.0 → lamda-8.8}/setup.cfg +0 -0
  43. {lamda-8.0 → lamda-8.8}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: lamda
3
- Version: 8.0
3
+ Version: 8.8
4
4
  Summary: Android reverse engineering & automation framework (Client API)
5
5
  Home-page: https://github.com/firerpa/lamda
6
6
  Author: rev1si0n
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>
@@ -2,4 +2,4 @@
2
2
  #
3
3
  # Distributed under MIT license.
4
4
  # See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
5
- __version__ = "8.0"
5
+ __version__ = "8.8"
@@ -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
- ("grpc.service_config", config),
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=(("grpc.service_config", config),
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),
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: lamda
3
- Version: 8.0
3
+ Version: 8.8
4
4
  Summary: Android reverse engineering & automation framework (Client API)
5
5
  Home-page: https://github.com/firerpa/lamda
6
6
  Author: rev1si0n
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