《几何冲刺》自定义内核开发实战:从DLL注入到函数钩子完整指南
最近在尝试为《几何冲刺》这类游戏开发自定义内核Kernel或进行游戏数据修改时发现网上资料非常零散尤其是针对特定版本如 daily 7.22的教程更是凤毛麟角。很多开发者卡在环境配置、内核编译和游戏数据注入等环节过程繁琐且容易出错。本文将为你系统梳理一套从零开始为《几何冲刺》构建和集成自定义内核的完整实战方案。无论你是想深入了解游戏运行机制、开发辅助工具还是进行安全的游戏模组Mod研究都能从本文中找到清晰的路径和可复现的代码。1. 背景与核心概念什么是游戏内核Kernel在开始动手之前我们首先要厘清几个关键概念避免与操作系统内核等概念混淆。1.1 游戏语境下的“Kernel”在《几何冲刺》Geometry Dash等游戏的模组开发社区中“Kernel”通常并非指操作系统内核而是指游戏的核心逻辑模块、经过修改的游戏客户端、或者是注入到游戏进程中的自定义代码库。它的主要目的包括修改游戏行为如改变物理规则、解锁功能、增加辅助工具如自动点击器、路径显示。数据拦截与修改实时读取或修改游戏内存中的数据如分数、金币数量、关卡状态。开发调试工具为游戏开发提供内部信息显示、性能监控等功能。简单来说这里的“Kernel”是一个针对特定游戏进程的“外挂”式代码注入模块。1.2 “Daily 7.22” 的含义“Daily 7.22”很可能指的是《几何冲刺》的某个特定版本或构建日期例如2022年7月22日的每日构建版。在游戏模组开发中版本号至关重要。游戏每次更新其内存地址、函数签名、数据结构都可能发生变化。为“Daily 7.22”开发的内核通常无法直接在其它版本上运行。这解释了为什么针对特定版本的教程如此重要——它需要精准的偏移量Offsets和接口定义。1.3 相关技术栈实现这样一个“Kernel”通常会涉及以下技术逆向工程基础使用调试器如 x64dbg, Cheat Engine分析游戏进程。编程语言C 是最常见的选择因其性能和对Windows API的良好控制。C# 配合一些库如MemorySharp也很流行。注入技术将动态链接库DLL加载到目标游戏进程的方法如CreateRemoteThread、SetWindowsHookEx或使用现成的注入器。内存操作读写进程内存的API如ReadProcessMemory和WriteProcessMemory。钩子Hooking拦截并替换游戏函数例如使用MinHook、Detours库。2. 环境准备与工具链工欲善其事必先利其器。以下是进行《几何冲刺》内核开发所需的基本环境。请注意本文旨在提供方法论和示例具体版本号如Visual Studio版本请根据你的实际情况调整。2.1 开发环境操作系统Windows 10/11因为《几何冲刺》主要是一个Windows游戏。集成开发环境IDEVisual Studio 2022。社区版即可。确保安装“使用C的桌面开发”工作负载。C编译器VS自带的MSVC编译器即可。构建系统使用Visual Studio的解决方案.sln和项目.vcxproj管理。2.2 关键开发库我们将使用一些开源库来简化注入和钩子过程MinHook一个极简的x86/x64 API钩子库。我们将用它来挂钩游戏函数。Kernel32.lib, User32.libWindows系统库用于进程操作和内存管理。2.3 分析与调试工具Cheat Engine强大的内存扫描和调试工具用于定位游戏中的关键数据地址和函数。x64dbg或IDA Pro更专业的反汇编和调试器用于深度静态分析与动态调试。Process Hacker 2或Process Explorer查看进程模块、内存和线程。2.4 目标游戏Geometry Dash (Daily 7.22)你需要拥有目标版本的游戏客户端。出于法律和道德考虑本文所有操作均假设你拥有游戏的合法副本且开发内容仅用于个人学习与研究。2.5 示例项目结构我们将创建一个简单的DLL项目结构GD_Kernel_Daily722/ ├── GD_Kernel.sln ├── GD_Kernel/ │ ├── GD_Kernel.vcxproj │ ├── src/ │ │ ├── dllmain.cpp // DLL入口点 │ │ ├── hooks.cpp // 钩子函数实现 │ │ ├── memory.cpp // 内存读写封装 │ │ └── gui.cpp // 简单的ImGui界面可选 │ ├── include/ │ │ ├── hooks.h │ │ ├── memory.h │ │ └── addresses.h // 存放找到的游戏地址/偏移量 │ └── libs/ │ └── MinHook.x64.lib // MinHook库文件3. 核心原理与关键技术拆解3.1 进程内存读写与游戏交互的核心是操作其内存空间。Windows提供了标准的API。// memory.h #pragma once #include windows.h #include TlHelp32.h class MemoryManager { private: HANDLE hProcess; DWORD pid; public: MemoryManager(DWORD processId); ~MemoryManager(); bool ReadMemory(LPVOID address, LPVOID buffer, SIZE_T size); bool WriteMemory(LPVOID address, LPVOID buffer, SIZE_T size); DWORD GetProcessId(const wchar_t* processName); uintptr_t GetModuleBaseAddress(const wchar_t* moduleName); }; // memory.cpp MemoryManager::MemoryManager(DWORD processId) : pid(processId), hProcess(NULL) { hProcess OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid); if (!hProcess) { // 处理错误可能需要提升权限 } } bool MemoryManager::ReadMemory(LPVOID address, LPVOID buffer, SIZE_T size) { SIZE_T bytesRead; return ReadProcessMemory(hProcess, address, buffer, size, bytesRead) bytesRead size; } bool MemoryManager::WriteMemory(LPVOID address, LPVOID buffer, SIZE_T size) { SIZE_T bytesWritten; // 重要在实际修改游戏内存前务必考虑安全性和后果 return WriteProcessMemory(hProcess, address, buffer, size, bytesWritten) bytesWritten size; }为什么需要PROCESS_ALL_ACCESS为了读写内存我们需要足够的进程权限。在调试或开发阶段可能需要以管理员身份运行你的注入器。3.2 DLL注入让代码进入游戏DLL注入是让我们的内核代码在游戏进程内运行的关键步骤。这里展示一个经典的CreateRemoteThread方法。// 注入器示例代码片段 bool InjectDLL(DWORD pid, const char* dllPath) { HANDLE hProcess OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid); if (!hProcess) return false; LPVOID pRemoteMemory VirtualAllocEx(hProcess, NULL, strlen(dllPath) 1, MEM_COMMIT, PAGE_READWRITE); if (!pRemoteMemory) { CloseHandle(hProcess); return false; } WriteProcessMemory(hProcess, pRemoteMemory, (LPVOID)dllPath, strlen(dllPath) 1, NULL); HMODULE hKernel32 GetModuleHandleA(Kernel32.dll); LPTHREAD_START_ROUTINE pLoadLibraryA (LPTHREAD_START_ROUTINE)GetProcAddress(hKernel32, LoadLibraryA); HANDLE hRemoteThread CreateRemoteThread(hProcess, NULL, 0, pLoadLibraryA, pRemoteMemory, 0, NULL); if (!hRemoteThread) { VirtualFreeEx(hProcess, pRemoteMemory, 0, MEM_RELEASE); CloseHandle(hProcess); return false; } WaitForSingleObject(hRemoteThread, INFINITE); VirtualFreeEx(hProcess, pRemoteMemory, 0, MEM_RELEASE); CloseHandle(hRemoteThread); CloseHandle(hProcess); return true; }原理在目标进程中分配内存写入我们的DLL路径然后创建一个远程线程该线程的执行函数是LoadLibraryA参数就是我们写入的DLL路径。这样游戏进程就会加载我们的DLL。3.3 函数钩子Hooking拦截游戏逻辑找到关键函数如更新分数、判断碰撞的函数后我们可以用MinHook来拦截它。// hooks.h #pragma once #include MinHook.h typedef void(__stdcall* tOriginalUpdateScore)(int score); extern tOriginalUpdateScore OriginalUpdateScore; void HookUpdateScore(); void UnhookAll(); // hooks.cpp #include hooks.h #include addresses.h // 包含找到的函数地址例如uintptr_t addrUpdateScore 0x12345678; tOriginalUpdateScore OriginalUpdateScore nullptr; void __stdcall DetourUpdateScore(int score) { // 我们的自定义逻辑 int modifiedScore score * 2; // 例如分数加倍 // 可以调用原函数也可以不调用 if (OriginalUpdateScore) { OriginalUpdateScore(modifiedScore); } // 或者直接 return; 完全接管 } void HookUpdateScore() { if (MH_Initialize() ! MH_OK) return; // 假设我们通过Cheat Engine找到了更新分数的函数地址是 0x12345678 uintptr_t targetAddress addrUpdateScore; // 来自 addresses.h if (MH_CreateHook((LPVOID)targetAddress, DetourUpdateScore, (LPVOID*)OriginalUpdateScore) ! MH_OK) { // 创建钩子失败 return; } if (MH_EnableHook((LPVOID)targetAddress) ! MH_OK) { // 启用钩子失败 return; } }为什么用MinHookMinHook封装了复杂的指令重写和跳转逻辑稳定且易于使用支持x86和x64。4. 完整实战构建一个简单的“分数显示”内核让我们构建一个最简单的内核在游戏画面上叠加显示当前分数。这需要结合DLL注入、内存读取和简单的图形绘制这里用控制台输出模拟。4.1 创建DLL项目并配置在Visual Studio中创建新的“动态链接库(DLL)”项目命名为GD_Kernel。将项目平台设置为x64因为现代《几何冲刺》是64位程序。在项目属性中添加附加包含目录指向MinHook的include文件夹添加附加库目录指向MinHook的lib文件夹并在链接器-输入中添加MinHook.x64.lib。4.2 编写核心DLL入口和循环线程我们的内核需要在DLL被加载时启动一个线程来持续工作。// dllmain.cpp #include windows.h #include thread #include chrono #include memory.h #include addresses.h MemoryManager* memMgr nullptr; bool bRunning true; // 假设我们通过分析找到了“当前分数”的静态地址偏移链 // 基址GeometryDash.exe 0x3222D0 // 偏移[0x38, 0x14, 0x24, 0x10, 0x1C] uintptr_t GetScoreAddress(HANDLE hProcess, uintptr_t baseAddr) { uintptr_t addr baseAddr; uintptr_t offsets[] { 0x38, 0x14, 0x24, 0x10, 0x1C }; for (uintptr_t offset : offsets) { ReadProcessMemory(hProcess, (LPCVOID)addr, addr, sizeof(addr), NULL); if (!addr) return 0; addr offset; } return addr; } void MainThread() { // 等待游戏完全加载简单延时 std::this_thread::sleep_for(std::chrono::seconds(3)); DWORD pid memMgr-GetProcessId(LGeometryDash.exe); if (!pid) return; uintptr_t baseAddr memMgr-GetModuleBaseAddress(LGeometryDash.exe); if (!baseAddr) return; uintptr_t scorePtr GetScoreAddress(memMgr-hProcess, baseAddr 0x3222D0); // 基址偏移 while (bRunning) { if (scorePtr) { int currentScore 0; if (memMgr-ReadMemory((LPVOID)scorePtr, currentScore, sizeof(int))) { // 在实际内核中这里应该绘制到游戏画面。此处用控制台输出模拟。 // 你需要一个图形库如ImGui来在DX/OpenGL上绘制。 // OutputDebugStringA(([Kernel] Current Score: std::to_string(currentScore) \n).c_str()); } } std::this_thread::sleep_for(std::chrono::milliseconds(100)); // 100ms刷新一次 } } BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved) { switch (ul_reason_for_call) { case DLL_PROCESS_ATTACH: // 创建内存管理器实例需要优化此处简略 memMgr new MemoryManager(GetCurrentProcessId()); // 注意DLL在游戏进程内所以用当前进程ID // 禁止在DllMain中创建线程的警告此处仅为演示。生产代码应在DLL_PROCESS_ATTACH中仅创建事件或信号线程在外部创建。 std::thread(MainThread).detach(); break; case DLL_PROCESS_DETACH: bRunning false; delete memMgr; break; } return TRUE; }重要警告在DllMain中创建线程或进行复杂操作是危险的可能导致死锁。最佳实践是在DLL_PROCESS_ATTACH中设置一个标志然后由游戏主线程或一个安全创建的线程来执行初始化。上述代码为简化演示。4.3 编译与注入编译项目生成GD_Kernel.dll。编写一个独立的注入器程序使用前面InjectDLL的代码片段或者使用现有的注入工具如 Extreme Injector仅用于学习研究。启动《几何冲刺》Daily 7.22版本。以管理员身份运行注入器输入游戏的进程IDPID选择编译好的GD_Kernel.dll进行注入。4.4 验证结果如果成功我们的DLL会每100毫秒尝试读取一次分数。由于我们没有实现图形绘制你可以在Visual Studio的“输出”窗口如果附加了调试器或使用DebugView工具查看OutputDebugString的输出来验证内核是否在工作。5. 常见问题与排查思路在开发游戏内核时你会遇到各种各样的问题。下面是一个排查清单问题现象可能原因排查思路与解决方案注入失败1. 权限不足。2. 目标进程是64位注入器/DLL是32位或反之。3. 杀毒软件/游戏反作弊拦截。1. 以管理员身份运行注入器。2. 检查并确保平台匹配x86 vs x64。3. 暂时关闭杀毒软件在离线模式或未受保护的游戏版本上测试。DLL加载后游戏崩溃1. DLL入口点DllMain有阻塞操作。2. 钩子函数Detour原型错误。3. 访问了无效的内存地址。1. 确保DllMain只做最简单的初始化复杂逻辑移到独立线程。2. 仔细核对钩子函数的调用约定__stdcall,__fastcall,__cdecl和参数列表必须与原函数完全一致。使用反汇编器确认。3. 所有内存地址在读写前必须验证其有效性。使用VirtualQueryEx检查内存区域权限。读取的内存值总是0或错误1. 地址偏移量已过时游戏更新。2. 指针链多级指针解析错误。3. 读取的数据类型不匹配。1.这是最常见原因。重新使用Cheat Engine在对应游戏版本中扫描定位地址。2. 逐级手动解析指针链用调试器验证每一级的结果。3. 确认是int,float,double还是其他结构体。钩子函数未被调用1. 函数地址错误。2. MinHook初始化或启用失败。3. 函数已被内联inlined优化。1. 用调试器在目标地址下断点确认函数是否被调用。2. 检查MH_Initialize和MH_EnableHook的返回值。3. 对于被内联的小函数钩子可能失效。需要寻找更上游的调用点。内核功能不稳定时好时坏1. 多线程竞争条件。2. 游戏内部状态未就绪时过早操作。3. 未正确处理异常。1. 对共享数据使用互斥锁std::mutex。2. 增加足够的延迟等待或通过监听游戏特定事件如关卡加载完成来触发操作。3. 使用__try/__except或SEH包装危险的内存操作。6. 最佳实践与工程建议开发一个稳定、可维护的游戏内核需要良好的工程习惯。6.1 安全与稳定性第一最小权限原则你的内核只应访问和修改必需的数据。随意的内存写入极易导致崩溃。异常处理所有对游戏内存的读写操作都必须包裹在异常处理中。一个错误的地址访问会导致整个游戏进程崩溃。__try { if (!ReadProcessMemory(...)) { /* handle error */ } } __except(EXCEPTION_EXECUTE_HANDLER) { // 记录异常安全退出或恢复 }状态验证在执行关键操作前验证游戏是否处于预期状态如是否在关卡中、界面是否加载完成。6.2 代码组织与可维护性配置文件管理偏移量不要将硬编码的地址和偏移量散落在代码中。将它们统一放在一个头文件如addresses.h或配置文件中。当游戏更新时你只需要更新这个文件。// addresses.h namespace Offsets { constexpr uintptr_t BaseAddress 0x140000000; // GeometryDash.exe 基址示例 constexpr uintptr_t ScoreChain[] {0x3222D0, 0x38, 0x14, 0x24, 0x10, 0x1C}; constexpr uintptr_t PlayerX 0x123456; // ... }使用单例或全局管理器集中管理内存操作、钩子状态和配置避免全局变量污染。日志系统实现一个简单的日志系统将内核的运行状态、错误信息输出到文件或调试器这对排查问题至关重要。6.3 兼容性与版本控制特征码扫描硬编码的地址在游戏更新后必然失效。更高级的方法是使用特征码。通过扫描游戏模块内存中一段独特的字节序列包含通配符来动态定位函数地址。这能大大提高内核对不同版本游戏的兼容性。版本检测你的DLL可以在启动时检查游戏版本如通过检查.exe文件的哈希或特定地址的值然后加载对应的偏移量配置。6.4 图形用户界面一个友好的内核通常会提供一个图形界面来开关功能、调整参数。ImGui是一个非常适合用于游戏内叠加显示Overlay的即时模式GUI库。你需要将其与游戏的DirectX或OpenGL渲染上下文挂钩。6.5 法律与道德提醒仅用于单人与学习本文所述技术应严格用于个人学习、研究或单机游戏体验。在多人游戏或在线模式中使用此类技术修改游戏数据违反几乎所有游戏的服务条款可能导致账号封禁并可能涉及法律问题。尊重开发者理解游戏开发的不易。这些技术可以帮助你更深入地理解软件运行原理是学习逆向工程和系统编程的绝佳途径。开发游戏内核是一个涉及逆向工程、系统编程和软件设计的综合课题。从定位一个简单的变量地址开始到稳定地挂钩关键函数并绘制复杂的交互界面每一步都需要耐心和细致的调试。希望这份指南为你提供了一个清晰的起点和实用的工具箱。记住核心价值在于学习和理解过程本身而非最终的结果。祝你探索顺利如果在实践中遇到了具体的技术难题多利用调试工具、查阅Windows API文档和开源库的源码社区的讨论也常常能带来启发。

