multi / extractor.py
webzepetoku's picture
Create extractor.py
c5ce366 verified
Raw
History Blame Contribute Delete
1.02 kB
import UnityPy
import sys
if len(sys.argv) < 3:
sys.exit(1)
mode = sys.argv[1]
bundle_path = sys.argv[2]
if mode == "extract":
mesh_out = sys.argv[3]
tex_out = sys.argv[4]
env = UnityPy.load(bundle_path)
m_done = False
t_done = False
for obj in env.objects:
if obj.type.name == "Mesh" and not m_done:
with open(mesh_out, "wb") as f:
f.write(obj.get_raw_data())
m_done = True
elif obj.type.name == "Texture2D" and not t_done:
with open(tex_out, "wb") as f:
f.write(obj.get_raw_data())
t_done = True
print("EXTRACTION_DONE")
elif mode == "find_id":
env = UnityPy.load(bundle_path)
m_id = "NONE"
t_id = "NONE"
for obj in env.objects:
if obj.type.name == "Mesh" and m_id == "NONE":
m_id = str(obj.path_id)
elif obj.type.name == "Texture2D" and t_id == "NONE":
t_id = str(obj.path_id)
print(f"IDS:{m_id},{t_id}")