首页 > Personal > disunity解包unity资源 reflector反编译unity源代码
2014
10-10

disunity解包unity资源 reflector反编译unity源代码

disunity,知道的人都知道,是github上一个开源的unity资源解包工具,真的很强大。
下载最新的版本,在windows上可以使用命令
disunity.bat extract assets\bin\Data
解包data文件夹下所有的asset资源文件到相应的文件夹中。写一个简单的bat把所有资源整理到一个data文件夹中
批处理如下
@echo off
for /d %%i in (*) do (
xcopy “%%i” “%~dp0\data\” /e /y
)
pause
导出的texture2d为tga和ktx格式,tga可以使用xnconvert转为png格式,如果需要接批处理文件可以使用nconvert。ktx可以使用powervr打开。可以先将ktx转为pvr,在用TexturePacker将pvr转为png
批处理如下
@echo off

path %path%;”C:\Program Files\XnView\”
path %path%;”C:\Imagination\PowerVR\GraphicsSDK\PVRTexTool\CLI

\Windows_x86_64\”
path %path%;”C:\Program Files\CodeAndWeb\TexturePacker\bin\”

for /r %%d in (*.tga) do (
NConvert.exe -out png “%%d”
del “%%d”
)

for /r %%d in (*.ktx) do (
PVRTexToolCLI.exe -f PVRTC1_4_RGB -i “%%d” -o “%%~dpnd.pvr”
TexturePacker.exe –opt RGBA8888 –sheet “%%~dpnd.png” “%%~dpnd.pvr”
del “%%d”
del “%%~dpnd.pvr”
)

pause
整理一下,写了一个统一的批处理文件,如下
@echo off

SETLOCAL ENABLEDELAYEDEXPANSION
set base_path=%1%

@rem disunity extract asset
path %path%;”C:\Program Files\disunity_v0.3.3\”

call disunity.bat extract %base_path%

@rem copy asset to data folder
for /f “usebackq tokens=*” %%d in (`dir “%1%” /b /ad`) do (
xcopy “%base_path%\%%d” “%base_path%\data\” /e /y
)

@rem convert texture to png
path %path%;”C:\Program Files\XnView\”
path %path%;”C:\Imagination\PowerVR\GraphicsSDK\PVRTexTool\CLI\Windows_x86_64\”
path %path%;”C:\Program Files\CodeAndWeb\TexturePacker\bin\”

for /r %base_path%\data\Texture2D %%d in (*.tga) do (
NConvert.exe -out png “%%d”
del “%%d”
)

for /r %base_path%\data\Texture2D %%d in (*.ktx) do (
PVRTexToolCLI.exe -f PVRTC1_4_RGB -i “%%d” -o “%%~dpnd.pvr”
TexturePacker.exe –opt RGBA8888 –sheet “%%~dpnd.png” “%%~dpnd.pvr”
del “%%d”
del “%%~dpnd.pvr”
)

ENDLOCAL
pause
路径需要换成自己软件的相应路径。

reflector 相信用unity的人也不会陌生,反编译unity代码的神器,具体获得可以百度,或者直接购买正版,其实也不贵几百块钱。
这里主要提一下reflector的插件Reflector.FileDisassembler,因为reflector没有导出文件功能,如果需要导出代码文件就需要用这个插件,使用很简单,在tools->Add-Ins中加入下载的插件dll,在列表中选择要导出的dll在FileDisassembler对话框写入要导出的位置,点击Generate就生成成功了。

最后编辑:
作者:wy182000
这个作者貌似有点懒,什么都没有留下。

留下一个回复