Cara Menganalisis File Biner di Linux

Cara Menganalisis File Biner di Linux

Pada artikel ini, kami akan menjelaskan cara menganalisis file biner di Linux.

Kami akan membahas 5 perintah dan alat sederhana yang dapat membantu Anda menganalisis file biner dengan mudah. Linux menyediakan seperangkat alat yang kaya yang membuat analisis binari menjadi mudah! Apa pun peran pekerjaan Anda, jika Anda bekerja di Linux, mengetahui dasar-dasar tentang alat ini akan membantu Anda memahami sistem Anda dengan lebih baik.

Mari kita mulai.

1. berkas

Perintah file akan membantu Anda mengidentifikasi jenis file yang tepat yang Anda hadapi. file , tentukan file yang diformat khusus yang berisi tes sensitif posisi; tes sensitif posisi default dan tes sensitif konteks tidak akan dilakukan.

Perintah hanya memberi tahu seperti apa file itu, bukan apa itu (dalam kasus di mana file melihat konten). Sangat mudah untuk membodohi program dengan memasukkan angka ajaib ke dalam file yang isinya tidak cocok. Dengan demikian perintah tidak dapat digunakan sebagai alat keamanan selain dalam situasi tertentu.

# file file.c
file.c: C program text

# file /bin/ls

bin/ls: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=937708964f0f7e3673465d7749d6cf6a2601dea2, stripped, too many notes (256)

# file /etc/passwd
/etc/passwd: ASCII text

2. ldd

ldd mencetak objek bersama (pustaka bersama) yang diperlukan oleh setiap program atau objek bersama yang ditentukan pada baris perintah. Ketika perangkat lunak sedang dikembangkan, kami mencoba untuk tidak menemukan kembali roda. Ada serangkaian tugas umum yang dibutuhkan sebagian besar program perangkat lunak, seperti mencetak output atau membaca dari standar, atau membuka file, dll.

Semua tugas umum ini diabstraksikan dalam satu set fungsi umum yang kemudian dapat digunakan setiap orang alih-alih menulis varian mereka sendiri. Fungsi-fungsi umum ini diletakkan di perpustakaan yang disebut libc atau glibc.

# ldd /bin/rm
linux-vdso.so.1 (0x00007ffcd6d7d000)
libc.so.6 => /lib64/libc.so.6 (0x00007f13d841c000)
/lib64/ld-linux-x86-64.so.2 (0x00007f13d89f1000)

3. hexdump

hexdump - menampilkan konten file dalam heksadesimal, desimal, oktal, atau ascii. Utilitas hexdump adalah filter yang menampilkan file yang ditentukan, atau input standar jika tidak ada file yang ditentukan, dalam format yang ditentukan pengguna.

Membuka file yang tidak dikenal di Hexdump membantu Anda melihat apa sebenarnya isi file tersebut. Anda juga dapat memilih untuk melihat representasi ASCII dari data yang ada dalam file menggunakan beberapa opsi baris perintah. Ini mungkin membantu memberi Anda beberapa petunjuk tentang jenis file apa itu.

# hexdump -C /bin/ls | head
00000000 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00 |.ELF…………|
00000010 03 00 3e 00 01 00 00 00 00 5e 00 00 00 00 00 00 |..>……^……|
00000020 40 00 00 00 00 00 00 00 70 82 02 00 00 00 00 00 |@…….p…….|
00000030 00 00 00 00 40 00 38 00 0a 00 40 00 1f 00 1e 00 |…[email protected]…@…..|
00000040 06 00 00 00 04 00 00 00 40 00 00 00 00 00 00 00 |……..@…….|
00000050 40 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00 |@…….@…….|
00000060 30 02 00 00 00 00 00 00 30 02 00 00 00 00 00 00 |0…….0…….|
00000070 08 00 00 00 00 00 00 00 03 00 00 00 04 00 00 00 |…………….|
00000080 70 02 00 00 00 00 00 00 70 02 00 00 00 00 00 00 |p…….p…….|
00000090 70 02 00 00 00 00 00 00 1c 00 00 00 00 00 00 00 |p……………|

4 baca sendiri

readelf menampilkan informasi tentang satu atau lebih file objek format ELF. Opsi mengontrol informasi tertentu yang akan ditampilkan. ELF (Executable and Linkable File Format) adalah format file yang dominan untuk executable atau binari, tidak hanya di Linux tetapi juga berbagai sistem UNIX. Memiliki referensi spesifikasi ELF yang sebenarnya berguna saat menggunakan readelf bisa sangat berguna.

# readelf -h /bin/ls
ELF Header:
Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
Class: ELF64
Data: 2’s complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: DYN (Shared object file)
Machine: Advanced Micro Devices X86-64
Version: 0x1
Entry point address: 0x67d0
Start of program headers: 64 (bytes into file)
Start of section headers: 140224 (bytes into file)
Flags: 0x0
Size of this header: 64 (bytes)
Size of program headers: 56 (bytes)
Number of program headers: 13
Size of section headers: 64 (bytes)
Number of section headers: 30
Section header string table index: 29

