# Uobičajene zaštite i zaobilaženja u binarnom eksploatisanju {{#include ../../banners/hacktricks-training.md}} ## Omogućite Core datoteke **Core datoteke** su vrsta datoteke koju generiše operativni sistem kada proces doživi pad. Ove datoteke beleže sliku memorije padenog procesa u trenutku njegovog završetka, uključujući memoriju procesa, registre i stanje programskog brojača, među ostalim detaljima. Ova slika može biti izuzetno korisna za debagovanje i razumevanje zašto je došlo do pada. ### **Omogućavanje generisanja Core dump-a** Podrazumevano, mnogi sistemi ograničavaju veličinu core datoteka na 0 (tj. ne generišu core datoteke) kako bi uštedeli prostor na disku. Da biste omogućili generisanje core datoteka, možete koristiti komandu **`ulimit`** (u bash-u ili sličnim shell-ovima) ili konfigurisati sistemske postavke. - **Korišćenje ulimit**: Komanda `ulimit -c unlimited` omogućava trenutnoj shell sesiji da kreira core datoteke neograničene veličine. Ovo je korisno za debagovanje sesija, ali nije trajno nakon ponovnog pokretanja ili novih sesija. ```bash ulimit -c unlimited ``` - **Trajna Konfiguracija**: Za trajno rešenje, možete urediti datoteku `/etc/security/limits.conf` da uključite liniju kao što je `* soft core unlimited`, koja omogućava svim korisnicima da generišu core datoteke neograničene veličine bez potrebe da ručno postavljaju ulimit u svojim sesijama. ```markdown - soft core unlimited ``` ### **Analiza Core Fajlova sa GDB** Da biste analizirali core fajl, možete koristiti alate za debagovanje kao što je GDB (GNU Debugger). Pretpostavljajući da imate izvršni fajl koji je proizveo core dump i da se core fajl zove `core_file`, možete započeti analizu sa: ```bash gdb /path/to/executable /path/to/core_file ``` Ova komanda učitava izvršni fajl i core fajl u GDB, omogućavajući vam da pregledate stanje programa u trenutku pada. Možete koristiti GDB komande da istražite stek, ispitujete promenljive i razumete uzrok pada. {{#include ../../banners/hacktricks-training.md}}