Ghidra 10 Windows逆向工具安装配置与实战避坑全指南
简介Ghidra 10.1.2 Windows端安装包是一款由NSA开源的软件逆向工程工具面向安全研究人员、软件开发者及逆向工程师用于二进制程序分析、漏洞挖掘与代码理解。安装包内含完整的工具链与用户文档共2000个文件以Python、Java及class脚本/源码为主辅以jar运行库、sla/slaspec反汇编与处理器模块以及txt、html说明文档压缩包约332.75MB可直接部署到Windows环境使用。目前已有3739人浏览学习适合从入门到进阶的逆向工程实践。通过该包可快速搭建图形化逆向分析环境获得反汇编、数据类型管理、函数分析、脚本扩展、反混淆等核心能力10.1.2版本修复了log4j远程代码执行漏洞并与9.x项目保持兼容便于旧版本使用者平滑升级。包内还附有analyzeHeadless、服务器管理等批处理脚本可支持无界面批量分析与协作部署为恶意代码分析、漏洞研究及软件行为理解提供稳定可靠的工具基础。1. Ghidra 10 在 Windows 上的落地不只是解压就能跑做逆向的人如果手里只有一台 Windows 机器又想白嫖一套反汇编、反编译、调试全齐的工具Ghidra 基本是绕不开的选择。很多人看到 Ghidra 是 NSA 开源的项目以为下载解压就能双击用结果卡在 JDK 版本、内存启动参数、脚本环境这些地方半小时还没把界面拉起来。这份 Ghidra 10 逆向工具 Windows 端安装包资源解决的就是从下载到跑通全流程的问题——适合做病毒分析、CTF、破解研究的从业者也适合刚入手逆向的学生。我拆解完之后可以明确说它值不值得下取决于你愿不愿意把安装和启动环境一次配置好。后面所有步骤我都按 Windows 10/11 实测的路径写。2. 安装前的准备工作JDK 版本与内存参数决定你能不能启动2.1 版本选型JDK 17 还是 JDK 21为什么低版本启动报错Ghidra 本体是用 Java 写的启动器本质上就是一个包装后的 Java 程序。所以「Ghidra 装好了但启动不了」九成是 JDK 没配对不是安装包坏了。Ghidra 10 这一代的要求常见做法是 JDK 11 起步但我建议直接上 JDK 17。原因很简单JDK 11 能跑但分析大二进制时垃圾回收表现明显差一些JDK 21 对 Ghidra 10 的部分版本存在模块访问警告虽然不致命但控制台里刷一堆 WARNING 很影响看日志。选 JDK 17 的具体理由还有一层官方构建脚本和大部分社区插件的编译目标都对齐 JDK 17你装插件时不用再考虑字节码版本不兼容的问题。我自己在 Windows 上用的是 Eclipse Temurin 17也就是原来 AdoptOpenJDK 的延续版本安装类型选 MSI 格式勾选「设置 JAVA_HOME」和「将 java 加入 PATH」。这一步千万别跳过因为 Ghidra 的启动脚本ghidraRun.bat会优先读 JAVA_HOME其次是 PATH 里的 java。两个都没有脚本就报「Java not found」然后退出。安装完 JDK 后建议先验证一下环境再解压 Ghidrajava -version echo %JAVA_HOME%第一行看版本号第二行看环境变量是否生效。常见情况是java -version显示 17.0.x 正常但 JAVA_HOME 还是空的或者指向了别的 JDK。我一般会在这个环节直接打开「系统属性 → 高级 → 环境变量」把 JAVA_HOME 指到C:\Program Files\Eclipse Adoptium\jdk-17.0.x同时把 PATH 里的旧 JDK 路径删干净。这里翻车的人很多后面避坑章节会再展开。2.2 图形界面启动流程与启动脚本参数Ghidra 10 的 Windows 安装包解压后目录结构大致是ghidra_10.x.x_PUBLIC里面有ghidraRun.bat和ghidraRun.bat的兄弟ghidraRunLinux 用。Windows 上用ghidraRun.bat启动。双击它不会直接打开界面会先弹一个控制台窗口加载 Java 类库。如果是第一次运行控制台日志会滚动一段时间然后才出现项目窗口。这部分我给个参数建议set GHIDRA_MEMORY4G set GHIDRA_MAX_MEMORY8G ghidraRun.bat这里GHIDRA_MEMORY是初始堆内存GHIDRA_MAX_MEMORY是最大堆内存。机器内存在 16G 以下的4G/8G这个组合比较稳内存只有 8G 的机器建议改成2G/4G否则分析大文件时系统会变得像死机一样卡。脚本本身支持覆盖这些变量不用改文件直接在控制台里 set 就行。还有一个经常被忽略的参数是-Duser.languageen如果你遇到控制台中文乱码在ghidraRun.bat里加一行set JAVA_OPTIONS-Duser.languageen -Dfile.encodingUTF-8顺便说一句如果确实需要中文界面现网有 Ghidra 汉化版资源但本质是把语言包替换进去。我实测过汉化版在反编译窗口偶尔会出现字体渲染问题主菜单汉化程度也不一致。做逆向分析时菜单英文影响不大真遇到阅读困难的只有函数名注释那个用内置的「自动命名」功能就能缓解不必为汉化牺牲稳定性。2.3 命令行解析项目分析一个 PE 文件的完整过程图形界面适合交互分析但批量分析或者服务器场景下Ghidra 的 headless 模式才是核心价值。Ghidra 10 自带了analyzeHeadless.bat它允许不打开界面就把一个二进制导入项目、分析、导出结果。我给出一个实际分析 Windows PE 文件的命令analyzeHeadless.bat C:\ghidra_projects TestProject -import C:\samples\sample.exe -analysisTimeout 600 -scriptPath C:\ghidra_scripts -postScript ExportFunctionHits.java这条命令的意思是在C:\ghidra_projects目录下创建/打开名为TestProject的项目导入sample.exe分析超时限制为 600 秒执行-scriptPath指定目录下的ExportFunctionHits.java脚本。几个参数值得展开-import支持单文件或整个目录目录是递归导入的适合批量分析同类型的样本。-analysisTimeout是秒数不设置的话遇到畸形文件可能卡住几个小时。-postScript在分析完成之后运行适合做自动导出。这个脚本的三个参数分别是脚本名以及脚本自身要求的参数。-deleteProject加上后会在分析完删除项目适合只拿反编译结果的场景省磁盘空间。我一般在 Windows 的批处理里写一个循环把同目录下的 exe 逐个丢给 headless 模式分析输出 IPTinstruction pointer trace和反编译文本然后用字符串比对粗筛恶意功能。这个流程比手动右键「File → Import File」拖进界面高效太多尤其适合需要保持可复现性的工作流。3. Ghidra 10 的界面与核心功能反编译、符号表与数据窗口怎么配合3.1 反编译视图的生成条件什么时候要手动补函数很多人右键一个地址发现反编译窗口是空的第一反应是「分析没跑完」。其实 Ghidra 的反编译视图是按函数粒度触发的你选中的地址如果不是一个函数的入口反编译窗口就不会生成内容。判断方法是看 Listing 窗口里这个地址有没有被自动分析识别为函数头——函数头会有浅蓝色高亮并且左侧会出现一个「F」标记。如果确认这是一个函数但 Ghidra 没识别到原因通常是这个函数没有标准的栈帧没有调用入口编译器把它优化成了没有 prologue 的裸函数。这时手动在函数名上右键「Create Function」把范围选中就能强制生成反编译视图。更常见的场景是加壳程序壳解压后的一段落 Shellcode 处在不可执行的 PE 节区Ghidra 默认分析不到需要先在「Memory Map」窗口把这个节标记为可执行RX再重新自动分析。这里给一段我常用的代码片段用 Ghidra API 批量给未识别的代码补函数。import ghidra.app.script.GhidraScript; import ghidra.program.model.listing.Function; import ghidra.program.model.listing.FunctionManager; import ghidra.program.model.address.AddressSet; public class FixFunctions extends GhidraScript { Override public void run() throws Exception { FunctionManager fm currentProgram.getFunctionManager(); AddressSet body new AddressSet( currentProgram.getMinAddress(), currentProgram.getMaxAddress() ); for (Function f : fm.getFunctionsNoStub(body)) { if (f.getBody().isEmpty()) { println(已跳过空函数: f.getName()); } } } }这段脚本的逻辑是遍历当前程序的函数集合检查是否存在空函数体。实际手动创建函数时我通常先切换光标到可疑入口地址然后用快捷键F再确认入口点前后没有异常跳转。这种「分析不出函数 → 手动补函数 → 补完再看反编译」的办法在分析花指令混淆样本时是必经之路。命令行里-postScript FixFunctions.java可以把它串进 headless 流程实现批量自动修补。3.2 符号与导入表从入口点开始分析的路径拿到一个不认识的 PE正确路径是先看导入表再看字符串最后才看反编译代码。Ghidra 10 的「Symbol Tree」窗口会按命名空间列出导入函数导入表的还原程度通常很高尤其是 MSVC 编译的程序从CreateFileW、WriteFile这些 API 组合就能推断出程序大概在做什么。但这里有个信息差Ghidra 对 C 的 name mangling 还原不彻底一些 MSVC 的符号会保留为类似std::basic_string...的汇编符号看着头大。我一般会先用「字符串」预筛选在 Strings 窗口按 UTF-8、UTF-16 分别过滤把长度小于 4 的字符串隐藏再按「引用」排序看哪些字符串被代码交叉引用了。被引用的字符串就是线索直接双击跳转到引用它的指令那条指令所在的函数通常就是处理该字符串的逻辑。比如一个程序里有Mozilla/4.0 (compatible; MSIE 7.0)这种字符串它被引用的函数八成是 HTTP 请求构造逻辑。在反编译窗口里同步滚动和地址联动是 Ghidra 体验最好的点。选中 Listing 中的一条指令反编译窗口会高亮对应的高级语言代码。如果反编译结果和汇编对不上比如高级代码显示一个常量被压栈但汇编里却是多个跳转合并出来的这时要怀疑反编译器的控制流恢复出了问题。这种场景下不要盲信高级代码切回汇编单步才是验证手段。3.3 用调试器联动单步验证反编译结果Ghidra 10 集成的调试器在 Windows 端支持对本地进程的 attach 和 launch。很多时候反编译代码显示的逻辑不太合理最常见的是条件跳转方向被反编译器恢复反了。这种问题靠眼睛看不出来必须跑起来看内存。用法上先通过「Debugger → Launch」启动目标程序然后在 Ghidra 反编译窗口对应的汇编地址上打断点。断点命中后模块窗口会显示当前加载的 DLL寄存器窗口显示寄存器值。此时在内存窗口用右键「Send to Dynamic Listing」能同步查看这个进程在当前地址的实际指令。对比静态反编译和动态执行轨迹很容易发现反编译器处理间接跳转时的偏差。调试器的联动不只用于验证反编译也用于快速定位加密逻辑。比如在调用CryptDecrypt前打断点观察缓冲区指针指向的内存就可以确定输入输出缓冲区的大小。但注意 Ghidra 调试器对反调试程序的 attach 能力弱于 IDA 配合 x64dbg遇到带 IsDebuggerPresent 检查的样本还是优先用 x64dbg 跑Ghidra 只看静态。4. 避坑清单Windows 上 Ghidra 最常见的五个翻车现场4.1 现象双击 ghidraRun.bat 控制台一闪而过双击ghidraRun.bat屏幕闪一个黑框什么信息都没留下。很多新手以为是电脑中毒了其实是 BAT 脚本在抛出错误后立即退出根本来不及看日志。原因通常是 JAVA_HOME 环境变量不存在或者指向的 JDK 版本低于 Ghidra 10 的要求。更隐蔽的是用户装了 JDK 8 且 JAVA_HOME 指向它而 Ghidra 10 在启动时检查到旧版本直接退出。解决方法是先打开一个 CMD 窗口手动执行ghidraRun.bat这样错误信息会留在当前窗口里。如果是Unable to locate a Java Runtime就去检查 JAVA_HOME如果是UnsupportedClassVersionError说明 JDK 太低升级到 JDK 17。另外一个偏门原因解压路径包含中文或空格过多Ghidra 的脚本对路径解析偶尔会出错我习惯把所有工具都装在纯英文路径下比如C:\tools\ghidra。4.2 现象导入文件后分析卡死不动导入一个正常大小的 exeGhidra 底部的进度条长时间停在 100%但程序界面完全没响应CPU 占用却很高。这种情况我在分析加了 VMProtect 的程序时遇到过很多次。VMProtect 会把大量无意义指令平铺在入口点Ghidra 的自动分析会尝试对所有可达路径做线性扫描和反编译计算量呈指数级增长。解决方法是先暂停分析在分析选项中关闭不必要的分析器。具体路径是「Analysis → Auto Analysis Options」把「Decompiler Parameter ID」和「Stack」这类重度分析器关掉只保留「Function Detection」和「Reference」。「Decompiler Parameter ID」对大多数恶意软件分析来说不是必需项关掉后分析速度能提升两倍以上。如果已经卡死先按「暂停」按钮停止分析然后保存项目退出重启再用「Analysis → Analyze All」重新分析这次记得改选项。4.3 现象反编译窗口显示空白但汇编窗口有代码反编译窗口一片空白Listing 里指令却一个不少。右键刷新和重新分析都不生效最后发现窗口顶部显示的还是旧地址空间的缓存。这个现象的根源是 Ghidra 10 的反编译视图不会自动跟随 Listing 光标切换特别是从「函数调用图」窗口跳转后反编译视图停在旧函数的上下文里。解决方法是按CtrlN新建导航快照或者用「Go To」功能输入目标地址后反编译窗口通常会重新加载。如果还是空白手动把光标移到函数入口确认「Function」窗口选中了正确的函数名。还有另一种情况程序是被截断的 dump例如从内存中转储出的进程映像缺少 PE 头或节表不全。此时 Ghidra 无法分析出函数边界反编译窗口当然空。对这类文件我一般先给整个区域建一个函数再手动删除误识别的不跳转段逐步把函数边界修正反编译就会慢慢恢复。4.4 现象语言选择错误导致指令乱码导入文件时 Ghidra 会自动检测编译器类型匹配错误时把 x86 代码识别成 ARM 或把 16 位代码识别成 32 位Listing 里全是乱码指令反编译结果更是没法看。这个情况在导入固件或者无头文件 dump 时高发。解决方法是导入时在「Language」面板手动指定。Windows 端 exe 基本选x86:LE:32:default或x86:LE:64:defaultDLL 也一样。固件类选 ARM 的 Cortex-M 系列时CHERI-PureCap 和带硬浮点的变体我容易选错现在通常先看入口点的第一条指令ARM 是push {r0-rx, lr}这类x86 是push ebp; mov ebp, esp。选错语言后整个项目删掉重新导入比重建语言快得多别浪费时间在已有项目上改语言。4.5 现象项目文件损坏无法打开已有分析结果Ghidra 项目文件夹里存储了所有分析和反编译缓存如果 Windows 异常断电或强制关机项目文件可能损坏打开时报Project data is corrupted。这个错误和官方已知 bug 有关在 Windows 的 OneDrive 同步目录下尤其严重因为同步过程会占用 ghidra 项目文件句柄。解决方法是进入项目的.rep目录找到对应模块的.gpr文件备份然后新建一个 Ghidra 项目选择「File → Import File」时勾选「Add to project」而不是「Import from project」重新导入原始二进制。分析缓存丢了认命但原始二进制还在重新分析的代价一般不超过十分钟。从那以后我每次在 Windows 上做完一轮分析都会用Export to Zip File把项目打包一次绝不只依赖.rep文件夹里的缓存。5. 脚本与插件把重复分析固化成自己的工具链5.1 用 Ghidra 脚本分析导入表与字符串Ghidra 披着 GUI 的外皮但真正的高效玩法是脚本。Ghidra 10 内置了 Eclipse 集成开发环境也可以直接手写脚本放在用户脚本目录。我平时最常用的脚本有两类一类是统计导入函数的另一类是提取交叉字符串上下文的。下面这段脚本输出当前程序导入的所有 DLL 与函数名并统计出现频率import ghidra.app.script.GhidraScript; import ghidra.program.model.symbol.ExternalManager; import ghidra.program.model.symbol.ExternalLocation; import ghidra.program.model.symbol.Symbol; import java.util.*; public class DumpImports extends GhidraScript { Override public void run() throws Exception { ExternalManager ext currentProgram.getExternalManager(); MapString, SetString libs new TreeMap(); for (ExternalLocation loc : ext.getExternalLocations()) { String lib loc.getLibraryName(); String name loc.getOriginalImportedName(); libs.computeIfAbsent(lib, k - new TreeSet()).add(name); } for (Map.EntryString, SetString e : libs.entrySet()) { println([ e.getKey() ] e.getValue().size() functions); for (String f : e.getValue()) println( f); } } }逻辑是遍历 Ghidra 的外部符号表按库名分组然后输出每个库引用的函数数量与名称。这里用getOriginalImportedName而不是getName目的是保留原始符号名避免 Ghidra 在重命名后显示成自定义名称。脚本在界面里点「Script Manager」运行也可以放在 headless 命令里用-postScript DumpImports.java执行。输出结果可以直接和已知恶意样本的导入表特征做匹配比手动逐个看可靠得多。5.2 导出反编译结果的命令行参数说明把整个程序所有函数的反编译代码导出成文本是后续做静态特征匹配最常用的一步。Ghidra 没有提供一键导出所有函数的按钮但 headless 模式加脚本可以做到。先看导出脚本的核心代码import ghidra.app.decompiler.DecompInterface; import ghidra.app.decompiler.DecompileResults; import ghidra.program.model.listing.Function; import ghidra.program.model.listing.FunctionIterator; import ghidra.app.script.GhidraScript; import java.io.FileWriter; public class DecompileAll extends GhidraScript { Override public void run() throws Exception { DecompInterface ifc new DecompInterface(); ifc.openProgram(currentProgram); FileWriter out new FileWriter(decompiled_ currentProgram.getName() .c); FunctionIterator it currentProgram.getFunctionManager().getFunctions(true); while (it.hasNext()) { Function f it.next(); DecompileResults res ifc.decompileFunction(f, 30, monitor); if (res ! null res.didDecompile()) { out.write(/* f.getName() */\n); out.write(res.getDecompiledFunction().getC()); out.write(\n\n); } } out.close(); ifc.dispose(); } }decompileFunction的第二个参数 30 表示每个函数的反编译超时时间单位是秒。遇到复杂的混淆函数超时后返回为空脚本会跳过它导出文件里会出现缺失。这种情况我一般把超时值调到 60再对缺失函数单独做小范围手动反编译。注意输出文件默认生成在 Ghidra 安装目录下运行 headless 命令时建议加cd到工作目录或者在脚本里写绝对路径否则可能找不到文件。这个脚本还有个用途导出后再用grep搜索特征高级代码片段比如sprintf(buffer, %s:\\%s)可以迅速定位格式化字符串处理函数。5.3 常用社区插件选择哪些值得装哪些不要装Ghidra 自己的功能已经够用但社区插件确实能补足一些痛点。先说说装插件的一般路径把 GitHub 上下载的.zip里的 jar 放入Ghidra/Extensions目录重启 Ghidra在「File → Configure」里勾选。版本兼容是最大的坎Ghidra 10 的 API 和 11 不完全一样很多老插件的 jar 是给 9.x 编译的硬装上会在界面加载时报 NoClassDefFoundError。我实际装着用的有以下三类增强反编译排版类比如把函数参数显示得更像标准 C。加载器扩展类用于识别非标准 Firmware 文件头。导入导出增强类把 IDA 的.i64数据库转成 Ghidra 项目跨工具协作时非常有用。不建议装的是功能重叠的脚本集合包、未更新适配 Ghidra 10 的调试器插件。这类插件要么和内置功能冲突要么拖慢启动。插件装多了还有个隐藏问题Ghidra 启动时把所有扩展点全扫一遍装 20 个插件时启动时间可能从 5 秒拉到 30 秒还不算脚本管理器对脚本目录的索引。保持精简必要时用脚本而不是插件是长期用下去的策略。6. 验证分析结果的技巧用交叉引用和函数调用图确认结论6.1 交叉引用窗口找核心逻辑的入口反编译出一个关键函数后别急着读代码里每一行先看它的交叉引用。在函数名上右键「Find References to」弹出的窗口会列出所有调用这个函数的指令。如果引用列表很长说明它是个公共函数如果只有一两处引用那它可能就是特定业务逻辑的入口。定位到一个网络相关的 API 调用函数后追它的引用会一步步回到主逻辑。我从引用窗口跳到调用者代码时习惯同步打开反编译窗口和 Listing确认每个引用点所在的分支条件这样能快速识别出反编译器把跳转结构处理错的地方。6.2 函数调用图区分主逻辑与库函数Ghidra 的调用图比我想象中实用它能自动把库函数和程序函数分开绘制。查看方式是在函数上右键「View Function Graph」。调用图里每个节点代表一个函数节点颜色代表分析置信度灰色是库函数彩色是程序内实现。判断核心逻辑时找入度高的节点——很多函数都调用它那它一般是解码或者字符串处理的关键基础设施找入度低但调用链长的函数那可能是某个独立功能模块。有一次分析一个下载器样本时我看到有十个函数跳入同一个地址但那个地址在 Ghidra 里没有被识别为函数。我手动创建后用调用图一拉发现整个逻辑是从一个全局状态表读取执行标志然后分派到不同处理函数。这就是典型的间接跳转被 Ghidra 处理成「未识别函数」的情况调用图帮我直接定位到了一个本该被识别为分发器的函数。6.3 收尾的习惯做样本分析时我最后的动作是把反编译结果和动态调试观察到的内存缓冲对齐确认栈偏移量和参数类型没有偏差。如果发现不一致回到交叉引用路径里手动校准然后给关键函数改名让整个调用链可读。从那以后我每次拿到新样本都强制走一遍「导入 → headless 分析 → 调用图定位 → 交叉引用确认」的流程不再随手打开文件就翻。这个习惯帮我少走了很多弯路希望帮到你。下载安装包里附带的说明文档里已经把 JDK 版本和启动参数写清楚了按第 2 章的步骤跑一遍剩下的分析工作就只是时间问题。本文还有配套的精品资源点击获取

相关新闻

OpenClaw 多工作区配置:把 settings 改到 TaoToken 的完整实践

OpenClaw 多工作区配置:把 settings 改到 TaoToken 的完整实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 16:11:46 阅读更多 →
易控INSPEC 2009组态软件实战:安装兼容、配置与避坑指南

易控INSPEC 2009组态软件实战:安装兼容、配置与避坑指南

简介:组态软件是工业监控系统上位机开发的核心工具,负责连接PLC、采集数据、呈现画面并存储历史记录。理解其数据词典、设备通讯和动画连接的工作原理,是保障产线稳定运行的基础。老一代产品如易控INSPEC 2009,凭借成熟的驱动库和…

2026/10/13 16:12:01 阅读更多 →
Gemini 3 Flash Preview 技术前瞻:轻量化大模型架构革新与 Agent 多模态落地预判

Gemini 3 Flash Preview 技术前瞻:轻量化大模型架构革新与 Agent 多模态落地预判

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 22:44:06 阅读更多 →

最新新闻

模型上下文协议MCP实战:从架构原理到工具集成落地

模型上下文协议MCP实战:从架构原理到工具集成落地

1. 从一个真实困境说起:为什么我们需要模型上下文协议如果你最近半年在关注大模型应用开发,大概率会反复听到一个词——MCP,也就是模型上下文协议(Model Context Protocol)。我第一次接触这个概念的时候,心…

