安卓虚幻引擎逆向:UE4Dumper实战问题排查与解决方案
1. 项目概述与核心价值最近在折腾安卓平台上的虚幻引擎游戏逆向分析UE4Dumper这个工具绝对是绕不开的。它本质上是一个专门为Android平台上的Unreal Engine 4/5游戏设计的“信息提取器”。简单来说它能帮你从游戏的内存或文件中把游戏的核心数据结构、函数地址、类名、对象信息等“扒”出来生成一份结构化的SDK软件开发工具包和脚本。这份SDK对于后续的逆向分析、功能研究甚至是某些合法的游戏模组开发都是至关重要的第一手资料。我之所以花时间整理这篇“亲测免费”的解决方案是因为在实际使用UE4Dumper尤其是其衍生项目如AndUEDumper的过程中新手甚至是有一定经验的逆向爱好者都会遇到各种各样、五花八门的问题。从环境配置、编译构建到实际运行时的闪退、无输出、地址定位失败每一步都可能是个坑。网上的资料要么过于零散要么语焉不详很多问题需要自己反复试错才能解决。这篇文章的目的就是把我自己踩过的这些坑、验证过的解决方案系统地梳理出来让你能少走弯路快速上手这个强大的工具。2. UE4Dumper核心原理与工作流程拆解在深入解决具体问题之前有必要先理解UE4Dumper到底在做什么。知其然更要知其所以然这样遇到问题时你才能有自己的排查思路而不是盲目地尝试。2.1 核心目标提取虚幻引擎的运行时信息Unreal Engine游戏在运行时内存中维护着一套庞大的对象体系UObject和名称系统FName。游戏中的所有类UClass、结构体UStruct、枚举UEnum、函数UFunction以及其实例对象都通过这套体系组织起来。UE4Dumper的核心任务就是定位到内存中几个关键的数据结构GUObjectArray 这是全局对象数组的指针是所有UObject实例的容器。找到它就能遍历游戏中的所有对象。GNames / NamePoolData 这是引擎的名称池。所有的类名、函数名、属性名等字符串都存储在这里。UE4早期版本多用GNames一个TNameEntryArray而UE4后期及UE5则转向了更高效的FNamePool结构其数据指针常被称作NamePoolData。GEngine / GWorld 全局的引擎和世界对象指针是访问游戏核心逻辑的入口点。工具通过静态分析游戏库文件如libUE4.so中的特征码Pattern或动态附加到进程后扫描内存来定位这些关键地址。一旦找到它就可以遍历对象数组解析每个对象的虚表VTable、类结构、父类链、属性和函数信息。2.2 工作流程解析一个典型的UE4Dumper工作流程如下附加/注入 将Dumper可执行文件或动态库加载到目标游戏进程的地址空间。特征扫描 在游戏的内存空间中使用预定义或动态生成的特征码搜索GUObjectArray、GNames/NamePoolData的地址。这是最关键也最容易出错的一步。数据遍历与解析 利用找到的地址遍历对象列表和名称池。对于每个对象读取其类信息、名称、外链Outer等数据。信息提取与生成 将解析出的信息进行整理、去重、格式化最终输出为几种文件Objects.txt 所有对象的列表包含地址、名称、类名等。Offsets.hpp 关键数据结构的偏移量定义用于编写外部读写工具。script.json 函数名与地址的映射表可直接导入IDA Pro、Ghidra等反汇编工具实现函数自动重命名极大提升逆向效率。AIOHeader.hpp 一个汇总了常用类和偏移量的头文件方便开发。注意 不同版本的UE4Dumper如原版、AndUEDumper输出文件可能略有不同但核心信息大同小异。理解这个流程就能明白当工具“卡”在某个环节时问题可能出在哪里。3. 环境准备与编译构建常见问题工欲善其事必先利其器。大部分问题其实在准备阶段就埋下了伏笔。3.1 基础环境配置踩坑问题一NDK环境变量设置错误或版本不兼容这是编译失败的头号元凶。AndUEDumper等工具需要Android NDK来编译本地Native代码。症状 执行make命令时报错找不到clang、aarch64-linux-android-g等编译器或者提示NDK_HOME未设置。解决方案确认NDK已安装 如果你使用Android StudioNDK通常已附带。可以在File - Project Structure - SDK Location查看路径。也可以从官网单独下载。正确设置环境变量 这是关键。不要只设置ANDROID_NDK_HOME很多构建脚本认的是NDK_HOME或ANDROID_NDK_ROOT。最稳妥的方法是全部设置。Windows (PowerShell):# 假设你的NDK路径是 C:\Android\ndk\25.2.9519653 $env:NDK_HOME C:\Android\ndk\25.2.9519653 $env:ANDROID_NDK_HOME $env:NDK_HOME $env:PATH $env:NDK_HOME\toolchains\llvm\prebuilt\windows-x86_64\bin;$env:PATHLinux/macOS (Bash/Zsh):# 假设你的NDK路径是 /home/user/Android/Sdk/ndk/25.2.9519653 export NDK_HOME/home/user/Android/Sdk/ndk/25.2.9519653 export ANDROID_NDK_HOME$NDK_HOME export PATH$NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin:$PATH设置后新开一个终端窗口执行echo $NDK_HOMELinux/macOS或echo $env:NDK_HOMEWindows PowerShell确认。版本选择 推荐使用NDKr25b或r26等LTS版本。太老的版本可能缺少必要的C特性支持太新的版本有时会有兼容性问题。如果编译出错尝试切换NDK版本是有效的排查手段。问题二Git子模块Submodule未正确克隆AndUEDumper依赖一些外部库如capstone、keystone它们作为子模块管理。症状 编译时提示找不到capstone.h或keystone.h等头文件。解决方案克隆仓库时务必使用--recursive参数git clone --recursive https://github.com/MJx0/AndUEDumper如果已经克隆了可以进入仓库目录初始化并更新子模块cd AndUEDumper git submodule init git submodule update手动检查AndUEDumper/AndUEDumper/deps/目录下是否有capstone和keystone等文件夹。3.2 编译过程中的典型错误问题三make命令执行失败报“recipe for target ‘xxx’ failed”这通常意味着编译脚本或源代码本身有问题。排查步骤清理构建缓存 首先执行make clean然后重新make。检查依赖 确保系统已安装make、cmake等基础构建工具。在Ubuntu/Debian上可以sudo apt install build-essential cmake。查看完整错误日志 错误信息往往在最后几行往前翻看找到第一个“error:”开头的提示。可能是某个C语法不支持需检查NDK的Clang版本也可能是文件权限问题。尝试指定目标 有时直接make all会失败但可以尝试编译特定架构例如make arm64 # 或 make arm这可以在Makefile中查看支持的目标。问题四编译成功但生成的可执行文件或库文件无法在目标设备上运行这可能是架构不匹配或链接库问题。症状 将编译出的UEDump3r推送到手机后执行时提示“No such file or directory”可能是解释器不对或直接“Killed”权限或架构问题。解决方案确认设备架构 使用adb shell getprop ro.product.cpu.abi命令查看。常见结果有arm64-v8a64位ARM、armeabi-v7a32位ARM、x86_64、x86。必须使用对应架构的Dumper。检查文件权限 通过adb push推送后使用adb shell chmod 755 /data/local/tmp/UEDump3r赋予可执行权限。静态链接 有些编译配置可能会动态链接一些设备上不存在的库。确保编译时使用了-static或类似的链接选项。可以检查Makefile中的LDFLAGS。4. 运行时问题与实战解决方案环境搞定编译成功接下来才是真正的挑战让Dumper在目标游戏上跑起来并成功吐出数据。4.1 注入与执行失败问题五使用可执行文件方式运行提示“Permission denied”或进程立即结束这通常发生在没有root权限的设备上尝试直接执行Dumper时。背景 现代Android系统对/data/local/tmp等目录的执行权限管控很严非root环境下从adb shell启动的进程可能无法正常调用ptrace等系统调用来附加到高权限的游戏进程。解决方案优先使用库Library注入方式 这是AndUEDumper推荐的主流方法尤其对于非root环境。你需要一个注入器Injector例如frida-gadget、LSPosed配合特定模块或一些游戏修改器内置的注入功能。将编译好的libUEDump3r.so注入到游戏进程它会自动执行dump操作并将日志输出到logcat。你只需要过滤UEDump3r这个tag就能看到进度。Root设备直接执行 如果设备已root确保使用su切换到root用户后再执行Dumper。检查SELinux状态 在某些严格定制的ROM上即使有rootSELinux也可能阻止进程间操作。可以尝试临时设置为宽容模式adb shell su -c “setenforce 0”。操作后记得改回setenforce 1。问题六注入成功但logcat无输出或输出几行后停止这说明Dumper已经跑起来了但可能在某个环节通常是特征扫描阶段卡住了。排查步骤确认日志标签 使用正确的命令抓取日志adb logcat -s UEDump3r:*。如果没有任何输出可能是注入的库没有被正确初始化或者游戏进程崩溃了。检查是否有Fatal或crash相关的系统日志。分析已有日志 如果输出了几行例如“UEDump3r: Initialized”、“UEDump3r: Searching for GUObjectArray...”然后就没了这大概率是特征码扫描失败。Dumper在内存中找不到关键符号。检查游戏版本与支持列表 首先去AndUEDumper的GitHub页面查看README.md中的“Currently Supported Games”列表。如果你的游戏不在其中不代表不能用但意味着你需要手动为其创建特征码配置文件GameProfile。手动验证游戏库 将游戏的APK解包找到其中的原生库通常在lib/abi/目录下如libUE4.so、libanogs.so等。用IDA Pro或readelf、objdump工具粗略查看确认它确实是Unreal Engine游戏可以搜索字符串“GUObjectArray”、“GWorld”等虽然它们可能被混淆。4.2 特征码扫描失败与GameProfile配置这是UE4Dumper使用中最核心、最需要手动干预的部分。问题七Dumper日志显示“Failed to find GUObjectArray”或类似错误根本原因是预置的特征码Pattern不匹配当前游戏版本。解决方案手动创建或修改GameProfileAndUEDumper的GameProfiles/目录下存放着各个游戏的特征码配置文件。你需要为你的游戏创建一个新的.cpp文件。获取特征码静态分析 用IDA Pro加载游戏的主UE库如libUE4.so。搜索字符串引用找到GUObjectArray、GNames或NamePoolData。在对应的汇编代码附近提取一段独特的字节序列作为特征码。特征码中的通配符用?表示。参考现有Profile 找一个引擎版本相近的已支持游戏的Profile作为模板模仿其格式。编写Profile文件 一个典型的Profile如下以虚构游戏“MyGame”为例// GameProfiles/MyGame.cpp #include GameProfile.hpp // 定义游戏名称和主库名 GameProfile MyGameProfile { .Name MyGame, .Base 0x10000000, // 游戏库的默认加载基址可通过cat /proc/pid/maps查看 .GUObjectArray { .IsValid true, .Offset 0x12345678, // 如果知道固定偏移可以填这里 .Pattern \x48\x8B\x05\x??\x??\x??\x??\x48\x8B\x88\x??\x??\x??\x??\x48\x85\xC9, // 从IDA中提取的特征码 .PatternOffset 0x3, // 特征码匹配后需要再偏移多少字节才是目标指针的偏移量 .PointerOffset 0x7, // 从那个偏移地址读取指针时还需要加上的偏移 }, .GNames { .IsValid true, .Offset 0x87654321, .Pattern \x48\x8D\x0D\x??\x??\x??\x??\xE8\x??\x??\x??\x??\x48\x8B\xD8, // GNames的特征码 .PatternOffset 0x3, .PointerOffset 0x0, }, // 对于UE4.25或UE5可能需要配置NamePoolData而不是GNames /* .NamePoolData { .IsValid true, .Offset 0, .Pattern ..., .PatternOffset 0, .PointerOffset 0, }, */ };注册Profile 在GameProfiles/GameProfiles.cpp文件中#include “MyGame.cpp”并在GameProfile* g_GameProfiles[]数组中加入MyGameProfile。重新编译 修改后需要重新编译整个项目。实操心得 提取特征码是个经验活。一个可靠的技巧是在IDA中定位到目标全局变量如GUObjectArray查看其被引用的地方。通常在一个初始化函数或某个全局函数里会有它的地址加载指令如lea或mov。选取包含该指令的一段足够长通常8-16字节且唯一的字节码。PatternOffset的计算是关键你需要数出从特征码起始到指令中偏移量部分的字节数。PointerOffset则是该偏移量本身如果是相对偏移RIPoffset则PointerOffset就是offset。问题八扫描到了地址但dump出的数据混乱或程序崩溃这可能是偏移量Offsets不对或者游戏使用了自定义的内存布局。排查步骤验证偏移量 Dumper内部使用一套针对特定UE版本的默认偏移量定义在OffsetsFinder.cpp等文件中。如果游戏版本不匹配比如用UE4.26的偏移去dump UE5.1的游戏就会出错。你需要更新或指定正确的偏移量。有些高级的Dumper如Dumper-7具备自动计算偏移量的功能但AndUEDumper的TODO列表里也有这项目前可能还不完善。检查内存保护 如果Dumper尝试写入游戏内存某些高级功能可能会触发内存保护导致崩溃。确保Dumper以只读方式遍历数据。分析崩溃日志 使用adb logcat | grep -A 20 -B 5 “Fatal”或adb bugreport获取更详细的崩溃堆栈看崩溃发生在Dumper代码的哪一部分。4.3 输出文件问题问题九dump过程看似成功但输出文件夹为空或文件内容异常症状 logcat显示“Dump completed successfully”但在/sdcard/Android/data/package/files/目录下找不到文件或者文件只有几KB内容不全。解决方案检查存储权限 确保游戏有外部存储读写权限。Dumper会尝试写入游戏自己的数据目录这个目录通常不需要WRITE_EXTERNAL_STORAGE权限。但如果目录不存在或创建失败可能会静默失败。可以手动创建目录试试adb shell mkdir -p /sdcard/Android/data/package/files/。指定自定义输出路径 使用可执行文件模式时通过-o参数指定一个绝对路径例如-o /sdcard/Download/dump_output。确保这个路径存在且有写入权限。检查文件内容 如果文件很小用adb shell cat查看一下内容。可能只写入了日志而对象遍历部分因故中断。重点查看Logs.txt的最后部分是否有警告或错误。游戏多进程 一些游戏有多个进程如一个主进程一个渲染进程。你可能需要确保Dumper注入到了正确的、包含UE引擎逻辑的进程。查看/proc/pid/maps确认其中有游戏的主UE库映射。5. 高级技巧与排查工具链当常规方法失效时你需要更深入的排查手段。5.1 动态调试与日志分析增强日志输出 你可以修改Dumper的源代码通常是Log.cpp或相关文件增加更详细的调试日志比如打印每次扫描的内存地址、解析的对象数量等。重新编译后使用能更清晰地看到流程卡在哪一步。使用Frida进行动态插桩 Frida是一个强大的动态插桩框架。你可以写一个简单的Frida脚本在游戏运行时手动调用Dumper库中的关键函数如扫描函数并打印其参数和返回值或者直接Hook游戏内存中的关键函数如FName::ToString来验证名称池地址。结合IDA动态调试 对于Root设备可以将IDA Pro通过android_server附加到游戏进程。在Dumper执行扫描或解析的关键代码处下断点观察内存状态和寄存器值这是最直接的调试方法。5.2 处理混淆与加固的游戏越来越多的游戏会对原生库进行混淆或加固如腾讯乐固、网易易盾等这会给特征码扫描带来极大困难。脱壳与修复 首先需要将游戏的加固壳脱掉修复so文件的节区Section和导入表使其能够被IDA正常分析。这本身就是一个复杂的逆向工程课题可能需要使用frida-unpack、drizzleDumper等工具或手动分析壳的加载器。内存Dump 在游戏运行后内存中的so文件通常是解密状态的。你可以使用/proc/pid/mem或工具如game-elf-dumper将内存中的库镜像dump下来然后用这个dump文件进行静态分析以提取特征码。模糊特征码 加固可能会修改指令顺序或插入垃圾指令使得精确的特征码失效。这时需要编写更“模糊”或更长的特征码或者寻找加固后依然稳定的代码片段如某些系统库函数调用附近。5.3 整合输出与后续利用成功dump出数据只是第一步如何用好这些数据同样重要。导入IDA/Ghidra 将生成的script.json导入反汇编工具是最直接的用途。在IDA中使用File - Script file...运行apply_script.py可能需要根据Dumper输出的json格式稍作修改即可批量重命名函数极大提升逆向效率。生成SDK并用于开发Offsets.hpp和AIOHeader.hpp提供了关键的偏移量和类定义。你可以基于这些文件结合外部内存读写工具如libmem、frida编写自己的游戏功能模块。例如通过GWorld找到UWorld再遍历PersistentLevel中的AActor数组就能实现实体遍历等功能。验证dump结果 不要完全信任第一次dump的结果。可以用生成的部分偏移量写一个小程序去读取游戏内存中的某个已知对象比如玩家控制器验证其字段值是否符合预期如坐标、血量等。这是一个很好的完整性检查。6. 总结与个人经验分享折腾UE4Dumper的过程本质上是一个与游戏引擎内存布局和反混淆措施斗智斗勇的过程。它没有一成不变的解决方案非常依赖具体游戏版本、引擎版本和加固情况。我个人最深的体会是耐心和细致。特征码差一个字节偏移量算错一位都可能导致全盘失败。一定要充分利用日志从最简单的、已支持的游戏开始练手理解整个流程。当遇到不支持的游戏时手动分析so文件、提取特征码是必经之路这需要一定的汇编和逆向基础。另一个关键是社区和资源。多关注GitHub上相关项目如AndUEDumper、UE4Dumper原版、Dumper-7的Issues和Pull Requests很多人遇到的问题和解决方案都记录在那里。自己解决了某个特定游戏的问题后如果条件允许可以向原项目提交一个Pull Request补充GameProfile这对整个社区都是宝贵的贡献。最后务必在合法合规的范围内使用这些工具和技术尊重知识产权仅用于安全研究、学习或个人娱乐目的。

相关新闻

从手拼Prompt到工程化:构建可维护的企业级AI助手Prompt层

从手拼Prompt到工程化:构建可维护的企业级AI助手Prompt层

1. 项目缘起:从“手工作坊”到“工程化产线”如果你正在或计划在企业内部落地一个基于大语言模型的问答助手,尤其是那种需要对接公司内部文档、产品手册、规章制度等非公开数据的“知识库助手”,那么下面这个场景你一定不陌生:为了…

2026/8/9 2:06:40 阅读更多 →
Unity海洋模拟全栈指南:从波浪物理到交互渲染的工程实践

Unity海洋模拟全栈指南:从波浪物理到交互渲染的工程实践

1. 项目概述:为什么我们需要一个“全栈”的海洋模拟?在Unity里做一片水,这事儿听起来简单。新手可能会直接拖一个Plane,贴个带法线贴图的透明Shader,再加点起伏动画,几分钟就能“搞定”。但如果你做的是一款…

2026/8/9 2:06:40 阅读更多 →
QQ空间数据恢复终极指南:3步轻松备份你的数字记忆宝库

QQ空间数据恢复终极指南:3步轻松备份你的数字记忆宝库

QQ空间数据恢复终极指南:3步轻松备份你的数字记忆宝库 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 你是否还记得那些年QQ空间里记录的点滴?那些青涩的说说、温…

