Slashdot Mirror


Brief Tutorial on Reverse Engineering Mac OS X

rjw57 writes "There is an article on OSNews I wrote about how the guy behind Desktop Manager goes about reverse engineering APIs from Mac OS X with a brand new example not revealed anywhere else. From the article: 'I am often asked in email how I uncovered the API calls I use in Desktop Manager which are, unfortunately, undocumented. This article aims to give a little insight into the techniques I use to reverse engineer Mac OS X in order to provide extra functionality to users and extra information to third-party developers. In this article all the utilities I use are a standard part of Mac OS X's developer tools which are freely available.'"

3 of 121 comments (clear)

  1. Re:Versus Expose? by avalys · · Score: 5, Interesting

    If you're working with a lot of windows/applications, virtual desktops can act as a nice complement to Expose.

    I'm surprised Apple hasn't made it a built-in feature. They have fast user switching, but that's not the same thing.

    --
    This space intentionally left blank.
  2. Re:Huh? by the+pickle · · Score: 4, Interesting

    Or, more likely, Apple hasn't seen fit to document the calls yet. Not to excuse their laziness, but it seems like Apple gets around to documenting things much less quickly than they used to. Frankly, I suspect that even after nearly five years of OS X, they're still playing a bit of catch-up with the documentation.

    p

  3. Re:Huh? by Trillan · · Score: 4, Interesting

    Apple has two methods for putting items in the menu bar: The "right" way to do things, and the way that looks good to users.

    The wrong way to do things -- and the way Apple uses for their menulets -- reserved involves injecting code into SystemUIServer's running space. If one menulet crashes, all menulets crash under this model. It is not surprising they want to discourage this mechanism for end-developer use.

    Personally, I expect that sooner or later Apple will port the features of the "wrong" way to the right way, then upgrade thier menulets to use the documented API instead of the undocumented one. However, I expect there are much higher priorities.