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

PolarloTS个人挑战赛第一季 个人WP

简单locke-treasure逆向狂喜void __fastcall decrypt_flag_to_buf( const unsigned __int8 *enc, int enc_len, const char *key, char *out_buf, int out_buf_len) { int key_len; // [rsp24h] [rbp4h] int i; // [rsp44h] [rbp24h] j___CheckForDebuggerJustMyCode(_68090DB3_calc_hide_c); key_len j_strlen_0(key); if ( out_buf_len enc_len 1 ) { for ( i 0; i enc_len; i ) out_buf[i] key[i % key_len] ^ enc[i]; out_buf[enc_len] 0; } else if ( out_buf_len 0 ) { *out_buf 0; } }这是关键函数key和enc均给了这道题好像只能静态分析密码是abc123但是却让输入纯数字expenc[0x7, 0xe, 0x2, 0x56, 0x49, 0x44, 0x8, 0xc, 0x3c, 0x59, 0x53, 0x40, 0x9, 0x3d, 0x1, 0x48, 0x42, 0x52, 0x12, 0x11, 0x1e] flag keyabc123 for i in range(len(enc)): flagchr(ord(key[i%6])^enc[i]) print(flag)智能门锁里的秘钥信息打开二进制程序看到敏感函数char *get_encryption_key() { _BYTE c4t_[11]; // [rsp4h] [rbp-1Ch] BYREF char _15_cut3_[17]; // [rspFh] [rbp-11h] BYREF *(_QWORD *)_15_cut3_[9] __readfsqword(0x28u); strcpy(c4t_[5], d0g3_); strcpy(c4t_, c4t_); strcpy(_15_cut3_, 15_cut3!); strcpy(final_key_0, c4t_[5]); strcat(final_key_0, c4t_); strcat(final_key_0, _15_cut3_); byte_4030 0; return final_key_0; }提取出密钥d0g3_c4t_15_cut3!一般取前16字节脚本如下from Crypto.Cipher import AES from Crypto.Util.Padding import unpad import os def decrypt_file(input_file, output_file): raw_key_string d0g3_c4t_15_cut3! key raw_key_string.encode(utf-8)[:16] iv b\x00 * 16 try: with open(input_file, rb) as f: ciphertext f.read() cipher AES.new(key, AES.MODE_CBC, iv) decrypted_data unpad(cipher.decrypt(ciphertext), AES.block_size) with open(output_file, wb) as f: f.write(decrypted_data) print(f[*] 解密成功解密后的文件已保存为: {output_file}) except Exception as e: print(f[-] 发生错误: {e}) if __name__ __main__: ENCRYPTED_FILE log_encrypted.bin DECRYPTED_FILE decrypted_data.txt if os.path.exists(ENCRYPTED_FILE): decrypt_file(ENCRYPTED_FILE, DECRYPTED_FILE) else: print(f[-] 找不到加密文件: {ENCRYPTED_FILE}请检查路径。)提取flag在010都异或0x9A紧跟着payload后面出来flagWiFi抓包搜索flag字符找到以下数据包经过URL解码是flag{asfhwoefiajsfhowea}咖啡店的虚假WiFi登录页面需要找到受害者MAC地址的前6位十六进制字符去掉冒号钓鱼页面域名不含http://攻击者窃取到的密码攻击时间戳密码数据包的最后4位数字UNIX时间戳第一个根据前三个数据包就能看出来了第一个数据包是路由器周期性对外广播自己的 WiFi 信息第二个是Authentication 认证帧设备向路由器发送身份检验因此我的设备MAC前六位十六进制字符就是112233第二个需要找钓鱼页面域名攻击者窃取的密码在下图找到了时间戳就是上图的数据包的时间戳在左侧分组详情查看即可最终答案flag{112233_starbucks-wifi-auth.com_MySecurePass123!_8000}EasyRouter某校园物联网实验室部署了一批入门级教学路由器型号EasyRouter-100用于学生实践嵌入式设备配置与安全测试。为方便教师验证学生的固件分析能力实验室技术人员通过 Flashrom 工具 读取了路由器 NOR Flash 芯片型号 W25Q16JV2MB 容量的完整镜像将通关验证 Flag 隐藏在固件文件系统中。该路由器为简化教学未启用复杂加密机制仅对 Flag 做基础编码处理。现需你通过分析 Flash 镜像、提取文件系统找到隐藏的 Flag完成设备安全验证任务。题目给了一个附件binwalk提取固件得到flag.txt,内容如下Q1RG{ZWFzeV9mbGFzaF8yMDI0}BASE64解码即可结果是flag{easy_flash_2024}WiFi协议题目只给了一个流量包一个个找在这里发现了关键信息疑似是flag结果是flag{2025_1123_wifi_polar}透明的无线电题目给了一个txt文本和一个C程序源码C源码如下// Device: Smart_Meter_V3 #include lorawan.h // Device Address 0x26013300 uint8_t DEV_ADDR[4] { 0x00, 0x33, 0x01, 0x26 }; // Network Session Key (NwkSKey) - Used for MIC check uint8_t NWK_S_KEY[16] { 0x00 }; // Redacted // Application Session Key (AppSKey) - Used for Payload Encryption // LEAKED! uint8_t APP_S_KEY[16] { 0x2B, 0x7E, 0x15, 0x16,0x28, 0xAE, 0xD2, 0xA6,0xAB, 0xF7, 0x15, 0x88,0x09, 0xCF, 0x4F, 0x3C };题目给的txt文件经过base解码和16进制应该是协议报文40 00 33 01 26 00 05 00 01 d7 6b 07 06 5d 45 c9 bc d0 66 06 ca 11 40 4f 44 4b 9a 3b 93 31 aa bb cc dd按 LoRaWAN 拆字段后40MHDR表示这是一个 uplink 数据帧00 33 01 26DevAddr小端表示正好是0x26013300(在C源码表示地址)00FCtrl05 00FCnt 501FPort 1后面一段是FRMPayload最后aa bb cc dd看起来是 MIC刚开始题目附件上错了flag计算的是错误的但是到这里的思路是对的接下来就是解密FRMPayloadLoRaWAN 的FRMPayload不是直接 AES-CBC 那种解法而是AES-128 的流式异或解法。核心是先构造一组Ai块然后Si aes128_encrypt(AppSKey, Ai)最后明文 密文 XOR SFRMPayload d76b07065d45c6bbd30d0edf7f4d182c409e78c67e29d4d99fc960a60f27919a1a04eec98263因为是 uplink所以Dir 0。对应的Ai和SiA1 01000000000000330126050000000001 S1 b10766612623a5ddb7396fb94e29211b A2 01000000000000330126050000000002 S2 23ff49f64c11b0b8aafd04c73e15a8af A3 01000000000000330126050000000003 S3 2232d6aab51edf927e8cd833a210c730把FRMPayload和S1|S2|S3按长度逐字节异或得到明文666c61677b66636664346166316439376361313032386461353464613132393538363863377d转 ASCII 就是flag{fcfd4af1d97ca1028da54da1295868c7}expimport base64 from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes appskey bytes.fromhex(2B7E151628AED2A6ABF7158809CF4F3C) pkt base64.b64decode(QAAzASYABQAB12sHBl1FxrvTDQ7ff00YLECeeMZKdTZn8lgpg8nkZoaBO7JgmPerb7v) devaddr pkt[1:5] fcnt int.from_bytes(pkt[6:8], little) frmpayload pkt[9:-4] direction 0 # uplink cipher Cipher(algorithms.AES(appskey), modes.ECB()) enc cipher.encryptor() keystream b for i in range(1, (len(frmpayload) 15) // 16 1): Ai ( b\x01\x00\x00\x00\x00 bytes([direction]) devaddr fcnt.to_bytes(4, little) b\x00 bytes([i]) ) Si enc.update(Ai) print(fA{i} {Ai.hex()}) print(fS{i} {Si.hex()}) keystream Si plaintext bytes(a ^ b for a, b in zip(frmpayload, keystream)) print(plaintext.decode())中等你会伪造吗附件是一个gpx文件看来是要篡改gpx文件伪造运动轨迹基准对齐Base Alignment按原顺序包含base.gpx的 101 个原始点未修改任何原始坐标。点数要求在原有点中插入了 2 个 CP 打卡点并在末尾插入了 3 个占位点总计正好 106 个点。速度要求时间戳从09:00:00开始以严格的6秒/点均匀递增直到09:10:30结束完美满足最高速度要求。这个真的不太了解用gemini跑的智能盆栽固件分析binwalk提取找到隐藏的脚本#!/bin/bash # PlantPal Secret Access Script # This script is triggered by the diagnostic backdoor echo echo ╔══════════════════════════════════════════╗ echo ║ SECRET GARDEN ACCESS ║ echo ║ AUTHENTICATED ║ echo ╚══════════════════════════════════════════╝ echo echo [] Backdoor authentication: OK echo [] Privilege escalation: OK echo [] Accessing secure partition... echo sleep 1 # Read the secret key if [ -f /etc/plantpal_secret ]; then SECRET_KEY$(cat /etc/plantpal_secret) echo [✓] Secret key loaded: (hidden) else SECRET_KEYDEFAULT_KEY_BACKDOOR_123 echo [⚠] Using default secret key fi # Generate flag DEVICE_IDPP-2024- MD5_HASH$(echo -n $SECRET_KEY | md5sum | awk {print $1}) MD5_PREFIX$(echo $MD5_HASH | cut -c1-8) FLAGflag{${DEVICE_ID}${MD5_PREFIX}} echo echo ════════════════════════════════════════════ echo FLAG: $FLAG echo ════════════════════════════════════════════ echo echo [] Debug Information: echo Device ID: $DEVICE_ID echo Secret Key MD5: $MD5_HASH echo MD5 Prefix (8 chars): $MD5_PREFIX echo echo [⚠️] Security Notice: echo This backdoor will be removed in v1.1.0 echo Please secure your devices in production echo 以及一个秘密钥匙MY_SECRET_BACKDOOR_KEY_1337加密算法就是md5密钥取前八位再加上DEVICE-ID我的flash提示说厂商为了防止被直接扫描采用了“多段分散 简单混淆”的方式存储敏感信息。010打开里面有大量的0XFF那也就是说不是0XFF的很有可能是加密数据甚至是密钥都是简单一字节加密方式是异或猜测有了接下来就是开始答题由于0XFF太多让AI提取出不同位置的信息如下第一段0x2000处按0x4B异或后FLAG{flashro第二段0x3F00处按0xFF异或后_zlib_not}第三段0x9000处是 zlib解压后om_segmented_xor答案FLAG{flashroom_segmented_xor_zlib_not}智能门锁协议分析固件里面可以直接看到keyAES加密模式也给了。但是在这个固件之中counter值是从1开始下面是AI生成的expfrom cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes # # 1. 题目里从固件提取出的 AES 密钥 # key bLOCK_KEY_2024_!! # # 2. 三条日志 # nonce 是 8 字节 # 密文是十六进制字符串 # records [ { desc: 管理员开锁记录, nonce: 72c4e915062c70d3, ciphertext: 336b1e563c51bfa1b965307190596c76b406a86dd6ac38022450f4b248f65382d9c6a67a002f164aa6222d1b11ddd050462fe827139cf7365425a56c33eaab7e2504d2e5c567eff95687bed9f198dbbc }, { desc: 用户开锁记录, nonce: a624068b03d3effb, ciphertext: 3f5f193d2aa20ece3bd76457245ede0851db9925684be457b4ef62563350ee9b6efee2a31f10992c5a64796fd611227591cee2f27362b6c6c8f33451576cf1d9a2385ac463b38ace677741ad5ad01268 }, { desc: 失败尝试记录, nonce: 634e44a002b69715, ciphertext: 847d0c34d459eb05d062ff78901cf48fa2208459fe6ca4d6d4bc3452ff1e333bd8b66d209c84360634ac01df01aa981b919006eb87c1e95a2cb4206229f871b6a32ac26c2ecdc922fc3064119c3b1591 } ] # # 3. 去 PKCS7 填充 # 如果最后几个字节是合法填充就去掉 # def remove_pkcs7_padding(data: bytes) - bytes: if len(data) 0: return data pad_len data[-1] # pad_len 必须在 1~16 之间 if pad_len 1 or pad_len 16: return data # 最后 pad_len 个字节都要等于 pad_len if data[-pad_len:] ! bytes([pad_len]) * pad_len: return data return data[:-pad_len] # # 4. AES-CTR 解密 # 这题的 IV nonce(8字节) counter(8字节) # 注意counter 初始值要从 1 开始 # def aes_ctr_decrypt(key: bytes, nonce_hex: str, ciphertext_hex: str) - bytes: nonce bytes.fromhex(nonce_hex) ciphertext bytes.fromhex(ciphertext_hex) # 计数器从 1 开始占 8 字节大端 counter_start (1).to_bytes(8, big) # CTR 模式需要 16 字节初始块 iv nonce counter_start cipher Cipher(algorithms.AES(key), modes.CTR(iv)) decryptor cipher.decryptor() plaintext decryptor.update(ciphertext) decryptor.finalize() return plaintext # # 5. 解密全部日志 # admin_plaintext None for i, record in enumerate(records, 1): plaintext aes_ctr_decrypt(key, record[nonce], record[ciphertext]) plaintext remove_pkcs7_padding(plaintext) text plaintext.decode(utf-8, errorsreplace) print(f记录{i} - {record[desc]}) print(text) print(- * 60) if record[desc] 管理员开锁记录: admin_plaintext text # # 6. 从管理员记录里提取 door 和 time # 例如 # DOOR:B208 CARD:ADMIN TIME:20240115_143022 ACTION:UNLOCK RESULT:SUCCESS # if admin_plaintext: parts admin_plaintext.split() door None time_str None for part in parts: if part.startswith(DOOR:): door part.split(:, 1)[1] elif part.startswith(TIME:): time_str part.split(:, 1)[1] if door and time_str: flag fflag{{{door}_{time_str}}} print(最终 flag , flag) else: print(管理员记录解出来了但没有成功提取 DOOR 或 TIME) else: print(没有找到管理员记录)私钥解密提取一下文件系统找到一个提示文本说密码在2025年中秋节6一个文件夹内有10个脚本应该有一个对应6执行了以下命令openssl enc -des3 -nosalt -salt -in data.txt -out data.enc -k pass123但是这个执行完报错不是密码密码经过尝试应该是123456才对然后用RSA私钥解密expfrom pathlib import Path from cryptography.hazmat.primitives import serialization from cryptography.hazmat.primitives.asymmetric import padding pem Path(private_key_encrypted.pem).read_bytes() enc Path(flag.enc).read_bytes() private_key serialization.load_pem_private_key( pem, passwordb123456 ) plaintext private_key.decrypt(enc, padding.PKCS1v15()) print(plaintext.decode())easy壳壳逻辑在FileUtils.splitPayLoadFromDex里读取 APK 的 classes.dex整体 xor 0xff末尾 4 字节是原始 dex 长度然后从尾部切出真实 dex。找到真逻辑如下package com.example.iot2; import android.os.Bundle; import android.view.View; import android.widget.EditText; import android.widget.Toast; import androidx.appcompat.app.AppCompatActivity; /* loaded from: f:\Desktop\新建文件夹\yongye.dex */ public class MainActivity extends AppCompatActivity { private final String CORRECT_PWD adsbu32cais; private final String FLAG flag{sadbuy12368gdsabhu}; private EditText et_pwd; Override // androidx.fragment.app.FragmentActivity, androidx.activity.ComponentActivity, androidx.core.app.ComponentActivity, android.app.Activity protected void onCreate(Bundle bundle) { super.onCreate(bundle); setContentView(R.layout.activity_main); this.et_pwd (EditText) findViewById(R.id.et_password); } public void checkPassword(View view) { if (this.et_pwd.getText().toString().trim().equals(adsbu32cais)) { Toast.makeText(this, flag{sadbuy12368gdsabhu}, 1).show(); } else { Toast.makeText(this, 密码错误请重试, 0).show(); } } }明文flag已经给出固件锁匠先说一个解法010打开内部出现明文flag按照题目要求我们应该找到这个代码的后门在哪里也就是说只要传入指定参数就可以绕过保护命令如下所示LoRaWAN网络安全审计这是一个py打包的exe实际上解包反编译就出来了困难有些题目看描述说是需要ESP32板子就作罢了。只写了一些简单的ApK47突突突直接手撕so文件通过JNI_ONload函数发现关键代码这是密文说白了反向逻辑就是((byte_36B9C[i 1] - mod5 - n2)expbyte_36B9C [ 0x76, 0x65, 0x82, 0x76, 0x6B, 0x7D, 0x77, 0x66, 0x83, 0x77, 0x80, 0x74, 0x82, 0x76, 0x84, 0x73, 0x81, 0x75, 0x83, 0x24, 0x23, 0x21, 0x26, 0x23, 0x28, 0x73, 0x81, 0x22, 0x27 ] flag flag{a for i in range(28): n2 -1 if (i % 2 0) else 2 mod5 (i 1) % 5 char_val ((byte_36B9C[i 1] - mod5 - n2) 0xFF) ^ 0x15 flag chr(char_val) flag } print(flag)appreverse检验逻辑应该在so层厨子解决最终答案flag{wdiu23087fsebu4387fds}

相关文章:

PolarloTS个人挑战赛第一季 个人WP

简单locke-treasure逆向狂喜void __fastcall decrypt_flag_to_buf(const unsigned __int8 *enc,int enc_len,const char *key,char *out_buf,int out_buf_len) {int key_len; // [rsp24h] [rbp4h]int i; // [rsp44h] [rbp24h]j___CheckForDebuggerJustMyCode(&_68090DB3_ca…...

别再只盯着压差了!手把手教你从PSRR、噪声到环路补偿,全面评估一颗LDO芯片

从PSRR到环路稳定性:LDO芯片的深度评估指南 在电子系统设计中,低压差稳压器(LDO)的选择往往被简化为"压差越低越好"的单一标准。这种认知偏差导致许多工程师在电源设计上踩坑——噪声干扰、系统振荡、效率低下等问题频发。本文将打破常规认知框…...

WGLOG日志审计系统可以支持数据库日志审计吗

支持的 WGLOG从v2.0开始支持数据库日志审计功能 下载地址:www.wgstart.com...

别再搞混了!一文讲透GIS中.tfw、GDAL、ArcMap的仿射变换六参数对应关系

地理空间数据处理中的仿射变换六参数全解析 当你在处理遥感影像或地图数据时,是否曾被不同GIS工具中的六参数搞得晕头转向?今天我们就来彻底理清.tfw文件、GDAL库和ArcMap中这些神秘数字的对应关系。无论你是GIS开发工程师还是空间数据分析师&#xff0c…...

从FPGA转岗数字IC SOC设计,我踩过的那些坑和必备技能清单(附学习路线)

从FPGA到数字IC SOC设计:一位工程师的转型实战指南 当我在FPGA领域深耕五年后,突然意识到自己站在了一个职业发展的十字路口。那些曾经让我兴奋的Verilog模块设计和时序优化,如今已变成日常的重复劳动。直到一次偶然的机会,我接触…...

企业媒体发布技术化转型:Infoseek舆情系统架构分析与应用实践

摘要在信息碎片化与网络舆论复杂化的背景下,传统媒体发布模式面临渠道不透明、内容适配效率低、舆情响应滞后三大技术性难题。本文从系统架构与应用实践角度,分析Infoseek字节探索推出的数字公关AI中台PaaS系统,重点探讨其融媒体发布模块如何…...

别再只当下载器了!手把手教你用Keil+STLink/JLink玩转STM32在线调试与变量监视

从烧录到调试:解锁STM32开发中仿真器的完整潜力 当你第一次拿到STM32开发板时,可能只把STLink或JLink当作一个简单的程序下载工具。但事实上,这些仿真器隐藏着强大的调试能力,能够彻底改变你的开发体验。想象一下,你可…...

OpCore-Simplify:10分钟自动化完成黑苹果配置的智能解决方案

OpCore-Simplify:10分钟自动化完成黑苹果配置的智能解决方案 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 还在为复杂的OpenCore配置而头…...

python codefresh

# 关于 Python Codefresh 的一些理解 最近在和一些做 DevOps 的朋友聊天时,发现不少人开始关注 Codefresh 这个工具,特别是它在 Python 项目中的应用。作为一个在 Python 领域摸爬滚打多年的开发者,也花时间研究了一下这个东西,有…...

Ryzen SDT 1.37:深度解析AMD处理器底层调试与性能调优工具

Ryzen SDT 1.37:深度解析AMD处理器底层调试与性能调优工具 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https:…...

Python提高:条件断点的详解-由Deepseek产生

条件断点详解 条件断点(Conditional Breakpoint)是调试器中的一项高级功能:只有当用户指定的条件表达式为真(True)时,程序才会在该断点处暂停。 它解决了“普通断点会每次中断,导致大量无意义停…...

在博客的第一遍文章

大家好,我是一名信息安全专业的大学生,很高兴认识大家,这是我的第一篇博客。1.编程的目标我希望学完编程之后,我能够随心所欲的用编程实现脑中的想法,把编程当成一个得心应手的工具2.如何去学习编程我觉得编程最重要的…...

OZON运营全场景导入,Captain AI系统功能适配效果

OZON运营涵盖新品选品、新品启动、合规申报、物流规划、核算复盘等多个核心场景,每个场景都有其独特的运营痛点与需求。Captain AI系统针对各核心场景,打造了专属功能适配方案,有效解决场景痛点,提升运营效果。一、OZON运营核心场…...

Captain AI系统核心功能解析,分层应用指南及注意事项

在OZON跨境电商运营中,商家的运营场景多样、需求差异化明显,一款贴合实际运营场景、适配不同层次卖家的智能工具,能有效提升运营效率、降低运营门槛。Captain AI系统精准立足OZON运营实际,围绕全流程运营需求构建功能体系&#xf…...

Captain AI系统核心优势及功能支撑,对比凸显价值

在OZON跨境电商运营过程中,运营工具的选择直接影响运营效率、决策质量与成本控制。传统运营工具多存在功能单一、操作繁琐、适配性不足等问题,难以满足商家全流程运营需求。而Captain AI系统凭借其全链路整合、智能化赋能、场景化适配的独特优势&#xf…...

C#调用Phi-3/Mistral模型加速方案(Intel AMX+ML.NET 11.0.2私有编译版大曝光)

第一章:C#调用Phi-3/Mistral模型加速方案概览在.NET生态中实现轻量级大语言模型(LLM)推理,需兼顾跨平台兼容性、内存效率与低延迟响应。Phi-3(3.8B参数,ONNX格式支持)与Mistral-7B(可…...

仅限前200名智能座舱开发者:Dify车载问答系统性能调优Checklist(含JTAG级推理耗时分析、车规MCU内存占用压缩至≤18.3MB)

第一章:Dify车载问答系统开发案例在智能座舱持续演进的背景下,基于大模型的车载问答系统正成为提升人车交互体验的关键能力。本案例以 Dify 为低代码 AI 应用开发平台,构建面向车内场景的轻量化问答服务,支持自然语言提问、上下文…...

{{主题名称}}主题研究

{{主题名称}}主题研究 【免费下载链接】obsidian-weread-plugin Obsidian Weread Plugin is a plugin to sync Weread(微信读书) hightlights and annotations into your Obsidian Vault. 项目地址: https://gitcode.com/gh_mirrors/ob/obsidian-weread-plugin 核心问题…...

OpenClaw如何集成?2026年华为云1分钟云端新手保姆级搭建及百炼Coding Plan步骤

OpenClaw如何集成?2026年华为云1分钟云端新手保姆级搭建及百炼Coding Plan步骤。OpenClaw(前身为Clawdbot/Moltbot)作为开源、本地优先的AI助理框架,凭借724小时在线响应、多任务自动化执行、跨平台协同等核心能力,成为…...

从零构建B站数据生态:Python异步API架构深度解析

从零构建B站数据生态:Python异步API架构深度解析 【免费下载链接】bilibili-api 哔哩哔哩常用API调用。支持视频、番剧、用户、频道、音频等功能。原仓库地址:https://github.com/MoyuScript/bilibili-api 项目地址: https://gitcode.com/gh_mirrors/b…...

M9A:基于视觉感知的《重返未来:1999》智能自动化框架技术解析

M9A:基于视觉感知的《重返未来:1999》智能自动化框架技术解析 【免费下载链接】M9A 重返未来:1999 小助手 | Assistant For Reverse: 1999 项目地址: https://gitcode.com/gh_mirrors/m9/M9A 在现代策略游戏领域,玩家面临的…...

【2026年版|必收藏】从0到1!AI大模型保姆级学习路线(小白/程序员专属)

2026年,大模型已从实验室走向规模化落地,AI Agent(智能体)、多模态、世界模型成为行业核心热点,无论是零基础小白想入门AI赛道,还是程序员想转型大模型领域,一套系统、不踩坑的学习路线都至关重…...

YOLOv11涨点改进| CVPR 2026 | 独家创新首发、Conv改进篇| 全新TMConv三角掩码卷积模块,轻量化涨点改进,增强特征的空间感知能力,助力目标检测,图像去噪,图像分割有效涨点

一、本文介绍 🔥本文给大家介绍使用 TMConv三角掩码卷积模块 改进YOLOv11网络模型,在特征提取阶段通过限制卷积感受野,有效避免局部冗余信息和噪声干扰,使网络更加专注于来自有效上下文的特征表达,从而提升特征的判别能力。通过其非对称卷积结构和方向性信息建模能力,T…...

从博弈论到广告归因:手把手拆解Shapley Value的Python代码与业务陷阱

从博弈论到广告归因:手把手拆解Shapley Value的Python代码与业务陷阱 在数字营销领域,广告主常常面临一个核心难题:如何公平评估各渠道对最终转化的贡献?传统"最后点击"归因模型简单粗暴,往往低估了用户旅程…...

微博超话自动签到工具:终极懒人指南,3分钟掌握高效自动化管理

微博超话自动签到工具:终极懒人指南,3分钟掌握高效自动化管理 【免费下载链接】weibo_supertopic_sign 基于Python/Nodejs的微博超话签到脚本,支持云函数运行或青龙面板运行 项目地址: https://gitcode.com/gh_mirrors/we/weibo_supertopic…...

EmojiOne Color彩色字体:3分钟掌握1800+表情的终极解决方案

EmojiOne Color彩色字体:3分钟掌握1800表情的终极解决方案 【免费下载链接】emojione-color OpenType-SVG font of EmojiOne 2.3 项目地址: https://gitcode.com/gh_mirrors/em/emojione-color 想要在网站、应用或设计作品中添加生动有趣的彩色表情符号吗&am…...

YOLOv11涨点改进| SCI一区2026 | 独家创新首发、特征融合改进篇| 引入LCAFM轻量交叉注意力融合模块,增强小目标与细节感知能力,适合小目标检测,多模态融合目标检测,图像分割,高效涨点

一、本文介绍 🔥本文给大家介绍使用 LCAFM轻量交叉注意力融合模块 改进YOLOv11网络模型,通过跨模态引导注意力机制实现可见光与红外特征的深度融合,使模型在特征提取与融合阶段能够充分利用两种模态的互补信息,从而增强特征表达能力并缓解模态差异带来的干扰。通过双向引…...

从timerfd到epoll:手把手教你打造Linux C++高性能定时器管理器

从timerfd到epoll:构建Linux C高性能定时器管理器的工程实践 在游戏服务器、物联网网关或高频交易系统中,定时器管理往往是性能瓶颈的关键所在。想象一下,当你的服务器需要同时处理数万个玩家技能冷却、状态刷新或订单超时检测时,…...

Ollama环境变量全解析:从外网访问到模型路径设置,一篇搞定所有配置

Ollama环境变量全解析:从外网访问到模型路径设置,一篇搞定所有配置 最近在部署Ollama服务时,我发现很多开发者对环境变量的配置存在困惑。特别是在需要外网访问、自定义模型路径或优化性能时,正确的环境变量设置能节省大量调试时间…...

给Kylin V10 SP3虚拟机加块‘数据盘’:从VMware添加硬盘到fstab永久挂载/data的保姆级流程

麒麟V10 SP3虚拟机扩容实战:从VMware添加硬盘到永久挂载全指南 在虚拟化开发环境中,为运行中的麒麟系统动态扩容存储空间是运维工程师的常见需求。想象这样一个场景:你的Kylin V10 SP3虚拟机原本配置的存储空间已经捉襟见肘,而项目…...