2026/8/9 2:06:40 阅读更多 →

最新新闻

从Kimi K3事件看AI模型评估:沙箱逃逸原理与安全实战

从Kimi K3事件看AI模型评估:沙箱逃逸原理与安全实战

最近在AI圈子里,一个关于“Kimi K3模型在沙箱环境中读取基准测试答案”的讨论引起了不小的波澜。这起事件不仅触及了AI模型评估的公平性核心,更将“沙箱逃逸”这个在安全领域耳熟能详的概念,推到了大模型能力测试的前台。对于从事AI开发、模型…

2026/8/10 3:02:30 阅读更多 →
数据指标治理:从混乱到统一的实践指南

数据指标治理:从混乱到统一的实践指南

1. 数据指标混乱的现状与根源"DAU(日活跃用户数)"这个看似简单的指标,在我们公司竟然有超过20个不同版本的定义——这是上周数据治理会议上暴露出的惊人事实。市场部把"当日打开过APP"算作DAU,产品团队要求&q…

2026/8/10 3:02:30 阅读更多 →
算力解析:从基础概念到优化实践

算力解析:从基础概念到优化实践

1. 算力概念解析:数字时代的核心生产力 算力(Computing Power)简单来说就是设备执行计算任务的能力。就像汽车用马力衡量动力大小,算力就是衡量计算机处理速度快慢的指标。但它的意义远不止于此——在数字经济时代,算力…

