找回密码
 立即注册
img_loading
智能检测中

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888广告投放联系QQ68610888
查看: 5490|回复: 16

[烽火] 北京联通 烽火HG6145D1 SSH破解 自定义启动脚本 运行自定义程序

[复制链接]
发表于 2023-9-17 17:18 | 显示全部楼层 |阅读模式
本帖最后由 skyxingcheng 于 2023-9-17 17:26 编辑

前排提醒 搞机有风险 自行承担!

首先根据大神帖子开启telnet
  1. https://www.right.com.cn/forum/thread-8230876-1-1.html
复制代码


下面是破解流程 理论上适用于任何光猫 前提是找到合适的切入点

telnet登陆后 查询文件系统挂载

  1. ~ # df -h
  2. Filesystem                Size      Used Available Use% Mounted on
  3. ubi0:rootfs_ubifs        31.6M     25.9M      5.7M  82% /
  4. /dev/ubi0_3              17.9M     13.6M      4.4M  76% /fhrom
  5. ubi2:Apps                42.7M     17.3M     25.4M  41% /opt/cu/apps
  6. ubi2:data                 7.1M    236.0K      6.8M   3% /fhconf
  7. ubi2:factory              3.1M     40.0K      3.1M   1% /fhdata
  8. /dev/mtdblock4            4.9M      4.9M         0 100% /opt/cu/framework
  9. overlay                  42.7M     17.3M     25.4M  41% /CuInform
复制代码


经实测 可写入目录为 `/fhconf``/fhdata``/opt/cu/apps`

其中 `/opt/cu/apps` 容量最大 适合放我们自己的程序

