Using "joker -j" on an 64bit 8.4 kernel produces an empty companion file (0 bytes).But the mere presence of the file seems to make jtool disassemble about 5 times faster and not create names like _func_ffffff8014d0b78c.The full diff is about 10MB, but here are the first 100 lines:

If jtool detects a companion file, it doesnt attempt to parse LC_FUNCTION_STARTS *or* the symbol table, which indeed speeds up disassembly by orders of magnitude. It also provides for better decompilation (companion files can assign registers at certain addresses for example). But that means that if the companion file is empty, it doesn't load any symbols at all, leaving addresses in raw form, rather than at least the func_Xxxx which it gets from FUNCTION_STARTS.

--III) The --inplace should work. I'm confused. I use it with --sign --inplace, and it overwrites the original file. If not, then yes, it creates out.bin. not /tmp. That's a bug in the description--

And thanks a ton for this feedback. Honestly, it's all quick fixes - but these are things I simply didn't run into - when you code your own tool, something implicitly makes you work around your own bugs, I guess.

I got some serious plans, my friend. JTool started with ARM/Thumb, then I gave up at some point, commented the whole $%$#% out, and did the ARM64 which is easier. I thought 64 was the future, but with Apple's insistence to keep ARMv7k around, I guess 32-bit is here to stay as well.

I'm truly grateful for your fixes - so even if you feel nitpicky at times, keep reporting. Sure as heck beats "I just use capstone". %#$%$#.