// 根据BundleID获取进程PID
// IDA出来的,很简单 就写正规代码了,自己抄

int __fastcall sub_132944(int BundleId, int pid)
{
  int _BundleId; // r5@1
  int _pid; // r4@1
  void *v4; // r0@1
  void *SBSProcessIDForDisplayIdentifier; // r2@3
  int result; // r0@4

  _BundleId = BundleId;
  _pid = pid;
  v4 = (void *)dword_1BAABC;
  if ( (dword_1BAABC
     || (v4 = dlopen("/System/Library/PrivateFrameworks/SpringBoardServices.framework/SpringBoardServices", 1),
         (dword_1BAABC = (int)v4) != 0))
    && (SBSProcessIDForDisplayIdentifier = dlsym(v4, "SBSProcessIDForDisplayIdentifier")) != 0 )
    result = ((int (__fastcall *)(int, int))SBSProcessIDForDisplayIdentifier)(_BundleId, _pid);
  else
    result = 0;
  return result;
}


你可能感兴趣的文章

评论区

发表评论

必填

选填

选填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。