MessAuto-让验证码提取更加丝滑

alt

专注于web漏洞挖掘、内网渗透、免杀和代码审计,感谢各位师傅的关注!网安之路漫长,与君共勉!

alt

MessAuto

MessAuto 是一款 macOS 平台自动提取短信和邮箱验证码到粘贴板的软件,由Rust开发,适用于任何APP

下面展示了在 MessAuto 的辅助下十秒内完成短信登录的过程,点击按钮后只需安心等待5秒左右

alt

特点

  • 同时支持 Mail.app 和 iMessage.app
  • 多语言支持:目前支持汉语,英语,韩语;根据系统语言自动切换
  • 轻量:程序占用存储 4 M,占用内存 14 M
  • 简洁:没有GUI,只有一个安静的任务栏托盘图标,但功能够用
  • 适用性广:Safari方案只能在Safari浏览器中使用,此软件适用于任何 APP
  • 开源免费:收费方案 2FHey至少需要5美元

使用方法

MessAuto 是一个没有 GUI 的菜单栏软件,第一次启动时 MessAuto 会弹窗引导用户授权完全磁盘访问权限;授予权限后重新打开软件可在菜单栏看到 MessAuto 的图标,点击图标列出菜单:

  • 自动粘贴:MessAuto 将检测到的验证码存储到你的剪贴板中,如果你不想手动粘贴,可以启用此选项,启用选项时 MessAuto 会主动提醒您进行辅助功能授权
  • 自动回车:在自动粘贴验证码后再自动帮你按下回车键
  • 暂时隐藏:暂时隐藏图标,应用重启时图标重现,适合不经常重启 Mac 的用户
  • 永久隐藏:永久隐藏图标,应用重启也不会再显示图标,适合经常重启 Mac 的用户,若需重新显示图标,需要删除 ~/.config/messauto/messauto.json 文件,并重启应用
  • 配置:点击后将打开json格式的配置文件,可以在其中自定义关键词
  • 监听邮件:开启后将同时监听邮件
  • 悬浮窗:类似于 Safari 的悬浮窗,但功能上稍有落后

关键词: 也叫触发词,当信息中包含如“验证码”等关键词时,程序才会执行一系列后续操作,否则会忽略此条信息

alt

注意

ARM64 版本打开时会提示文件损坏,因其需要 Apple 开发者签名才可以正常启动,作者没有 Apple 开发者证书,不过你仍然可以通过一条命令解决问题:

  • 移动 MessAuto.app 到 /Applications 文件夹下
  • 终端执行 xattr -cr /Applications/MessAuto.app

TODO

  • [x] 优化验证码提取规则
  • [x] 自定义关键词
  • [x] 菜单中增加配置选项
  • [ ] 自动删除提取后的验证码短信(没有有效思路)
  • [x] 应用内更新
  • [x] Github Action 自动发布 release
  • [x] 增加日志功能
  • [ ] 制作 App 主页
  • [x] 增加检测邮件验证码功能
  • [x] 增加悬浮窗功能
  • [ ] 增强悬浮窗体验:TouchArea, Shortcut key ...

开发初衷

macOS 平台可以方便地接收来自 iPhone 的短信,无需每次打开手机查看验证码。Safari 浏览器更是可以直接自动获取到验证码并显示在输入框内,然而这个好用的功能却仅仅停留在了 Safari 浏览器上,但并不是每个人都喜欢使用它。为了把这个功能带到所有APP上,我开发了这款软件。

后续使用中我又发现许多验证码不仅仅通过短信发送,还有通过邮件发送的,所以我又增加了对邮件的支持。

要求

  • 使用 macOS系统,并可以接收 iPhone 的短信(即打开了“短信转发”功能)
  • 邮件 App 需要常驻后台,否则无法实时获取到最新的邮件
  • 完全磁盘访问权限(为了访问位于 ~/Library 下的 Message.appchat.db 文件,以获取最新的短信)
  • 辅助功能权限(模拟键盘操作,自动粘贴并回车)

