1.2.0
- Added entitlement parsing
- Added Codesign information to GUI.
- Added json dumping for all mach-o/obj-c metadata
- Fixed an issue with
Slice.find()
on 32 bit files - Further sped up struct loading substantially.
- Fixed issues with the patcher.
Tool
- Added
ktool cs
for interacting with codesigning info - Added
ktool json
for dumping metadata as json - Implemented
ktool -V
Library
Documentation has been mostly updated to reflect new additions
Codesign Info
- Added
CodesignInfo
class, accessible viaimage.codesign_info
- Entitlements accessible via
codesign_info.entitlements
- Entitlements accessible via
Serialization
The majority of objects containing relevant/important metadata about the image now contain a .serialize()
function, which returns json-formattable dictionaries containing relevant metadata.
Struct Parser
- Redid the method in which
.raw
bytes are generated, eliminating the bottleneck created by that feature - Added support for field "sizes" being another Struct type
File Backing
- Added a
BackingFile
class to further abstract out the direct file reads - Added a
SlicedBackingFile
class to even further abstract out slices within a file. This fixed a confusing issue with theSlice.find()
search utility in 32 bit files. This also abstracts out the patching functionality in order to keep that code more sane.
Patcher
- Refactored the majority of the
LD64
class and its patching methods to now rebuild the entire header and write it via a singleslice.patch()
Parsing of more codesign related information, along with adding more relevant data to json dumps to come.