Linuxta İkili Dosyalar Nasıl Analiz Edilir

Linuxta İkili Dosyalar Nasıl Analiz Edilir

Bu yazıda, Linux'ta ikili dosyaların nasıl analiz edileceğini açıklayacağız.

İkili dosyaları kolayca analiz etmenize yardımcı olabilecek basit 5 komut ve aracı ele alacağız. Linux, ikili dosyaları analiz etmeyi çok kolaylaştıran zengin bir araç seti sağlar! Göreviniz ne olursa olsun, Linux üzerinde çalışıyorsanız, bu araçlarla ilgili temel bilgileri bilmek sisteminizi daha iyi anlamanıza yardımcı olacaktır.

Başlayalım.

1. dosya

Dosya komutu, uğraştığınız dosya türünü tam olarak belirlemenize yardımcı olacaktır. file , konuma duyarlı testler içeren özel olarak biçimlendirilmiş bir dosya belirtin; varsayılan konuma duyarlı testler ve bağlama duyarlı testler gerçekleştirilmeyecektir.

Komut, dosyanın ne olduğunu değil, yalnızca nasıl göründüğünü söyler (dosyanın içeriğe baktığı durumda). İçeriği eşleşmeyen bir dosyaya sihirli bir sayı koyarak programı kandırmak kolaydır. Bu nedenle komut, belirli durumlar dışında bir güvenlik aracı olarak kullanılamaz.

# 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, komut satırında belirtilen her programın veya paylaşılan nesnenin gerektirdiği paylaşılan nesneleri (paylaşılan kitaplıklar) yazdırır. Yazılım geliştirilirken tekerleği yeniden icat etmemeye çalışıyoruz. Çıktı yazdırma veya standarttan okuma veya dosyaları açma vb. gibi çoğu yazılım programının gerektirdiği bir dizi ortak görev vardır.

Tüm bu ortak görevler, herkesin kendi türevlerini yazmak yerine kullanabileceği bir dizi ortak işlevde soyutlanır. Bu ortak işlevler, libc veya glibc adlı bir kitaplığa yerleştirilir.

# 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. altılı döküm

hexdump - dosya içeriğini onaltılık, ondalık, sekizli veya ascii olarak görüntüleyin. Hexdump yardımcı programı, belirtilen dosyaları veya hiçbir dosya belirtilmemişse standart girişi kullanıcı tarafından belirlenen bir biçimde görüntüleyen bir filtredir.

Hexdump'ta bilinmeyen dosyaları açmak, dosyanın tam olarak ne içerdiğini görmenize yardımcı olur. Ayrıca bazı komut satırı seçeneklerini kullanarak dosyada bulunan verilerin ASCII temsilini görmeyi de seçebilirsiniz. Bu, ne tür bir dosya olduğuna dair bazı ipuçları vermenize yardımcı olabilir.

# 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 okuma

readelf, bir veya daha fazla ELF biçimli nesne dosyası hakkında bilgi görüntüler. Seçenekler, hangi bilgilerin görüntüleneceğini kontrol eder. ELF (Yürütülebilir ve Bağlanabilir Dosya Biçimi), yalnızca Linux'ta değil, aynı zamanda çeşitli UNIX sistemlerinde yürütülebilir veya ikili dosyalar için baskın dosya biçimidir. Readelf kullanırken gerçek ELF spesifikasyonunun bir referansına sahip olmak çok faydalı olabilir.

# 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. itiraz

objdump - nesne dosyalarından bilgileri görüntüler. objdump, bir veya daha fazla nesne dosyası hakkında bilgi görüntüler. Seçenekler, hangi bilgilerin görüntüleneceğini kontrol eder. Bu bilgi, yalnızca programlarının derlenip çalışmasını isteyen programcıların aksine, derleme araçları üzerinde çalışan programcılar için yararlıdır. Bu derleyici, kaynak koduna eşdeğer makine dili talimatları üretir ve bunlar daha sonra belirli bir görevi gerçekleştirmek için CPU tarafından yürütülebilir.

# 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__>

