Skip to content

emka.web.id

menulis pengetahuan – merekam peradaban

Menu
  • Home
  • Tutorial
  • Search
Menu

Bagaimana Membandingkan File Biner di Linux

Posted on August 18, 2022

fatmawati achmad zaenuri/Shutterstock.com

Bagaimana cara memeriksa apakah dua binari Linux sama? Jika itu adalah file yang dapat dieksekusi, perbedaan apa pun mungkin berarti perilaku yang tidak diinginkan atau berbahaya. Inilah cara termudah untuk memeriksa apakah mereka berbeda.

Membandingkan File Biner

Linux kaya akan cara untuk membandingkan dan menganalisis file teks. Perintah diff akan membandingkan dua file untuk Anda, dan menyoroti perbedaannya. Itu bahkan dapat memberikan beberapa baris di kedua sisi perubahan untuk memberikan beberapa konteks di sekitar baris yang diubah. Dan perintah colordiff menambahkan warna untuk membuat penguraian perbedaan secara visual menjadi lebih mudah.

Pengembang dan penulis menggunakan diff untuk menyoroti perbedaan antara berbagai versi file kode sumber program, atau teks draf. Ini cepat dan mudah, dan Anda tidak memerlukan keahlian teknis untuk melihat perbedaan antara string teks.

Di dunia file biner, hal-hal tidak begitu sederhana. File biner tidak terdiri dari teks biasa. Mereka terdiri dari banyak byte yang berisi nilai numerik. Jika file terkompresi seperti arsip TAR atau file ZIP, nilai tersebut mewakili file terkompresi yang disimpan di dalam file arsip, bersama dengan tabel simbol yang diperlukan untuk dekompresi dan ekstraksi file.

Jika file biner adalah file yang dapat dieksekusi, nilai numerik byte file ditafsirkan sebagai hal-hal seperti instruksi kode mesin untuk CPU, metadata, label, atau data yang disandikan. Perubahan pada file biner atau file library cenderung menyebabkan perbedaan perilaku saat biner dijalankan atau digunakan oleh aplikasi lain.

Sangat mudah untuk memalsukan tanggal dan waktu pembuatan atau modifikasi file. Itu berarti mungkin ada dua versi file yang memiliki nama yang sama, ukuran file—jika perubahan menggantikan byte konten yang ada untuk byte—dan cap tanggal. Namun, salah satu file mungkin telah diubah.

Secure Hash Algorithms

Algoritme hash aman adalah algoritme berbasis matematika. Ini menciptakan nilai 64-bit dengan memindai semua byte dalam file dan menerapkan transformasi matematis untuk menghasilkan nilai hash. Setiap hari, file yang sama akan selalu menghasilkan hash yang sama. Bahkan perbedaan satu byte akan menghasilkan hash yang sangat berbeda.

Anda akan sering melihat hash file yang ditampilkan di halaman unduhannya. Anda harus membuat hash untuk file setelah Anda mengunduhnya. Jika berbeda dari hash yang ditampilkan di halaman web, Anda tahu bahwa file tersebut telah disusupi. File tersebut telah diubah dan diganti dengan file asli—untuk membuat orang mengunduh file yang tercemar—atau file tersebut telah rusak saat transit.

Pada komputer pengujian kami, kami memiliki dua salinan file yang sama, sebuah perpustakaan bersama. File-file tersebut telah diganti namanya sehingga mereka dapat berada di direktori yang sama. Secara teori, file-file ini harus sama. Lagi pula, mereka seharusnya menjadi versi yang sama dari perpustakaan bersama.

ls -l *.so

File memiliki ukuran yang sama, cap tanggal yang sama, dan cap waktu yang sama. Bagi pengamat biasa, mereka akan tampak sama. Mari gunakan perintah sha256sum dan buat hash untuk setiap file.

sha256sum binary_file1.sosha256sum binary_file2.so

Hash benar-benar berbeda, dengan jelas menunjukkan bahwa ada perbedaan antara kedua file. Jika situs web menunjukkan hash dari file asli, Anda dapat membuang file yang tidak cocok.

Menemukan Perbedaan

Jika Anda ingin melihat perubahannya, ada cara untuk melakukannya juga. Anda tidak perlu dapat mendekompilasi file, atau memahami kode perakitan atau mesin hanya untuk melihat modifikasinya. Memahami apa arti perubahan tersebut, dan apa tujuannya, tentu saja, membutuhkan pengetahuan teknis yang lebih dalam. Tetapi mengetahui seberapa besar perubahannya dapat menunjukkan apa yang terjadi pada file.

Jika kita menggunakan diff pada dua file biner, kita akan mendapatkan respons yang sedikit mengecewakan.

diff binary_file1.so binary_file2.so

Kita sudah mengetahui file yang berbeda. Mari kita coba cmp .

cmp binary_file1.so binary_file2.so

