Accompanying code for a blog post.
This repository contains a uniq_opens.txt file as generated in the blog post. Replace this file if new data is generated.
- Install Neo4J Desktop or create AuraDB instance
- Run
brew install libmagic - Run
python3 -m pip install -r requirements.txtin the project root - Run
npm installin the project root - Download and unpack the target IPSW and mount the root filesystem
- Run
diskutil enableOwnership /Volumes//Volumes/SkyF19F77.D10D101D20D201OS(or whatever the actual mount point is) - Edit the
process_opens.pyscript so thatROOT_FS_PATHis the mount point of the filesystem - Edit the
process_opens.pyscript to fill in the Neo4J credentials/host - Copy
config.json.exampletoconfig.jsonand fill in the Corellium credentials, project name, and device UUID - Invoke the script:
sudo python3 process_opens.py(as root because we enable permissions on the FS)
Once complete, validate that the data imported successfully by running this Cypher query in the Neo4J Browser:
MATCH (p:Process) RETURN p