Co to jest format pliku IDB?
Pliki .idb należą do kategorii plików kompilacji programistycznej, a nie plików skryptowych - są generowane przez platformę programistyczną Microsoft Visual Studio podczas kompilacji C i C++.
Pliki .idb zawierają informacje o stanie kompilacji zarejestrowane przez kompilator MSVC cl.exe, mapując zależności między plikami źródłowymi, nagłówkami i plikami obiektowymi .OBJ. Dane te są wykorzystywane podczas kompilacji przyrostowej: zamiast przebudowywać cały projekt, kompilator odczytuje bazę danych .idb, aby określić, które jednostki translacji uległy zmianie i muszą zostać skompilowane ponownie. Dodatkowo pliki .idb przechowują informacje o stanie grafu zależności kompilatora, co pozwala systemowi kompilacji pomijać niezmienione moduły i znacznie przyspieszyć iteracyjny proces programowania.
Pliki .idb są pośrednim produktem kompilacji i nie są plikami wynikowymi (deliverables). Można je bezpiecznie usunąć z katalogu wyjściowego projektu; kompilator MSVC wygeneruje je automatycznie przy następnej kompilacji. Ostateczne informacje o symbolach debugowania są przechowywane oddzielnie w pliku .PDB. Funkcja minimalnej przebudowy (/Gm), która w dużej mierze opierała się na .idb, została wycofana (deprecated) od wersji Visual Studio 2019, a nowsze zestawy narzędzi używają plików .ipdb i .iobj do linkowania przyrostowego.
Nie należy mylić pliku .idb z Visual Studio z bazą danych interaktywnego deasemblera IDA Pro, który używa tego samego rozszerzenia dla całkowicie innego formatu własnościowego.
Bezpieczeństwo
RYZYKO: LOWPlik .idb z Visual Studio to obojętne dane kompilacji - nie jest on wykonywany i nie stanowi bezpośredniego zagrożenia. Można go bezpiecznie usunąć (kompilator go zregeneruje), nie powinien być dodawany do systemów kontroli wersji ani dostarczany z programem. Jedynym praktycznym problemem jest nieaktualny lub uszkodzony plik .idb powodujący błąd kompilacji przyrostowej, co naprawia się poprzez czystą przebudowę (clean rebuild). Jeśli Twój plik .idb jest w rzeczywistości bazą danych IDA Pro, traktuj go jak każdy plik projektu analizy z zaufanego źródła.
Szczegóły formatu
w pigułce- Baza danych IDA Pro (Hex-Rays IDA) - Zdecydowanie najczęściej wyszukiwany plik .idb: baza danych deasemblacji zapisywana przez IDA Pro, przechowująca całą analizę zrekonstruowanego pliku binarnego; otwierana tylko w IDA. (IDA 7+ pakuje ją jako pojedynczy plik .i64/.idb.)
- InstallShield / inne pliki danych aplikacji - Kilka aplikacji używało rozszerzenia .idb dla wewnętrznych plików baz danych; są to przypadki niszowe i niepowiązane z artefaktami kompilacji.
Programy otwierające pliki IDB
Szczegóły techniczne
specyfikacja| Typ pliku | Własnościowa binarna baza danych stanu kompilacji |
| Deweloper | Microsoft Corporation (zestaw narzędzi kompilatora MSVC) |
| Kodowanie | Binarne, kolejność bajtów little-endian |
| Cel | Śledzenie zależności plików źródłowych i nagłówkowych w celu umożliwienia przyrostowej kompilacji C/C++ |
| Generowany przez | Kompilator MSVC (cl.exe) podczas procesu kompilacji, nie w czasie wykonywania ani debugowania |
| Typowy rozmiar pliku | Od kilkudziesięciu kilobajtów do kilku megabajtów, skaluje się wraz z rozmiarem projektu |
| Kompatybilność wersji | Powiązany z konkretną wersją zestawu narzędzi MSVC; nieprzenośny między głównymi wydaniami Visual C++ |
| Powiązana funkcja | Minimalna przebudowa (flaga /Gm) i kompilacja przyrostowa; /Gm wycofane w VS 2019 i nowszych |
| System operacyjny | Tylko Windows |
| Zastąpiony przez | Pliki .ipdb i .iobj dla linkowania przyrostowego w nowszych zestawach narzędzi MSVC |
| Możliwość usunięcia | Bezpieczny do usunięcia z danych wyjściowych kompilacji; kompilator regeneruje plik przy następnej kompilacji |
| Powiązane formaty | .pdb (końcowe symbole debugowania), .obj (skompilowany obiekt), .ilk (stan linkowania przyrostowego) |
| Typ MIME | application/octet-stream |
| Konflikt nazw | Interaktywny deasembler IDA Pro również używa .idb dla swojej bazy danych projektu - niepowiązany format własnościowy |
| Wydano | Visual C++ (Microsoft compiler toolchain; with the minimal-rebuild / incremental build features) |
| Najnowsza wersja | Tracks the installed MSVC (cl.exe) version; not separately versioned |
Konwersje IDB
Pytania i odpowiedzi społeczności
pytania użytkownikówBrak pytań - bądź pierwszą osobą, która zapyta o pliki IDB.