相关新闻

降低AI使用门槛:从工具思维到助手思维的系统性实践

降低AI使用门槛:从工具思维到助手思维的系统性实践

你有没有过这样的经历:公司里一个业务部门的同事,拿着一个Excel表格,想用AI自动处理一下,结果折腾了半天,连怎么把表格“喂”给AI都搞不定。或者,一个设计师朋友,听说AI能生成概念图&#xff0c…

2026/8/13 23:52:20 阅读更多 →
10个Python骚操作,让菜鸟代码秒变大神级,新手也能直接抄

10个Python骚操作,让菜鸟代码秒变大神级,新手也能直接抄

一、同样写,为什么别人的代码像开挂?有没有察觉到一种扎心的状况? 同是进行编写代码的操作, 有的人所编写的代码呈现出简洁明了、一目了然, 运行起来极为流畅不存在卡顿现象, 从而被同事称赞为“大神”;然而自身所编写的代码, 却显得繁杂冗余…

2026/8/13 23:51:20 阅读更多 →
信创迁移,BI 这块拼图该怎么补?一份全栈适配方案

信创迁移,BI 这块拼图该怎么补?一份全栈适配方案

我们在多个信创落地项目中发现,前三层(CPU、操作系统、数据库)有明确的替换清单和厂商背书,但 BI 作为上层应用,要同时适配这四层架构,还要保证报表性能不降级、权限体系合规、业务系统不割裂。很多单位把 …

