Giter Club home page Giter Club logo

lpkunpacker's Introduction

Hi there 👋, I'm Ihopenot

Visitors:

visitor

lpkunpacker's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

lpkunpacker's Issues

那么问题来了

我该如何把moc文件里的数据提取出来呢?我想提取moc里的模型数据来在其他软件里进行重现。例如将其变为spine的json模型数据,将其变为spine模型。

Failed to unpack

Logs:

2024-06-10 01:20:36,351 - lpkLoder - INFO - extracting character_costume_0
2024-06-10 01:20:36,351 - lpkLoder - INFO - try to decrypt entry model.json
2024-06-10 01:20:36,351 - lpkLoder - INFO - trying to auto fix fileId
recovering 77001e25aa691ad9e309bfa76bbf241d.bin -> output/character/model_0.moc
recovering 88ee76dd5ee87b379259a6e8dd3cd4d5.bin -> output/character/textures_$values_0_0.png
recovering ce87da7137c1abfa0f7b3274908f09e3.bin -> output/character/motions_tap_skirt_$values_0_file_0
recovering d197c42878250f6067836b096392f747.bin -> output/character/motions_tap_skirt_$values_0_sound_0.mp3
Traceback (most recent call last):
  File "/home/tommy/programs/LpkUnpacker/LpkUnpacker.py", line 22, in <module>
    loader.extract(args.output_dir)
  File "/home/tommy/programs/LpkUnpacker/Core/lpk_loader.py", line 42, in extract
    self.extract_costume(chara["costume"][i], subdir)
  File "/home/tommy/programs/LpkUnpacker/Core/lpk_loader.py", line 59, in extract_costume
    self.extract_model_json(filename, dir)
  File "/home/tommy/programs/LpkUnpacker/Core/lpk_loader.py", line 84, in extract_model_json
    commands = val.split(";")
               ^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'split'

Files provided
Archive.tar.gz

提取资源缺失

          我需要帮助我在解包https://steamcommunity.com/sharedfiles/filedetails/?id=2932220840时遇到问题。

2
1
2932220840.lpk有三个Spine2d
4
3
6
但只能解出正面的Spine2d侧身和背面的解不出来,应该怎么办才能解出剩下两个

Originally posted by @moyulu6 in #9 (comment)

一点小缺陷

感谢分享,我在使用该代码解包时发现许多解不出来,看了看代码,发现live2dView的命令有两种命名格式,一种是_Command结尾,还有一种时_PostCommand,需要在这里加一个or
image

ModuleNotFoundError

image
按照usage输入出现下图情况,请问这个是我输入有问题还是我python出问题了,会报错啊,我是在LpkUnpacker.py的那个目录下直接cmd然后输入的.

解包含有多个模型的lpk文件时缺少部分文件

在解包含有多个moc模型或者Spine模型的lpk时,会出现只解包出一个模型的情况
在对某个创意工坊的lpk文件解包时
输出为:
recovering 7bf0d4d62c36d4facd2c341c6e546443.bin -> ./character/textures_0_0.png
recovering c58b439631f47b8e20076f8f30efc970.bin -> ./character/textures_1_0.png
recovering 15c6358efc979887522116d89f946db6.bin -> ./character/textures_2_0.png
recovering 4a9c0609a713976aecf9ff5f59477723.bin -> ./character/motions_语音_0_sound_0.ogg
recovering 5e1c78aba8868a878aa3fe573eba3f18.bin -> ./character/motions_语音_1_sound_0.ogg
recovering a7ac340408504ec9950107c5f40dd457.bin -> ./character/motions_语音_2_sound_0.ogg
recovering 3b720cbb1816306f85fe2b6bf1057f90.bin -> ./character/motions_背景音乐_0_sound_0.ogg
recovering f8a0aa7702e3e04d63eaae8eb2ebe245.bin -> ./character/skeleton_0.json
recovering d19f5dc6412e2ad60c80d0c593f1f2cb.bin -> ./character/atlas_0
共9个文件
但原lpk文件直接解压后有121个文件,与解包结果差距过大。希望作者大大有时间能修复一下。
Spine模型测试文件地址:
https://www.123pan.com/s/WnGKVv-NYNAv
live2d模型测试文件地址:
https://www.123pan.com/s/WnGKVv-RYNAv

python小白请教下大佬使用方法

请问如何配置位置参数呢,我尝试用Pycharm配置了一下,返回了以下提示:

TypeError: expected str, bytes or os.PathLike object, not NoneType

这是我在Pycharm中尝试的配置内容:
C:\Users\Downloads\LpkUnpacker-master\LpkUnpacker-master\xxx.lpk
C:\Users\Downloads\LpkUnpacker-master\LpkUnpacker-master

TODO

  • command中的set_exp和replace_tex可能需要支持一下,见l2dex doc
  • extract函数最后的str.replace可能很慢

解密失败

尝试用这位老哥说的方法加载,执行python LpkUnpacker.py后,报错如下

Traceback (most recent call last):
  File "/home/Neko/LpkUnpacker/LpkUnpacker.py", line 6, in <module>
    loader.extract("./new")
  File "/home/Neko/LpkUnpacker/Core/lpk_loader.py", line 42, in extract
    self.extract_costume(chara["costume"][i], subdir)
  File "/home/Neko/LpkUnpacker/Core/lpk_loader.py", line 57, in extract_costume
    self.check_decrypt(filename)
  File "/home/Neko/LpkUnpacker/Core/lpk_loader.py", line 116, in check_decrypt
    self.decrypt_file(filename).decode(encoding="utf8")
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/Neko/LpkUnpacker/Core/lpk_loader.py", line 161, in decrypt_file
    return self.decrypt_data(filename, data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/Neko/LpkUnpacker/Core/lpk_loader.py", line 164, in decrypt_data
    key = self.getkey(filename)
          ^^^^^^^^^^^^^^^^^^^^^
  File "/home/Neko/LpkUnpacker/Core/lpk_loader.py", line 153, in getkey
    return genkey(self.mlve_config["id"] + self.config["fileId"] + file + self.config["metaData"])
                                           ~~~~~~~~~~~^^^^^^^^^^
KeyError: 'fileId'

这是lpk和config,大佬帮我康康吧
lpk.tar.gz

为什么解密出来的数据不完整

非常感谢大佬制作的工具,我在使用时碰到一点问题。
一个30m的lpk文件解密出来只有18m,缺失了近一半数据,是怎么回事?

我输入的命令:
python LpkUnpacker.py -c .\L2dFile\config.json .\L2dFile\2841455416.lpk .\Export

如何使用这个项目

目录结构

.
├── Core
│   ├── lpk_loader.py
│   └── utils.py
├── LpkUnpacker.py
├── README.md
├── output              <==
├── requirements.txt
└── lpkfolder           <==
    ├── target.lpk      <==
    └── config.json     <==

使用方法

  1. clone这个仓库
  2. 在仓库目录下新建output和lpkfolder两个文件夹
  3. 把你的lpk和config.json丢到lpkfolder里去
  4. 在仓库目录下运行python LpkUnpacker.py -c lpkfolder/config.json lpkfolder/target.lpk output

使用pycharm请自行搜索怎么添加python启动参数

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.