İkili dosya düzenleyicisi. Hex editörleri vs. kötü amaçlı yazılım: İkili analiz için bir onaltılık düzenleyici seçme

  • 17.05.2019

İnsanlar, yalnızca profesyonellerin ve programcıların altıgen editörlerle çalışabileceği görüşündedir ve meslekten olmayanlar için bu gereksiz ve anlaşılmaz bir şeydir. Aslında bu, yardımcı programdaki bir hatayı veya hatayı düzeltmeniz gerekirse, oyuncular ve sıradan kullanıcılar için kesinlikle kullanışlı olacak kullanışlı bir araçtır. Özünde, editör onaltılık bir kod çözücüdür. Rakamları yazmak için ondalık sayı kullanırız, makine tüm bilgileri kodlamak için 2 haneli bir kod kullanır ve daha sonra kullanıcının daha kolay anlaması için tümü onaltılık sayıya dönüştürülür. Aslında, editörlere yeni başlayanlar tarafından ihtiyaç duyulması daha olasıdır, çünkü profesyoneller, programlama için gerekliyse, aynı anda birkaç paradigmayı uygulama yeteneğine sahip çok işlevli yardımcı programları kullanır. Hangi hesaplayıcıları ve dönüştürücüleri seçmenin en iyisi olduğunu görelim.

Ayrıca, kodu diğer kodlama sistemlerine dönüştürme ve sistem ikili dosyalarını okuma özelliğine sahip, dünyadaki en basit ve en popüler hex editörü. Hex Editor Neo'nun tüm işlevleri, kullanıcının isteği üzerine dosyaları açmak, bazı değişiklikler yapmak ve aynı veya farklı bir biçimde kaydetmektir. Bununla birlikte, bir kolaylık vardır - yardımcı program kapatıldıktan sonra bile değişikliklerin geçmişi kaydedilir. Bu nedenle, kararlarınızın hiçbirine tekrar gelmek zorunda değilsiniz. Bir şekilde olacaklar, bugün tam önünüzde tamamlamaya vakit bulamadığınız kodun o kısmına yarın geri dönebilirsiniz. Bu Hex editörü, yeni başlayanlar ve profesyoneller için uygundur.

HxD Hex Düzenleyici

ANSI veya ASCII gibi temel kodlamaları destekleyen ikili dosyalar için ücretsiz, ancak yine de oldukça güçlü bir düzenleyici, genellikle daha işlevsel hesap makinelerine ve dönüştürücülere ek olarak kullanılır. Dosyaları boyut sınırlaması olmadan kabul eder ve en önemlisi RAM'i değiştirmenize, herhangi bir yeniliği anında sabit diske kaydetmenize olanak tanır. Yaratıcılar tarafından düşünülen kullanışlı ve ergonomik bir arayüz, kullanıcının işini bir kez daha kolaylaştırıyor. HxD Hex Editor'da klasik bir araç yığını yoktur ve her şey basit bir deklanşör sistemi sayesinde düzenlenmiştir, bunun için zaten bir hex editörü indirebilirsiniz.

altıgen atölye

Herhangi bir donanıma sahip bilgisayarlar için uygun en basit editörlerden biri. Programı taşınabilir bir editör olarak bu kadar popüler yapan, 2000'li yılların başlarında Microsoft nesne tasarımının bir miktar akışına rağmen, sistem kaynaklarına ve kullanıcı dostu bir arayüze yönelik küçük talebiydi. Yardımcı programı bir USB flash sürücüye yüklemeniz ve ardından koddaki sorunu yerinde çözmeniz gerekiyorsa, daha iyi bir çözüm bulamazsınız, çünkü uygulamanın daha düşük sistem gereksinimlerine sahip taşınabilir bir sürümü de vardır. Ayrıca bir mobil versiyonu da var ve hex atölyesini doğrudan akıllı telefonunuza indirebilirsiniz.

WinHex

Bu altıgen düzenleyici, paylaşılan bir yazılımdır; bu, işlevselliğin ana kısmı için ödeme yapmanız gerektiği anlamına gelir. Ancak, çeşitli formatlardaki dosyaların temel düzenlemesi ve bir kodlama sisteminden diğerine dönüştürme ücretsiz olarak mevcuttur. Bu, editörün tüm zevklerini tamamen ücretsiz olarak denemenize ve ancak ondan sonra satın alıp almamaya karar vermenize izin verir. Ana avantaj, önceden hazırlanmış bir işlevsellik karmaşasıdır, başka hiçbir yerde çalışmak için bu kadar zengin bir ortam bulamazsınız.

HexCmp

