Mac OS流程调试

有时您是否想知道第三方应用程序在做什么以及如何做?

首先,您需要记住要安装brew 。 然后只需安装诸如lsof之类的东西

Brew是Mac OS软件包管理器https://brew.sh/

让我们一起玩Spotify。 刚启动一些终端

  ps aux |  grep -i spotify#有几个过程... 

现在我们想知道这些进程正在使用哪些文件,因此让我们列出一些。

  ps aux |  grep -i spotify |  awk'{print $ 2}'#让我们从列表中取出第一个pid 

让我们来看看父进程的打开文件(707)

  lsof -p 707 

有很多结果。 但是有些东西可以告诉我们/ Users / user / Library /中有一些有趣的文件…因此,让我们去那里,然后打开fswatch

fswatch是一种监视器应用程序。 类似于Linux中的inotify

  cd /Users/kamil/Library/Caches/com.spotify.client/Data 

让我们看看fswatch

  fswatch。  #不要杀死这个 

让我们先播放下一个/上一个和播放按钮。

再看一下终端

什么是文件?

 文件0e / 0e54c00a1ac3c3865fe30547b2f7d8fd42ef774b.file 

因此,让我们来看看字符串

 字符串0e / 0e54c00a1ac3c3865fe30547b2f7d8fd42ef774b.file 

看起来不像任何熟悉的文件类型

因此,让我们使用以下脚本检查文件的熵http://www.kennethghartman.com/calculate-file-entropy/ —下载代码并启动

那是一些专有的压缩文件,让我检查一些rar / zip文件

 找到* .zip#随机获取一些zip文件 

然后再次启动脚本

  Python2 /tmp/entropy.py /usr/local/Homebrew/Library/Homebrew/test/support/fixtures/cask/container.rar 

所以看起来现在我们可以确定那些文件是一些压缩的音乐文件