A simple python tool for injecting a dylib into an IPA, everyone can understand what's going on behind the scenes
Because this tool simply perform the following steps
- Save the entitlements of the app's main bundle executable using ldid
 - Remove the code signature of the app's main bundle executable using ldid
 - Insert tweak dylib into the executable's LC_LOAD_DYLIB
 - Recover the entitlements using ldid
 - Remove the code signature of the tweak dylib using ldid
 - Change LC_ID_DYLIB of the tweak
 - Change LC_LOAD_DYLIB of the tweak with our hooking library
 - Move the modified items(executable, tweak, hooking lib) into the zip
 
Python > 3.8.0
git clone https://github.com/hackcatml/mlinject.git
cd mlinject
pip install -r requirements.txt
python main.py
follow the instruction prompts
It will inject ellekit or CydiaSubstrate as a hooking library