Ini memberi tahu kita sedikit lebih banyak. Byte pertama yang membedakan kedua file tersebut adalah byte nomor 13451. Artinya, dihitung dari awal file biner, byte 13451 berbeda di kedua file biner. Jadi 13451 adalah offset dari perbedaan pertama, dari awal file.

Secara kebetulan, di seluruh file, akan ada byte yang berisi nilai heksadesimal 0x10. Ini adalah nilai yang digunakan Linux dalam file teks sebagai karakter akhir baris. Perintah cmp menemukan 131 byte dengan nilai ini antara awal file biner dan lokasi perbedaan pertama. Jadi sepertinya ini ada di baris 132. Ini benar-benar tidak berarti apa-apa dalam konteks ini.

Jika kita menambahkan opsi -l (verbose) kita akan mulai mendapatkan informasi yang berguna.

cmp -l binary_file1.so binary_file2.so

Semua byte yang berbeda terdaftar. Nomor byte atau offset, nilai dari file pertama, dan nilai dari file kedua ditampilkan, dengan satu byte per baris output.

Nilai byte ditampilkan dalam oktal, bukan format heksadesimal yang biasa digunakan dengan file biner. Meskipun demikian, kami telah belajar sesuatu yang lain. Semua byte yang diubah berada dalam satu urutan berkelanjutan. Offsetnya bertambah satu untuk setiap byte.

Alat hexdump akan membuang file biner ke jendela terminal. Jika kita menggunakan opsi -C (canonical) output akan mencantumkan offset pada setiap baris, nilai 16 byte pada offset tersebut, dan—jika ada—representasi ASCII dari nilai byte.

hexdump -C binary_file1.so

Kita dapat menggunakan output dari hexdump sebagai input ke diff, membiarkan diff bekerja seolah-olah sedang membaca dua file teks.

diff binary2.txtdiff binary1.txt binary2.txt

Perbedaan antara kedua file ditampilkan dalam dua ekstrak singkat. Ada representasi ASCII di samping mereka. Akan ada sepasang ekstrak untuk setiap perbedaan antara file. Dalam contoh ini, hanya ada satu perbedaan.

Itu semua sangat bagus, tetapi bukankah lebih bagus jika ada sesuatu yang melakukan semua itu untuk Anda?

VBinDiff

Program VBinDiff dapat diinstal dari repositori biasa untuk semua distribusi utama. Untuk menginstalnya di Ubuntu, gunakan perintah ini:

sudo apt install vbindiff

Di Fedora, Anda perlu mengetik:

sudo dnf install vbindiff

Pengguna manjaro perlu menggunakan pacman.

sudo pacman -Sy vbindiff

pada dua file biner, berikan nama program untuk dua file biner baris perintah.

vbindiff binary_file1.so binary_file2.so

Aplikasi berbasis terminal terbuka, menampilkan kedua file dalam tampilan bergulir.

Anda dapat menggunakan roda gulir mouse atau “Panah Atas”, “Panah Bawah”, “Home”, “End”, ” PageUp”, dan tombol “PageDown” untuk menelusuri file. Kedua file akan scroll.

Tekan tombol “Enter” untuk melompat ke perbedaan pertama. Perbedaannya disorot di kedua file.

Jika ada lebih banyak perbedaan, menekan “Enter” akan menampilkan perbedaan berikutnya. Menekan “q” atau “Esc” akan keluar dari program.

Apa Bedanya?

Jika Anda bekerja di komputer milik orang lain dan Anda tidak diizinkan untuk menginstal paket apa pun, Anda dapat menggunakan cmp, diff, dan hexdump . Jika Anda perlu menangkap output untuk diproses lebih lanjut, ini adalah alat yang digunakan juga.

Tetapi jika Anda diizinkan untuk menginstal paket, VBinDiff membuat alur kerja Anda lebih mudah dan lebih cepat. Dan faktanya, menggunakan VBinDiff dengan satu file biner adalah cara mudah dan nyaman untuk menelusuri file biner, yang merupakan bonus yang bagus.

TERKAIT:Cara Mengintip Di Dalam File Biner Dari Linux Command Line

Itulah berita seputar Bagaimana Membandingkan File Biner di Linux, semoga bermanfaat. Disadur dari HowToGeek.com.