已知缺陷

  • 部分APP或网站不支持回车登陆,需要手动点击登陆

自行编译

# 下载源码
git clone https://github.com/LeeeSe/MessAuto.git
cd MessAuto

# 编译运行(非必需,仅用于开发测试)
cargo run

# 安装 cargo-bundle
cargo install cargo-bundle
# 打包应用
cargo bundle --release

生成的 MessAuto 应用位于 target/release/bundle/osx/MessAuto.app

日志目录

日志文件目录:~/.local/share/messauto/logs/messauto.log 仅保留最近一次启动软件的日志

常见问题

  • 给了权限但还是弹出权限请求:暂时的解决方法是从设置面板的辅助功能和磁盘权限列表中将原来的 MessAuto 通过下面的"-"号移除,当再次弹出权限请求时正常同意即可工作

本文由 mdnice 多平台发布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/736851.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

这个简历你给几分?

求大家给给建议😭😭 自己算法几乎没刷过,项目也不咋好 打算21号开始投日常实习 好慌

MySQL将两条记录根据相同条件合并

知识点:在MySQL中,可以使用GROUP BY子句和聚合函数如CONCAT或CONCAT_WS来将多条记录基于相同条件合并为一条记录 【主要是GROUP_CONCAT这个函数的运用】 例如将员工信息表中相同门店的员工信息合并为一条记录 MySQL语句如下: SELECT dept_…

Flask python 开发篇:项目布局

一、背景简介 Flask应用程序可以像单个文件一样简单。就像上一篇简单实现一个接口一样,所有的东西都在一个python文件内; 然而,当项目越来越大的时候,把所有代码放在单个文件中就有点不堪重负了。 Python 项目使用 包 来管理代码…

Oracle将归档日志从 ASM 拷贝到 Linux 文件系统中操作步骤

Oracle–将归档日志从 ASM 拷贝到 Linux 文件系统中操作步骤 适用场景: 备份出现问题,ASM 中归档日志磁盘组空间不足,暂时无法扩容,数据库不可用。 操作前提: 可以备份情况下,先备份之后直接清理日志文件…

windows server 2019 服务器配置的方法步骤

一、启用远程功能二、测试三、解决多用户登录的问题 一、启用远程功能 右键点击【此电脑】–【属性】,进入“【控制面板\系统和安全\系统】”,点击-【远程设置】(计算机找不到就使用【winE】快捷键) 2、在“远程桌面”下方,点击【允许远程连…

Power Shell中更改策略以确保复杂的脚本能够顺利执行?

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned Set-ExecutionPolicy -ExecutionPolicy RemoteSigned Set-ExecutionPolicy -ExecutionPolicy RemoteSigned 是一个在 Windows PowerShell 中使用的命令,它用于设置 PowerShell 脚本的执行策略。这个命令对你如何…

【MySQL】1.在Centos 7上如何卸载/安装/配置MySQL(保姆级教程)

MySQL 在 Centos 7环境安装 说明: • 安装与卸载中,用户全部切换成为root,⼀旦安装,普通用户能使用的 • 初期练习,mysql不进行用户管理,全部使用root进行,尽快适应mysql语句,后⾯学…

联想小新电脑出现蓝屏问题解决(暂时没有解决)

电脑出现蓝屏,如下 搜索FAULTY_HARDWARE_CORRUPTED_PAGE寻找解决方案,找到较为靠谱的文章:记录蓝屏问题FAULTY_HARDWARE_CORRUPTED_PAGE 根据文章提示找到官方解答:Bug 检查 0x12B:FAULTY_HARDWARE_CORRUPTED_PAGE&…

C++的萃取技术

一、什么是traits 在《模板类型的自动推导》中提到了c是一门静态编译语言,不支持动态类型的获取,也就更不用说提供类似c#,Java等语言的反射机制。但是,没有类型获取的接口不代表没有这种实际的需求,那么怎么解决这种需…

路由器动态路由配置

