Skip to content

add basic support for .ase/.aseprite files from LibreSprite and Aseprite#190

Merged
cgsecurity merged 1 commit intocgsecurity:masterfrom
GilkleberMedeiros:aseprite_support
Apr 25, 2026
Merged

add basic support for .ase/.aseprite files from LibreSprite and Aseprite#190
cgsecurity merged 1 commit intocgsecurity:masterfrom
GilkleberMedeiros:aseprite_support

Conversation

@GilkleberMedeiros
Copy link
Copy Markdown
Contributor

This pull solves the #189 issue.

I add a basic support for .ase/.aseprite files. The header check is strict enough to identify the files well. I used data_check_size and file_check_size_min without any special data or final file validation.

RECOMENDATION: Run .ase/.aseprite on photorec expert mode using the smallest blocksize (512). Once simple .ase/.aseprite files can be really small (<1KB).

You can see docs and specs about the .ase/.aseprite files following the issue description.

Important to comment that the first version of this feat had a bug where (because the lack of a data_check function) photorec couldn't determine well the end of file, resulting in unnecessary big files (1MB, 512MB, or even Gigabytes). Running the photorec with that bug almost fulfilled my disk. After that, even running the fixed version or even running on expert mode with smallest blocksize just bring me back the same recovered files, again and again. I expect it to be just an issue with my disk after running that bug version that almost fulfilled it.

test recording (with the commented bug, but recovery working)

I hope I did it well 🙏🏽.

@ancientstraits
Copy link
Copy Markdown

This PR works very well, and helped my friend recover many different aseprite files he had made! Thank you so much for making this pull request, and I hope it will be merged.

@cgsecurity cgsecurity merged commit ab5518d into cgsecurity:master Apr 25, 2026
1 check passed
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.

3 participants