查询所有shell脚本 寻找合适的切入点

  1. ~ # find / -name "*.sh"
  2. /etc/lte_start.sh
  3. /etc/hp_wrapper.sh
  4. /etc/init.d/x2serdes_init.sh
  5. /etc/init.d/bcm-wlan-drivers.sh
  6. /etc/init.d/system-config.sh
  7. /etc/init.d/xserdes_init.sh
  8. /etc/init.d/lxc.sh
  9. /etc/init.d/hndmfg.sh
  10. /etc/init.d/disk.sh
  11. /etc/init.d/wifi.sh
  12. /etc/init.d/spdsvcinit.sh
  13. /etc/init.d/bcm-base-drivers.sh
  14. /etc/init.d/license_init.sh
  15. /etc/init.d/save-dmesg.sh
  16. /etc/init.d/ssl.sh
  17. /etc/init.d/wanconf.sh
  18. /etc/init.d/xrnd_init.sh
  19. /etc/init.d/gre-tunnel-drivers.sh
  20. /etc/init.d/usb.sh
  21. /etc/init.d/mount-fs.sh
  22. /etc/init.d/hndnvram.sh
  23. /etc/make_mmc_links.sh
  24. /etc/dyndscp.sh
  25. /etc/“师夷长技以制夷”.sh
  26. /etc/mptcp.sh
  27. /etc/make_static_devnodes.sh
  28. /etc/rdpa_init.sh
  29. /opt/cu/apps/apps/opt/apps/xrobot/data/monitor.sh
  30. /opt/cu/apps/apps/opt/apps/xrobot/data/reborn.sh
  31. /opt/cu/apps/apps/opt/apps/xrobot/data/upgrade.sh
  32. /opt/cu/framework/ufw/rootfs/bin/ipcalc.sh
  33. /opt/cu/framework/ufw/rootfs/etc/diag.sh
  34. /opt/cu/framework/ufw/rootfs/lib/config/uci.sh
  35. /opt/cu/framework/ufw/rootfs/lib/functions/leds.sh
  36. /opt/cu/framework/ufw/rootfs/lib/functions/migrations.sh
  37. /opt/cu/framework/ufw/rootfs/lib/functions/network.sh
  38. /opt/cu/framework/ufw/rootfs/lib/functions/preinit.sh
  39. /opt/cu/framework/ufw/rootfs/lib/functions/procd.sh
  40. /opt/cu/framework/ufw/rootfs/lib/functions/service.sh
  41. /opt/cu/framework/ufw/rootfs/lib/functions/system.sh
  42. /opt/cu/framework/ufw/rootfs/lib/functions/uci-defaults.sh
  43. /opt/cu/framework/ufw/rootfs/lib/functions.sh
  44. /opt/cu/framework/ufw/rootfs/lib/network/config.sh
  45. /opt/cu/framework/ufw/rootfs/lib/upgrade/common.sh
  46. /opt/cu/framework/ufw/rootfs/lib/upgrade/fwtool.sh
  47. /opt/cu/framework/ufw/rootfs/sbin/cu_pkg.sh
  48. /opt/cu/framework/ufw/rootfs/sbin/led.sh
  49. /opt/cu/framework/ufw/rootfs/usr/libexec/login.sh
  50. /opt/cu/framework/ufw/rootfs/usr/share/libubox/jshn.sh
  51. /opt/scripts/dumpsysinfo.sh
  52. /usr/sbin/WlGetDriverCfg.sh
  53. /usr/sbin/hnddm.sh
  54. /usr/sbin/WlGetDriverStats.sh
  55. /usr/share/usbmount/usbinit.sh
  56. /fhrom/fhshell/power_lan_set.sh
  57. /fhrom/fhshell/safinit.sh
  58. /fhrom/fhshell/rastatus.sh
  59. /fhrom/fhshell/power_wifi_set.sh
  60. /fhrom/fhshell/web_traceroute.sh
  61. /fhrom/fhshell/fhdrv_pon_init.sh
  62. /fhrom/fhshell/avalanche.sh
  63. /fhrom/fhshell/web_pingdiag.sh
  64. /fhrom/fhshell/power_full.sh
  65. /fhrom/fhshell/set_root_passwd.sh
  66. /fhrom/fhshell/voice_prec_cfg.sh
  67. /fhrom/fhshell/start_webserver.sh
  68. /fhrom/fhshell/set_dns_conf.sh
  69. /fhrom/fhshell/wifi_protect.sh
  70. /fhrom/fhshell/smbrules.sh
  71. /fhrom/fhshell/redirect_servicemgr.sh
  72. /fhrom/fhshell/fhdrv_kdrv_board_impl_load.sh
  73. /fhrom/fhshell/keep_sending_rs.sh
  74. /fhrom/fhshell/fhdrv_kdrv_nandflash_test.sh
  75. /fhrom/fhshell/power_wifi.sh
  76. /fhrom/fhshell/dhcp6c_msg_send.sh
  77. /fhrom/fhshell/ubus_wifi.sh
  78. /fhrom/fhshell/fhdrv_kdrv_fs_watcher.sh
  79. /fhrom/fhshell/dnsmasq.sh
  80. /fhrom/fhshell/set_radvd_conf.sh
  81. /fhrom/fhshell/telnet_pause_60s.sh
  82. /fhrom/fhshell/radvd_run.sh
  83. /fhrom/fhshell/keep_sending_rs_emulate.sh
  84. /fhrom/fhshell/fhdrv_kdrv_stop_watchdog.sh
  85. /fhrom/fhshell/macreport.sh
  86. /fhrom/fhshell/start_pon_process.sh
  87. /fhrom/fhshell/fhdrv_kdrv_board_load.sh
  88. /fhrom/fhshell/udevinit.sh
  89. /fhrom/fhshell/crond_start.sh
  90. /fhrom/fhshell/u_free_handler.sh
  91. /fhrom/fhshell/plugin.sh
  92. /fhrom/fhshell/process_check.sh
  93. /fhrom/fhshell/fhdrv_net_init.sh
  94. /fhrom/fhshell/wifiguest.sh
  95. /fhrom/fhshell/voice_init.sh
  96. /fhrom/fhshell/arping_notify_servicemgr.sh
  97. /fhrom/fhshell/ctc_plugin.sh
  98. /fhrom/fhshell/creat_fhsys_info.sh
  99. /fhrom/fhshell/daemon.sh
  100. /fhrom/fhshell/power_usb_set.sh
  101. /fhrom/fhshell/unipon_patch_pre.sh
复制代码


我们主要关心的就是 `/etc/init.d/` 下面的脚本(此目录里面的脚本都会在开机自动运行),看了一下并没有调用上述三个可写目录的地方

换个思路