2026/8/13 23:51:20 阅读更多 →

最新新闻

义务网站建设如何从0到1搭建一个真正适合企业的官网:实战经验与避坑指南

义务网站建设如何从0到1搭建一个真正适合企业的官网:实战经验与避坑指南

咱们今天不聊那些虚头巴脑的大道理,也不去吹嘘什么“三天速成”的营销神话。既然你点开了这篇文章,说明你对“义务网站建设”这个话题是有一定关注度的,或者说是被某些不靠谱的报价吓退后,想自己摸索一下门道。我就直说了,很多人一听“免费”或者“义务”这两个字,心里其…

2026/8/14 0:55:46 阅读更多 →
南京外贸网站建设中如何避开常见误区并实现高转化率的全方位指南

南京外贸网站建设中如何避开常见误区并实现高转化率的全方位指南

在这个数字化浪潮席卷全球的今天,传统的展会招商模式虽然依然有其独特的价值,但对于许多身处南京乃至整个长三角地区的制造企业来说,想要真正打破地域限制,将产品卖到欧美、中东或者东南亚,最经济、最持久且最具爆发力的手段,往往就是搭建一个高质量的外贸独立站。然而,…

2026/8/14 0:55:46 阅读更多 →
精选外贸网站建设案例解析:如何通过高转化率设计撬动全球订单增长

