Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New tool in Python3 #2

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

New tool in Python3 #2

wants to merge 1 commit into from

Conversation

JayFoxRox
Copy link
Owner

@JayFoxRox JayFoxRox commented Jun 5, 2019

Solves many issues with extract-xiso.
It was primarily an attempt to understand the extract-xiso issue and to visualize the file format; the output looks like this:

Visualization of XISO


Some more comments I left on Discord when originally posting this:

for most use-cases, we'll want to extract by array, not the binary-search-tree layered on-top. that's not implemented yet.

the creation was barely tested and I have had a hard time understanding the code myself in the end. I'd prefer if it was more flexible (fill data first - respecting pre-allocated data and layerbreak; then generate optimization binary-tree structure afterwards)

it should be moved into a standalone project, as I don't intend to maintain most of the extract-xiso features [360 bullshit + media patching + rewriting]

the graphviz export should be a stand-alone feature. there should be a callback or tree structure which is generated [either from filesystem, or from XISO]. that way the same code could be reused for visualization, reading and writing

Read the source-code to find out more.

data_offset = sector * SECTOR_SIZE
offset += 14

# MS kernel checks for empty directory is directory size = 0.
Copy link
Owner Author

@JayFoxRox JayFoxRox Sep 4, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reword this and make clear that a description of an Xbox kernel bug follows.

# Their file-search isn't aware. So for empty directories, it sees garbage.
#
# 1. Searching in empty directory fails with STATUS_DISK_CORRUPT_ERROR.
# 2. Empty directories have file: "\xFF" * 0xFF; but filtered by bound-check.
Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is hard to understand. Reword.

@sl1pkn07
Copy link

seems not works with python 3.10

└───╼  python extract-xiso.py 
extract-xiso
Traceback (most recent call last):
  File "/media/COSAS/aplicaciones/extract-xiso/extract-xiso.py", line 11, in <module>
    option = sys.argv[1]
IndexError: list index out of range

greetings

else:
assert(right != 0xFFFF)

# Parse filname
Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: typo

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants