* Fix afv commands and other issues
* Honor anal.vars
* Fix some issue in stackop due to inconsistent esil
* Fix afvd printing issue
* Fix vars summary and add afv* to help
- still supports only 64-bit caches
- use MACH0_ functions
- parse symbols, sections and classes
- use R_DYLDCACHE_FILTER env variable to symbolicate only a subset of the cache
- rebase unslid caches on-the-fly, properly slide slid caches symbols
- expose `get_class_t`
- put an arbitrary limit on the class name instead of using section size, on files like dyld caches sections can be many hundreds of MB long and can cause a 100x slowdown. objc doesn’t define a max length for class names, but for all practical purposes 256 seems fine
- optionally use an external va2pa conversion function, if provided by the bin obj (again, useful for dyld caches in which references can point to data in different sub-bins)
- avoid calling the bin plugin for finding the __classlist section, instead use bin obj directly
- add a `MACH0_(opts_t)` structure to be passed to the constructors, it holds the `verbose` flag and the `header_at` fields for now, but can be tweaked in future without changing the constructors’ signatures all the time
- add support for loading mach0 files where the header is not at offset 0, that’s the meaning of the `header_at` option, this is needed for parsing dyld cache sub-binaries
- the default `MACH0_(new_buf)` constructor now takes a reference of the given buffer instead of making a copy, so got rid of `MACH0_(new_buf_steal)`
- ported the bin_macho plugin to use the new constructor with options
This is reflected when the web service is used.
I have added an input filter for the invalid characters in the names of the files to analyze, using the encodeHtmlEntity() function, applied in the variable x[0].uri