Jinmo / idapkg

Packages for IDA Pro (written in python but supports all)
MIT License
131 stars 16 forks source link

Package schema thread #1

Open Jinmo opened 5 years ago

Jinmo commented 5 years ago

Package schema is a subject that improvements can be made on and on, so I made this thread.

This is inspired by Pipfile.lock.

Overall structure

Required:
+   info.json

Optional for IDA:
+   plugins/
       ...
+   procs/
       ...
+   loaders/
       ...
+   til/ sig/ ids/
       ...

Optional for package:
+   README.md

package-id/info.json

{
    // package name
    "name": "Community Headers",
    // version used in package management (required)
    "version": "0.0.1",
        "description": "",
        "homepage": "https://example.com",
    "installers": ["installer.py"],
    "dependencies": {
        "other-plugin-id": ">=1.0"
    }
}

NOTE

I was thinking about installing required pip packages, but installer can do that. Since there are many implementation for pip packaging, I'm not sure if I should expose a pip-installing function from package manager.

Maybe a website for validating the scheme and hosting some packages would be good.