精选外贸网站建设案例解析:如何通过高转化率设计撬动全球订单增长

做外贸这行,如果你现在还觉得只要把产品图片上传到网站上,坐等客户询盘那就太天真了。在现在这个信息爆炸、流量昂贵的时代,你的网站就是你的24小时在线金牌销售。很多老板拿着几百万的广告费投到Google Ads上,点进网站一看,跳出率高达80%,这钱扔水里都听不到响声。今天我…

2026/8/14 0:53:46 阅读更多 →
40K Star!AI编程代理工程技能库,让AI写出生产级代码

40K Star!AI编程代理工程技能库,让AI写出生产级代码

引言:AI编程代理的市场爆发根据 Gartner 2025 年报告,全球 AI 编程助手市场规模已突破 48 亿美元,年增长率达 67%。GitHub Copilot、Cursor、Claude Code 等工具正在重塑开发者的工作流。然而,一个关键痛点逐渐显现:不…

2026/8/14 0:52:46 阅读更多 →
2024年网站建设新闻资讯揭秘:为什么你的网站流量迟迟不上升?资深从业者教你避坑指南

2024年网站建设新闻资讯揭秘:为什么你的网站流量迟迟不上升?资深从业者教你避坑指南

今天想和大家聊一个稍微有点“扎心”但绝对真诚的话题。作为一名在行业里摸爬滚打多年的老兵,我最近收到了不少同行和小企业主的私信,大家问得最多的就是一个问题:“老师,我的网站都做出来挺久了,页面也美观,技术也没啥大毛病,为什么就是没流量?为啥同行就能排上去?到…