5. objdump

objdump - menampilkan informasi dari file objek. objdump menampilkan informasi tentang satu atau lebih file objek. Opsi mengontrol informasi tertentu yang akan ditampilkan. Informasi ini sebagian besar berguna untuk programmer yang sedang mengerjakan alat kompilasi, berbeda dengan programmer yang hanya ingin program mereka dikompilasi dan berfungsi. Kompiler ini menghasilkan instruksi bahasa mesin yang setara dengan kode sumber, yang kemudian dapat dieksekusi oleh CPU untuk melakukan tugas yang diberikan.

# objdump -d /bin/ls | head

/bin/ls: file format elf64-x86-64

Disassembly of section .init:

0000000000004000 <.init>:
4000: f3 0f 1e fa endbr64
4004: 48 83 ec 08 sub $0x8,%rsp
4008: 48 8b 05 c9 ef 01 00 mov 0x1efc9(%rip),%rax # 22fd8 <__gmon_start__>

Pada artikel ini, kita telah melihat cara menganalisis file biner di Linux.

Dapatkan server khusus seri E5 ganda berkinerja tinggi dan VPS KVM murah.


Cara Membuat Grup di Linux

Cara Membuat Grup di Linux

Grup digunakan untuk mengatur pengguna dan hak istimewa mereka seperti membaca tulisan dan mengeksekusi izin. Untuk menambahkan groud, perintahnya adalah groupadd.

3 Cara Memeriksa Penggunaan CPU di Linux

3 Cara Memeriksa Penggunaan CPU di Linux

Nah jelaskan 3 cara untuk memeriksa penggunaan CPU di Linux. Pemanfaatan CPU mengacu pada penggunaan sumber daya pemrosesan, atau jumlah pekerjaan yang ditangani oleh CPU.

Cara Menginstal dan Mengonfigurasi DenyHosts di CentOS 7

Cara Menginstal dan Mengonfigurasi DenyHosts di CentOS 7

DenyHosts banyak digunakan sebagai alternatif untuk Fail2ban. Jika ada terlalu banyak upaya login SSH yang tidak valid, itu mengasumsikan bahwa serangan brute force atau

Pasang Disk Baru ke Server Linux

Pasang Disk Baru ke Server Linux

Kita akan belajar cara memasang disk baru ke server Linux. Untuk demonstrasi ini, kami menggunakan server cloud CentOS 7. sekarang mount partisi seperti yang ditunjukkan di bawah ini.

Mudah untuk Menginstal Fail2ban di Ubuntu 20.04

Mudah untuk Menginstal Fail2ban di Ubuntu 20.04

Nah jelaskan bagaimana cara mudah menginstal Fail2ban di Ubuntu 20.04. Fail2ban ditulis dalam bahasa pemrograman Python dan open source, gratis. Konfigurasi.

Cara Menginstal WireGuard VPN di Ubuntu 20.04

Cara Menginstal WireGuard VPN di Ubuntu 20.04

Nah jelaskan cara menginstal WireGuard VPN di Ubuntu 20.04. WireGuard adalah VPN yang sangat sederhana, cepat, dan modern yang menggunakan kriptografi canggih

Cara Menginstal OpenSSL 1.1.1d di CentOS

Cara Menginstal OpenSSL 1.1.1d di CentOS

OpenSSL adalah toolkit yang kuat, kelas komersial, berfitur lengkap untuk protokol Transport Layer Security (TLS) & (SSL). Belajar Menginstal OpenSSL 1.1.1d di CentOS

Cara Menginstal dan Mengonfigurasi CSF di CentOS 8

Cara Menginstal dan Mengonfigurasi CSF di CentOS 8

Cara menginstal dan mengkonfigurasi CSF di server CentOS 8. ConfigServer Security & Firewall adalah (SPI) firewall, Login/Deteksi Intrusi dan aplikasi Keamanan.

Konfigurasi Aturan Audit tidak Tercermin – Cara memecahkan masalah

Konfigurasi Aturan Audit tidak Tercermin – Cara memecahkan masalah

Konfigurasi Aturan Audit tidak Tercermin? Pelajari bagaimana teknisi dukungan kami memecahkan masalah dan memecahkan masalah. File konfigurasi aturan /etc/audit/rules.d/audit.rules

CloudLinux Beban Tinggi di Server

CloudLinux Beban Tinggi di Server

Pada artikel ini kita akan mempelajari bagaimana teknisi dukungan kami memperbaiki beban tinggi CloudLinux di server. Harap pastikan bahwa batas LVE Anda dikonfigurasi dengan benar.