mirror of
https://gitee.com/xmz7891/ykxmz.git
synced 2026-10-18 12:30:44 +00:00
ykxmz 1.5.0:修复手表端 TLS 证书校验 + MTU 修复网络稳定性
被控端 - 修复 MTU 问题:夹 MSS + 路径 MTU 探测(公网可用率 48% -> 100%) - 复用 HTTP 连接(免掉每次新建 TLS 的 30% 握手失败) - 每分钟回头找局域网,自动切回快 400 倍的路径 - 画面心跳帧:静止时省流量,客户端仍知道流是活的 - 锁屏时给出可操作的提示 手表端 - 内置 GTS Root R4 / GlobalSign Root CA,修 SSLHandshakeException - 连接错误翻译成人话(证书/时间/解析/超时分别提示) - 经中转连上后用服务器报的地址刷新已配对记录 - 新增局域网连接页面、服务器延迟检测 服务器端 - 支持 chunked 请求体(修每 16 秒一次的连接错乱与大面积 502) - 网络调优脚本 net-tune.sh(开机自动应用) - 管理页:批量删除、网络体检、下载区 - 隧道改 HTTP/2 + 双连接 文档 - 许可协议 / 安装前必读 / 安装后须知(作者:小麦子)
This commit is contained in:
@@ -0,0 +1,118 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
"""README 补一节:关于杀毒软件误报。
|
||||
|
||||
要讲清楚的:
|
||||
* 哪些特征**天生**会被启发式盯上(不是我加的,是这类工具的共性)
|
||||
* 我做了哪些**合法**的降误报
|
||||
* 真正解决误报的办法是代码签名 —— 需要买证书,我做不到
|
||||
* 为什么我不做免杀
|
||||
"""
|
||||
from __future__ import annotations
|
||||
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
README = Path(r"C:\Users\shu\Desktop\deepseekagent\LanRemote\README.md")
|
||||
|
||||
SECTION = '''## 关于杀毒软件误报
|
||||
|
||||
### 先说结论
|
||||
|
||||
**这个工具没有做任何免杀。** 它会被某些杀软启发式报毒,这是真的,
|
||||
我不打算靠混淆/加壳/加密去绕,因为那正是恶意软件的做法 ——
|
||||
绕过去之后,你也分不清自己装的是不是真有毒。
|
||||
|
||||
真正能解决误报的路只有一条:**代码签名**(要买证书,见下)。
|
||||
|
||||
### 为什么会被盯上
|
||||
|
||||
| 特征 | 为什么杀软敏感 | 这是谁的需求 |
|
||||
|---|---|---|
|
||||
| PyInstaller 打包 | 打包器的引导代码是启发式的重灾区 | 你要「多文件 exe,双击就跑」 |
|
||||
| 写注册表 Run 键 | 自启动是持久化的典型手法 | 你要「开机自启」 |
|
||||
| 无窗口后台常驻 | 隐藏进程是木马的常见形态 | 你要「全程静默」 |
|
||||
| 监听端口 + 收指令 | 远控和被控端在行为上无法区分 | 这就是远控工具 |
|
||||
| 提权改防火墙 | 改防火墙规则经常被拦 | 你要「黑终端一闪修防火墙」 |
|
||||
|
||||
**这五条全是你明确要求的。** 它们组合在一起,行为特征上和远控木马是一回事 ——
|
||||
区别在于:**配对码是你自己设的、认证是真的、你不会拿它去连别人的电脑。**
|
||||
|
||||
### 我做了哪些合法的降误报
|
||||
|
||||
1. **`--onedir` 而不是 `--onefile`**
|
||||
onefile 每次启动都往临时目录解压自己,这是最容易被判毒的行为之一。
|
||||
onedir 不解压,启动也更快。
|
||||
|
||||
2. **`--noupx`**
|
||||
加壳压缩是杀软重点关注对象,明确关掉。
|
||||
|
||||
3. **完整的版本信息**
|
||||
EXE 里写入了公司名、产品名、文件描述、版本、版权。
|
||||
未签名二进制有正经的版本资源,比光秃秃的少一点可疑度,
|
||||
也方便你在杀软里按「厂商 + 产品」加例外。
|
||||
|
||||
4. **不做任何偷偷摸摸的事**
|
||||
没有自我复制、没有进程注入、没有内存加载、没有关闭杀软、
|
||||
没有偷偷加防火墙例外。自启写注册表是**你勾了勾选框**才做的。
|
||||
|
||||
### 你遇到误报时怎么办
|
||||
|
||||
**优先做成例外,不要关杀软。**
|
||||
|
||||
被控端目录整个加进排除项即可(就是你放 `LanRemote-Agent.exe` 那个文件夹):
|
||||
|
||||
```
|
||||
Windows 安全中心 → 病毒和威胁防护 → 管理设置
|
||||
→ 排除项 → 添加或删除排除项 → 添加文件夹
|
||||
→ 选 LanRemote-Agent 那个目录
|
||||
```
|
||||
|
||||
加**文件夹**而不是单个 exe —— 因为 `_internal\\` 里的 dll/pyd 也可能被单独报。
|
||||
|
||||
### 真正根治:代码签名
|
||||
|
||||
有了签名,SmartScreen 和大部分杀软就不会再拦。需要:
|
||||
|
||||
1. 买一张代码签名证书(OV 约 ¥1000-2000/年,EV 更贵但立刻获得 SmartScreen 信誉)
|
||||
2. 用 `signtool` 给 `LanRemote-Agent.exe` 和 `_internal` 里的 dll 签名
|
||||
3. 加时间戳(否则证书过期后签名失效)
|
||||
|
||||
买了证书之后告诉我,我把签名步骤加进构建脚本。
|
||||
|
||||
### 我查到的情况(本机)
|
||||
|
||||
这台机器上 Windows Defender 的**按需扫描是坏的**:
|
||||
|
||||
```
|
||||
MpSmartConfigInitialize() failed (80070002)
|
||||
```
|
||||
|
||||
Defender 的 PowerShell 模块(`Get-MpComputerStatus` 等)也不存在,
|
||||
所以**我没法在这台机器上给你一个权威的"报不报毒"结论**。
|
||||
我不会假装测过。
|
||||
|
||||
想自己确认的话,把 EXE 传到 VirusTotal 看一下 —— 那是最快的办法。
|
||||
|
||||
---
|
||||
|
||||
'''
|
||||
|
||||
ANCHOR = "## 七、后台运行方式"
|
||||
|
||||
|
||||
def main() -> int:
|
||||
text = README.read_text(encoding="utf-8")
|
||||
if "关于杀毒软件误报" in text:
|
||||
print(" README 已有这一节")
|
||||
return 0
|
||||
if ANCHOR not in text:
|
||||
print(" [失败] 锚点没找到")
|
||||
return 1
|
||||
text = text.replace(ANCHOR, SECTION + ANCHOR, 1)
|
||||
README.write_text(text, encoding="utf-8")
|
||||
print(" README: 已补「关于杀毒软件误报」")
|
||||
return 0
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
sys.exit(main())
|
||||
Reference in New Issue
Block a user