2026/8/14 0:52:46 阅读更多 →
揭秘云南网站建设哪家好?选对团队避坑指南与深度解析

揭秘云南网站建设哪家好?选对团队避坑指南与深度解析

说到做网站,很多老板或者市场负责人脑子里第一个蹦出来的念头往往是:“这还不容易吗?找个便宜的技术外包搞定就行了”。但如果你真的这么想,大概率是踩进了一个深不见底的坑。在昆明,乃至整个云南省内,大大小小的互联网公司、设计工作室、甚至是个人开发者多得像星星一样…

2026/8/14 0:52:46 阅读更多 →

日新闻

临沂网站建设铭镇:深耕本土数字生态,以匠心铸就企业品牌核心竞争力

临沂网站建设铭镇:深耕本土数字生态,以匠心铸就企业品牌核心竞争力

在这个流量为王、视觉至上的互联网时代,对于临沂乃至整个山东乃至全国的传统中小企业来说,拥有一张精美的“数字名片”早已不再是可选项,而是生存的必答题。每当夜幕降临,沂河两岸灯火辉煌,物流之都的喧嚣逐渐沉淀为对未来的思考。我们常常听到老板们在茶余饭后探讨:为什…

2026/8/14 0:00:26 阅读更多 →
Flutter与OpenHarmony实现剧本杀组队表单开发实战