2026/8/10 3:02:30 阅读更多 →
从零构建赛事排名系统:数据处理、算法设计与可视化实战

从零构建赛事排名系统:数据处理、算法设计与可视化实战

这次我们来看一个关于“三角洲主播S2巅峰赛300进30晋级排名”的数据分析项目。这个项目本身不是一个软件工具或AI模型,而是一个典型的赛事数据分析与可视化案例。它的核心价值在于,通过一套系统化的数据处理流程,将一场有300名主播参与的复杂…

2026/8/10 3:02:30 阅读更多 →
AI驱动Pygame游戏开发:用大语言模型快速生成与迭代代码

AI驱动Pygame游戏开发:用大语言模型快速生成与迭代代码

1. 项目概述:当经典游戏框架遇上现代AI大脑最近在社区里看到不少朋友在讨论用AI生成代码,特别是结合游戏开发,感觉挺有意思的。我自己也花了些时间,把经典的Pygame游戏开发框架和DeepSeek这类大语言模型(LLM&#xff0…

2026/8/10 3:02:30 阅读更多 →
UE4 HTML5项目C++与JavaScript互调全链路优化策略

UE4 HTML5项目C++与JavaScript互调全链路优化策略

1. 项目概述:为什么UE4 HTML5项目的互调是个“硬骨头”?如果你正在尝试将你的UE4项目发布到HTML5平台,并且想让网页上的一个按钮能控制游戏里的角色跳跃,或者反过来,让游戏里的一个事件能触发网页弹出一个提示框&#…

2026/8/10 3:01:30 阅读更多 →

日新闻

GraphQL-CSS API全解析:useGqlCSS、GqlCSS组件与getStyles实用指南

GraphQL-CSS API全解析:useGqlCSS、GqlCSS组件与getStyles实用指南

GraphQL-CSS API全解析:useGqlCSS、GqlCSS组件与getStyles实用指南 【免费下载链接】graphql-css A blazing fast CSS-in-GQL™ library. 项目地址: https://gitcode.com/gh_mirrors/gr/graphql-css GraphQL-CSS是一个基于GraphQL的CSS-in-GQL™库&#xff0…

2026/8/10 0:00:02 阅读更多 →
告别语言障碍:KISS Translator 双语翻译插件终极指南

告别语言障碍:KISS Translator 双语翻译插件终极指南

告别语言障碍:KISS Translator 双语翻译插件终极指南 【免费下载链接】kiss-translator A simple, open source bilingual translation extension & Greasemonkey script (一个简约、开源的 双语对照翻译扩展 & 油猴脚本) 项目地址: https://gitcode.com/…

2026/8/10 0:00:02 阅读更多 →
BepInEx配置管理器:游戏插件配置的终极可视化解决方案

BepInEx配置管理器:游戏插件配置的终极可视化解决方案

BepInEx配置管理器:游戏插件配置的终极可视化解决方案 【免费下载链接】BepInEx.ConfigurationManager Plugin configuration manager for BepInEx 项目地址: https://gitcode.com/gh_mirrors/be/BepInEx.ConfigurationManager 你是否曾经因为游戏插件的复杂…

2026/8/10 0:00:02 阅读更多 →

周新闻

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

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

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

2026/8/10 1:05:29 阅读更多 →
如何快速生成中国车牌图片:Python开源工具完整指南

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

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

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

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

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

2026/8/10 1:05:29 阅读更多 →

月新闻

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

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

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

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

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

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

2026/8/10 1:05:29 阅读更多 →
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/9 17:05:02 阅读更多 →