2026/10/14 8:11:50 阅读更多 →
大智慧通达信交易插件TradeX-TPS:量化下单中间件原理与实战配置

大智慧通达信交易插件TradeX-TPS:量化下单中间件原理与实战配置

简介:这是一套面向股票量化交易与自动化下单场景的插件工具,适配大智慧、通达信两大行情软件,通过TradeX.dll或Trade.dll连接券商服务器,实现买入、卖出、撤单、按预设比例清仓,以及账户信息、持仓和可撤单信息的查询&…

2026/10/14 8:11:50 阅读更多 →
模型上下文协议MCP实战:从零搭建本地文件检索服务

模型上下文协议MCP实战:从零搭建本地文件检索服务

1. 模型上下文协议到底在解决什么问题第一次听到“模型上下文协议”这个词,很多人会以为它又是一个新的大模型训练框架,或者某种提示词模板规范。其实都不是。它要解决的是一个更底层、更工程化的问题:当大语言模型需要和外部世界打交道时&am…

2026/10/14 8:11:50 阅读更多 →
BepInEx 6.0 IL2CPP 插件框架:加载机制、配置排查与稳定性实践

BepInEx 6.0 IL2CPP 插件框架:加载机制、配置排查与稳定性实践

BepInEx 6.0 IL2CPP 插件框架:加载机制、配置排查与稳定性实践 【免费下载链接】BepInEx Unity / XNA game patcher and plugin framework 项目地址: https://gitcode.com/GitHub_Trending/be/BepInEx BepInEx 是一个面向 Unity 与 .NET 游戏的插件&#xff…