查询emmc分区

  1. ~ # cat /proc/mtd
  2. dev:    size   erasesize  name
  3. mtd0: 04d00000 00020000 "rootfsA"
  4. mtd1: 04d00000 00020000 "rootfsB"
  5. mtd2: 04400000 00020000 "data"
  6. mtd3: 00100000 00020000 "nvram"
  7. mtd4: 01000000 00020000 "frameworkA"
  8. mtd5: 01000000 00020000 "frameworkB"
  9. mtd6: 02435000 0001f000 "rootfs_ubifs"
  10. mtd7: 0001f000 0001f000 "METADATA"
  11. mtd8: 0001f000 0001f000 "METADATACOPY"
  12. mtd9: 01550000 0001f000 "app_ubifs"
  13. mtd10: 007c0000 0001f000 "felix"
  14. mtd11: 002f38b0 0001f000 "filestruct_full.bin"
  15. mtd12: 02435000 0001f000 "rootfs_ubifs"
  16. mtd13: 0001f000 0001f000 "METADATA"
  17. mtd14: 0001f000 0001f000 "METADATACOPY"
  18. mtd15: 01550000 0001f000 "app_ubifs"
  19. mtd16: 007c0000 0001f000 "felix"
  20. mtd17: 002de380 0001f000 "filestruct_full.bin"
  21. mtd18: 03032000 0001f000 "Apps"
  22. mtd19: 00991000 0001f000 "data"
  23. mtd20: 00554000 0001f000 "factory"
复制代码


`/etc/init.d/mount-fs.sh` 我们可以得知 `/` 根目录挂载的分区为 rootfs

分区为常见A/B分区 理论上讲只要不瞎搞 就不会切分区

我们使用 dd 命令将 rootfsA 导出 (也就是mtd0)

  1. dd if=/dev/mtd0 of=/opt/cu/apps/rootfsa.bin
复制代码


当然 空间肯定是不够的 不过够我们分析了

导出后使用 tftp 拉到电脑上

  1. udpsvd -vE 0.0.0.0 69 tftpd /
复制代码

  1. tftpd 192.168.1.1
  2. mode octet
  3. get /opt/cu/apps/rootfsa.bin
复制代码


使用winhex打开镜像文件

然后搜索字符串 `/bin/sh` 发现结果还是挺多的

经一番搜索后 发现了一个合适的切入点 `spdsvcinit.sh`



