Predeftool
Tool for bulk extracting preinstalled content from Nokia firmware packages
Install / Use
/learn @gtrxAC/PredeftoolREADME
predeftool
Work-in-progress tool for bulk extracting preinstalled content from Nokia firmware packages.
This collection of scripts is used to create predefrepo (MEGA mirror), a repository of preinstalled games, apps, and themes found on various Nokia phones.
Status
- Most GSM S40 (DCT4 and BB5) phones should be supported. BB5 support is experimental.
- S40v1 phones use a custom filesystem (PPM), which is not supported right now, but it seems to be relatively simple.
- DCT4.5 (TIKU) phones like the 6230 use a different image format (but the underlying file system is standard FAT16), so they shouldn't be too difficult to support.
- See the spreadsheet of supported models.
Usage
As the tool is primarily developed on Linux, support for other operating systems is untested and unlikely.
Prerequisites
- Python 3
- Wine
- IsXunpack
- unshield
Steps
- Clone the repository.
- Download Universal Extractor. Make sure to pick the binary archive. Note that there is a newer project called UniExtract2 which will not work for this use case.
- Extract the UniExtract archive and copy IsXunpack.exe from the bin folder to the predeftool root folder.
- Download firmware package EXEs (see Useful links below) and put them in the packages folder.
- To extract content from the installer EXEs, run
./main.sh. Content is placed into the content folder. - To create an index of all apps, games, and themes, run
python index.py content index.json. - To create a sorted archive of all apps, games, and themes listed in the index, run
python sort.py index.json. The sorted content is placed into the sorted folder.
Advanced usage
./main.sh clean- deletes all temporary files used for extraction, but keeps packages and extracted content./main.sh mount /path/to/image.img- mounts a file system image in the same way that the tool does./main.sh unmount- unmounts any temporary file systems used by the tool, useful in the case of an error, or when using the mount commandpython extract.py /path/to/image- converts a Nokia image file into a FAT16 filesystem image, outputs to /path/to/image.img
Known issues
- When extracting, you will get a "no such file or directory" warning about a "ucp" or "image" folder, this is normal.
- "we got fault packet with status 0x1c010003" is a normal warning message produced by Wine and does not affect extraction.
Useful links
- PhoneTones, an existing repository of ringtones
- Nokia DCT4 firmware packages
- Nokia BB5 firmware packages
Thanks
I would like to thank the following people for helping with this project:
- laissez6 for finding a way to extract newer DotNetInstaller firmware packages
- The ROMphonix project for hosting predefrepo
Related Skills
docs-writer
99.0k`docs-writer` skill instructions As an expert technical writer and editor for the Gemini CLI project, you produce accurate, clear, and consistent documentation. When asked to write, edit, or revie
model-usage
335.4kUse CodexBar CLI local cost usage to summarize per-model usage for Codex or Claude, including the current (most recent) model or a full model breakdown. Trigger when asked for model-level usage/cost data from codexbar, or when you need a scriptable per-model summary from codexbar cost JSON.
pr
for a github pr, please respond in the following format - ## What type of PR is this? - [ ] 🍕 Feature - [ ] 🐛 Bug Fix - [ ] 📝 Documentation - [ ] 🧑💻 Code Refactor - [ ] 🔧 Other ## Description <!-- What changed and why? Optional: include screenshots or other supporting artifacts. --> ## Related Issues <!-- Link issues like: Fixes #123 --> ## Updated requirements or dependencies? - [ ] Requirements or dependencies added/updated/removed - [ ] No requirements changed ## Testing - [ ] Tests added/updated - [ ] No tests needed **How to test or why no tests:** <!-- Describe test steps or explain why tests aren't needed --> ## Checklist - [ ] Self-reviewed the code - [ ] Tests pass locally - [ ] No console errors/warnings ## [optional] What gif best describes this PR?
arscontexta
2.9kClaude Code plugin that generates individualized knowledge systems from conversation. You describe how you think and work, have a conversation and get a complete second brain as markdown files you own.
