> For the complete documentation index, see [llms.txt](https://riteshs4hu.gitbook.io/infosec-notes/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://riteshs4hu.gitbook.io/infosec-notes/ios-appsec/static-analysis/tools/linux.md).

# Linux

For Linux: convert/inspect (when `plutil` is not available)

On many Linux systems `plutil` It isn’t installed. Common alternatives: `plistutil`

* `plistutil` (Some distributions have `plistutil` / `libplist`-based tools)

  ```bash
  plistutil -i Info.plist -o Info.plist.xml
  ```

***

### Detect: The file is truncated&#x20;

Apple binary property lists start with the ASCII header `bplist00`. If a file that should be a binary plist does **not** start with that header, it may be:

* an XML plist (valid, different format), or
* mislabeled (a non-plist file named `.plist`), or
* truncated/corrupted (partial file; common when an archive/extraction failed).

This reads the first 8 bytes of the file and shows them as ASCII/hex.

* Linux:

  ```bash
  xxd -l 8 Info.plist
  ```

Example output for a valid binary plist:

```
00000000: 6270 6c69 7374 3030  bplist00
```

If you see `bplist00` (ASCII) in the output, the file is a binary plist header and likely not truncated.

***

Use `vscode` Extension [Binary Plist](https://github.com/dnicolson/binary-plist.git)

***

### LLVM&#x20;

Alternative of otool.

* <https://llvm.org/docs/CommandGuide>

```
apt install llvm
```

* `llvm-otool` - Mach-O dumping tool
