- 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
- Update spp and force hidden visibility
- Use R_API wisely
- RSys.prefix returns const things
- Use -install_name on Apple
- Fix merged lib visibility linking on Linux
- Use OSTYPE instead of BUILD_OS
- Honor crosscompiler-objcopy and support android like linux
- Add extra missing archives
- Fix for android
- Upgrade spp and sdb
- Skip libr. from symstall
- Add --enable-merged configure option
- Use --enable-merged on ios-sdk
- Upgrade sdb again for js0n
- Kill sys/ios-shell.sh
- Msvc dynamic build fix
- fix vaddr / paddr translations (and make them meaningful on slices)
- fix r_buf_fcpy_at to work with slices and with file-backed buffers (at least for reading)
* Refactor the afta code little bit
* Optimize afta by just emulating previous N instruction to a call
* Remove dupe vars
* Fix some minor issues
* Change type_get_size to type_get_bitsize
* anal/xrefs: more uniform xref type output
* anal/xrefs: reduce confusion of `ax` command
* core/cmd_anal: add commands to add string references
* anal/xrefs: when using radare2 output, ref->at should be the second arg
* core/cmd_anal: remove afx commands, except for listing
Since we removed per-function references, now there are only global
ref/xref info, so there's no need to have per-function commands to
handle refs/xrefs.
* core/canal: use "ax" commands instead of "afx"