- DUMPBIN memungkinkan Anda untuk membuat daftar dependensi DLL atau executable di Windows.
- Opsi /DEPENDENTS menampilkan pustaka yang dibutuhkan oleh suatu berkas.
- Dimungkinkan untuk mengotomatiskan penggunaannya dari PowerShell untuk tugas yang kompleks.
- Pilihan berguna lainnya termasuk /HEADERS, /EXPORTS, atau /IMPORTS.

Menganalisis dependensi DLL merupakan tugas umum saat menyelidiki perilaku aplikasi, men-debug masalah pemuatan pustaka, atau sekadar mencoba memahami komponen tambahan apa yang dibutuhkan suatu executable agar berfungsi dengan baik. Dalam konteks ini, alat DUMPBIN Microsoft telah menjadi salah satu sumber daya yang paling berguna bagi mereka yang bekerja dengan berkas biner di Windows, baik dalam pengembangan, forensik, rekayasa balik, atau pemeliharaan perangkat lunak.
TEMPAT SAMPAH, juga dikenal sebagai Microsoft COFF Binary File Dumper, adalah alat baris perintah perintah disertakan dalam lingkungan pengembangan Visual Studio. Memungkinkan Anda untuk memeriksa semua jenis file biner yang kompatibel dengan format COFF (Common Object File Format), seperti file yang dapat dieksekusi (.exe), pustaka statis (.lib), atau pustaka dinamis (.dll). Di antara fitur-fiturnya yang paling sering digunakan, adalah mungkin untuk melihat dependensi yang dibutuhkan DLL atau file yang dapat dieksekusi untuk dijalankan.
Apa tujuan melihat dependensi DLL?
Ketika sebuah aplikasi menampilkan kesalahan yang menunjukkan bahwa ia tidak dapat menemukan DLL tertentu, hal pertama yang biasanya dicurigai orang adalah bahwa dependensi tersebut tidak tersedia di sistem. Penggunaan DUMPBIN dalam kasus ini memungkinkan mengidentifikasi secara akurat pustaka lain yang dibutuhkan file DLL, membantu mengatasi kesalahan pemuatan atau pendistribusian perangkat lunak.
Selain itu, dalam lingkungan perusahaan atau proyek tempat seluruh aplikasi didistribusikan ulang, mengetahui DLL mana yang diperlukan memungkinkan Anda untuk memasukkannya dengan benar dalam penginstal atau memvalidasi bahwa DLL tersebut sudah ada di sistem target.
Cara mengakses DUMPBIN
Cara termudah untuk menjalankan alat ini adalah Buka Simbol sistem pengembang untuk Visual StudioLingkungan ini sudah dikonfigurasi dengan semua variabel lingkungan yang diperlukan, termasuk jalur DUMPBIN.
Misalnya, untuk Visual Studio 2017, file yang dapat dieksekusi biasanya terletak di jalur seperti:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Komunitas\VC\Alat\MSVC\14.13.26128\bin\Hostx86\x86
Setelah berada di direktori tersebut, Anda sekarang dapat memanggil alat tersebut sebagai berikut:
dumpbin.exe /jalur tanggungan\ke\file.dll
perintah DUMPBIN /DEPENDENTS

