登录光猫
http://192.168.1.1/cgi-bin/telnetenable.cgi?telnetenable=1&key=MAC地址
1
2
3
4
5
6
7
| telnet 192.168.1.1
admin
Fh@ + MAC后6位
su
hg2x0 + MAC后6位
|
创建禁用脚本
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
| # 1. 创建主入口脚本 disable_once.sh
cat > /osgi/disable_once.sh << 'EOF'
#!/bin/sh
# ==================================================
# 一键禁用脚本 - 杀死进程并阻止重启
# ==================================================
LOG="/osgi/disable.log"
echo "=== $(date) ===" >> $LOG
# 1. 替换 monitor_java.sh(阻止 Java 重启)
cat > /osgi/monitor_java.sh << 'MONITOR_EOF'
#!/bin/sh
exit 0
MONITOR_EOF
chmod +x /osgi/monitor_java.sh
mount --bind /osgi/monitor_java.sh /etc/rc.d/monitor_java.sh 2>/dev/null
echo "Replaced monitor_java.sh" >> $LOG
# 2. 创建后台守护进程脚本
cat > /osgi/persistent_killer.sh << 'KILLER_EOF'
#!/bin/sh
while true; do
for proc in smartagent tr069 fhomci loop detectHwEvent cpumem_monitor java monitor_java.sh; do
pids=$(ps | grep "$proc" | grep -v grep | grep -v persistent_killer | awk '{print $1}')
for pid in $pids; do
kill -9 $pid 2>/dev/null
[ $? -eq 0 ] && echo "Killed $proc (PID: $pid)" >> /osgi/kill.log
done
done
sleep 3
done &
KILLER_EOF
chmod +x /osgi/persistent_killer.sh
# 3. 启动守护进程(如果还没运行)
if ! pgrep -f "persistent_killer.sh" > /dev/null; then
/osgi/persistent_killer.sh
echo "Started persistent killer daemon" >> $LOG
fi
# 4. 立即杀一次
killall smartagent tr069 fhomci loop detectHwEvent cpumem_monitor java monitor_java.sh 2>/dev/null
echo "=== Done ==="
echo "Persistent killer is running in background."
echo "Use 'ps | grep persistent_killer' to verify."
EOF
# 2. 给脚本添加执行权限
chmod +x /osgi/disable_once.sh
|
执行禁用脚本(重启后需要重新执行)
1
2
3
4
5
6
7
8
| /osgi/disable_once.sh
## 验证
# 检查杀手守护进程是否在运行
ps | grep persistent_killer | grep -v grep
# 检查目标进程是否已被清除
ps | grep -E "java|smartagent|tr069|fhomci|loop" | grep -v grep
|
文章作者
lim
上次更新
2026-06-12
(c074941)
许可协议
CC BY-NC-ND 4.0