psoul'un mükemmel yayını sorunuza cevap veriyor, bu yüzden onun iyi çalışmasını çoğaltmayacağım, ama bunun neden bir kerede mükemmel geçerli ama aynı zamanda çok aptalca bir soru olduğunu açıklamaya yardımcı olacağını hissediyorum. Sonuçta, burası öğrenilecek bir yer, değil mi?
Modern bilgisayar programları, insan tarafından okunabilen bir metin talimatları gövdesinin ("kaynak kodu" olarak adlandırılır) girilmesiyle başlayıp, bilgisayar tarafından okunabilir bir talimat gövdesi (alternatif olarak "ikili" veya "makine olarak adlandırılır) ile biten bir dizi dönüşüm yoluyla üretilir. kod ").
Bir bilgisayarın bir dizi makine kodu talimatını çalıştırma şekli nihayetinde çok basittir. Bir işlemcinin gerçekleştirebileceği her işlem (örn. Bellekten okuma, iki değer ekleme) sayısal bir kodla gösterilir. Eğer 1 numarasının çığlık anlamına geldiğini ve 2 numarasının kıkırdamak anlamına geldiğini söyledim ve sonra 1 veya 2'lik kartlar tutturarak sizden buna göre çığlık atmanızı veya kıkırdamanızı bekleseydim, aslında bir bilgisayarın kullandığı sistemin aynısını kullanırdım işletmek.
İkili dosya, bu kodlardan (genellikle "op kodları" olarak adlandırılır) ve op kodlarının üzerinde çalıştığı bilgilerden ("bağımsız değişkenler") oluşur.
Şimdi, montaj dili, dildeki her komut sözcüğünün işlemci üzerinde tam olarak bir op-kodu temsil ettiği bir bilgisayar dilidir. Bir montaj dili komutu ile işlemci op kodu arasında doğrudan 1: 1 çeviri vardır. Bu nedenle bir x386 işlemci için kodlama düzeneği, bir ARM işlemci için kodlama düzeneğinden farklıdır.
Sökme basitçe budur: bir program ikili (makine kodu) aracılığıyla okur, op kodlarını eşdeğer montaj dili komutlarıyla değiştirir ve sonucu bir metin dosyası olarak çıkarır. Bunu anlamak önemlidir; bilgisayarınız ikiliyi okuyabiliyorsa, ikiliyi de elinizdeki bir op-kod tablosuyla manuel olarak (ick) veya bir sökücü aracılığıyla okuyabilirsiniz.
Sökücülerin bazı yeni hileleri ve hepsinin var, ancak bir sökücünün nihayetinde bir arama ve değiştirme mekanizması olduğunu anlamak önemlidir. Bu yüzden onu yasaklayan herhangi bir EULA nihayetinde sıcak hava üfler. Bilgisayarın program verilerini okumasına bir kerede izin veremez ve bilgisayarın program verilerini okumasına izin veremezsiniz.
(Beni yanlış anlamayın, bunu yapmaya çalıştılar. Şarkı dosyalarında DRM'nin yanı sıra çalışıyorlar.)
Ancak, sökme yaklaşımına ilişkin uyarılar vardır. Değişken isimleri mevcut değildir; CPU'nuzda böyle bir şey yok. Kütüphane çağrıları cehennem gibi kafa karıştırıcıdır ve çoğu zaman diğer ikili dosyaların sökülmesini gerektirir. Ve montaj en iyi koşullarda okumak cehennem kadar zordur.
Çoğu profesyonel programcı, baş ağrısı olmadan montaj dilini oturamaz ve okuyamaz. Bir amatör için bu olmayacak.
Her neyse, bu biraz parlak bir açıklama, ama umarım yardımcı olur. Herkes benim tarafımdaki yanlışlıkları düzeltmekte özgür olabilir; Bir süre oldu. ;)