SoftICE - SoftICE

SoftICE
Orijinal yazar (lar)NuMega
Geliştirici (ler)Bilgisayar yazılımı
İlk sürüm1987; 33 yıl önce (1987) (DOS)
Son sürüm
v4.05 / 2000; 20 yıl önce (2000)[1]
İşletim sistemiMicrosoft Windows
TürHata ayıklayıcı
LisansTescilli

SoftICE bir çekirdek modu hata ayıklayıcı için DOS ve pencereler Windows XP'ye kadar. En önemlisi, Windows altında çalışacak şekilde tasarlanmıştır. işletim sistemi varlığının farkında değil. Bir uygulama hata ayıklayıcısının aksine, SoftICE, talimat verildiğinde Windows'taki tüm işlemleri askıya alabilir. Sürücü hata ayıklaması için bu, donanıma nasıl erişildiği ve işletim sisteminin çekirdeğinin nasıl çalıştığı nedeniyle kritiktir. Düşük seviyeli yetenekleri nedeniyle SoftICE, aynı zamanda yazılım kırma aracı.

Microsoft, iki çekirdek -mod hata ayıklayıcıları, WinDbg ve KD, ücretsiz. Bununla birlikte, WinDbg ve KD'nin tüm yetenekleri yalnızca birbirine bağlı iki bilgisayar kullanıldığında kullanılabilir. Bu nedenle SoftICE, sürücü ile ilgili zorlu geliştirme için son derece kullanışlı bir araçtır. Yayınlanan son sürüm Windows XP içindi.

Daha eski sürümler var DOS ve uyumlu işletim sistemleri. SoftICE orijinal olarak adlı bir şirket tarafından üretildi NuMega ve daha sonra tarafından satın alındı Bilgisayar yazılımı 1997'de mülkü sattı Mikro Odak Şu anda Micro Focus, kaynak kodunun ve patentlerin sahibidir ancak SoftICE'ı aktif olarak sürdürmemektedir.

Adlandırma

"Yumuşak", yazılıma atıfta bulunur ve adın "ICE" kısmı, ima -e devre içi emülatör.

Tarih

Orijinal DOS için SoftICE 1987 yılında NuMega kurucuları tarafından yazılmıştır Frank Grossman ve Jim Moskun. Yazılan program 80386 montaj dili, bir işletim sistemi rolü oynadı ve yazılım çalıştırdı sanal 8086 modu. 386 dolara satıldı.

SoftICE / W (Windows için) 1990'larda geliştirildi ve "Belgelenmemiş Pencereler" Yazımında etkili oldu. Andrew Schulman, David Maxey ve Matt Pietrek. SoftICE / W, daha önceki ve daha az bilinen bir üründen türetilmiştir, NetWare için SoftICE (32 bit korumalı mod). Microsoft'un hata ayıklayıcılarına göre en önemli avantajlarından biri, ikinci bir makinenin bir seri bağlantı noktası üzerinden bağlanmasını gerektirmek yerine tek makinede hata ayıklamayı etkinleştirmesidir.

SoftICE'ın ana geliştiricileri Dom Basile ('Mr. SoftICE'), Tom Guinther (Mutfak Lavabo, Sembol Motoru), Gerald Ryckman (Video sürücüleri ve Mutfak lavabosu), Ray Hsu (Windows 95 için video sürücüleri) ve Dan Babcock (SoftICE / NT 3.1 / 3.5: Evrensel video sürücüsü, sembol motoru), Frank Grossman, Jim Moskun ve Matt Pietrek gibi çeşitli NuMega geliştiricilerinin katkılarıyla.

1998'de kod tabanı SoftICE / 95 Windows NT platformunda çalışacak şekilde tasarlanmıştır.

SoftICE'in daha yeni sürümleri, Microsoft Windows'un derinliklerine yamanıyor. Bu nedenle, SoftICE'ın eski sürümleri Windows'un yeni sürümleriyle nadiren uyumludur. Bu nedenle Compuware, SoftICE'i güncel tutulması ve en son Microsoft Windows sürümüyle senkronize olması için bir abonelik olarak sundu.

Compuware'in bir parçası olarak sunuluyordu. DriverStudio paket ancak Nisan 2006'da durduruldu.

Sonlandırma

3 Nisan 2006 tarihi itibariyle DriverStudio ürün ailesi, "çeşitli teknik ve ticari sorunların yanı sıra genel piyasa koşulları" nedeniyle kullanımdan kaldırılmıştır. 31 Mart 2007'ye kadar bakım desteği sunuldu.

Anti-SoftICE önlemleri

Yazılım satıcıları, kendilerini yazılımı analiz etmek için bir araç olarak SoftICE'ı kullanan kişilerden korumak için çok çeşitli karşı önlemler aldılar.

