使用FModel提取游戏资产
使用FModel提取游戏模型
- 前言
- FModel简介
- FModel安装
- FModel使用
- 初次使用
- 资产预览
- 资产导出
- 附录
- dumper
- Dumper-7生成usmap文件
- 向游戏中注入dll
前言
这篇文章仅记录我作为初学者使用FModel工具提取某款游戏模型的过程。
FModel简介
FModel是一个开源软件,可以用于查看和提取UE4-5项目中的资产。它支持从.pak
和.uasset
文件中提取内容,如3D模型,纹理,音频等。
FModel安装
首先进入FModel官网,下载最新的发布版本。
下载后是一个压缩包,直接解压然后打开exe文件即可。
FModel还需要依赖.NET
,如果你的系统中没有,则会提示你安装:
安装好.NET
之后,重新打开FModel.exe
,此时软件可以正常打开。
FModel使用
初次使用
①软件初次打开会弹出这个界面:
这里可以随便设置,之后进入软件还可以更改。
②点击ok进入软件
③设置填写AES key
这里填写你要解包的游戏对应的AES key
④设置选择UE版本和填写游戏路径
⑤解包
全选(我在使用时是这样,可能会因游戏的不同而不一样)然后load
然后就会自动跳到Folder下,此时我们就可以随便选择一个资产双击进行查看
注意:
如果你要解包的游戏是使用UE5开发的,那么在解包的时候可能会报错:
[ERR] CUE4Parse.UE4.Exceptions.ParserException: Package has unversioned properties but mapping file is missing, can't serializeat CUE4Parse.UE4.Assets.IoPackage..ctor(FArchive uasset, IoGlobalData globalData, FIoContainerHeader containerHeader, Lazy`1 ubulk, Lazy`1 uptnl, IFileProvider provider, TypeMappings mappings)
解决方案我放在附录中。
资产预览
FModel还提供了3D Viewer
,Audio Player
,Image Merger
预览器,方便预览资产中的模型文件,音频文件和图片文件(直接在相应资产上双击即可)
比如3D Viewer预览的模型是这样
资产导出
在Settings
的Models
中设置资产的导出格式(比如对于mesh
可以设置导出为.glb
,texture
可以设置导出为.png
)
然后在你要导出的资产上右键,选择要导出的类型即可:
附录
dumper
对于UE5+的游戏来说,具有unversioned
属性的包是意料之中的。然而现在有一些解决方案可以让FModel支持对它们的解析。
下面将提供三种dumper,使用它们中的任意一个,可以生成一个映射文件(*.usmap
),文件中是一些结构(schema),其包含游戏类、结构体和枚举。
注意,这种结构(schema)在每次游戏更新之后都会可能会发生变化,因此为了避免错误,应该在每次更新之后重新生成此文件。
三个dumper的链接(阅读它们的README文件来学习使用方法):
https://github.com/Encryqed/Dumper-7
https://github.com/UE4SS-RE/RE-UE4SS
https://github.com/OutTheShade/UnrealMappingsDumper
当成功生成了*.usmap
文件后,你可以在FModel
软件的设置界面将其添加到Mapping File Path
中:
下面我将演示通过使用Dumper-7
生成*.usmap
的过程
Dumper-7生成usmap文件
①将Dumper-7项目git到本地
②使用Visual Studio打开.sln
文件,将Settings.h
中的SDKGenerationPath
修改为你期望的usmap文件保存路径(默认路径为C:/Dumper-7
)
③在x64-Release下编译,生成dll文件
④向目标游戏中注入dll(这一步我将在下面展开介绍)
⑤查看生成的usmap文件
向游戏中注入dll
为了向游戏中注入dll,我们要使用一个工具:DLL Injector
官网链接:DLL Injector官网
使用方法:
①打开DLL Injector
②选择要加载的DLL文件(有两种方法):
- 点击browse按钮然后选择你要加载的dll文件
- 拖拽你的dll文件到DLL injector软件的界面中
③从左侧窗口中选择要注入DLL文件的目标进程
- 可以在输入框中输入进程名称或进程号来筛选条目
- 如果使用筛选功能最后只筛选出一个进程,则此进程会被自动选中
④点击右上方的注入按钮将DLL注入目标进程,结束后会在指定文件夹生成usmap文件
相关文章:
使用FModel提取游戏资产
使用FModel提取游戏模型 前言FModel简介FModel安装FModel使用初次使用资产预览资产导出 附录dumperDumper-7生成usmap文件向游戏中注入dll 前言 这篇文章仅记录我作为初学者使用FModel工具提取某款游戏模型的过程。 FModel简介 FModel是一个开源软件,可以用于查看…...
Qt C++ 屏幕录制 保存mp4
在麒麟系统(基于 Linux)上优化 Qt C 的屏幕录制,主要针对捕获效率和编码速度。可以参考以下优化策略: 1. 使用更高效的屏幕捕获 API 麒麟系统作为 Linux 系统的一种,可以考虑直接使用 X11、Wayland、或 DRM/KMS API …...
Adobe After Effects的插件--------CC Cylinder
CC Cylinder是柱体插件。它是AE内置的3D插件。 使用条件 该插件的作用是将2D图层转换为3D的柱体。所以使用该插件时要确保源图层为2D的。 我们以一张图片素材为例: 给图片图层添加CC Cylinder效果控件,然后新建一个摄像机(利用摄像机旋转、平移、推拉工具,方便在各个角度…...
Vue3项目开发——新闻发布管理系统(一)
文章目录 一、项目要实现的功能二、项目用到的技术栈三、项目创建1、pnpm安装2、创建项目3、项目启动四、项目配置1、ESLint2、Prettier3、ESLint + Prettier 进行配置代码风格3.1配置prettier3.2vue组件名称多单词组成 (忽略index.vue)3.3props解构(关闭)4、husky4.1husky…...
前端调用后端,出现跨域报错怎么办
我前端是vue,后端是其他同事写的python,因为部署在不同的机器上,我前端如果直接调用他的python,axios请求就会出现跨域报错,如下 blocked by CORS policy 云云 怎么办呢,网上探索了一下午,才找…...
使用Node-RED发送数据到巴法云
上一篇博文完成了Node-RED的安装,下面来尝试一下用Node-RED来发送数据到巴法云服务器。 我在教学用MQTT工具的思考-CSDN博客中说过,巴法云支持云云互联,可以连小米、百度,学生使用的兴趣高。所以今天先测试Node-RED和巴法云的连接…...
【今夕是何年】雅达利发布Atari 7800+游戏主机:配备无线手柄、HDMI接口
雅达利(Atari)发布了Atari 7800游戏主机,目前这款主机在其官方商城接受预定,售价129.99美元。Atari 7800游戏主机,作为Atari 7800系列的革新升级版本,搭载了高效的Rockchip 3128处理器,不仅确保…...
APP支付宝授权获取code uniapp
1.点击使用plus.runtime跳转打开支付宝 //打开支付宝授权,在支付宝APP中授权后会在支付宝中跳转到你填写的h5地址//urls是授权地址可以后端拼接也可以前端写死 //以下是一个拼接示例,需修改app_id的值和redirect_uri的值即可 //app_id是商户的APPID&…...
在Linux系统下安装、配置ETCD
在Linux系统下安装、配置ETCD(一个分布式键值存储系统)涉及多个步骤,包括下载、安装、配置、启动以及使用ETCD的常用命令。以下是对这些步骤的详细讲解,内容不少于2000字。 一、ETCD简介 ETCD是一个高可用的键值存储系统&#x…...
lambda 表达式可以传递引用为什么需要引用捕获
当 lambda 表达式被传递或存储在其他地方时,通过引用捕获可以确保它始终访问正确的外部变量。—— 引用捕获可以精确地控制被捕获的引用变量的作用域。如果一个 lambda 表达式被存储在一个容器中,并且在不同的时间点被调用,引用捕获可以确保它…...
【Java】/* 双向链表 - 底层实现 */
【难点】:remove、removeAllKey 一、IList package bagfive;/*** Created with IntelliJ IDEA.* Description:* User: tangyuxiu* Date: 2024-08-21* Time: 20:30*/ public interface IList<E> {//头插法void addFirst(E data);//尾插法void addLast(E data…...
Go 语言协程管理精解
1.基础 协程切换需要操作寄存器,这些操作需要通过汇编辅助实现。另外,每一个协程都有一个协程栈,实际上协程栈也是有结构的。汇编程序和栈结构这些概念可能大部分开发者都不太了解,在介绍协程管理之间,先简要介绍。 1…...
C库函数signal()信号处理
signal()是ANSI C信号处理函数,原型如下: #include <signal.h>typedef void (*sighandler_t)(int); sighandler_t signal(int signum, sighandler_t handler); signal()将信号signum的处置设置为handler,该handler为SIG_IGNÿ…...
007 SpringCloudAlibaba基础使用(nacos,gateway)
文章目录 cubemall-commoncubemall-productcubemall-gateway https://nacos.io/ https://github.com/alibaba/nacos/releases/tag/1.4.1 https://github.com/alibaba/spring-cloud-alibaba https://github.com/alibaba/Nacos https://developer.aliyun.com/mvn/guide https…...
编译环境揭秘
不同平台因为偏好差异,编译环境的准备会有差异。对于MSVC,微软提供简单的VS安装界面,比较省心。在Ubuntu发行版,gcc/make等程序可能不自带,当需要安装这些软件时就需要不少命令。当然比较麻烦,提供了统一的…...
不同的字符集(ASCII、UTF-8、UTF-16/UCS-2、UTF-32/UCS-4)
来自:C标准库(第2版)...
STM32f407 网络接收 fpga 的 bin 文件并更新到 fpga series7(3)
STM32f407 网络接收 fpga 的 bin 文件并更新到 fpga series7(3) 简介 实验 3:在搭建好 tcp 服务器,并拟定好协议的前提下,接收每一个 bin 文件的块,配置到 fpga。 原理图 fpga fpga1 stm32 接线总结 // fpga引脚 stm32…...
JavaScript基础知识(七)
数组相关api再续前缘 arr.forEach(function) 对arr数组的每一项执行遍历操作,并且可以通过function来对相关元素进行二次操作 function: 函数,同时接收三个参数 - item: 数组中的每一项 - index: 数组每一项的下标(item的对应下标) - arr: 原数组 arr.map(function) 对数组的…...
20240821让飞凌的OK3588-C的核心板在Linux R4下挂载1TB的exFAT格式的TF卡
fdisk -l df -h df -t df -T mount 20240821让飞凌的OK3588-C的核心板在Linux R4下挂载1TB的exFAT格式的TF卡 2024/8/21 19:47 百度:rk3588 buildroot exFAT mount: mounting /dev/mmcblk1p1 on /mnt failed: Invalid argument Disk /dev/mmcblk1: 955 GB, 10254234…...
Java HashMap练习
JDK1.2添加,线程不安全,性能相对较好 注意:允许使用null作为key或者value 使用数组加链表结构,结合数组和链表的优点 Hash Map的基本使用 package HashMap;import text5.Student;import java.util.Collection; import java.ut…...
前后端分离项目实战-通用管理系统搭建(前端Vue3+ElementPlus,后端Springboot+Mysql+Redis)第三篇:登录功能优化
天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…...
8.20 Redis ACL配置 多个用户连接同一个Redis
**一、首先通过 linux命令 redis-cli 输入用户名和密码连接redis的客户端** **二、查看用户,创建用户,设置密码操作** (1)**ACL LIST** 命令 可以查看到当前的权限用户 (2)**ACL SETUSER userName** 此…...
【C语言】static和extern的作用
本文首发于 ❄️慕雪的寒舍 简单介绍C/C中static关键字和extern关键字的作用。 1.简介 在之前的博客中,提到过static的三个作用,但是没有详细说明这三个作用的场景,现在回过头来记录一下。 修饰函数修饰全局变量修饰函数内变量 static还有…...
全新分支版本!微软推出Windows 11 Canary Build 27686版
已经很久没有看到 Windows 11 全新的分支版本了,今天微软发布 Windows 11 Canary 新版本,此次版本号已经转移到 Build 27xxx,首发版本为 Build 27686 版。 此次更新带来了多项改进,包括 Windows Sandbox 沙盒功能切换到 Microsof…...
【Linux】ARM服务器命令行安装虚拟机
在Arm服务器上安装虚拟机操作笔记 一、基础环境准备1、环境准备2、检查KVM支持3、启动并启用libvirtd服务4、创建虚拟网络(可选)5、使用virt-manager创建虚拟机(支持KVM)6、管理虚拟机9、监控和日志 二、软虚拟化替代方案1、查看虚…...
Android 10.0 锁屏页面忘记锁屏密码情况下点击5次解锁图标弹出锁屏密码功能实现
1. 前言 在10.0的系统ROM定制化开发中,在一些产品中带锁屏密码的功能中,系统默认是滑动解锁,但是客户会设置锁屏密码,在某些时候会 忘掉锁屏密码,导致需要进入恢复出厂设置然后才能进入系统桌面,这样就导致系统的保存的资料都丢失了,所以需要要求在锁屏密码页面在忘记解…...
Java-CompletableFuture工具类
CompletableFuture 是 Java 8 引入的一个强大的异步编程工具,它提供了对异步计算的高级支 持,包括组合多个任务的能力、处理结果、异常处理等。为了方便地使用 CompletableFuture,你 可以创建一个工具类来封装常用的操作。 CompletableFuture 工具类 下面是一个 Complet…...
C语言:递归
递归简单来说就是函数自己调用自己。 特点:一般代码比较简洁,没有出口。 例子1:用一个函数计算阶乘 #include<stdio.h>//不用递归 int fac(int n) {int val 1;for (int i 1; i <n;i){val * i;}return val; }//用递归 int fac1(…...
自动化测试框架pytest+allure+requests
最近复习了一下关于自动化测试的内容,结合[码尚教育] 相关的思路来对测试框架进行开发。 争取实现零代码来实现自动化测试环境的搭建 AutoTestFrame 介绍 AutoTestFrame是一个基于Python的自动化测试框架,旨在帮助测试人员快速、高效地完成测试任务。…...
Python 笔记 numpy.ndarray切片
NumPy 的 ndarray 类型提供了非常灵活的切片功能,可以方便地访问和操作数组中的元素。切片允许您通过指定索引来选择数组的一部分。下面是一些基本的切片操作及其解释。 一维数组的切片 对于一维数组,切片操作类似于 Python 列表的切片。 示例 impor…...
网站建设博采/小辉seo
注意如下几点:1 其中,21000是impala-shell使用,21050是impala jdbc使用2 在Impala 2.0以后,可以使用两种方式去连接impala, Cloudera JDBC Connector 和 Hive 0.13 JDBC driver,一般推荐使用的是Cloudera J…...
在招聘网站做销售工资高吗/如何做网站推广的策略
通过startService开启的服务,当访问者关闭时,服务仍然存在;访问者需要与服务进行通信,则我们需要将访问者与服务进行绑定; 如果使用Context.bindService()方法启动服务,则在服务未创建时,系统会…...
企业网站策划流程/成人短期电脑培训班学费
选择题在高考中属于保分题目,只有“选择题多拿分,高考才能得高分”,在平时的训练中,针对选择题要做到两个方面:一是练准确度;高考中遗憾的不是难题做不出来,而是简单题和中档题做错;…...
企业网站开发制作/免费培训机构
有时候我们需要在程序中执行另一个程序的安装,这就需要我们去自定义 msi 安装包的执行过程。需求比如我要做一个安装管理程序,可以根据用户的选择安装不同的子产品。当用户选择了三个产品时,如果分别显示这三个产品的安装交互 UI 显然是不恰当…...
网站地图制作视频教程/网站推广做什么
四种方法实现单元格内的自动换行: 1.输入数据随时换行 在输入数据时换行,AltEnter组合键即可实现。此方法可使已输入内容的单元格在光标所在处换行。 2.单元格区域内换行 将某个长行转成段落并在指定区域内换行。例如&am…...
用jquery做的书籍网站/n127网推广
有人是为了从做报表中解放出来,有人是为了实现更业务化的个性化报表,有人只懂得用Excel且确实通用性强,有人是因为无BI系统支持(或BI不够业务化)……确实有n种理由,最终导向了这个选择--自己用Excel来制作数据分析模板用一个平凡的…...