Terbaru

  • Inilah 45 Planet Berbatu yang Paling Berpotensi Jadi Rumah Kedua Manusia di Masa Depan
  • Inilah Cara Ambil Kursus Online Gratis dari Harvard University untuk Asah Skill Digital Kalian!
  • Inilah Rincian UKT UGM 2026 Jalur SNBP dan SNBT, Calon Mahasiswa Wajib Tahu!
  • Inilah Daftar 25 Universitas Terbaik di Inggris 2026 Versi The Guardian yang Wajib Kalian Lirik!
  • Inilah Alasan University of Oxford Masih Jadi Juara Dunia di QS Rankings 2026, Empat Jurusan Ini Nggak Ada Lawannya!
  • Inilah 17 Rahasia Tips Sukses dari Produk Digital, Yuk Simak!
  • Inilah Peluang Lolos SNBT Unair 2026, Cek Keketatan Jurusan Pilihanmu Sekarang!
  • Hapus PR! China Baru Saja Rombak Aturan Sekolah, Inilah Caranya Mereka Ngurangin Beban Stres Siswa
  • Inilah Daftar Negara Paling Sopan di Dunia, Ternyata Jepang Juaranya Bukan Eropa!
  • Inilah Alasan Kenapa Ada Gurun yang Letaknya Malah di Pinggir Laut, Kok Bisa?
  • Inilah Cara Mengajukan bluExtraCash BCA Digital, Pinjaman Online Tanpa Agunan yang Bisa Cair Kilat Sampai 50 Juta
  • Inilah Cara Mengisi Berita Acara Pengecekan Penyimpanan Eksternal Bantuan Pemerintah Lewat CrystalDiskInfo, Gampang Banget!
  • Belum Tahu? Inilah Cara Pasang FF Kipas Org OB52 Apk Biar Nggak Mentok Logo dan Bisa Jadi Sultan!
  • Belum Tahu? Inilah FF Kipas Custom Free 32 Bit APK, Solusi Lag atau Malah Bikin Masalah?
  • Inilah Daftar Kode Redeem Blox Fruits Terbaru dan Cara Pakainya Biar Cepat Level Max!
  • Ini Trik Supaya YouTube Shorts Kalian Ranking 1 di Pencarian
  • Inilah Daftar Kode Redeem Fish It Roblox Terbaru April 2026 dan Cara Klaimnya Biar Mancing Makin Gacor!
  • Inilah Cara Tarik Saldo Cool Lady, Game Penghasil Uang yang Lagi Viral dan Terbukti Membayar!
  • Inilah Kode Redeem Drag Drive Simulator April 2026, Simak Trik Rahasia Biar Menang Balapan Terus!
  • Inilah Little Finder Guy, Strategi Unik Apple yang Bikin MacBook Neo Jadi Viral di Media Sosial
  • Inilah Yang Baru di Minecraft Java Edition 26.1.1, Perubahan Mob Bayi Jadi Lebih Realistis dan Fitur Baru yang Bikin Gameplay Makin Seru!
  • Inilah Cara Bayar UKT UIN Sunan Kalijaga 2026 Lewat Kode Bayar Biar Nggak Bingung Lagi!
  • Inilah Syarat Penting Surat Keterangan Kelas 12 UTBK 2026 dan Contohnya
  • Belum Tahu? Inilah Cara Bayar UTBK SNBT 2026 Online Biar Nggak Ketinggalan Jadwal!
  • Inilah Kebenaran Kasus Bayu, Siswa yang Viral Katanya Dilengserkan dari Ketua OSIS Gegara Kritik Makan Bergizi Gratis
  • Inilah 4 Cara Jitu Jualan Produk Digital Pakai Google, Dijamin Cuan Terus!
  • Inilah Sinopsis dan Jadwal Tayang Drakor Perfect Crown, Kisah Pernikahan Kontrak IU dan Byun Woo-seok yang Menarik untuk Disimak!
  • Inilah Rekomendasi Game Tata Kota Terbaik di Linux yang Seru Banget Buat Dimainkan
  • Inilah Cara Dapat Saldo Cool Lady Tanpa Undang Teman, Ternyata Begini Trik Rahasianya!
  • Inilah Cara Main Watermelon Merge Fun Biar Dapat Saldo DANA, Apakah Benaran Membayar?
  • Is it Time to Replace Nano? Discover Fresh, the Terminal Text Editor You Actually Want to Use
  • How to Design a Services Like Google Ads
  • How to Fix 0x800ccc0b Outlook Error: Step-by-Step Guide for Beginners
  • How to Fix NVIDIA App Error on Windows 11: Simple Guide
  • How to Fix Excel Formula Errors: Quick Fixes for #NAME
  • How to Master NemoClaw and OpenShell for a Protected Virtual Assistant Experience
  • How to Create Realistic AI Influencer Video with LTXVideo and ComfyUI (Workflows + Tools)
  • How to Master Google Flow and Create Stunning AI Videos Like a Pro!
  • How to Make Your Study Material with Google’s NotebookLM: New AI Quizzes and Flashcards Explained
  • How to Solving OpenClaw Memory Issues with MemPalace!
  • Apa itu Spear-Phishing via npm? Ini Pengertian dan Cara Kerjanya yang Makin Licin
  • Apa Itu Predator Spyware? Ini Pengertian dan Kontroversi Penghapusan Sanksinya
  • Mengenal Apa itu TONESHELL: Backdoor Berbahaya dari Kelompok Mustang Panda
  • Siapa itu Kelompok Hacker Silver Fox?
  • Apa itu CVE-2025-52691 SmarterMail? Celah Keamanan Paling Berbahaya Tahun 2025

©2026 emka.web.id | Design: Newspaperly WordPress Theme