lamda 7.57__tar.gz → 7.60__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. {lamda-7.57 → lamda-7.60}/PKG-INFO +1 -1
  2. {lamda-7.57 → lamda-7.60}/README.md +3 -1
  3. {lamda-7.57 → lamda-7.60}/lamda/__init__.py +1 -1
  4. {lamda-7.57 → lamda-7.60}/lamda/client.py +24 -12
  5. {lamda-7.57 → lamda-7.60}/lamda/rpc/uiautomator.proto +23 -7
  6. {lamda-7.57 → lamda-7.60}/lamda.egg-info/PKG-INFO +1 -1
  7. {lamda-7.57 → lamda-7.60}/lamda/bcast.proto +0 -0
  8. {lamda-7.57 → lamda-7.60}/lamda/const.py +0 -0
  9. {lamda-7.57 → lamda-7.60}/lamda/exceptions.py +0 -0
  10. {lamda-7.57 → lamda-7.60}/lamda/google/protobuf/any.proto +0 -0
  11. {lamda-7.57 → lamda-7.60}/lamda/google/protobuf/api.proto +0 -0
  12. {lamda-7.57 → lamda-7.60}/lamda/google/protobuf/compiler/plugin.proto +0 -0
  13. {lamda-7.57 → lamda-7.60}/lamda/google/protobuf/descriptor.proto +0 -0
  14. {lamda-7.57 → lamda-7.60}/lamda/google/protobuf/duration.proto +0 -0
  15. {lamda-7.57 → lamda-7.60}/lamda/google/protobuf/empty.proto +0 -0
  16. {lamda-7.57 → lamda-7.60}/lamda/google/protobuf/field_mask.proto +0 -0
  17. {lamda-7.57 → lamda-7.60}/lamda/google/protobuf/source_context.proto +0 -0
  18. {lamda-7.57 → lamda-7.60}/lamda/google/protobuf/struct.proto +0 -0
  19. {lamda-7.57 → lamda-7.60}/lamda/google/protobuf/timestamp.proto +0 -0
  20. {lamda-7.57 → lamda-7.60}/lamda/google/protobuf/type.proto +0 -0
  21. {lamda-7.57 → lamda-7.60}/lamda/google/protobuf/wrappers.proto +0 -0
  22. {lamda-7.57 → lamda-7.60}/lamda/rpc/application.proto +0 -0
  23. {lamda-7.57 → lamda-7.60}/lamda/rpc/debug.proto +0 -0
  24. {lamda-7.57 → lamda-7.60}/lamda/rpc/file.proto +0 -0
  25. {lamda-7.57 → lamda-7.60}/lamda/rpc/policy.proto +0 -0
  26. {lamda-7.57 → lamda-7.60}/lamda/rpc/proxy.proto +0 -0
  27. {lamda-7.57 → lamda-7.60}/lamda/rpc/services.proto +0 -0
  28. {lamda-7.57 → lamda-7.60}/lamda/rpc/settings.proto +0 -0
  29. {lamda-7.57 → lamda-7.60}/lamda/rpc/shell.proto +0 -0
  30. {lamda-7.57 → lamda-7.60}/lamda/rpc/status.proto +0 -0
  31. {lamda-7.57 → lamda-7.60}/lamda/rpc/storage.proto +0 -0
  32. {lamda-7.57 → lamda-7.60}/lamda/rpc/types.proto +0 -0
  33. {lamda-7.57 → lamda-7.60}/lamda/rpc/util.proto +0 -0
  34. {lamda-7.57 → lamda-7.60}/lamda/rpc/wifi.proto +0 -0
  35. {lamda-7.57 → lamda-7.60}/lamda/types.py +0 -0
  36. {lamda-7.57 → lamda-7.60}/lamda.egg-info/SOURCES.txt +0 -0
  37. {lamda-7.57 → lamda-7.60}/lamda.egg-info/dependency_links.txt +0 -0
  38. {lamda-7.57 → lamda-7.60}/lamda.egg-info/not-zip-safe +0 -0
  39. {lamda-7.57 → lamda-7.60}/lamda.egg-info/requires.txt +0 -0
  40. {lamda-7.57 → lamda-7.60}/lamda.egg-info/top_level.txt +0 -0
  41. {lamda-7.57 → lamda-7.60}/setup.cfg +0 -0
  42. {lamda-7.57 → lamda-7.60}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: lamda
3
- Version: 7.57
3
+ Version: 7.60
4
4
  Summary: Android reverse engineering & automation framework
5
5
  Home-page: https://github.com/rev1si0n/lamda
6
6
  Author: rev1si0n
@@ -19,7 +19,9 @@ LAMDA 是一个用于逆向及自动化的辅助框架,设计为减少安全
19
19
  <p align="center">
20
20
  <img src="image/wx.png" alt="公众号" width="234">
21
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>
22
+ <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>
23
+ </p>
24
+
23
25
 
24
26
  经过超 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 设备。
25
27
 
@@ -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__ = "7.57"
5
+ __version__ = "7.60"
@@ -74,6 +74,8 @@ __all__ = [
74
74
  "OpenVPNAuth",
75
75
  "OpenVPNEncryption",
76
76
  "OpenVPNKeyDirection",
77
+ "FindImageMethod",
78
+ "FindImageArea",
77
79
  "ToastDuration",
78
80
  "OpenVPNCipher",
79
81
  "OpenVPNProto",
@@ -230,7 +232,6 @@ TouchAction.action = property(touchActionRealAction)
230
232
 
231
233
  TouchSequence.load = classmethod(touchSequenceLoad)
232
234
  TouchSequence.save = touchSequenceSave
233
-
234
235
  TouchSequence.appendAction = touchSequenceAppendAction
235
236
  TouchSequence.appendDown = touchSequenceAppendDown
236
237
  TouchSequence.appendWait = touchSequenceAppendWait
@@ -243,6 +244,7 @@ Bound.width = property(width)
243
244
  Bound.height = property(height)
244
245
 
245
246
  FindImageMethod = protos.FindImageMethod
247
+ FindImageArea = protos.FindImageArea
246
248
 
247
249
  Bound.center = center
248
250
  Bound.corner = corner
@@ -855,16 +857,26 @@ class UiAutomatorStub(BaseServiceStub):
855
857
  """
856
858
  r = self.stub.getClipboard(protos.Empty())
857
859
  return r.value
858
- def find_similar_image(self, data, threshold=0,
859
- max_distance=0, bound=None,
860
- method=FindImageMethod.FI_TEMPLATE):
860
+ def _set_target_Area(self, req, area):
861
+ req.area = area
862
+ def _set_target_Bound(self, req, bound):
863
+ req.bound.CopyFrom(bound)
864
+ def find_similar_image(self, data, threshold=0.0, distance=250,
865
+ scale=1.0, area=FindImageArea.FIA_WHOLE_SCREEN,
866
+ method=FindImageMethod.FIM_TEMPLATE):
861
867
  """
862
868
  根据提供的目标图片从屏幕中获取相似图片位置
863
869
  """
864
- req = protos.FindImageRequest(bound=bound)
870
+ req = protos.FindImageRequest()
871
+ checkArgumentTyp(area, (Bound, int))
872
+ name = getattr(getattr(area, "DESCRIPTOR", None),
873
+ "name", "Area")
874
+ func = "_set_target_{}".format(name)
875
+ getattr(self, func)(req, area)
865
876
  req.method = method
866
- req.max_distance = max_distance
877
+ req.distance = distance
867
878
  req.threshold = threshold
879
+ req.scale = scale
868
880
  req.partial = data
869
881
  r = self.stub.findSimilarImage(req)
870
882
  return r.bounds
@@ -2037,11 +2049,12 @@ class Device(object):
2037
2049
  return self.stub("UiAutomator").wait_for_idle(timeout)
2038
2050
  def get_last_toast(self):
2039
2051
  return self.stub("UiAutomator").get_last_toast()
2040
- def find_similar_image(self, data, threshold=0,
2041
- max_distance=0, bound=None,
2042
- method=FindImageMethod.FI_TEMPLATE):
2052
+ def find_similar_image(self, data, threshold=0.0, distance=250,
2053
+ scale=1.0, area=FindImageArea.FIA_WHOLE_SCREEN,
2054
+ method=FindImageMethod.FIM_TEMPLATE):
2043
2055
  return self.stub("UiAutomator").find_similar_image(data, threshold=threshold,
2044
- max_distance=max_distance, bound=bound, method=method)
2056
+ distance=distance, scale=scale,
2057
+ area=area, method=method)
2045
2058
  # watcher
2046
2059
  def remove_all_watchers(self):
2047
2060
  return self.stub("UiAutomator").remove_all_watchers()
@@ -2117,7 +2130,6 @@ if __name__ == "__main__":
2117
2130
  args = parser.parse_args()
2118
2131
 
2119
2132
  readline.parse_and_bind("tab: complete")
2120
-
2121
2133
  d = Device(args.device, port=args.port,
2122
- certificate=args.cert)
2134
+ certificate=args.cert)
2123
2135
  code.interact(local=globals())
@@ -556,16 +556,32 @@ message WatcherRegistRequest {
556
556
  }
557
557
 
558
558
  enum FindImageMethod {
559
- FI_TEMPLATE = 0;
560
- FI_FEATURE_POINT = 1;
559
+ FIM_TEMPLATE = 0;
560
+ FIM_FEATURE = 1;
561
+ }
562
+
563
+ enum FindImageArea {
564
+ FIA_WHOLE_SCREEN = 0;
565
+ FIA_LEFT = 1;
566
+ FIA_TOP_LEFT = 2;
567
+ FIA_TOP = 3;
568
+ FIA_TOP_RIGHT = 4;
569
+ FIA_RIGHT = 5;
570
+ FIA_BOTTOM_RIGHT = 6;
571
+ FIA_BOTTOM = 7;
572
+ FIA_BOTTOM_LEFT = 8;
561
573
  }
562
574
 
563
575
  message FindImageRequest {
564
- FindImageMethod method = 1;
565
- Bound bound = 2;
566
- bytes partial = 3;
567
- uint32 max_distance = 4;
568
- float threshold = 5;
576
+ bytes partial = 1;
577
+ FindImageMethod method = 2;
578
+ oneof _area {
579
+ FindImageArea area = 3;
580
+ Bound bound = 4;
581
+ }
582
+ uint32 distance = 5;
583
+ float threshold = 6;
584
+ float scale = 7;
569
585
  }
570
586
 
571
587
  message FindImageResponse {
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: lamda
3
- Version: 7.57
3
+ Version: 7.60
4
4
  Summary: Android reverse engineering & automation framework
5
5
  Home-page: https://github.com/rev1si0n/lamda
6
6
  Author: rev1si0n
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