V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
shendaowu
V2EX  ›  硬件

单片机开发板的 hex 文件有没有可能带病毒?并感染电脑?会的话风险有多大?

  •  
  •   shendaowu · 19 天前 · 2329 次点击

    我买的一个带小屏幕的 CH32X033F8P6 开发板卖家没有提供烧到芯片里的的程序的源码。只提供了 hex 文件。总感觉很别扭,怕带病毒。然后还提供了一个 Python 的通信程序,这个是带源码的。我搜了一下,Linux 上有插上就能入侵电脑的 USB 设备。我用的是 Windows ,感觉理论上可能也一样。开发板是通过 USB 接口跟电脑连接的,然后好像是识别为了 COM 接口。

    我试过自己写烧录到芯片里的程序,没成功,屏幕都没点亮。我单片机开发经验很少。程序基本上是 deepseek 写的。配合一个网上找的 ST7735S 驱动程序。我感觉 deepseek 对单片机开发好像不太擅长。我在想是否可以通过反汇编 hex 文件来帮助自己写这个单片机的程序。据说现在都能反汇编成 C 语言了。另外我也懂一点汇编。

    我不求绝对的安全,这个东西的危险程度跟在虚拟机里运行各种不是很靠谱的软件相比那个更危险?我经常在虚拟机里运行一些不是很靠谱的软件。

    有没有什么针对 hex 文件的查毒软件?感觉可能不会有。VirusTotal 试过了,没查出来毒。hex 反汇编之后能否进行自动化的查毒?

    我不想买别的开发板,这个开发板太便宜了,才 17 元。穷人狂喜。另外这个很小,这个我也比较喜欢。

    26 条回复    2025-06-25 20:24:35 +08:00
    xuangoer666
        1
    xuangoer666  
       19 天前 via Android   ❤️ 1
    可以把开发板的 USB 通给虚拟机,在虚拟机里操作
    xujdan
        2
    xujdan  
       19 天前   ❤️ 1
    嵌入式码农路过,没听说过有带病毒的 hex 文件...
    shendaowu
        3
    shendaowu  
    OP
       19 天前
    @xuangoer666 但是我想让这个开发板与宿主机里的软件通信。具体是显示番茄钟的剩余时间。不过还是谢谢。
    shendaowu
        4
    shendaowu  
    OP
       19 天前
    @xujdan 好的,安心一点了。
    fcyxp
        5
    fcyxp  
       19 天前   ❤️ 1
    hex 即使有病毒,也需要触发才行。即使想动手脚也是在 USB 设备上动手脚。
    zzzyk
        6
    zzzyk  
       19 天前   ❤️ 1
    搞了好几年嵌入式,没听说过 hex 或者 bin 文件带病毒感染电脑的。
    475797650
        7
    475797650  
       19 天前   ❤️ 1
    这个 flash 总共才 62K ,想要写点代码进去不容易,烧写程序要专用的程序,参考一下官方 demo 吧 https://www.wch.cn/products/CH32X035.html
    villivateur
        8
    villivateur  
    PRO
       19 天前   ❤️ 1
    我能想到的“病毒”方案只有一种。

    一般单片机与上位机通讯是通过串口,这玩意有可能模拟一个键盘,然后插上你电脑后快速完成打开命令行、输入恶意内容并执行。

    但实战中完全没听说过这种新闻。
    diivL
        9
    diivL  
       19 天前   ❤️ 1
    HEX 是 TXT ,识别成 COM 口就不会带病毒,USB 病毒通常需要 MASS
    shendaowu
        10
    shendaowu  
    OP
       19 天前
    @fcyxp 你说的我看不太懂,不过还是谢谢。你说的触发指的是按日期触发之类的吗?我看了一下那个自带的 Python 的可能叫上位机的程序,看起来没有向单片机输出日期,只输出了当前的小时和分钟。显示时间用的。Python 程序也没有网络相关的操作。
    shendaowu
        11
    shendaowu  
    OP
       19 天前
    @diivL 开发板不能自己悄悄地切换成 USB MASS 吗?只是存储设备好像还好,毕竟 Windows 11 上好像默认都不自动执行了。我搜到地那个好像不需要自动执行就能入侵。
    pusheax
        12
    pusheax  
       19 天前   ❤️ 2
    没有这种可能性。
    USB COM 设备没有攻击 HOST 的方法。如果是 USB HID 或者 USB MSC 还有一点可能性。
    与其担心开发板固件,开发板的驱动程序和上位机带毒的可能性会大很多。
    如果真的有极度洁癖,IDA Pro 可以把 hex 文件还原出 C 伪代码,做安全审计足够。
    shendaowu
        13
    shendaowu  
    OP
       19 天前
    @pusheax 嫌麻烦不回也行,你要是不回我问 AI 也能凑合一下。我没搜到自动甚至免费的代码安全审计工具。你知道吗?如果你说的安全审计是让我自己审计的话,这个会不会需要很多学习和执行的时间?
    min
        14
    min  
       19 天前   ❤️ 1
    开个虚拟机专职负责烧写即可
    mayahs
        15
    mayahs  
       19 天前   ❤️ 1
    你太高看开发板了,就那硬件水平能有什么病毒,就算有也不会闲着没事来对付大众用户
    pusheax
        16
    pusheax  
       19 天前   ❤️ 1
    @shendaowu #13 没有针对单片机的自动化恶意代码分析工具。VirusTotal 这种主要支持 x86 ,针对其它格式的文件,就只是简单过一下静态特征,做不到代码层面的分析。
    如果要用 IDA 做安全审计,它只能帮你还原 C 代码,具体代码还是需要手工分析的,这个学习成本不低。
    chenxuuu
        17
    chenxuuu  
       19 天前   ❤️ 1
    硬件和电脑指令集架构都不一样,带什么毒
    最多需要防范一下硬件会不会有 badusb ,就是伪装成键盘给你跑 powershell 命令从云端运行 exe 这种

    但你都买开发板了,直接去沁恒官网下 sdk 不就好了吗,淘宝卖家顶多给个原理图看看电路和元器件型号,别的资料都没用,都要看原厂资料
    sq955
        18
    sq955  
       19 天前   ❤️ 1
    给 hex 文件大概只是怕源码泄露。随机攻击一个普通用户,还要搭进去一个十几块钱的开发板,是不是成本太高了
    CEBBCAT
        19
    CEBBCAT  
       19 天前   ❤️ 1
    @chenxuuu #17 楼主可能是买了成品设备想直接使用,只是有点担心安全问题。

    ---
    Python 代码你可以审计吧?单片机的话,其实你可以自己买一个 USB-to-Serial ,譬如常见的 CH340 ,然后自己连接到设备的 RX+TX 上,那这样就限定连接方式在了串口上
    yolee599
        20
    yolee599  
       19 天前 via Android   ❤️ 1
    hex 就是一个文本文件,需要烧录到单片机才能执行。
    看你硬件,分为单片机 USB 直接接电脑,和单片机通过 USB 转串口接电脑。
    如果是第一种方式,那有可能中毒。比如单片机通过 USB HID ,自动打开 PowerShell 下载病毒文件。在比如通过 USB MSC 模拟成 U 盘,自动运行病毒。
    如果是第二种方式,那就是一个单纯的串口,控制不了电脑。
    shendaowu
        21
    shendaowu  
    OP
       19 天前
    我放弃反汇编了,感觉可能需要学很多东西。另外看汇编代码感觉可能有混淆,因为感觉代码不是很工整。看各位的回复我感觉这个东西好像不是很危险,那我就凑合用卖家给的 Python 代码改吧。
    sleepingdog
        22
    sleepingdog  
       19 天前
    @pusheax #12 看了你的回答,之前刚用了一个淘宝客服给的风力计上位机 exe 软件,病毒检测网站检测一下发现结果长这样,是不是病毒?


    话说一般怎么测试 exe 是否是病毒?
    有一些 exe 比如这个,感觉可疑但又必须要用,你们会怎么操作?
    superrichman
        23
    superrichman  
       19 天前
    直接扔虚拟机不就完事了
    elechi
        24
    elechi  
       19 天前
    你不操作这个文件怎么感染病毒
    pusheax
        25
    pusheax  
       19 天前
    @sleepingdog #22 这个 exe 应该是安全的。这种上位机很容易被误报,5/74 是比较低的报告率。可以具体看一下报告的 behavior 页,里面有这个 exe 执行的一些行为,看一下有没有可疑的。
    sleepingdog
        26
    sleepingdog  
       19 天前
    @pusheax #25 thanks 指点
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2710 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 15:04 · PVG 23:04 · LAX 08:04 · JFK 11:04
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.