1

In the source code of SIMBL Agent, there're several codes which send Apple events to the target application. It's like:

[app setSendMode:kAEWaitReply | kAENeverInteract | kAEDontRecord];
id initReply = [app sendEvent:kASAppleScriptSuite id:kGetAEUT parameters:0];

and

[app setSendMode:kAENoReply | kAENeverInteract | kAEDontRecord];
id injectReply = [app sendEvent:'SIMe' id:eventID parameters:0];

I've no idea why the target app will load up the SIMBL plugins after this trigger. It seems to be a very hacky way to do so, and It's difficult to get help from the official documents.

pkamb
  • 33,281
  • 23
  • 160
  • 191
notgeek
  • 51
  • 7

1 Answers1

1

I know what's happening now. SIMBL uses Apple Event(class:kASAppleScriptSuite, type:kGetAEUT), forcing the app to load a script addition. The addition has a pre-defined Apple Script Handler to load the plugins in SIMBL dir. So SIMBL sends 2 Apple Events to do that, when the app is launched.

notgeek
  • 51
  • 7