Flutter与OpenHarmony实现剧本杀组队表单开发实战

1. 项目概述在移动应用开发领域,跨平台框架Flutter因其高效的开发体验和出色的性能表现,已经成为众多开发者的首选。而OpenHarmony作为新兴的操作系统平台,其开放性和灵活性为开发者提供了全新的可能性。本文将聚焦于一个实际应用场景——剧本…

2026/8/14 0:00:26 阅读更多 →
大连网站建设找简维科技:为您打造懂业务更懂用户的数字化转型引擎

大连网站建设找简维科技:为您打造懂业务更懂用户的数字化转型引擎

在这个数字化浪潮席卷全球的今天,企业想要在激烈的市场竞争中站稳脚跟,拥有一张好看的“数字名片”已经远远不够了。很多老板在刚开始接触互联网业务时,都有一个共同的困惑:为什么我花了钱建的网站,就像是在真空中自嗨?访客进来转了两圈就跑了,线索石沉大海,甚至连客服…

2026/8/14 0:01:27 阅读更多 →

周新闻

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁 【免费下载链接】baidupankey 在线查询网盘提取码(维护中 rm repo) 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 你是否曾经在深夜寻找一份重要资料&#x…

2026/8/13 2:38:34 阅读更多 →
如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南 【免费下载链接】chinese_license_plate_generator 中国车牌生成器 项目地址: https://gitcode.com/gh_mirrors/ch/chinese_license_plate_generator 中国车牌生成器是一个基于Python的开源项目&#xff0c…

2026/8/13 10:41:52 阅读更多 →
收藏!小白程序员轻松入门大模型,从Harness工程开始实践

收藏!小白程序员轻松入门大模型,从Harness工程开始实践

文章强调学习大模型不应只关注模型本身,而应重视模型外的系统搭建,即Harness。提出AgentModelHarness的实用公式,详细介绍Harness的四个层次:持久化层、执行层、控制层和观察与验证层。文章还探讨了上下文工程、工具设计、AGENTS.…

2026/8/13 10:41:51 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/13 10:41:50 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/13 10:41:49 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/13 10:41:49 阅读更多 →