登录光猫

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