Interprocess Communication with Macos: Apple Ipc Methods
暫譯: macOS 的進程間通信:Apple IPC 方法

Dutt, Hem

  • 出版商: Apress
  • 出版日期: 2021-05-29
  • 售價: $2,370
  • 貴賓價: 9.5$2,252
  • 語言: 英文
  • 頁數: 284
  • 裝訂: Quality Paper - also called trade paper
  • ISBN: 1484270444
  • ISBN-13: 9781484270448
  • 海外代購書籍(需單獨結帳)

商品描述

Build highly modular software in macOS that interacts deeply and intuitively with other programs. This book explores all techniques available for Inter-process communications (IPC) from high level macOS layers to deep kernel options while applying theoretical concepts into practical implementations on real world scenarios.
You'll see how IPC techniques are used for exchanging data and messages among multiple threads in one or more processes, which may be running on one or more computers connected by a network or running locally. IPC methods can be divided into methods for message passing, synchronization, shared memory, and remote procedure calls (RPC). A poorly conceived IPC can even expose an entire network to over-the-network attacks. Despite the risks, processes and applications absolutely need to communicate with each other across your system and the network. You'll see how these communications facilitate information sharing, computational speedup, modularity, convenience, and privilege separation.
In macOS, a program has a number of ways to communicate with other programs. These mechanisms for IPC often exist in different layers of the system. You'll examine how each has its own specific purposes, limitations, and intended scenarios. Some are more suitable than others for code written at a certain level of the system. For example, a kernel extension would not make use of Apple events.
Additionally, the book reveals that different users have different rights when it comes to accessing files, changing system wide settings, and so on, depending on whether they are admin users or ordinary users. Running code with root or administrative privileges can intensify the dangers posed by security vulnerabilities. You'll learn that to elevate privileges safely, it is mandatory for the application to perform the task through a secure Helper process.
What You'll Learn

  • Expand the capabilities of your programs by sharing data within multiple applications
  • Understand and dig deep into the world of Helper tools to create apps that need user privilege elevation
  • Enhance the modularity of a system by allowing your applications to interact and share data with a website


Who This Book Is For
Software engineers and architects designing and developing secure applications for macOS and iOS who have hands-on knowledge of Swift with XCode.

商品描述(中文翻譯)

在 macOS 中構建高度模組化的軟體,能夠與其他程式深度且直觀地互動。本書探討了所有可用的進程間通信(Inter-process communications, IPC)技術,從高層的 macOS 層到深層的內核選項,同時將理論概念應用於現實世界場景的實際實現。

您將看到 IPC 技術如何用於在一個或多個進程中的多個執行緒之間交換數據和消息,這些進程可能在一台或多台通過網絡連接的計算機上運行,或是在本地運行。IPC 方法可以分為消息傳遞、同步、共享內存和遠程過程調用(Remote Procedure Calls, RPC)等方法。一個設計不良的 IPC 甚至可能使整個網絡暴露於網絡攻擊之下。儘管存在風險,進程和應用程序絕對需要在系統和網絡之間進行通信。您將看到這些通信如何促進信息共享、計算加速、模組化、便利性和特權分離。

在 macOS 中,程式有多種方式與其他程式進行通信。這些 IPC 機制通常存在於系統的不同層次中。您將檢視每種機制的特定目的、限制和預期場景。有些機制比其他機制更適合在系統的某一層級編寫的代碼。例如,內核擴展不會使用 Apple 事件。

此外,本書揭示了不同用戶在訪問文件、修改系統範圍設置等方面擁有不同的權限,這取決於他們是管理員用戶還是普通用戶。以 root 或管理員權限運行代碼可能會加劇安全漏洞帶來的危險。您將學到,為了安全地提升權限,應用程序必須通過安全的輔助進程來執行任務。

您將學到的內容


  • 通過在多個應用程序之間共享數據來擴展您的程式功能

  • 深入了解輔助工具的世界,以創建需要用戶權限提升的應用程序

  • 通過允許您的應用程序與網站互動和共享數據來增強系統的模組化

本書適合誰
本書適合設計和開發安全應用程序的軟體工程師和架構師,特別是那些具備使用 Swift 和 XCode 的實務經驗的 macOS 和 iOS 開發者。

作者簡介

Hem Dutt started his software engineering career in 2010 as a macOS (OS X) application developer and thereafter designed and developed numerous native macOS and iOS applications for various clients across the globe while working in multiple MNCs. With more than a continuous decade of experience working in macOS, Hem Dutt has developed applications in multiple domains; including healthcare, insurance, VPN clients, publishing, and IOT. His passion for designing and developing secure, reliable, and modular software is evident from his blogs, client awards/recommendations, and open source projects.

作者簡介(中文翻譯)

Hem Dutt於2010年開始了他的軟體工程師生涯,擔任macOS (OS X) 應用程式開發人員,之後為全球各地的多個客戶設計和開發了許多原生的macOS和iOS應用程式,並在多家跨國公司工作。擁有超過十年的macOS持續工作經驗,Hem Dutt在多個領域開發了應用程式,包括醫療保健、保險、VPN客戶端、出版和物聯網(IoT)。他對設計和開發安全、可靠和模組化軟體的熱情,從他的部落格、客戶獎項/推薦以及開源專案中可見一斑。