破解并提取Sketchfab的模型

2020.02.10更新: 已将下载模型和贴图的的Python脚本打包成exe,直接运行后稍等片刻,在弹出的终端窗口出现”input url:”的提示后,右击鼠标将Sketchfab的链接粘贴进来,相关资源会被下载到exe文件的同一目录下。


p.s. 本文仅限学习和交流,请尊重原作者的版权,可通过正规途径购买的模型请勿非法提取,请勿对模型及贴图等数据进行修改、二次分发、商用等违反Sketchfab版权规定及著作权相关法律法规的行为。使用本文提到的方法提取模型产生的一切后果由操作人承担,与本网站及本人无关。

本文转载自此文章,由于原文略显混乱,且部分文件下载失效,故重新整理。

点此下载文中所用到的工具。

Sketchfab可以说是国外数一数二的3D模型商店,Unity Store中的部分模型也来自Sketchfab。其采用的WebGL方案也允许用户通过3D方式直接预览商店中的模型,并且可以嵌入到其他网站进行预览,比如这样:

但是也正因为这种方式,给了别人逆向破解的机会。下面我们就来看看如何提取上面实例中的模型。

下载上文中提供的工具,并解压缩。其中的sketchfab.py用来下载Sketchfab网站中的模型数据;blender文件夹为之后需要用到的破解工具,已经集成了原文中的其他文件。

首先,我们运行sketchfab.py脚本,根据提示输入Sketchfab网站中的链接,来下载模型数据:

~# python3 sketchfab.py
input url:https://sketchfab.com/3d-models/cartoon-hares-animated-pack-4bf71eba74d3451e9b2e06c92a0b9fa9
Parsing...
Model Id: 4bf71eba74d3451e9b2e06c92a0b9fa9
Name: Cartoon hares animated pack
Thumbnail URL: https://media.sketchfab.com/models/4bf71eba74d3451e9b2e06c92a0b9fa9/thumbnails/56587fea9c5743839bcca15048ed4ce9/607eefb57ba34d1d81a04a41ed9a9292.jpeg
osgjs URL: https://media.sketchfab.com/models/4bf71eba74d3451e9b2e06c92a0b9fa9/dec4f40f1491415d9bcf2201db08c294/files/331cecbab38548de8764aaffc715183a/file.osgjs.gz
Model File: https://media.sketchfab.com/models/4bf71eba74d3451e9b2e06c92a0b9fa9/dec4f40f1491415d9bcf2201db08c294/files/331cecbab38548de8764aaffc715183a/model_file.bin.gz
Textures: 4
Downloading: Cartoon hares animated pack/thumbnail.jpg
Downloading: Cartoon hares animated pack/file.osgjs
Downloading: Cartoon hares animated pack/model_file.bin.gz
Downloading: Cartoon hares animated pack/texture/Willy_1.png
Downloading: Cartoon hares animated pack/texture/Willy_3.png
Downloading: Cartoon hares animated pack/texture/Willy_2.png
Downloading: Cartoon hares animated pack/texture/Willy_0.png

得到的文件如下:

texture文件夹为相关的贴图文件,file.osgjs则是加密后的模型数据。

至于如何安装和使用Python3,在此不作介绍。

接下来就是用blender和逆向脚本来解密osgjs文件。双击打开blender文件夹中的blender.exe。由于已经集成了Python的相关依赖,所以在伴随blender一起启动的终端中会有如下提示:

Compiled with Python version 2.6.1.
Checking for installed Python... got it!

在blender窗口中,点击File>Open,选择blender/.blender文件夹下的Blender249.blend,点击Open

按下Ctrl+U,以后使用就不必再重复该操作了。

右击左侧的代码区域,点击Execute Script,选择刚刚下载下来的osgjs文件,点击import,稍等片刻就得到了解密后的模型文件:

可以看到伴随blender一起启动的终端中闪过很多提示:

最后,点击File>Export,选择需要的文件格式,选择目的地文件夹,即可导出模型文件。

这里我选择FBX格式,导入到Unity中:

加上之前下载的贴图文件:

zh_CN简体中文
en_USEnglish zh_CN简体中文
%d 博主赞过: