Cara Menganalisis Fail Binari di Linux

Cara Menganalisis Fail Binari di Linux

Dalam artikel ini, kami akan menerangkan cara menganalisis fail binari di Linux.

Kami akan merangkumi 5 arahan dan alat mudah yang dapat membantu anda menganalisis fail binari dengan mudah. Linux menyediakan sekumpulan alat yang kaya yang menjadikan analisis binari sangat mudah! Apa pun peranan tugas anda, jika anda bekerja di Linux, mengetahui asas mengenai alat ini akan membantu anda memahami sistem anda dengan lebih baik.

Mari kita mulakan.

1. fail

Perintah fail akan membantu anda mengenal pasti jenis fail yang tepat yang anda hadapi. fail , nyatakan fail yang diformat khas yang mengandungi ujian peka kedudukan; ujian peka kedudukan lalai dan ujian sensitif konteks tidak akan dilakukan.

Perintah hanya memberitahu seperti apa fail itu, bukan seperti apa (sekiranya fail melihat kandungannya). Sangat mudah untuk memperbodohkan program ini dengan memasukkan nombor ajaib ke dalam fail yang kandungannya tidak sepadan dengannya. Oleh itu, perintah tersebut tidak dapat digunakan sebagai alat keselamatan 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 (perpustakaan bersama) yang diperlukan oleh setiap program atau objek bersama yang ditentukan pada baris perintah. Semasa perisian sedang dikembangkan, kami cuba untuk tidak mencipta semula roda. Terdapat satu set tugas umum yang diperlukan oleh kebanyakan program perisian, seperti mencetak output atau membaca dari standard, atau membuka fail, dll.

Semua tugas biasa ini disingkirkan dalam sekumpulan fungsi umum yang kemudian dapat digunakan oleh semua orang dan bukannya menuliskan varian mereka sendiri. Fungsi umum ini dimasukkan ke dalam 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 - memaparkan kandungan fail dalam heksadesimal, perpuluhan, oktal, atau ascii. Utiliti hexdump adalah penapis yang memaparkan fail yang ditentukan, atau input standard jika tidak ada fail yang ditentukan, dalam format yang ditentukan pengguna.

Membuka fail yang tidak diketahui di Hexdump membantu anda melihat apa sebenarnya kandungan fail tersebut. Anda juga dapat memilih untuk melihat perwakilan ASCII dari data yang ada dalam fail menggunakan beberapa pilihan baris perintah. Ini mungkin dapat memberi anda petunjuk mengenai jenis fail 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 rak buku

readelf memaparkan maklumat mengenai satu atau lebih fail objek format ELF. Pilihan mengawal maklumat tertentu untuk dipaparkan. ELF (Format Boleh Dieksekusi dan Dapat Dihubungkan) adalah format fail yang dominan untuk dieksekusi atau binari, bukan hanya di Linux tetapi juga pelbagai sistem UNIX. Mempunyai rujukan mengenai spesifikasi ELF sebenar yang berguna semasa menggunakan readelf 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 - memaparkan maklumat dari fail objek. objdump memaparkan maklumat mengenai satu atau lebih fail objek. Pilihan mengawal maklumat tertentu untuk dipaparkan. Maklumat ini banyak berguna untuk pengaturcara yang sedang mengerjakan alat penyusun, berbanding dengan pengaturcara yang hanya mahu program mereka menyusun dan berfungsi. Penyusun ini menghasilkan arahan bahasa mesin yang setara dengan kod sumber, yang kemudian dapat dijalankan 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__>

Dalam artikel ini, kita telah melihat bagaimana menganalisis fail binari di Linux.

Dapatkan pelayan berdedikasi siri E5 berprestasi tinggi dan VPS KVM yang murah.


Cara Membuat Kumpulan di Linux

Cara Membuat Kumpulan di Linux

Kumpulan digunakan untuk mengatur pengguna dan keistimewaan mereka seperti membaca tulisan dan melaksanakan kebenaran. Untuk menambahkan groud, perintahnya adalah groupadd.

3 Cara Memeriksa Penggunaan CPU di Linux

3 Cara Memeriksa Penggunaan CPU di Linux

Terangkan dengan baik 3 cara untuk memeriksa penggunaan CPU di Linux. Penggunaan CPU merujuk pada penggunaan sumber daya pemrosesan, atau jumlah pekerjaan yang dikendalikan oleh CPU.

Cara Memasang dan Mengkonfigurasi DenyHosts di CentOS 7

Cara Memasang dan Mengkonfigurasi DenyHosts di CentOS 7

DenyHosts banyak digunakan sebagai alternatif kepada Fail2ban. Sekiranya terdapat terlalu banyak percubaan masuk SSH yang tidak sah, ia menganggap bahawa serangan brute-force atau

Pasang Cakera Baru ke Pelayan Linux

Pasang Cakera Baru ke Pelayan Linux

Kami akan belajar bagaimana memasang cakera baru ke pelayan Linux. Untuk demonstrasi ini, kami menggunakan pelayan awan CentOS 7. sekarang pasangkan partisi seperti gambar di bawah.

Mudah Memasang Fail2ban pada Ubuntu 20.04

Mudah Memasang Fail2ban pada Ubuntu 20.04

Terangkan dengan baik bagaimana mudah untuk memasang Fail2ban pada Ubuntu 20.04. Fail2ban ditulis dalam bahasa pengaturcaraan Python dan ia adalah sumber terbuka, percuma. Konfigurasi.

Cara Memasang WireGuard VPN di Ubuntu 20.04

Cara Memasang WireGuard VPN di Ubuntu 20.04

Terangkan dengan baik cara memasang WireGuard VPN pada Ubuntu 20.04. WireGuard adalah VPN yang sangat mudah, pantas dan moden yang menggunakan kriptografi canggih

Cara Memasang OpenSSL 1.1.1d di CentOS

Cara Memasang OpenSSL 1.1.1d di CentOS

OpenSSL adalah toolkit bertaraf komersil dan berkualiti tinggi untuk protokol Transport Layer Security (TLS) & (SSL). Belajar Memasang OpenSSL 1.1.1d di CentOS

Cara Memasang dan Mengkonfigurasi CSF di CentOS 8

Cara Memasang dan Mengkonfigurasi CSF di CentOS 8

Cara memasang dan mengkonfigurasi CSF pada pelayan CentOS 8. ConfigServer Security & Firewall adalah aplikasi (SPI) firewall, Login / Intrusion Detection dan Security.

Konfigurasi Peraturan Audit Tidak Tercermin - Cara menyelesaikan masalah

Konfigurasi Peraturan Audit Tidak Tercermin - Cara menyelesaikan masalah

Konfigurasi Peraturan Audit Tidak Tercermin? Ketahui bagaimana jurutera sokongan kami menyelesaikan dan menyelesaikan masalah tersebut. Fail konfigurasi peraturan /etc/audit/rules.d/audit.rules

Beban Tinggi CloudLinux pada Pelayan

Beban Tinggi CloudLinux pada Pelayan

Dalam artikel ini, kami akan mengetahui bagaimana jurutera sokongan kami memperbaiki beban tinggi CloudLinux pada pelayan. Pastikan had LVE anda dikonfigurasi dengan betul.