本博客为观看湖科大的教书匠系列计算机网络视频的学习笔记。 静态路由选择动态路由选择采用人工配置的方式给路由器添加网络路由、默认路由和特定主机路由等路由条目。路由器通过路由选择协议自动获取路由信息。静态路由选择简单、开销小,但不能及时适应网络状态(流…

[VulnHub靶机渗透] Nullbyte

🍬 博主介绍👨‍🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~ ✨主攻领域:【渗透领域】【应急响应】 【Java、PHP】 【VulnHub靶场复现】【面试分析】 🎉点赞➕评论➕收…

【MATLAB第98期】基于MATLAB的MonteCarlo蒙特卡罗结合kriging克里金代理模型的全局敏感性分析模型(有目标函数)

【MATLAB第98期】基于MATLAB的Monte Carlo蒙特卡罗结合kriging克里金代理模型的全局敏感性分析模型(有目标函数)【更新中】 PS:因内容涉及较多,所以一时半会更新不完 后期会将相关原理,以及多种功能详细介绍。 麻烦点赞收藏&#…

多核多cluster多系统之间缓存一致性概述

目录 1.思考和质疑2.怎样去维护多核多系统缓存的一致性2.1多核缓存一致性2.2多Master之间的缓存一致性2.3dynamIQ架构同一个core中的L1和L2 cache 3.MESI协议的介绍4.ACE维护的缓存一致性5.软件定义的缓存和替换策略6.动图示例 本文转自 周贺贺,baron,代…

Unity Timeline在编辑器下正常,真机(模拟器、手机)不正常播放问题

出现这个问题很大可能是因为设置了 Managed Stripping Level > Low 只需要改成 Managed Stripping Level > Medium就可以正常播 或者改Assets/link.xml没有就新建 <linker><assembly fullname"Unity.Timeline" preserve"all" /> </l…

02.JavaScript的运算符和语句

JavaScriptt的运算符和语句 一.运算符 算术运算符 数字是用来计算的&#xff0c;比如&#xff1a;乘法 * 、除法 / 、加法 、减法 - 等等&#xff0c;所以经常和算术运算符一起。 算术运算符&#xff1a;也叫数学运算符&#xff0c;主要包括加、减、乘、除、取余&#xff…

Unity 中的 PlayFab 入门

要开始在 Unity 中使用 PlayFab,你只需执行以下两个简单步骤即可。第一步是设置 PlayFab 帐户。第二步是通过安装 Unity 编辑器扩展将其连接到 Unity。或者,你也可以下载 PlayFab SDK 并在没有扩展的情况下进行配置。 设置你的 PlayFab 帐户 访问 PlayFab 的网站并创建你的…

搜索组件的编写与数据的联动

src\components\SearchInput\index.vue 搜索组件编写 <template><div class"search-wrap"><input type"text":placeholder"placeholder":maxlength"maxlength":value"inputValue"input"searchData($ev…

动态代理详解(原理+代码+代码解析)

动态代理 1.什么是动态代理&#xff1f; 动态代理是一种在运行的时候动态的生成代理对象的技术。它在不改变原始类的情况下&#xff0c;对原始类的方法进行拦截或者增强。 2.动态代理可以实现的功能&#xff1f; 使用动态代理可以实现如下常用功能&#xff1a; 1.AOP&#x…

使用pytorch实现线性回归(很基础模型搭建详解)

使用pytorch实现线性回归 步骤&#xff1a; 1.prepare dataset 2.design model using Class 目的是为了前向传播forward&#xff0c;即计算y hat&#xff08;预测值&#xff09; 3.Construct loss and optimizer (using pytorch API) 其中计算loss是为了进行反向传播&#xff0…

FPGA-AXI4接口协议概述

假设我们要传一帧1080P的图片到显示屏显示&#xff0c;那么需要多大的储存空间呢&#xff1f; 一帧1080P的RGB565图像数据需要1920*1080*1633.1776Mb 存储空间 下图是ZYNQ-7000系列中Block RAM的大小&#xff1a; 可以看到最大存储空间的BRAM都不能存储一帧图片&#xff0c;那…