此文件位于 `/etc/init.d/spdsvcinit.sh` 文件大小只有 99 字节 非常适合偷梁换柱(雾

使用 `tftp` 拉出此文件, 文件内容如下

  1. #!/bin/sh

  2. echo Applying Speed Service License

  3. cat /etc/spdsvc_license.txt > /proc/spdsvc/license
复制代码


思路: 我们只需要将 `echo Applying Speed Service License` 替换为 `sh /path/to/your/custom/shell.sh` 就达成执行自定义脚本的目的了 (乐

我们通过winhex显示的偏移量 计算出需要跳过 `46778224/512≈91363 blocks`

使用 `dd` 命令跳过 `91363 blocks` 读取 `512 Bytes`

  1. dd if=/dev/mtd0 of=/opt/cu/apps/test0 skip=91363 count=1 bs=512
复制代码


然后查看导出的文件




刚好就是我们想要的扇区数据

使用 tftp 拉到电脑上 用 winhex 打开此文件




`echo Applying Speed Service License` 替换为我们的启动脚本, 例如:

(防止出问题 字节数补全成长度一致的)




修改好的文件 tftp 回光猫

  1. # -c 参数表示允许put
  2. udpsvd -vE 0.0.0.0 69 tftpd -c /opt/cu/apps/
复制代码

  1. tftpd 192.168.1.1
  2. mode octet
  3. put test1
复制代码


查看一下我们修改好的文件结构是否与原来一致



我们可以发现 除了替换的自定义脚本 都是一致的 仅仅是替换了字符串

使用 `dd` 命令, 跳过 `91363 blocks` 写入 `512 Bytes``mtd0`

  1. dd if=/opt/cu/apps/test1 of=/dev/mtd0 seek=91363 count=1 bs=512
复制代码

然后就发现写不进去 (恼

但是换个思路 写到block设备上 (参见 `/etc/init.d/mount-fs.sh`)

  1. dd if=/opt/cu/apps/test1 of=/dev/mtdblock0 seek=91363 count=1 bs=512
复制代码

很快啊 啪的一下就写进去了!!!

然后我们再来一遍上面的导出步骤 看下写入是否成功

  1. dd if=/dev/mtd0 of=/opt/cu/apps/test2 skip=91363 count=1 bs=512
复制代码


可以看到我们的 `512 Bytes` 成功写入 (偷梁换柱成功




加入我们的自定义脚本(此文件建议仅用于调用,因为`init.d`下的脚本不应由与我们添加的脚本而影响时长)

  1. ~ # cat /fhconf/start_custom_111.sh
  2. #!/bin/sh

  3. echo "success" > /fhconf/123.txt

  4. exit 0
复制代码


然后满怀激动的心重启光猫 发现脚本已经执行了 破解成功!!!



添加脚本开机自动修改密码 启动ssh(dropbear)、telnetd、关闭某些端口的防火墙

软件需要使用 `armv5` 的版本 如果过大可以用 `upx` 压缩一下 效果显著(对于go来说)

===== 自用脚本 仅供参考 =====

入口中转

  1. ~ # cat /fhconf/start_custom_111.sh
  2. #!/bin/sh
  3. # 入口文件一定不要阻塞
  4. sh /opt/cu/apps/custom/main.sh &

  5. exit 0
复制代码


我的启动脚本

  1. #!/bin/sh


  2. # sleep一下确保其他进程已启动
  3. sleep 30
  4. echo "run myapp time: $(date +%Y%m%d-%H:%M:%S)" >> /opt/cu/apps/custom/start.log

  5. # 取消 INPUT方向 21,22,23 等端口的 DROP
  6. iptables -D INPUT_WAN -p tcp -m multiport --dports 80,8080,443,21,22,23,137,138,139,389 -j REJECT --reject-with icmp-port-unreachable
  7. # 取消 INPUT方向 仅允许来自 br 的 DROP
  8. # iptables -D INPUT_FIREWALL ! -i br+ -p tcp -s 0.0.0.0/0 -d 0.0.0.0/0 --dport 80 -j DROP
  9. # iptables -D INPUT_FIREWALL ! -i br+ -p tcp -s 0.0.0.0/0 -d 0.0.0.0/0 --dport 23 -j DROP
  10. iptables -D INPUT_FIREWALL ! -i br+ -p tcp -s 0.0.0.0/0 -d 0.0.0.0/0 --dport 22 -j DROP
  11. # WARN: 放行端口后 会直接暴露公网端口 仅建议暴露22端口 或自行转发

  12. # 如果需要端口转发 可以修改并取消注释下述 iptables 命令
  13. # iptables -t nat -A PORT_MAPP_WANCD_1 -p tcp -m tcp --dport 10012 -j DNAT --to-destination 192.168.1.1:22
  14. # iptables -t nat -A PORT_MAPP_WANCD_1 -p tcp -m tcp --dport 10013 -j DNAT --to-destination 192.168.1.1:23

  15. # 修改 telnet 的密码
  16. echo "admin:替换为你的密码:0:0:Telnet user:/var:/bin/ash" > /var/tel_passwd
  17. # 启动 telnetd 服务
  18. /fhrom/bin/telnetd -p 23
  19. # 修改 ssh root 密码
  20. echo root:替换为你的密码|chpasswd
  21. # 由于 /etc/passwd 存在一丢丢问题(坑)
  22. # 末尾的登录 shell 居然是 bin/sh 而不是 /bin/sh 所以登录不上
  23. # 本想直接使用 sed 替换 但由于 /etc/目录不可写
  24. # (神奇的是 /etc/passwd 可写) 所以需要中转一下
  25. sed -e 's/:\/:bin\/sh/:\/:\/bin\/sh/g' /etc/passwd > /opt/cu/apps/custom/passwd
  26. cat /opt/cu/apps/custom/passwd > /etc/passwd
  27. # 由于没有找到原来的启动脚本
  28. # 所以用 shell 简单写了一个 sshd 守护进程
  29. # 这里还有一个坑 sshd 进程!必须!守护
  30. # 因为 sshd 接收到入方向流量断开后会把自己kill掉(或是退出)
  31. sh /opt/cu/apps/custom/drop.sh &
  32. # 使用简单好用的 ddns-go
  33. sh /opt/cu/apps/custom/ddns/start.sh &
  34. # 经典穿透软件 防止失联(
  35. sh /opt/cu/apps/custom/frpc/start_frpc.sh &
  36. sh /opt/cu/apps/custom/frps/frps.sh &

  37. exit 0
复制代码


sshd守护脚本

  1. ~ # cat /opt/cu/apps/custom/drop.sh
  2. #!/bin/sh

  3. while true; do
  4. if ! pgrep sshd > /dev/null; then
  5.      sshd -R -P /var/run/dropbear.1.pid -a -p 22 -K 300 -T 3 > /dev/null 2>&1
  6. fi
  7. done
复制代码


ddns守护脚本

ddns-go 必须指定配置文件目录 默认根目录无法写入 保存配置后就不需要启动web了

  1. ~ # cat /opt/cu/apps/custom/ddns/start.sh

  2. #!/bin/sh

  3. workpath=$(dirname $0)
  4. cd ${workpath}

  5. while true; do
  6. ./ddns-go -noweb -skipVerify -c ./config.yaml >> /var/log/ddns-go.log
  7. done
复制代码


上面的 ddns 使用了 `-skipVerify` 这是由于系统中不含根证书

所以不能进行 https 请求,我们要部署的程序需要避免使用 https

如果非要使用 https 可以使用 chroot 建立虚拟 lxc 将根证书塞进 /etc/ssl/cert.pem 即可

THE END

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
发表于 2023-9-17 23:35 | 显示全部楼层
??,很详细,有空试一下
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2023-9-19 06:43 来自手机 | 显示全部楼层
太牛逼了,可惜我看不懂
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2023-9-21 07:57 | 显示全部楼层
??,很详细,学到了666
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2023-10-3 22:19 | 显示全部楼层
本帖最后由 jonhy_love 于 2023-10-3 23:04 编辑

华为中兴电信猫都有saf管理openwrt子系统,也就是lxc
烽火联通的猫也是,看你的结构
/opt/cu/下就是子系统。也就是mtd4 mtd5 两个frameworkA/frameworkB,

其实开机脚本没必要写mtdblock,直接把开机脚本放到子系统下就行了。子系统添加dropbear参考大神之前发的 电信光猫开启openwrt小宇宙那篇。


因为/opt/cu/apps/apps/ 相当于启动时候覆盖 /opt/cu/framework/ufw/rootfs/目录,所以可以直接copy /opt/cu/framework/ufw/rootfs/etc/init.d/下某个脚本到 因为/opt/cu/apps/apps/etc/init.d/下,然后该脚本末尾加上自定义脚本的path执行即可实现开机自动加载。

当然这个加载是基于子系统的,不过目前光猫如果有lxc,那么iptables这块在lxc内都可以维护的,至于其他程序直接子系统init.d管理会更好。

点评

网络不是不法之地,不要在这里宣泄自己的不满情绪,一定要理智。: 5.0
网络不是不法之地,不要在这里宣泄自己的不满情绪,一定要理智。: 5
  发表于 2025-5-29 14:43
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2024-3-4 19:02 | 显示全部楼层
你好,开启ssh只能list出文件,不能下载和上传,是我那里不对吗?
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2024-10-10 09:28 | 显示全部楼层
大佬求rootfs的备份
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2024-10-12 17:36 | 显示全部楼层
大神好厉害,帮我看看下面这个有没办法解决?
https://www.right.com.cn/forum/thread-8401986-1-1.html
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2024-12-15 10:25 来自手机 | 显示全部楼层
贝尔光猫有没有研究过?给个关键词?谢谢
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2025-1-12 11:07 | 显示全部楼层
太厉害了,超赞,大体内容看懂了,脚本内容看不懂,O(∩_∩)O哈哈~
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2025-1-29 17:34 | 显示全部楼层
666必须顶一下
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2025-1-29 23:34 | 显示全部楼层
C:\Users\18603\Desktop\QQ20250129-233252.png
老师帮忙看一下这个乱码怎么修改。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2025-2-6 12:43 | 显示全部楼层
请教烽火光猫没有uboot校验吗,我比较担心这个,如果改了中兴是起不来的

点评

固件有校验的好像就是中兴和华为,其他的都没有校验。 以防万一,每次都只改一个分区,如果启动失败会从另外一个分区启动。  详情 回复 发表于 2025-2-6 13:45
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2025-2-6 13:45 | 显示全部楼层
璀璨梦星 发表于 2025-2-6 12:43
请教烽火光猫没有uboot校验吗,我比较担心这个,如果改了中兴是起不来的

固件有校验的好像就是中兴和华为,其他的都没有校验。
以防万一,每次都只改一个分区,如果启动失败会从另外一个分区启动。
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2025-5-15 23:25 | 显示全部楼层
大佬,新款烽火2.5G光猫,我这个地区需要改只读文件中gpon_sn码才能上网,可以按照你这个思路来操作吗?或者大佬有更好的方法吗?求告知
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛

只谈技术、莫论政事!切勿转播谣言!为了你也为了他人。
只谈技术、莫论政事!(点击见详情) 切记不要随意传播谣言,把自己的日子过安稳了就行,为了自己好也为了大家好。 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。

查看 »

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2025-5-31 17:57

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com

快速回复 返回顶部 返回列表