Bu yazıda, Linux'ta ikili dosyaların nasıl analiz edileceğini gördük.

Yüksek performanslı bir çift E5 serisi adanmış sunucu ve ucuz KVM VPS edinin.


Linuxta Grup Nasıl Oluşturulur

Linuxta Grup Nasıl Oluşturulur

Gruplar, kullanıcıları ve onların yazma ve yürütme iznini okuma gibi ayrıcalıklarını düzenlemek için kullanılır. Grud eklemek için komut groupadd'dir.

Linuxta CPU Kullanımını Kontrol Etmenin 3 Yolu

Linuxta CPU Kullanımını Kontrol Etmenin 3 Yolu

Linux'ta CPU kullanımını kontrol etmenin 3 yolunu iyi açıklayın. CPU kullanımı, işleme kaynaklarının kullanımını veya bir CPU tarafından işlenen iş miktarını ifade eder.

CentOS 7de DenyHosts Nasıl Kurulur ve Yapılandırılır

CentOS 7de DenyHosts Nasıl Kurulur ve Yapılandırılır

DenyHosts, Fail2ban'a alternatif olarak yaygın olarak kullanılmaktadır. Çok fazla geçersiz SSH oturum açma girişimi varsa, kaba kuvvet saldırılarının veya

Bir Linux Sunucusuna Yeni Bir Disk Bağlayın

Bir Linux Sunucusuna Yeni Bir Disk Bağlayın

Bir Linux sunucusuna yeni bir diskin nasıl monte edileceğini öğreneceğiz. Bu gösteri için CentOS 7 bulut sunucusunu kullanıyoruz. şimdi bölümü aşağıda gösterildiği gibi monte edin.

Ubuntu 20.04te Fail2banın Kurulumu Kolay

Ubuntu 20.04te Fail2banın Kurulumu Kolay

Fail2ban'ı Ubuntu 20.04'e kurmanın ne kadar kolay olduğunu açıklayın. Fail2ban Python programlama dilinde yazılmıştır ve açık kaynak kodludur, ücretsizdir. Yapılandırma.

Ubuntu 20.04te WireGuard VPN Nasıl Kurulur

Ubuntu 20.04te WireGuard VPN Nasıl Kurulur

Ubuntu 20.04'te WireGuard VPN'in nasıl kurulacağını iyi açıklayın. WireGuard, son teknoloji kriptografiyi kullanan son derece basit, hızlı ve modern bir VPN'dir.

CentOSta OpenSSL 1.1.1d Nasıl Kurulur

CentOSta OpenSSL 1.1.1d Nasıl Kurulur

OpenSSL, Taşıma Katmanı Güvenliği (TLS) ve (SSL) protokolleri için sağlam, ticari düzeyde, tam özellikli bir araç takımıdır. OpenSSL 1.1.1d'yi CentOS'a Kurmayı Öğrenin

CentOS 8de CSF Nasıl Kurulur ve Yapılandırılır

CentOS 8de CSF Nasıl Kurulur ve Yapılandırılır

CentOS 8 sunucusunda CSF nasıl kurulur ve yapılandırılır. ConfigServer Security & Firewall bir (SPI) güvenlik duvarı, Oturum Açma/İzinsiz Giriş Tespiti ve Güvenlik uygulamasıdır.

Denetim Kuralı Yapılandırması Yansıtılmadı – Nasıl sorun giderilir

Denetim Kuralı Yapılandırması Yansıtılmadı – Nasıl sorun giderilir

Denetim Kuralı Yapılandırması Yansıtılmadı mı? Destek mühendislerimizin sorunu nasıl giderdiğini ve çözdüğünü öğrenin.Kural yapılandırma dosyası /etc/audit/rules.d/audit.rules

Sunucuda CloudLinux Yüksek Yük

Sunucuda CloudLinux Yüksek Yük

Bu makalede, destek mühendislerimizin sunucudaki CloudLinux yüksek yükünü nasıl düzelttiğini öğreneceğiz. Lütfen LVE sınırlarınızın doğru yapılandırıldığından emin olun.