Meslektaşınızın yaptığı bir hatayı veya değişikliği bulmak için sık sık birkaç dosyayı birbiriyle karşılaştırmanız gerekiyorsa, bu altıgen düzenleyici indirmeye değer. Yardımcı program, uyumsuz parçaları rahatça görüntülemenin yanı sıra, sıradan bir düzenleyici ve dönüştürücünün basit işlevselliğinin yanı sıra bu tür programlarda temel bir centilmen kümesi sağlar.

Çevrimiçi altıgen düzenleyici

Hex kodunda hızlı bir şekilde birkaç değişiklik yapmanız gerekiyorsa ve aynı zamanda uygulamaları yüklemekle bir kez daha uğraşmamanız gerekiyorsa, çevrimiçi editörler de uygundur. Ancak, işlevlerinin son derece zayıf olduğunu unutmayın. İşte benzer çevrimiçi çözümlere bağlantılar:

Hex'ten DEC, BIN'e ve tam tersi dönüştürücü

Yukarıdaki yardımcı programlardan herhangi biri altıgenden aralığa, altıgenden kutuya dönüştürücü olarak kullanılabilir. Onlara bir dosya yüklemek ve "farklı kaydet" öğesini seçmek ve ardından uygun formatı seçmek yeterlidir; yardımcı programın kendisi tüm verileri istenen uzantıya dönüştürür, ardından uygun türdeki dosyayı açabilirsiniz. .

Böyle bir çevrimiçi hesap makinesi, 16 tabanlı sistemde hızlı bir şekilde hesaplama yapmanız gerektiğinde son derece yararlı olabilir. İşte kullanışlı ve iyi bir çevrimiçi Hex hesaplayıcıya bir bağlantı:

Çıktı

Açıklanan herhangi bir yardımcı programı istediğiniz zaman seçin veya ihtiyaç nadiren ortaya çıkarsa çevrimiçi analogları kullanın. hex editor neo - hem yeni başlayanlar hem de profesyoneller için en iyi seçim olacaktır.

NOT
Şekiller bu sayfada gösterilmemektedir, ancak bunları kitapta bulabilirsiniz.

Şimdi yapacağımız şey benim açımdan çok ilginç. Bu, ilk makine kodu programınız olacak (ve büyük olasılıkla tek programınız)).

Assembly düşük seviyeli bir dildir, ancak yine de bir dildir. Makine kodlarında bir program yazmayı denediniz mi? Şimdi deneyelim.

Herhangi bir derleyici-derleyici ve diğer araçlar olmadan herhangi bir hex editörü (veya hex editörü veya hex editörü) kullanarak bir program yazabilirsiniz.

Yine de programları onaltılık bir düzenleyicide ayrıştırmak oldukça yararlıdır. Özellikle elektronikle çalışacak olanlar için - sonuçta mikroişlemciler Pascal veya C ++ anlamıyor. Bu dillerin kendilerine "açıkladığı" özel cihazlar ve programlar olmasına rağmen.

İlk önce bir hex editörüne ihtiyacınız var. Elinizde ne varsa kullanabilirsiniz. Ancak, yukarıda bahsedilen McAfee FileInsight v2.1'i kullanacağım. Bu altıgen düzenleyiciyi indirmek ücretsizdir. Aşağıda açıklanan tüm eylemler bu düzenleyici için geçerlidir.

Yani, onaltılık düzenleyiciyi yüklediniz. Başlatıyoruz. AÇ butonuna tıklıyoruz, oluşturduğumuz COM dosyalarından örneğin debug_1.com'u bulup editöre yüklüyoruz.

Dosya yüklendiğinde, düzenleyicide aşağıdakini göreceksiniz (ayrıca bkz. Şekil 1.12):

