Pyimg4

Latest version: v0.8.6

Safety actively analyzes 687767 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 4

0.5.2

This is a \*super* small fix that uses my version of pylzss from [PyPI](https://pypi.org/project/pylzss/), rather than a direct link to the [GitHub repository](https://github.com/m1stadev/pylzss), so that PyIMG4 releases are now able to be pushed to PyPI.

0.5.1

**Major Changes**
- Allow installing on Python 3.6+
- While PyIMG4 can be installed on Python 3.6, only Python 3.7+ will be supported.
- Run tests on Python 3.7-3.10
- Use [isort](https://github.com/PyCQA/isort) for sorting imports

**Full Changelog**: https://github.com/m1stadev/PyIMG4/compare/v0.5...v0.5.1

0.5

**Quick note**
From now until 1.0 release, I plan to keep the API \*mostly* stable, for those wanting to use PyIMG4 in their tools.

For now, the only major things I plan to do before 1.0 release are:
- Write the CLI tool
- Write documentation

Now, for some (probably incomplete) release notes:

**Major Changes**
- Lots of code cleanup and minor bug fixes
- Added automated tests. They should help confirm releases will always be fully functional
- Fix installing on Python 3.10
- This was due to PyLZSS needing an update. I now have a [fork](https://github.com/m1stadev/pylzss) that PyIMG4 uses, which has Python 3.10 support.
- Better error handling
- Added support for parsing IM4R
- Added `pyimg4.IM4R` for handling the data
- Properly handle/recreate the `complzss` header found at the beginning of LZSS-compressed kernelcaches, along with extra data (like KPP)
- Added `print-img4-info` script
- `pyimg4.IMG4`, `pyimg4.IM4P`, and `pyimg4.IM4R` can all be constructed without any data, and modified much easier.

**API Changes**
- `pyimg4.Compression`
- Added `Compression.UNKNOWN` for when payload is encrypted
- `pyimg4.IM4M`
- Added `IM4M.chip_id`
- `pyimg4.ManifestImageData`
- `fourcc` is no longer a required argument
- More data is now parsed in this class
- `pyimg4._PyIMG4`
- New internal class that acts as a base for all PyIMG4 data types
- Prefix `_PyIMG4.encoder` and `_PyIMG4.decoder` with an underscore to signal they are meant for internal use.
- `pyimg4.PyIMG4Data`
- Now subclasses `_PyIMG4`
- Renamed to `Data`

**Full Changelog**: https://github.com/m1stadev/PyIMG4/compare/v0.4...v0.5

0.4

**Changes**
- Lots of code cleanup
- Updated type-hinting
- `pyimg4.PyIMG4Data`
- Add `PyIMG4Data.output()` for outputting data
- `PyIMG4Data.get_type()`: Return class instead of class instance
- `pyimg4.Keybag`
- Actually parse data if provided
- `pyimg4.IM4PData`
- `IM4PData.compress()`: Decompress data if compressed as a different format, better error handling

0.3

Changes

- General changes:
- Rename `pyimg4.types.GIDKeyType` to `pyimg4.types.KeybagType`
- Add more type-hinting
- Added `pyimg4.PyIMG4Data.get_type()` for

- Examples:
- Added `im4p-to-img4` script
- Updated existing scripts for new API

- `pyimg4.IM4M`:
- Return `pyimg4.IM4M.apnonce`/`pyimg4.IM4M.sepnonce` attributes as hex strings
- Add `pyimg4.IM4M.__add__()` function for creating a `pyimg4.IMG4` object
- Add `pyimg4.IM4M.data` attribute for getting raw IM4M data

- `pyimg4.Keybag`:
- Allow manually specifying an IV/Key pair

- `pyimg4.IM4P`:
- Add `pyimg4.IM4P.create_img4()` for creating an IMG4 object
- Add `pyimg4.IM4P.__add__()` function for creating a `pyimg4.IMG4` object

- `pyimg4.IM4PData`:
- Add `pyimg4.IM4PData.compress()` for compressing data.

Full changelog: 1

0.2

API changes:
- `PyIMG4.raw_data` -> `PyIMG4.data`
- `IM4PData.decompress` (function) -> `IM4PData.decompressed` (property)
- IM4P: Fix creating IM4P
- Added [example scripts](https://github.com/m1stadev/PyIMG4/tree/v0.2/examples) showing off some of PyIMG4's features.

Page 3 of 4

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.