h7toolpc-bin
maintainer taotieren
· 1 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The package downloads a prebuilt Windows executable from a project-related domain (armfly.com) for use under Wine; while the host is not a standard code forge, it is plausibly official, and the software is data-only for the host system, with no evidence of obfuscated payloads or remote code execution.
Triggered rules
LOW
AI review downgraded a static finding
llm_review
The static rules flagged this MEDIUM, but an AI model (qwen/qwen3-235b-a22b-07-25) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The package downloads a prebuilt Windows executable from a project-related domain (armfly.com) for use under Wine; while the host is not a standard code forge, it is plausibly official, and the software is data-only for the host system, with no evidence of obfuscated payloads or remote code execution.
1 higher static finding superseded - not the current verdict (shown for transparency)
MEDIUM
source=() URL on a non-standard host
source_untrusted_domain
One or more source=() URLs point to a host outside the trusted allowlist (github.com, gitlab.com, codeberg.org, pypi.org, …).
-
PKGBUILD:19
source=("${pkgname/pc-bin/PC_release}.zip::http://www.armfly.com/download/H7-TOOL/${pkgname/pc-bin/PC_release}(V${pkgver}).zip"
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer: taotieren <admin@taotieren.com>
2
3
pkgname=h7toolpc-bin
4
pkgver=2.0.5
5
pkgrel=4
6
pkgdesc="H7-TOOL 的 PC 上位机,支持串口、CAN、示波器、CMSIS-DAP、DS18B20、RTT Viewer、脱机烧录等"
7
arch=('x86_64')
8
url="http://www.armbbs.cn/forum.php?mod=viewthread&tid=95468"
9
license=('unknow')
10
provides=(${pkgname})
11
conflicts=(${pkgname} ${pkgname%-bin})
12
#replaces=(${pkgname})
13
depends=('wine')
14
optdepends=("wine-mono-gecko-version-fix: Fix the version numbers of wine-mono and wine-gecko files to solve the dialog box that pops up when starting wine.")
15
makedepends=('unarchiver' 'wqy-zenhei')
16
backup=()
17
options=('!strip')
18
install=${pkgname}.install
19
source=("${pkgname/pc-bin/PC_release}.zip::http://www.armfly.com/download/H7-TOOL/${pkgname/pc-bin/PC_release}(V${pkgver}).zip"
20
"icons.tar.gz"
21
"${pkgname}.install")
22
sha256sums=('13a02cb749bc6e5c69986ee231e0647ed829c5d5247bd77d4509a91093f7e121'
23
'6823224b5699dc17c41efdcbc8465554f007cb62cadea0aad9b67c08c5698142'
24
'f642ff0a53b207ffbc37c6370699b4e0be56fbaaf879fbb6ec3462ebbc3debff')
25
noextract=("${pkgname/pc-bin/PC_release}.zip"
26
"icons.tar.gz")
27
28
prepare() {
29
unar -e GBK "${srcdir}/${pkgname/pc-bin/PC_release}.zip"
30
}
31
32
package() {
33
export LC_CTYPE="zh_CN.UTF-8"
34
35
armfly="opt/armfly"
36
_ftname="wqy-zenhei.ttc"
37
38
install -dm0755 "${pkgdir}/${armfly}/${pkgname%-bin}"
39
40
cp -ra ${srcdir}/${pkgname/pc-bin/PC_release}/* "${pkgdir}/${armfly}/${pkgname%-bin}"
41
42
find "${pkgdir}/${armfly}" -type f -exec chmod 644 "{}" \;
43
find "${pkgdir}/${armfly}" -type d -exec chmod 755 "{}" \;
44
45
install -Dm0644 /dev/stdin "${pkgdir}/${armfly}/${pkgname%-bin}/ttffont.reg" << EOF
46
REGEDIT4
47
48
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink]
49
"Lucida Sans Unicode"="${_ftname}"
50
"Microsoft Sans Serif"="${_ftname}"
51
"MS Sans Serif"="${_ftname}"
52
"Tahoma"="${_ftname}"
53
"Tahoma Bold"="${_ftname}"
54
"SimSun"="${_ftname}"
55
"Arial"="${_ftname}"
56
"Arial Black"="${_ftname}"
57
"Lucida Sans Unicode"=str(7):"${_ftname}"
58
"Microsoft Sans Serif"=str(7):"${_ftname}"
59
"Tahoma"=str(7):"${_ftname}"
60
"Lucida Sans Unicode"="${_ftname}"
61
"Microsoft Sans Serif"="${_ftname}"
62
"Microsoft YaHei"="${_ftname}"
63
"微软雅黑"="${_ftname}"
64
"宋体"="${_ftname}"
65
"新細明體"="${_ftname}"
66
"DFKai-SB"="${_ftname}"
67
"FangSong"="${_ftname}"
68
"KaiTi"="${_ftname}"
69
"Microsoft JhengHei"="${_ftname}"
70
"Microsoft YaHei"="${_ftname}"
71
"MingLiU"="${_ftname}"
72
"NSimSun"="${_ftname}"
73
"PMingLiU"="${_ftname}"
74
"SimHei"="${_ftname}"
75
"SimKai"="${_ftname}"
76
"SimSun"="${_ftname}"
77
78
[HKEY_CURRENT_USER\Software\Wine\X11 Driver]
79
"ClientSideAntiAliasWithCore"="N"
80
"ClientSideAntiAliasWithRender"="N"
81
"ClientSideWithRender"="N"
82
83
[HKEY_CURRENT_USER\Control Panel\Desktop]
84
"FontSmoothing"="2"
85
"FontSmoothingType"=dword:00000002
86
"FontSmoothingGamma"=dword:00000578
87
"FontSmoothingOrientation"=dword:00000001
88
89
[HKEY_LOCAL_MACHINE\Software\Wine\Ports]
90
"COM1"="/dev/ttyUSB0"
91
"COM2"="/dev/ttyUSB1"
92
"COM3"="/dev/ttyUSB2"
93
"COM4"="/dev/ttyUSB3"
94
"COM5"="/dev/ttyUSB4"
95
"COM6"="/dev/ttyUSB5"
96
"COM7"="/dev/ttyACM0"
97
EOF
98
99
install -Dm0755 /dev/stdin "${pkgdir}/usr/bin/${pkgname%-bin}" << EOF
100
#!/bin/bash
101
export WINEARCH=win32 WINEPREFIX="$HOME/.${pkgname%-bin}/wine"
102
103
if [ ! -d "$HOME"/.${pkgname%-bin} ] ; then
104
mkdir -p "$HOME"/.${pkgname%-bin}/wine || exit 1
105
106
cp -r /${armfly}/${pkgname%-bin}/app.ini "$HOME"/.${pkgname%-bin} || exit 1
107
cp -r /${armfly}/${pkgname%-bin}/Backup "$HOME"/.${pkgname%-bin} || exit 1
108
cp -r /${armfly}/${pkgname%-bin}/Readback "$HOME"/.${pkgname%-bin} || exit 1
109
cp -r /${armfly}/${pkgname%-bin}/ini "$HOME"/.${pkgname%-bin} || exit 1
110
cp -r /${armfly}/${pkgname%-bin}/log "$HOME"/.${pkgname%-bin} || exit 1
111
cp -r /${armfly}/${pkgname%-bin}/*.lua "$HOME"/.${pkgname%-bin} || exit 1
112
cp -r /${armfly}/${pkgname%-bin}/ttffont.reg "$HOME"/.${pkgname%-bin}/wine || exit 1
113
114
ln -s /${armfly}/${pkgname%-bin}/${pkgname/pc-bin/PC}.exe "$HOME"/.${pkgname%-bin}/${pkgname%-bin} || exit 1
115
ln -s -T /${pkgdir}/${armfly}/${pkgname%-bin}/Driver "$HOME"/.${pkgname%-bin}/Driver || exit 1
116
ln -s -T /${armfly}/${pkgname%-bin}/EMMC "$HOME"/.${pkgname%-bin}/EMMC || exit 1
117
ln -s -T /${armfly}/${pkgname%-bin}/Help "$HOME"/.${pkgname%-bin}/Help || exit 1
118
ln -s -T /${armfly}/${pkgname%-bin}/USBBus "$HOME"/.${pkgname%-bin}/USBBus || exit 1
119
ln -s -T /${armfly}/${pkgname%-bin}/ChangeLog.txt "$HOME"/.${pkgname%-bin}/ChangeLog.txt || exit 1
120
fi
121
122
if [ ! -f "$HOME"/.${pkgname%-bin}/fontok ] ; then
123
touch "$HOME"/.${pkgname%-bin}/fontok || exit 1
124
cd "$HOME"/.${pkgname%-bin}/wine && regedit ttffont.reg && wineserver -k
125
wine "$HOME"/.${pkgname%-bin}/Driver/WinUSB/zadig-2.5.exe
126
fi
127
128
wine "$HOME"/.${pkgname%-bin}/${pkgname%-bin} -opengl "$@"
129
EOF
130
131
install -Dm0644 /dev/stdin "${pkgdir}/usr/share/applications/${pkgname%-bin}.desktop" << EOF
132
[Desktop Entry]
133
Name=${pkgname%-bin}
134
Name[zh_CN]=${pkgname%-bin}
135
Comment=H7-TOOL 的 PC 上位机,支持串口、CAN、示波器、CMSIS-DAP、DS18B20、RTT Viewer、脱机烧录等
136
#MimeType=application/x-${pkgname%-bin};
137
Exec=${pkgname%-bin} %f
138
Type=Application
139
Categories=Development;Tool;
140
Terminal=false
141
Icon=${pkgname%-bin}.png
142
Version=${pkgver}
143
EOF
144
145
install -Dm0755 /dev/stdin "${pkgdir}/usr/bin/${pkgname/-bin/-old}" << EOF
146
#!/bin/bash
147
export WINEARCH=win32 WINEPREFIX="$HOME/.${pkgname%-bin}/wine"
148
149
if [ ! -d "$HOME"/.${pkgname%-bin} ] ; then
150
mkdir -p "$HOME"/.${pkgname%-bin}/wine || exit 1
151
152
cp -r /${armfly}/${pkgname%-bin}/app.ini "$HOME"/.${pkgname%-bin} || exit 1
153
cp -r /${armfly}/${pkgname%-bin}/Backup "$HOME"/.${pkgname%-bin} || exit 1
154
cp -r /${armfly}/${pkgname%-bin}/Readback "$HOME"/.${pkgname%-bin} || exit 1
155
cp -r /${armfly}/${pkgname%-bin}/ini "$HOME"/.${pkgname%-bin} || exit 1
156
cp -r /${armfly}/${pkgname%-bin}/log "$HOME"/.${pkgname%-bin} || exit 1
157
cp -r /${armfly}/${pkgname%-bin}/*.lua "$HOME"/.${pkgname%-bin} || exit 1
158
cp -r /${armfly}/${pkgname%-bin}/ttffont.reg "$HOME"/.${pkgname%-bin}/wine || exit 1
159
160
ln -s /${armfly}/${pkgname%-bin}/${pkgname/pc-bin/PC(PC V1.44 用于升级V2.00前的固件)}.exe "$HOME"/.${pkgname%-bin}/${pkgname/-bin/-old} || exit 1
161
ln -s -T /${pkgdir}/${armfly}/${pkgname%-bin}/Driver "$HOME"/.${pkgname%-bin}/Driver || exit 1
162
ln -s -T /${armfly}/${pkgname%-bin}/EMMC "$HOME"/.${pkgname%-bin}/EMMC || exit 1
163
ln -s -T /${armfly}/${pkgname%-bin}/Help "$HOME"/.${pkgname%-bin}/Help || exit 1
164
ln -s -T /${armfly}/${pkgname%-bin}/USBBus "$HOME"/.${pkgname%-bin}/USBBus || exit 1
165
ln -s -T /${armfly}/${pkgname%-bin}/ChangeLog.txt "$HOME"/.${pkgname%-bin}/ChangeLog.txt || exit 1
166
fi
167
168
if [ ! -f "$HOME"/.${pkgname%-bin}/fontok ] ; then
169
touch "$HOME"/.${pkgname%-bin}/fontok || exit 1
170
cd "$HOME"/.${pkgname%-bin}/wine && regedit ttffont.reg && wineserver -k
171
fi
172
173
wine "$HOME"/.${pkgname%-bin}/${pkgname/-bin/-old} -opengl"$@"
174
EOF
175
176
install -Dm0644 /dev/stdin "${pkgdir}/usr/share/applications/${pkgname/-bin/-old}.desktop" << EOF
177
[Desktop Entry]
178
Name=${pkgname/-bin/-old}
179
Name[zh_CN]=${pkgname/-bin/-old}
180
Comment=H7-TOOL 旧版的 PC 上位机,支持串口、CAN、示波器、CMSIS-DAP、DS18B20、RTT Viewer、脱机烧录等
181
#MimeType=application/x-${pkgname%-bin};
182
Exec=${pkgname/-bin/-old} %f
183
Type=Application
184
Categories=Development;Tool;
185
Terminal=false
186
Icon=${pkgname%-bin}.png
187
Version=1.44
188
EOF
189
190
install -Dm644 /dev/stdin "${pkgdir}/usr/lib/udev/rules.d/99-h7tool.rules" << EOF
191
# Copy this file to /etc/udev/rules.d/ or /usr/lib/udev/rules.d/
192
# If rules fail to reload automatically, you can refresh udev rules
193
# with the command "sudo udevadm control --reload"
194
195
ACTION!="add|change", GOTO="h7tool_rules_end"
196
197
SUBSYSTEM=="gpio", MODE="0660", GROUP="plugdev", TAG+="uaccess"
198
199
SUBSYSTEM!="usb|tty|hidraw", GOTO="h7tool_rules_end"
200
201
# Please keep this list sorted by VID:PID
202
203
# H7-tool
204
ATTRS{idVendor}=="C251", ATTRS{idProduct}=="F00A", MODE="666", GROUP="plugdev", TAG+="uaccess"
205
206
# CMSIS-DAP compatible adapters
207
ATTRS{product}=="*CMSIS-DAP*", MODE="666", GROUP="plugdev", TAG+="uaccess"
208
209
LABEL="h7tool_rules_end"
210
EOF
211
212
tar -xf "${srcdir}/icons.tar.gz" -C "${pkgdir}/usr/share"
213
# install -Dm0644 "${srcdir}/${pkgname%-bin}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname%-bin}/LICENSE"
214
}
215
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-03 00:08:14 | LOW | 2 |
| 2026-08-02 00:16:08 | LOW | 2 |
| 2026-08-01 00:11:18 | LOW | 2 |
| 2026-07-31 00:14:10 | LOW | 2 |
| 2026-07-30 00:17:23 | LOW | 2 |
| 2026-07-29 00:25:53 | LOW | 2 |
| 2026-07-28 00:07:28 | LOW | 2 |
| 2026-07-27 00:24:32 | LOW | 2 |
| 2026-07-26 00:07:32 | LOW | 2 |
| 2026-07-25 00:13:44 | LOW | 2 |
| 2026-07-24 00:02:28 | LOW | 2 |
| 2026-07-23 00:14:47 | LOW | 2 |
| 2026-07-22 00:29:32 | LOW | 2 |
| 2026-07-21 00:24:15 | LOW | 2 |
| 2026-07-20 00:19:49 | LOW | 2 |
| 2026-07-19 00:17:08 | LOW | 2 |
| 2026-07-18 00:14:48 | LOW | 2 |
| 2026-07-17 00:06:16 | LOW | 2 |
| 2026-07-16 00:05:41 | LOW | 2 |
| 2026-07-15 00:09:25 | LOW | 2 |