00000000 B4 02 B2 41 CD 21 CD 20 ... A.!. Oluşturduğumuz diğer iki dosyayı açabilirsiniz: mycode.com (emu8086'da oluşturulmuştur) veya ATEST.COM (bölümde oluşturduğumuz). Aynı şeyi göreceksiniz. Bu, tüm montajcıların aynı makine kodunu oluşturduğu anlamına gelir. Yani, program metinlerindeki farklılıklar temel değildir - bunlara yalnızca montajcıların kendilerindeki farklılıklar neden olur.

NOT
Sizin durumunuzda farklı bir resim görüyorsanız, ya başka bir dosya açmışsınızdır ya da onu metin modunda görüntülüyorsunuzdur. İkinci durumda, araç çubuğunda Onaltılı Olarak Görüntüle düğmesini tıklayın (bkz. Şekil 1.12).

Bu sayılar ne anlama geliyor?

Sıfırlarla her şey açıktır - bu, B4 sayısının yazıldığı ilk bellek hücresidir. Bu numara daha sonra 0100h adresine yazılacaktır (bir COM dosyası için). Bir satır, her biri iki rakamdan oluşan 16 sayı içermelidir. Sayılar onaltılık biçimde yazılır. Ancak programımız küçük - sadece 8 bayt, yani 8 numaramız var.

Ama B4 tam olarak nedir? Bu komut - "Değeri AH kaydına girin". Ve hangi değeri giriyoruz? Doğru: 02 (satırdaki sonraki sayı).

AX = 0200 BX = 0000 CX = 0000 DX = 0000 SP = FFEE BP = 0000 SI = 0000 DI = 0000 DS = 0B72 ES = 0B72 SS = 0B72 CS = 0B72 IP = 0102 NV UP EI PL NZ NA PO NC 0B72: 0102 B241 MOV DL, 41 Son satırdaki B241'e bakın? Tanıdık bir kombinasyon mu? Bu, MOV DL komut kodudur, 41.

Geriye satırın sonundaki gizemli karakterlerle uğraşmak kalıyor. Ancak burada her şey basit: bir sayıdaki her basamak, ASCII tablosunun bir karakter koduna karşılık gelir ve bu karakterler, onaltılık basamaklarla aynı sırada görüntülenir. Bu metinde, bazı karakterler nokta (.) ile değiştirilmiştir - bunlar sadece alfabetik olmayan karakterler için kodlardır.

Şimdi iyi çalışılmış programımızı derleyiciler ve bağlayıcılar olmadan yazıp oluşturalım. Düzenleyiciyi açın, yeni bir dosya oluşturun (bunu yapmak için araç çubuğundaki YENİ düğmesine tıklayın), ardından Onaltılı Olarak Görüntüle düğmesine tıklayın ve verileri girin:

00000000 B4 02 B2 41 CD 21 CD 20 Dosyayı bir adla kaydedin, örneğin hex_1.com. Her şey. Program hazır. Şimdi başlayabilir ve yaratıcılığınıza bir kez daha hayran olabilirsiniz. Sonuç, önceki tüm durumlarda olduğu gibi olacaktır.

Ve McAfee FileInsight v2.1 düzenleyiciden hoş bir sürpriz daha - kendi sökücüsü var! Yürütülebilir dosyayı editöre yüklerseniz ve sol alt köşede DEMONTAJ sekmesini seçerseniz, yüklenen programın kaynak kodunu montaj dilinde görebilirsiniz (Şekil 1.12).

Neden hex editörlerine ve sökücülere ihtiyacımız var? Bu çok zor. Evet, kolay değil. Ancak, bilgisayar korsanları öyle düşünmüyor. Programları kırdıkları hex editörleri ve sökücülerin yardımıyla. Kodda ihtiyaç duydukları yerleri bulurlar ve hacker kaprislerine göre düzeltirler.

Tabii ki, biz hacker değiliz. Programları bozmayacağız. Bununla birlikte, sökücüler ve hex editörleri, yasalara uyan programcılar için oldukça faydalıdır. Örneğin hata ayıklamak, makine kodlarını öğrenmek vb. için kullanılırlar. Örneğin, bir montaj dili komutunun neye benzediğini biliyorsunuz, ancak makine kodunu bilmek istiyorsunuz. Belge yoksa, tek bir çıkış yolu vardır - onaltılık bir editör ve / veya bir sökücü. Bununla birlikte, tüm talimatların iki sayının makine koduna uymadığına dikkat edilmelidir. Bazı komutlar oldukça karmaşıktır ve makine kodlarında daha fazla sayının gösterilmesini gerektirir.

Artık verilerin nelerden oluştuğu ve nasıl düzenlenebileceği konusunda çok fazla materyal olacak. Birçok kişi bilgisayardaki herhangi bir dosyanın (resim, metin veya multimedya) ikili kod olduğunu bilir - sıfırlar ve birler. Bu tür dosyaları düzenlemek için şunu kullanın: HEX editörleri- bayt kodundan oluşan verileri düzenleyen bir uygulama. Düzenleyicideki baytlar onaltılık gösterimle temsil edilir.

Dosya uzantısı

Sorun çok sayıda dosya türünde yatmaktadır ve ilk başta işletim sisteminin metin, multimedya veya arşivlenmiş ve diğer veri türlerini nasıl belirlediği açık değildir. Bildiğiniz gibi, bir dosyanın sistem tarafından tanımlanması, örneğin ".exe", ".txt" ve diğerleri gibi addan sonra eklenen uzantı kullanılarak gerçekleştirilir.

İşletim sistemindeki ayarlar esnektir, yani herhangi bir dosyanın uzantısı silinebilir, ancak daha sonra işletim sistemi onu açamaz, hangi programla başlatılacağını anlamaz. Bu durumda nesnenin mantıksal yapısı değişmeyecektir. Resimde bir metin dosyası gösteriliyor ve yanında aynısı var, ancak uzantısı yok ve simgesi beyaz.

Uzantısı olmayan bir nesne, mantıksal bir dizi simgeyle aynı dosya olarak kalırsa, uzantı türünü belirlemez, peki o zaman ne olur? şöyle bir şey var biçim- bu türü tanımlar, aynı zamanda veri yapısının özelliğidir. Genişleme tamamen farklı bir terimdir. Ancak, kullanıcı başlangıçta uzantısı olmayan bir dosyayla karşılaşırsa, ancak acilen açılması gerekiyorsa ve bilinmeyen nedir?

Tanımlayıcılar

Tüm dosyalar kabaca iki bileşene ayrılabilir - nesne tanımlama verilerini içeren başlık, çeşitli meta veriler. İkinci bileşen, nesnenin türünü belirlemek için kullanılan nesnenin "gövdesi" ve başlığın tanımlayıcı adını taşıyan kısmıdır. İki popüler tanımlayıcı - ASCII ve altıgen... İkinci seçenek, başta belirtilen editörler yardımıyla analiz edilir.

İlk ASCII yöntemi, örneğin Notepad ++ gibi bir metin düzenleyici kullanılarak tanımlanır, ancak bir noktayı dikkate almaya değer - bazı bayt kümeleri ASCII biçimine dönüştürülemez, bu da HEX düzenleyicilerinin kullanılması tavsiye edilir. Böyle bir yardımcı programı kullanarak herhangi bir dosyayı başlattıktan sonra, pencere, hücrelerden birinde bir baytın bulunduğu bir dizi bayt içeren bir matrisin görünümünü görüntüler. Tanımlayıcı bilgiler genellikle ilk 3 hücrede, nadiren daha fazla hücrede bulunur. Hücreler yatay olarak sayılır. Hücrelerde görüntülenen veriler onaltılık kodla temsil edilir.

tanımlayıcı şifre çözme

Ne tür veriler olduğunu anlamak için kodun şifresini çözmeniz gerekir. Bunu yapmak için, örneğin open-file.ru gibi dosya biçimlerini belirleyen özel bir hizmete ihtiyacınız var. Ancak internette kolayca bulunabilecek başka kaynaklar da var. Dosyayı siteye yükledikten sonra veriler analiz edilecek ve ardından sonuç görüntülenecektir. Dosyanın türü, biçimi ve açıklamasını içeren bir tablo aşağıda görünecektir.

Yukarıda tartıştığımız şey, HEX editörlerinin kullanımıdır. Şimdi ASCII koduyla ilgilenelim. Bu kod aynı open-file.ru kullanılarak analiz edilebilir. Başka bir deyişle, her iki kod da kaynak üzerinde kontrol edilir ve esasen hiçbir şey girilmesi gerekmez.

Bazen formatı tanımlamak kolay değildir. Bu, ASCII başlıkları için geçerlidir. Gerçek şu ki, ilk birkaç karakter dosya uzantılarıyla ve belki de birkaç formatla ilgili olabilir.

Elbette, formatı tanımlamanın bir yolu var. Analiz için yalnızca bir satır değil, birden çok satır kullanılacaktır. Ardından, orada bulunan bazı öğeler, herhangi bir şekilde, nesnenin türünü gösterecektir.

Bir HEX editörüyle başka neler yapabilirsiniz?

HEX editörlerinin herhangi bir dosyayı analiz etmeye yardımcı olmasının yanı sıra, aşağıdakiler de mümkündür:

  1. disk görüntüleri ile çalışın;
  2. bölümleri düzenle;
  3. RAM içeriğini değiştirin;
  4. işlemin ve diğer şeylerin sanal adres alanını değiştirin.

Örneğin, bu tür yardımcı programlar yazılım geliştirmede kullanılır. Bir programı derledikten sonra veri girmeniz gerektiğinde, ancak onu yeniden derlemek istemiyorsanız. Herhangi bir program kodu, bir HEX editörü kullanılarak değiştirilebilir. Elbette bunu yapabilmeniz, ihtiyacınız olan verileri bulmanız gerekiyor. Bu nedenle, koddaki hataları düzeltmeye çalışırlar veya bunları bilgisayar korsanlığı ve hile için kullanırlar. Bu, HEX editörlerinin kullanımının çok geniş olduğu anlamına gelir.

Hangi HEX editörlerini kullanmalı

Verileri düzenlemek için birçok program vardır ve bunlar aşağıda sunulmuştur:

Windows için popüler yardımcı program. Bununla birlikte, kullanıcı herhangi bir dosya türünü açamaz ve değiştiremez. Bir şey yanlış düzenlenirse, yardımcı programın bir değişiklik geçmişi vardır ve her zaman orijinal durumuna geri dönebilirsiniz.

Araç çok hızlı çalışır, çok ağır değildir ve kendisi büyük dosyalarla çalışabilir. Arayüz basit ve yeni başlayanlar için uygun, bir Rus dili var.

Bu düzenleyici demo sürümünde bir süre kullanılabilir, daha sonra satın almanız gerekir. Araç, birçok ilginç seçeneğin bulunduğu evrenseldir.

Yalnızca dosyalarla değil, sabit sürücüler, flash ortamlar, optik diskler ve hatta disketler ile de çalışmak mümkündür. Tüm Windows dosya sistemleri desteklenir. Kurtarma olasılığı olmadan bölümleri klonlama ve verileri tamamen silme işlevlerini destekler

Yeni başlayan biriyseniz, bu program sizin için yeterlidir, özellikle Yardım bölümünde Rusça arayüze geçme seçeneği vardır.

Bu yardımcı program 2'si 1 arada, çünkü dosya karşılaştırma işlevi ve yerleşik bir HEX düzenleyicisi var. Bazen farklılıkları ve benzerlikleri belirlemek ve farklı formatlardaki nesnelerin yapısını analiz etmek için bu dosyaları karşılaştırmanız gerekebilir.

İki dosya farklıysa, matristeki alanlar belirli bir renkte renklendirilir ve karşılaştırmanın kendisi birkaç saniye içinde gerçekleşir. Doğru, 4 GB'den fazla olmayan dosyalar analiz için uygundur.

Yardımcı programın kendisi arayüzü değiştirme yeteneğine sahiptir. Bu, kullanıcının kendisi için özelleştirebileceği anlamına gelir. İş daha hızlı gidecek.

Bu şey ücretsiz olarak sağlanır, ancak herhangi bir formatta ve kodlamada büyük verilerle çalışabilir. RAM ve sabit diski değiştirmek mümkündür.

Program, onaltılık ve ASCII metin çıktısını birleştirir. İngilizce arayüzünün arayüzü oldukça basittir, bu nedenle, özellikle bu tür editörlerde zaten çalıştıysanız, onunla çalışmak zor olmayacaktır.

Dosya bir düzenleyicide açılmazsa, bu düzenleyicide açılır. Bu nedenle, burada birkaç yardımcı programın bir listesini verdim. Belirtilen araç, ikili dosyaları açmaktan sorumludur. Birçok ayar vardır ve sistem gereksinimleri herhangi bir bilgisayar için kullanılabilir.

Bu düzenleyicide çalışmak, Word'de yazdırmak kadar basittir. Dosyaları, sağlama toplamlarını karşılaştırmak ve analizi çeşitli biçimlere, örneğin html'ye aktarmak için seçenekler vardır.

Bir kodu başka bir sayı sistemine çevirmeniz gerekiyorsa, Hex Workshop'ta bir dönüştürücü var. Program, dezavantajlardan biri olarak kabul edilebilecek bir shareware'dir.

Artık HEX editörlerinin ne olduğunu ve neden kullanıldığını öğrendiniz. Gelecekte, örneğin bir dosyayı düzenlemek gerektiğinde, onlarla çalışma hakkında makaleler yazmaya çalışacağım.

Bu makale, bir dosyayı düzenleme örneğini kullanarak ücretsiz hex editörü Free Hex Editor Neo'da çalışmak hakkında konuşacaktır. BkEnd.dll Bu sistemin doğru çalışması için teslimattan c.

1. Hex editörleri ve dosyaları hakkında biraz

Bildiğiniz gibi, bir bilgisayarın sabit diskinde depolanan herhangi bir dosya, bir dizi makine kelimesi - bayttır. Bir bayt, sırayla, her biri "0" veya "1" değerini alabilen 8 bitten oluşur, yani bir bayt, 0 ila 255 aralığında 2 8 = 256 değer alabilir. Sayı 256 10, onaltılık sistemde yazılmış, üç basamaklı yuvarlak bir sayıdır - 100 16, yani 0-255 aralığındaki herhangi bir sayıyı temsil etmek için 2'den fazla basamak gerekli değildir. Bu, her bir baytın değerinin iki basamaklı bir sayıyı onaltılık gösterimde yazmak için çok uygun olduğu anlamına gelir.

Onaltılı düzenleyici bize dosyayı makinenin "gördüğü" şekilde, yani bir bayt dizisini gösterir. Örneğin, bir düzenleyicide bir dosyayı açarken, dosya boyutuna bağlı olarak 16 sütun ve satır sayısından oluşan bir matris göreceğiz. Matristeki her değer, iki basamaklı onaltılık bir sayıyla yazılmış bir bayta karşılık gelir. İstenen baytın değerini değiştirerek dosyanın kendisini buna göre değiştirebiliriz.

Ek olarak, tablonun yanında şunları görebiliriz:

  • Matrisin solunda bir sayı satırı görüntülenir: her satır, bu satırın ilk baytının adresini / ofsetini gösteren bir sayıya karşılık gelir. Bu durumda, adreslerin adımı sütun sayısına eşittir.
  • Matrisin üzerinde başka bir cetvel görüntülenir: her sütunun üzerinde, bu sütundaki baytın ilgili satırın ilk baytına göre ofseti görüntülenir. i -inci satıra karşılık gelen sayı ile j -inci sütuna karşılık gelen sayının toplamı, alınan satır ile alınan sütunun kesişimindeki baytın (i; j) adresi / ofsetidir.
  • Matrisin sağında aynı veriler görüntülenir, ancak farklı bir yorumda. Verilerin ASCII metni olarak en sık kullanılan alternatif gösterimi, değerleri yazdırılamayan karakterlere karşılık gelen baytların nokta (·) olarak görüntülenmesidir. Bu alandaki değerleri de düzenleyebilirsiniz.

2. Ücretsiz Hex Editor Neo Kurulumu

Örneğin, ofset içeren bir bayta ihtiyacım var 000d9cca değer yaz eb... Bunu yapmak için "000d9cco" satırını ve "0a" sütununu buluyorum, istediğiniz hücreye çift tıklayın ve yeni bir değer girin.

Benzer şekilde, aşağıdaki değişiklikleri yapıyorum:

  1. Hatayı düzeltmek için " MS SQL Server 6.5 + Service Pack 5a veya üstü gereklidir!»Alanları değiştirin:
    ofset ile 000d9cca anlam 83 değişmek eb
    ofset ile 000d9ccb anlam e8 değişmek 15
    ofset ile 000db130 anlam 83 değişmek eb
    ofset ile 000db131 anlam e8 değişmek 10
  2. Hatayı düzeltmek için " Veritabanı için ayarlanan sıralama düzeni sistemden farklıdır!»:
    ofset ile 0018a79d anlam 75 değişmek eb
  3. Hatayı düzeltmek için " 'TRANSACTION' anahtar kelimesinin yanında yanlış sözdizimi»
    ifade TRUNCATE_ONLY İLE DÖKÜM İŞLEMİ% s ofsette bulunan 002856B0 ifade ile değiştir ALTER DATABASE% s KURTARMA BASİT AYARLA
  4. Hatayı düzeltmek için " Veritabanı tek kullanıcı modunda açılamaz", Alanları değiştirin:
    ofset ile 0028549c anlam 64 değişmek 6b
    ofset ile 0028549d anlam 62 değişmek 70

Tüm değişiklikler yapıldıktan sonra dosyayı "tıklayarak kaydedin. Dosya» — « Kaydetmek» .

Bu makale size yardımcı oldu mu?

Bazen bir ikili dosyada değişiklik yapmak gerekli hale gelir. Bunun için sözde hex editörleri kullanılır. Bu kılavuzun amacı, onlarla çalışmanın temel yöntemlerini açıklamak ve en sık sorulan soruları yanıtlamaktır.

Editörün Seçimi

İlk soru genellikle ortaya çıkar: mevcut olanların çeşitliliği arasından hangi editörün seçileceği. Birkaç baytı değiştirmek için herhangi birini güvenle kullanabilirsiniz, ancak sık veya uzun süreli kullanımda program gerekli tüm işlevleri desteklemeli, kullanışlı, hızlı ve güvenilir olmalıdır. Buna dayanarak, örneğin QView kullanılmasını önerebiliriz. Yukarıda listelenen özelliklere ek olarak, aşağıdakilere sahiptir:

  • DOS ve Windows'ta çalışır
  • Satır içi birleştirici ve sökücü içerir
  • DOS-866, Win-1251, KOI-8r ve kullanıcı tanımlı metin kodlamalarını destekler
  • Kapsamlı özelleştirme seçeneklerine sahiptir
  • Ücretsiz ve açık kaynaktır

Proje ana sayfasından indirebilirsiniz: http://www.agcproduct.com/rus/products/qview/.

Ana QView penceresi bir başlık çubuğundan (üstte), bir çalışma alanından ve bir yazılım tuşu çubuğundan (altta) oluşur. Kontrol için klavye ve fare kullanılır. QView, metin modunda, altıgen döküm modunda ve ayrıştırıcı modunda verilerle çalışmanıza olanak tanır. Modlar, Enter veya F4 tuşlarına basılarak (veya AV / HV / 00 sembolleri alanındaki başlığın sol fare düğmesine tıklanarak) sırayla değiştirilir. Görüntüleme ve düzenleme modları Alt-F3'e basılarak değiştirilir (metin modunda - sadece F3). Başlattıktan sonra kurulan modlar, qview.ini, qview.fmg, qview.ehl dosyalarında saklanan ayarlara ve pakette özel bir program olan Q-Setup'ın değiştirilmesine bağlıdır. Kullanılan tuşlar için bağlama duyarlı yardım, F1 tuşuna basılarak çağrılır.

Bir dosyayı, adını komut satırı parametresi olarak ileterek bir düzenleyicide açabilirsiniz: qview.exe (Windows'ta, uzun dosya adları çift tırnak içine alınmalıdır) ya Alt-F6 tuşlarına basılarak veya başlıktaki dosya adına tıklanarak çağrılan dosya paneli aracılığıyla. Düzenleyiciden çıkmak için Escape tuşuna basın.

En basit düzenleme

İkili dosyaları düzenlerken en basit görev, XXXXXXXX ofsetindeki bayt değerini YY ile değiştirmektir. Bunu yapmak için dosyayı düzenleyicide açtıktan sonra görünümü döküm moduna geçirmek için Enter tuşuna basın. Çalışma alanında, sol sütun, orta kısımda ofset değerini gösterir - onaltılık biçimde bayt değerleri, sağda - ASCII karakterleri şeklinde aynı değerler.

İmleci gerekli ofsette konumlandırmak için F5 tuşuna basın (veya kırmızı ile vurgulanan sayı satırında fare ile başlığa tıklayın), ofset değerini girin ve Enter'a basın. Düzenleme modu açık değilse, Alt-F3 tuşlarına basın (bu durumda, tuş panelinde "Düzenleme AÇIK" yazısı görünecektir). Bundan sonra, bayt değerlerini onaltılık olarak yazarak veya karakter şeklinde SEKME tuşuna basarak imleci sağ sütuna getirerek dosyada değişiklik yapabilirsiniz. İmleç, normal kontrol tuşları veya fare kullanılarak konumlandırılır.

Yapılan değişiklikleri iptal etmek için imleci hatanın bulunduğu yere getirin ve birkaç kez F3 tuşuna basın. Değişiklikleri çıkışta W tuşlarına basarak veya Alt-F9 tuşlarına basarak zorlayarak kaydedebilirsiniz.

Bul ve Değiştir

QView, belirli baytlar veya diziler için bir dosya aramayı ve maske ile aramayı destekler. Arama iletişim kutusu F7 tuşuna basılarak çağrılır. ASCII alanına karakter olarak bir dize, HEX alanına ise onaltılık olarak girebilirsiniz. Bir fare tıklamasıyla, aramanın yönünü ("İleri / Geri") belirleyebilir, karakter arama ("Hassas") veya maskeyle arama ("Maskeleme") için karakterleri ayırt etme seçeneklerini etkinleştirebilirsiniz. İkinci durumda, "?" dizedeki karşılık gelen baytı maskeler. Örneğin, "w? R?" solucan, sıcak, vardı vb. sözcükleri bulunacaktır. Shift-F7 tuşlarına basmak bir sonraki eşleşmeyi arar.

Arama yapmak ve değiştirmek için Ctrl-F7 tuşlarına basın. Pencerenin üst kısmında, arama için bir dize veya kalıp, alt kısımda bir yedek dize girilir.

Crack dosyaları oluşturma ve kullanma

Crack dosyaları, ikili dosyalardaki değişiklikleri kaydetmenin en yaygın yoludur. Standart formatta üç sütundan oluşurlar: düzenlenen dosyanın başlangıcına göre ofset, değişiklikten önceki bayt değeri ve değişiklikten sonraki değeri:

00000150: 89 B8 00000151: 1E 03 00000152: F6 00 00000153: 10 CD 00000154: 83 10

Bazen başa "#" karakteriyle başlayan bir yorum eklenir.

QView'de dosyada yapılan değişiklikleri crack dosyası olarak kaydetmek için Shift-F9 tuşlarına basın, açılan pencerede dosya adını girin ve Enter tuşuna basın. Bitmiş crack dosyasından değişiklik yapmak için Ctrl-F8 tuşlarına basın, Enter tuşuna basarak açılan pencereyi atlayın (nadiren kullanılan ek bir ofset ayarlayabilirsiniz), sonraki pencerede crack dosyasının adını girin ve tekrar Enter'a basın. Önemli not: Bundan hemen sonra değişiklikler dosyaya yazılacak ve otomatik olarak kaydedilecektir. Programı düzenleme moduna geçirmek gerekli değildir. Değişiklikler yapılırken bir hata mesajı görüntülenirse, bu, dosya biçiminin standarda uymadığı veya yamanın dosyaya uymadığı anlamına gelir ("değişiklikten önceki" baytlar eşleşmez).

Bloklarla çalışma

Bazen bir ikili dosyanın bir kısmını, örneğin metin dizelerini ondan kopyalamak için kaydetmeye ihtiyaç vardır. Bloklarla çalışmak için editörün döküm veya sökücü modunda olması gerekir. Gerekli bloğu seçmek için imleci başlangıcına getirin, Ekle tuşuna basın, ardından imleci bloğun sonuna konumlandırın ve tekrar Ekle'ye basın. Blok sarı renkle vurgulanır.

Bir bloğu bir dosyaya kaydetmek için Shift-F2 tuşlarına basın, beliren pencerede kaydedilen dosyanın adını ve biçimini belirtin (kod biçiminde - "olduğu gibi", döküm veya montajcı metni) ve Enter tuşuna basın.

Bir dosyadan blok eklerken aynı şekilde bloğu seçin, Shift-F3 tuşlarına basın ve açılan pencerede kaynak dosyanın adını belirtin. Bu durumda, seçilen bloğun boyutu dosya boyutuna eşit veya ondan küçük olmalıdır. Alternatif seçenek: imleci eklemenin yapılacağı konuma ayarlayın, Shift-F5 tuşlarına basın ve açılan pencerede kaynak dosyanın adını, içindeki bloğun uzaklığını ve uzunluğunu, nereden nereye gitmek istediğinizi belirtin veri al.

Bir bloğu silmek için işaretleyin ve Shift-F4 tuşlarına basın veya imleci istediğiniz konuma getirin, Ctrl-F5 tuşlarına basın ve silinecek bayt sayısını belirtin. Geçerli konuma sıfırlarla dolu bir blok eklemek için Ctrl-F4 tuşlarına basın ve blok boyutunu belirtin. Alt-F10 tuşlarına basarak dosyayı mevcut konumundan başlayarak sonuna kadar silebilirsiniz.

Bir blok eklendiğinde, crack dosyalarında olduğu gibi, eklemeden hemen sonra değişiklikler kaydedilir.

Montaj ve montajcı arama

Derleme, yürütülebilir dosyaların algoritmasında değişiklik yapmak için kullanılır. QView, Intel 486 ve 487 işlemciler için tüm talimatları destekler. Birleştirici ve sökücü modunda, ilk sütun ilk sütunda dosyanın başlangıcına göre ofseti, ikinci sütunda talimat baytlarını ve üçüncü sütunda onun anımsatıcı atamasını gösterir. Montaj modunu etkinleştirmek için, birkaç kez Enter tuşuna basarak düzenleyiciyi sökücü moduna geçirin, Alt-F3 tuşlarına basarak düzenleme modunu etkinleştirin ve imleci üçüncü sütuna taşımak için SEKME tuşuna basın. Bundan sonra, Enter tuşuna basarak her girişi tamamlayarak talimatları girebilirsiniz.

Gerekirse, döküm modunda olduğu gibi, ikinci sütundaki baytları doğrudan değiştirebilirsiniz. 16/32 kodunun bit genişliği F2 tuşuna basılarak değiştirilir. İmleci hatalı satırın üzerine getirip F3'e birkaç kez basarak değişiklikleri geri alabilirsiniz.

Belirli montaj talimatlarını aramak için F6'ya basın, talimatı yazın ve Enter'a basın. Shift-F6 tuşlarına basarak bir sonraki eşleşmeyi arayın. Desen eşleştirme için aşağıdaki özel karakterler kullanılabilir:

"?" - herhangi bir karakter
"*" - virgüle veya satırın sonuna kadar herhangi bir alt dize
"$" - sayısal sabitleri ara (sayıdan önce gelir)
"%" - bir kelimeyi atla
"@" - herhangi bir alt dize

Örneğin, "sub bx, *" - BX kaydındaki tüm çıkarma talimatlarını arar.

İlave fonksiyonlar

QView'in kullanışlı ek işlevlerinden, Ctrl-F6'ya bastığınızda çağrılan yerleşik bir hesap makinesinin varlığını not edebiliriz. Temel aritmetik ve mantıksal bitsel işlemleri, işlemlerin önceliğini belirtmek için parantezleri, argümanların girişini ve 2, 8, 10, 16 tabanındaki sonucun çıktısını destekler.

Döküm veya ayrıştırıcı modunda F8 tuşuna basarak yürütülebilir bir dosyanın başlığındaki bilgileri görüntüleyebilirsiniz. MZ, PE, NE, LX, LE formatındaki dosyalar desteklenir.