pilihan /TERGANTUNG bertanggung jawab untuk menunjukkan daftar pustaka DLL tempat file yang ditentukan mengimpor fungsiYaitu, hal-hal yang bergantung padanya agar dapat berfungsi dengan benar.
Perintah ini tidak memberikan informasi tentang fungsi spesifik yang digunakan (itulah gunanya /IMPORTS), tetapi ini adalah kunci untuk mengidentifikasi DLL mana yang harus ada dalam sistem agar eksekusinya tidak gagal.
Contoh nyata output yang dihasilkan dengan menjalankan:
tempat sampah /DEPENDENTS MathClient.exe
Memberikan keluaran seperti berikut:
Dump file MathClient1322.exe Jenis File: EXECUTABLE IMAGE Gambar memiliki dependensi berikut: MathLibrary.dll MSVCP140D.dll VCRUNTIME140D.dll ucrtbased.dll KERNEL32.dll
Nama berkas ini menunjukkan DLL yang dibutuhkan oleh eksekusi MathClient1322.exe.
Opsi DUMPBIN berguna lainnya
Alat DUMPBIN mencakup beberapa opsi yang berguna untuk pengembang dan analis keamanan antara lain:
- /KEPALA: Menampilkan tajuk berkas. Meliputi informasi seperti jenis berkas, arsitektur, dll.
- /SIMBOL: Daftarkan tabelnya simbol, berguna untuk debugging atau reverse engineering.
- /EKSPOR: Menampilkan fungsi yang diekspor oleh file. Yaitu, fungsi yang dapat digunakan oleh file yang dapat dieksekusi atau DLL lainnya.
- /IMPOR: Menampilkan fungsi spesifik yang diimpor dari DLL lain.
Contoh praktis dari PowerShell
Selain menggunakan DUMPBIN dari command prompt, ia juga dapat digunakan dari PowerShell, membuatnya mudah diintegrasikan ke dalam skrip atau alur kerja otomatis.
Contoh tipikal adalah memeriksa dependensi DLL seperti zipfldr.dll berlokasi di C:\Windows\System32Naskahnya akan seperti berikut:
cd "C:\Program Files (x86)\Microsoft Visual Studio\2017\Komunitas\VC\Tools\MSVC\14.13.26128\bin\Hostx86\x86" .\dumpbin.exe /dependen C:\Windows\System32\zipfldr.dll
Perintah ini menjalankan DUMPBIN dari PowerShell tanpa masalah dan langsung menampilkan dependensi.
Dapatkan nama fungsi yang diekspor menggunakan skrip
Selain ketergantungan, ada juga kemungkinan untuk ingin tahu apa fungsi mengekspor DLLHal ini penting, misalnya, saat mengembangkan aplikasi yang perlu memanggil fungsi eksternal secara langsung.
Dari PowerShell Anda dapat menjalankan DUMPBIN menggunakan opsi /EKSPOR lalu memproses output untuk mendapatkan nama fungsi. Misalnya:
$content = .\dumpbin.exe /ekspor C:\Windows\System32\zipfldr.dll
Output kemudian dibersihkan dengan menghapus baris kosong dan string dikerjakan untuk mengidentifikasi bagian yang relevan dimulai dengan ordinal hint RVA name dan diakhiri Summary.
Metode otomatis ini memudahkan pelaksanaan audit, dokumentasi, atau validasi tanpa inspeksi visual.
Alternatif untuk DUMPBIN
Dalam beberapa kasus, Anda mungkin tidak ingin bergantung pada Visual Studio. Ada alternatif eksternal sebagai dependensi dalam bentuk DLL yang memungkinkan Anda mengambil daftar dependensi file dari formulir Visual Basic, seperti yang ditawarkan di recursosvisualbasic.com.ar.
DLL ini mengembalikan array dengan nama-nama file yang bergantung pada aplikasi dan dapat dipanggil dengan:
Daftar = Obj.Ketergantungan
Selain itu, ini memungkinkan Anda untuk membuka dialog untuk memilih file target dan mendaftarkan DLL menggunakan regsvr32.
Kasus penggunaan dalam analisis dan debugging
Penggunaan DUMPBIN melampaui pengembangan perangkat lunak dasar. Analis malware, peneliti keamanan atau bahkan teknisi TI menggunakannya untuk mendeteksi dependensi yang hilang, memverifikasi tanda tangan berkas, atau merekayasa ulang biner yang mencurigakan.
Misalnya, menggunakan perintah /ALL Anda dapat memperoleh semua informasi yang tersedia tentang sebuah file, termasuk dependensi, ASM yang dibongkar, arahan, dan bagian. Namun, lebih disarankan untuk gunakan perintah terpisah dan menganalisis informasi dengan cara yang lebih terorganisir.
Praktik umum adalah bekerja dengan /SECTIONS saat menganalisis executable dan berusaha memahami struktur internalnya, membantu mengidentifikasi bagian mana yang berisi kode, data, sumber daya, dll.
Penulis yang bersemangat tentang dunia byte dan teknologi secara umum. Saya suka berbagi ilmu melalui tulisan, dan itulah yang akan saya lakukan di blog ini, menunjukkan kepada Anda semua hal paling menarik tentang gadget, perangkat lunak, perangkat keras, tren teknologi, dan banyak lagi. Tujuan saya adalah membantu Anda menavigasi dunia digital dengan cara yang sederhana dan menghibur.