Örneğin, erken karşı önlem olarak aynı makinede çalışan SoftICE varlığını tespit etmek için kullanılan bazı satıcıların kodu aşağıda verilmiştir:

 mov eax, dword ptr [pIDT+2]; eax -> IDT Ekle eax, 8                 ; eax -> int 1 vektör mov ebx, [eax]             ; ebx == int 1 vektör Ekle eax, 16                ; eax -> int 3 vektör mov eax, [eax]             ; eax == int 3 vektör ve eax, 0FFFFh            ; seçiciyi soy ve ebx, 0FFFFh            ; bir parçası alt eax, ebx               ; yer değiştirme bul cmp eax, 10hjne  HackedVector           ; eşit değil, o zaman şanslar                            ; SoftICE bu vektörlerle oynadı

O zamandan beri bu tür önlemler giderek daha iyi gelişti. Birçoğu yalnızca daha az deneyimli ve kararlı bilgisayar korsanlarını caydırabilirken, SoftICE artık yazılımı analiz etmeye yeni başlayanlar için tercih edilen bir araç değildir.

Bugün satıcının savunması daha gelişmiş paketleyicilere / koruyuculara dayanmaktadır, ör. Themida, Armadillo veya ASProtect program kodunu paketleyen ve giriş noktası adresleriyle kurcalayan, böylece programın orijinal giriş noktasını bulmak zor (OEP ). Bu aynı zamanda programın adres tablosunu içe aktar (BENDE). Ancak, Windows NT için IceStealth ve IceExt veya Windows 9x için Icedump ve IcePatch gibi SoftICE'ı gizlemeye yönelik araçlar da mevcuttur.[2]

Resepsiyon

BAYT 1989'da Soft-ICE'yi BYTE Ödüllerinin "Ayrıcalık" kazananları arasında listeledi ve "80386 makinede 8086 tabanlı uygulamalar geliştiriyorsanız, bu gerekli ve uygun fiyatlı bir araçtır" dedi.[3]

Alternatifler

Ticari bir çekirdek düzeyinde hata ayıklayıcı adı verilen Syser SoftICE'ın kaldığı yerden devam edeceğini iddia ediyor.

Bir paylaşılan yazılım hata ayıklayıcı, ancak kullanımı ücretsiz, OllyDbg Oleh Yuschuk'tan 32 bitlik derleyici düzeyinde hata ayıklayıcıdır. Ancak, yalnızca kullanıcı modunda hata ayıklama için kullanılabilir.

SoftICE'a benzer bir açık kaynak çekirdek hata ayıklayıcısı Rasta Ring 0 Hata Ayıklayıcı (RR0D) mevcuttur.[4][5] Düşük seviyeli hata ayıklama sağlar Microsoft Windows, Linux, OpenBSD, NetBSD, ve FreeBSD. Bu proje aktif olarak sürdürülmüyor gibi görünüyor. Haziran 2016 itibarıyla, son değişiklik GitHub kaynak kod deposu Aralık 2008'de oluştu.[6]

LinICE SoftICE görünüm ve hissine sahip başka bir çekirdek düzeyinde hata ayıklayıcıdır. 2015 itibariyle, ayrıca birkaç yıldır güncellenmedi.[7]

HyperDBG donanım destekli sanallaştırmadan yararlanan çekirdek düzeyinde bir hata ayıklayıcıdır. 2011 itibariyle, en son Mayıs 2010'da güncellendi.[8]

Bir hata ayıklayıcı adlı BugChecker Windows 2000 ve XP için 32 bitlik tek ana bilgisayarlı bir çekirdek hata ayıklayıcısıdır, eğitim amaçlı açık kaynak olarak geliştirilmiş ve kullanıma sunulmuştur. BugChecker, kullanıcıların Windows 2000 ve XP'nin hem tek işlemcili hem de çok işlemcili sürümlerinde hem kullanıcı hem de çekirdek kodunu izlemesine olanak tanır.[9]

Birçok hiper yönetici, sanallaştırılmış işlemciyi doğrudan kontrol edebilen bir tür hata ayıklayıcı arabirimini açığa çıkararak sanal makinede çalışan çekirdekte hata ayıklamaya izin verir. Bu, bir çekirdeğin yerel hata ayıklama olanaklarına sahip olmasa bile hata ayıklamaya izin verir.

Referanslar

  1. ^ NuMega SoftICE 4.05 Sürüm Notları
  2. ^ "Kategori: SoftICE Uzantıları - Ortak Çalışma RCE Aracı Kitaplığı". Woodmann.com. Alındı 2014-04-24.
  3. ^ "BYTE Ödülleri". BAYT. Ocak 1989. s. 327.
  4. ^ "RR0D / Sunum". Wiki.droids-corp.org. Alındı 2014-04-24.
  5. ^ "Rasta Ring 0 Hata Ayıklayıcı (RR0D) - İşbirliğine Dayalı RCE Araç Kitaplığı". Woodmann.com. 2007-10-18. Alındı 2014-04-24.
  6. ^ Joe. "ice799 / rr0d". Github.com. Alındı 2016-06-05.
  7. ^ "LinICE Hata Ayıklayıcı". sites.google.com. Alındı 2015-07-31.
  8. ^ "hyperdbg - Donanım destekli sanallaştırmadan yararlanan bir çekirdek hata ayıklayıcısı". Code.google.com. Alındı 2014-04-24.
  9. ^ "BugChecker". BugChecker. Alındı 2014-04-24.

Dış bağlantılar