ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Flipper Zero BadUSB 恶搞载荷 Cartman 解析:DuckyScript 与单行 PowerShell 实现“音量拉满 + 自动播放视频“

Flipper Zero BadUSB 恶搞载荷 Cartman 解析:DuckyScript 与单行 PowerShell 实现“音量拉满 + 自动播放视频“ Flipper Zero BadUSB 恶搞载荷 Cartman 解析DuckyScript 与单行 PowerShell 实现音量拉满 自动播放视频【免费下载链接】FlipperPlayground (and dump) of stuff I make or modify for the Flipper Zero项目地址: https://gitcode.com/GitHub_Trending/fl/Flipper本文以 UNC0V3R3D BadUSB 合集中的Cartman脚本为主体完整拆解这个打开 YouTube 恶搞视频并把音量推到 100%的 Plug and Play 载荷从 DuckyScript 脚本的逐行语法到其中那行浓缩了按键注入与浏览器操控的单行 PowerShell再到在 Flipper Zero 上的实际部署步骤与排错要点。读完后你能够独立读懂同类型的 BadUSB 恶搞/演示脚本并理解其中音量控制、URL 启动等常用技巧的实现原理。一、Cartman 是什么脚本定位与原始文档信息Cartman是 UNC0V3R3D BadUSB 合集The Ultimate Flipper Zero Badusb CollectionWindows 分类下FUN恶搞子目录中的一个脚本其原始说明文档位于 readme.md。该文档给出的核心信息如下功能描述在目标机器上打开一段奇怪的 Cartman 视频YouTube 视频并把音量调到 100%使用方式plug and play即插即用无需额外配置或参数特性Featuresopen youtube video打开 YouTube 视频turn volume up调大音量。整个载荷本体是同一目录下的 Cartman.txt。文件头部注释交代了脚本的来源与演化REM ---------CARTMAN SPAM---------- REM -- by Mr-Savag3 --- 09162022 -- REM -- updated to 1 line by ------- REM ---------------- I Am Jakoby --从这段REM注释可以确认脚本由 Mr-Savag3 创作后经 I Am Jakoby 改写为单行1 line形式。这里的1 line正是 BadUSB 脚本的典型工程习惯——把 PowerShell 逻辑压缩进 DuckyScript 的一条STRING指令里一次性注入减少按键往返次数、降低中间状态被打断的概率。合集主 README 中也指出REM注释行在 BadUsb 脚本中每隔几行就会出现往往解释整个执行过程见 合集 README 的Understanding DuckyScript一节这也是阅读任何 BadUSB 脚本的第一把钥匙。二、载荷全文与 DuckyScript 逐行拆解Cartman.txt完整内容只有 9 行全部继承如下REM ---------CARTMAN SPAM---------- REM -- by Mr-Savag3 --- 09162022 -- REM -- updated to 1 line by ------- REM ---------------- I Am Jakoby -- DELAY 500 GUI r DELAY 600 STRING powershell -w h $k[Math]::Ceiling(100/2);$oNew-Object -ComObject WScript.Shell;for($i0;$i -lt $k;$i){$o.SendKeys([char] 175)}; 1..10|foreach {saps https://www.youtube.com/watch?vU3sAkAWfxLY;sleep 1;$o.SendKeys(f)} ENTER逐行说明DuckyScript 是 Flipper Zero BadUSB 功能使用的脚本语言合集 README 明确说明All BadUsb-Scripts are written in the DuckyScript 1.0 language行指令作用1–4REM ...注释解释作者与版本沿革执行时被忽略5DELAY 500等待 500 毫秒给系统留出从 USB 枚举进入输入焦点的缓冲时间6GUI r按下WinR组合键DuckyScript 中GUI表示 Windows 键r是按键打开 Windows 的运行对话框7DELAY 600等待 600 毫秒确保运行对话框就绪8STRING ...把整行 PowerShell 命令一次性键入对话框输入框9ENTER回车执行命令这套DELAY → GUI r → DELAY → STRING → ENTER的骨架在仓库中大量同类脚本里重复出现例如 NoMoreSound.txt 与 Earrape_Troll.txt 都先以GUI r/启动 PowerShell 建立执行环境。合集 README 的 Troubleshooting 一节也佐证了延迟参数的重要性如果出现在错误位置乱打字/乱开窗口通常由命令之间延迟过短导致应把DELAY 500调大到如DELAY 700而ERROR: line 5这类报错最常见的原因是命令间出现了空行或行首有空格——这也是为什么本文引用Cartman.txt时保留了原始排版读者自行改脚本时务必注意不要引入空行。三、核心单行 PowerShell 解码第 8 行是整个脚本的技术核心可还原为如下可读形式powershell -w h $k [Math]::Ceiling(100/2) $o New-Object -ComObject WScript.Shell for ($i 0; $i -lt $k; $i) { $o.SendKeys([char]175) } 1..10 | foreach { saps https://www.youtube.com/watch?vU3sAkAWfxLY sleep 1 $o.SendKeys(f) }各片段的作用3.1powershell -w h隐藏窗口启动-w h是 PowerShell 的窗口样式参数hidden使启动的 PowerShell 控制台不可见让整套动作在视觉上无声无息。这是 BadUSB 恶搞脚本的常见手法——目标用户只会看到音量变化和弹出的视频窗口而看不到执行者。3.2 音量拉满50 次[char]175$k [Math]::Ceiling(100/2)计算得 50随后通过WScript.ShellCOM 对象的SendKeys循环发送 50 次[char]175。[char]175十六进制 0xAF是 Windows 媒体音量键区段中的音量键码每次按键音量提升约 2%。因此 50 次正好把 100% 的音量区间走满——这个百分比 ÷ 2 按键次数的换算公式在仓库中多处得到印证justdance.txt 的Set-Volume函数参数范围是[ValidateRange(0,100)]计算方式为$keyPresses [Math]::Ceiling($volume / 2)先按 50 次[char]174把音量压到最低再按键量百分比上调Hey_Everybody.txt 使用同样的[Math]::Ceiling(100/2) 50 次[char]175模式NoMoreSound.txt 则发送[char]173实现静音。从这几个仓库内脚本的用法可以确认该键码族在本合集中的语义分工[char]173静音、[char]174音量减、[char]175音量加。值得注意的是Cartman与justdance不同没有先按 174 归零的步骤——由于音量向上有 100% 上限从任意未知起点连按 50 次音量最终都会饱和在 100%因此省略归零步骤在目标拉满场景下是等价且更短的写法。3.3 视频轰炸sapssleep 1SendKeys(f)循环 10 次1..10 | foreach { ... }让内层动作重复 10 轮每轮做三件事saps https://www.youtube.com/watch?vU3sAkAWfxLYSAPS是 DuckyScript 中让目标系统以默认程序打开指定 URL 的指令等价于start命令的效果于是默认浏览器会打开该 YouTube 视频。由于是在 PowerShell 会话中执行这里实际由 PowerShell 调用系统的 URL 启动机制打开链接sleep 1等待 1 秒给浏览器留出加载页面的时间保证下一个按键落在正确的前台窗口上$o.SendKeys(f)向当前前台窗口发送字母键f。从代码结构看结合被打开的页面是 YouTube 视频页可推断其意图是触发 YouTube 播放器的F键快捷键将视频切换为全屏播放强化恶搞效果。同一 URL 重复saps10 次意味着会连续打开 10 个视频标签页/窗口这正是脚本注释中CARTMANSPAM的由来——不是播放一次而是轰炸式地反复拉起视频。3.4 为什么压缩成一行把上述逻辑写成一条STRING指令配合ENTER一次提交有三个好处按键序列不可被打断减少多轮DELAY带来的总耗时且避免 PowerShell 多行粘贴时因终端换行行为不一致而产生的解析问题。这正是注释中updated to 1 line所指的改造。四、在 Flipper Zero 上部署 Cartman合集 README 给出了标准部署流程对Cartman同样适用注意该合集 README 声明为归档版本部分外部图片链接已被移除获取仓库文件clone 仓库或直接下载文件将Cartman.txt通过 qFlipperPC或 Flipper 手机 App蓝牙/USB 连接移动到 Flipper 的 SD 卡/badusb/目录在 Flipper 上进入BadUSB分类选中Cartman按提示用 USB 线连接目标 PC按下中间键开始执行脚本。合集 README 同时强调了两条使用前提务必注意项目声明for educational purposes only运行任何脚本前需获得目标系统持有者许可作者不对使用后果负责官方建议在虚拟机中测试脚本use a virtual machine for safety不要把陌生脚本直接跑在个人电脑上。Cartman属于低危恶搞类仅影响音量与浏览器窗口不修改系统文件但音量 100% 10 个视频标签页的实际体验仍可能让旁人感到突兀请仅在获得授权的自己设备上演示。若执行时出现按键错位优先参考合集 README 的 Troubleshooting调大DELAY数值、检查空行与行首空格、避免使用LOCALE指令其在 Flipper 上并不正常工作。五、与仓库内同类脚本的对照Cartman并非孤例FUN 目录下的脚本共享同一套音量 视频/声音技术底座横向对照有助于理解其设计取舍脚本音量操作媒体操作与 Cartman 的差异Cartman.txt50×175拉满saps开视频 ×10 轮每轮SendKeys(f)单行 PowerShell隐藏窗口justdance.txt50×174归零 N×175按参数上调打开视频、最大化窗口Set-Volume函数化、带[ValidateRange(0,100)]参数校验README 自述该函数需连续调用两次才生效Earrape_Troll.txt50×174归零 50×175拉满打开指定 YouTube 链接以可见 PowerShell 窗口运行视频链接为占位符需自行替换NoMoreSound.txt1×173静音无走 UAC 提权-Verb runAs路线方向相反对照可见Cartman选择了最短路径实现——不求精确控量省略归零步骤、不求多步确认只保证拉满 反复开视频两个结果与其 readme 宣称的plug and play定位一致。六、小结Cartman用一个 9 行的 DuckyScript 文件承载了一次完整的 BadUSB 演示GUI r借道运行对话框注入 PowerShell-w h隐藏执行痕迹[Math]::Ceiling(100/2)配合 50 次[char]175把音量精确走满sapssleepSendKeys(f)的 10 轮循环完成视频的反复拉起与全屏。读懂这个脚本也就掌握了仓库中绝大多数 FUN 类 BadUSB 脚本的通用解法REM注释看意图DELAY看时序STRING行看实际执行的系统命令。所有分析均可对照 Cartman.txt 与 原始 readme 逐行验证使用前请遵守合集 README 的教育用途声明与许可要求并优先在虚拟机中验证行为。【免费下载链接】FlipperPlayground (and dump) of stuff I make or modify for the Flipper Zero项目地址: https://gitcode.com/GitHub_Trending/fl/Flipper创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表