2026/10/14 8:11:50 阅读更多 →
context-mode:基于SQLite+FTS5+BM25的上下文调度工程实践

context-mode:基于SQLite+FTS5+BM25的上下文调度工程实践

1. “context-mode”到底是什么?别被术语唬住,它本质是让AI真正“听懂上下文”的工程化方案最近在多个技术社区和开源项目讨论里,“context-mode”这个词出现频率陡增,尤其和MCP、SQLite、FTS5、BM25这些词高频绑定。很多人第一反…

2026/10/14 8:11:50 阅读更多 →
AI辅助量化策略开发:从零搭建ETF轮动回测框架

AI辅助量化策略开发:从零搭建ETF轮动回测框架

1. 为什么说现在是个人做量化的最好时机我接触量化交易差不多有七八年了,最早那会儿,个人想做一套自己的策略,门槛高得离谱。你得自己搭数据库、自己写回测框架、自己处理除权除息、自己搞行情接口,光是数据清洗就能耗掉大半个月。…

2026/10/14 8:10:50 阅读更多 →

日新闻

AnyPS5通用适配层设计:兼容性与性能的工程取舍

AnyPS5通用适配层设计:兼容性与性能的工程取舍

1. 从"AnyPS5"这个名字说起:它到底想解决什么问题第一次看到"AnyPS5"这个标题,我脑子里冒出来的第一个念头是:这大概率是一个围绕"跨平台运行"或者"通用适配"做文章的项目。名字里的"Any"…

2026/10/14 0:00:41 阅读更多 →
Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

1. 项目概述:Flutter跨平台二手交易应用开发作为一名长期从事移动应用开发的工程师,我最近完成了一个基于Flutter框架的二手物品交易平台项目。这个项目最吸引我的地方在于它完美结合了Flutter的跨平台优势与HarmonyOS的生态特性,实现了"…

2026/10/14 0:00:41 阅读更多 →
DFS算法解决飞机降落调度问题实战

DFS算法解决飞机降落调度问题实战

1. 项目背景与核心思路飞机降落问题是一个经典的调度优化场景,也是算法竞赛和面试中的高频题目。这个题目要求我们合理安排多架飞机的降落顺序和时间,确保所有飞机都能安全着陆而不发生冲突。在实际航空管制中,这类问题直接关系到飞行安全和机…

2026/10/14 0:00:41 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/13 16:22:04 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 22:01:27 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 7:53:34 阅读更多 →