Tahribat.Com - Döküman : Reverse Engineering - Patching
 
Tahribat.com Döküman Arşivi > Cracking - Reverse Engineering > Reverse Engineering - Patching - Yazar : FireX

Reverse Engineering - Patching (Sayfa:1)

Merhaba arkadaşlar forumda patching’i merak edenler arkadaşlar vardı.Bu sefer patching hakkında bahsetmek istedim.

Öncelikle gereken programların isimlerini verelim.

Ollydbg
Winhex
Masm32 9 (Patch programını assemble etmek için gerekli)

Patch programının kaynak kodları+Deneme amaçlı program+Assemble edilmiş patch programı ise buradaki linkten indirebilirsiniz.

Patching dosyadaki bazı byteları değiştirerek programı kırmamız oluyor.Örneğin bir program kırdık ve exe dosyası 10 mb düzeyinde.Bunu dağıtması,indirmesi sorun.Fakat kendi yazdığımız program ile(assembly ile yazılmışsa 2-3 kb’a kadar düşüyor) belirli adreslerdeki byteları değiştirerek programı cracklenmiş haline sokuyoruz.Mesela sonuca göre hareket eden bir zıplama noktası var.Atlarsa hata mesajına gidiyor.Devam ederse program register oluyor.Programın packlenmemiş olması şart.Çünkü dosyanın bir kısmı şifreleniyor.Bütün packerlar şifreledikleri verileri memorye decrypt edip açmak zorundalar.Eğer memory’e açılan değerleri şifrelenmiş dosyaya yazarsak programı bozarız.Yada packerın mantığı çözülmeli mesela “a”yı şifreleyip “b” yapıyorsa dosyadaki kayıtlı değer b.Program çalışırken unpack edilme sürecinden sonra ise “a” olarak geçer memoryde.Bizde packer “a”yı nasıl “b” haline sokuyor bilirsek.Yazacağımız veriyide o şekilde şifreleyip dosyaya kaydederiz ve yine başarılı oluruz.Fakat bunlara gerek kalmadan loader olarak isimlendirilen programlarla memoryde geçici değişiklikler yapabiliyoruz.Nasıl olsa packer programı unpack etmek zorunda bu yüzdende belirli adresi sürekli tarayarak istediğimiz değişiklik yapıldımı diye bakarız.O değeri gördüğümz anda programın kırılmasına yol açan veriyi oraya yapıştırırız.Oyunların trainer mantığıda bu şekildedir zaten.Hafızaya yüklenen program üstünde değişiklik yapar.Harddiskteki dosyaya dokunmaz.Patching ise harddiskteki dosyanın orjinalinde değişiklikler yapılmasıdır.Neyse patch olayını anlatmaya devam edelim.

Opcode’u 75 0C olarak gözüküyor.Fakat biz bunu nop(Yani hiçbirşey yapmadan geç) yapmak istiyoruz.Nop’un opcode’u 90 Zıplama noktası 2 byte olduğu için ve nop 1 byte olduğu için 90 90 olarak değişiklik yapıyoruz ve program orayı geçiyor ve register oluyor.

Ollydbg’da nopla değiştirmek istediğimiz zıplama noktasına sağ tıklayarak “Follow in dump->selection” diyoruz.Altta opcod’u göreceksiniz.Sonra o satırı seçerek kopyalıyoruz(Resimde gözüküyor)


[1] [2] [3]

Okunma sayısı :2100


Sözlük

Binary
Byte
Delphi
Data
Doku

En Çok okunanlar
Radmin Ile Bilgisayarlara
Code Cracking‘e Gir
Adsl Account Calmak
Sc Keylogger Ve Kullanımı
MSN Messenger Püf Noktala
Beast 2.0.7 Trojan - Tuto
Uçan Balon Yapımı
Php Dersi 1
Programların Içindeki Sür
Port Listesi

 
Son 10 Döküman
Cracking - WinRar‘ın 40 G...
Nvidia Optimus Teknolojis...
JQuery Mobile
USB Bellekte Partition Ol...
MacOS X İçin Kullanıcı Şi...
C ile MySQL Programlama
Online Alışveriş Sırasınd...
C# ile FTP Üzerinde Dosya...
Geri Dönüşümsüz Disk Temi...
IDM'de Cookie Kullanımı
2001-2012 © Tahribat Group - Her Hakkı Saklıdır. - ● Gizlilik İlkeleri ● Kullanım Koşulları ● İletişim