> For the complete documentation index, see [llms.txt](https://sansong.gitbook.io/cyber/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://sansong.gitbook.io/cyber/rev/outils.md).

# Outils

Des outils sympas

## Détecter le type d'un fichier

### Detect-It-Easy

{% embed url="<https://github.com/horsicq/Detect-It-Easy>" %}

## Récupérer diverses informations sur un fichier&#x20;

### Objdump

Récupérer des informations sur un fichier (adresse de fonctions, instructions assembleur, etc.)

**Table des symboles**

```sh
objdump -t <fichier>
```

**Désassembleur**

```sh
objdump -d <fichier>

# pour une fonction spécifique
objdump -d --disassemble=<symbole> <fichier>

# synthaxe intel
objdump -M intel -d <fichier>
```

{% embed url="<https://man7.org/linux/man-pages/man1/objdump.1.html>" %}

### Readelf

Récupérer des informations sur un fichier ELF

**Table des symboles**

```sh
readelf -s <fichier elf>
```

**Protections sur les zones mémoires**

```shell
readelf -l <fichier elf>

Elf file type is EXEC (Executable file)
Entry point [...]

Program Headers:
  Type           Offset   VirtAddr   PhysAddr   FileSiz MemSiz  Flg Align
  [...]
  GNU_STACK      0x000000 0x00000000 0x00000000 0x00000 0x00000 RW  0x10
  [...]                                                         ^^
```

{% embed url="<https://man7.org/linux/man-pages/man1/readelf.1.html>" %}

## Analyser un processus

Sur Linux on peut utiliser **strace pour tracer les appels systèmes faits par un processus.**

```
strace ./bin
```

```
strace -p <pid>
```
