Retrospective on Reverse-Engineering a Tiger Bug
Rosyna Keller (Mastodon, tweet):
At the time, Apple only allowlisted specific menu extras by class name (checked in
-[SUISStartupObject _canLoadClass:])
. Any attempt to load a menu extra that advertised a different class name in its Info.plist’s NSPrincipalClass entry would fail. Menu extras were first-class citizens. You could hold the Command (⌘) key down to move or quit them. They loaded automatically and needed no backing application. This sent lots of developers looking for workarounds to Apple’s allowlist, as they wanted these features for their own menus.Some developers would steal one of the allowlisted class names for their menu extra plugin. This was unwise. The Objective-C runtime only allowed one class instance with a specific name to be loaded at a time. When it found duplicates, the one it chose was an implementation detail that could cause unexpected crashes. Favorite choices of class names to hijack included
AppleVerizonExtra
orIrDAExtra
, i.e., something a user isn’t likely to have enabled. In the rare case someone did enable these, or if more than one developer chose to steal the same class name, all hell could break loose.This was the impetus for Menu Extra Enabler. It was an old-style InputManager plugin that automatically loaded into SystemUIServer when installed and overrode the
-[SUISStartupObject _canLoadClass:]
instance method to returnYES
unregardless of what class name was used for the menu extra’s principal class.[…]
I’m desperately looking for any assistance that can be provided. Specifically, I need some temporary help to afford the health insurance and rent. […] My ultimate goal is to find some contracting work for macOS/iOS where I can use my reverse engineering and bug fixing/finding/working around skills. I miss figuring out how things work, something I could do in spades while working on macOS Notarization at Apple.
Previously:
- iOS: Closing of the Frontier
- Is the Mac’s Future Bright?
- Apple Blacklists Its Own Ethernet Driver
- Rosyna Needs Help
- Disabling Dropbox’s Haxie
- Siegel on Haxies
- NSTextView I-Search
- Menu Master 1.0
3 Comments RSS · Twitter · Mastodon
It's been 10 years since Rosyna put out a similar [desperate call for help](https://mjtsai.com/blog/2015/09/24/rosyna-needs-help/).
Another brilliant mind let go by Apple.
What did that old campaign say? “Here's to the crazy ones. The misfits. The rebels. The troublemakers. The round pegs in the square holes. The ones who see things differently…”
Yeah, something like that.
@Nick M
"One year ago, I was “let go” from Apple as I had used up all my disability leave. It was either “come back, or quit”. So I came back, even though my disability wasn’t treating me any better. I was shortly thereafter let go because my disability was incompatible with productivity, especially under a boss who couldn’t understand non-physical disabilities."
Sounds like Rosyna has an invisible mental disability. It’s very hard to survive with those in America and it’s unfortunately suprising they’re putting out another call for help. People with those challenges often burn themselves out trying to keep up at work because they’re expected to do everything a non-disabled person does and then they hit a wall