zPyrox
Diamond Üye
- Katılım
- 6 Kas 2021
- Mesajlar
- 344
- Beğeniler
- 88
Bildiğiniz üzere en çok C++ Kullanılır DLL Edit yapma konusunda.
------
Eğer bir hile kodlamak istiyorsanız gayet güzel bir başlangıç yoludur.
En revaçta ve kolay olan programlama dili olan Python3 Öğrenirken; C++ Gibi anlaşılması zor, en azından pythondan daha zor bir dile geçmek sizi yorabilir ayrıca kafa karışıklığıda yaratabilir.
--------------------------------------------------------------------------------------------------------------
O yüzden Python3'ün harika bir mödülünü burda size tanıtmak istiyorum.
Adım 1 : Mödül İndirme
İndirmekle başlıyalım, bir CMD Dosyasını aç ve
" pip install ctypes "
Yazarak indirelim.
Adım 2 : Mödülü İçe Aktarma
Kodumuza
from ctypes import *
Ekleyelim
Bu kod mödülü içe aktarmamıza yarar.
Adım 3: DLL Tanıtma
DLL'yi Yükleme: Kullanmak istediğiniz DLL'yi yüklemeniz gerekmektedir. Bunun için CDLL() veya WinDLL() fonksiyonlarını kullanabilirsiniz:
mydll = CDLL("mydll.dll") # CDLL() ile DLL'yi yükleme
Ekleyelim
Adım 4: DLL İçindeki bir fonksiyon çağırma.
DLL İşlevlerini Kullanma: DLL'de tanımlanan işlevlere erişebilir ve onları çağırabilirsiniz. İşlevlere ctypes objesi üzerinden erişebilir ve parametreleri uygun şekilde geçebilirsiniz:
result = mydll.my_function(arg1, arg2) # DLL'deki bir işlevi çağırma
Böyle yaparak DLL üzerinden değiştirceğimiz olayı seçiyoruz. ( Mermi Değiştirme , Can Yenileme)
Adım 5: Çağırdığımız Değerleri Değiştirme
Veri Alışverişi: DLL'de tanımlanan veri yapılarını kullanabilir ve veri alışverişinde bulunabilirsiniz. ctypes, C'deki veri yapılarına karşılık gelen veri tipleri sunar ve bu tipleri kullanarak veri yapıları oluşturabilirsiniz:
veriyapisi = mydll.MyStruct # DLL'deki bir veri yapısını kullanma
can = my_struct() # Veri yapısından bir örnek oluşturma
candegeri = 10 # Veri yapısının alanlarına erişme ve değer atama
can_basma = 20 # Veri yapısının alanlarına erişme ve değer atama
-------------
Bu temel adımları izleyerek, ctypes kullanarak DLL'lerle etkileşimde bulunabilirsiniz.
Sadece Deneyin
Bir Örnek :
Örnek olarak, bir DLL'deki add işlevini çağıralım. Bu işlev, iki tamsayıyı alır ve toplamını döndürelim:
from ctypes import *
mydll = CDLL("mydll.dll")
# İşlevin prototipini tanımlama
add = mydll.add
add.argtypes = (c_int, c_int) # Parametre tiplerini belirtme
add.restype = c_int # Dönüş değeri tipini belirtme
# İşlevi çağırma
result = add(3, 4)
print(result) # 7
#İşlev Parametreleri ve Dönüş Değerleri: ctypes ile işlevler çağırırken, işlevin beklediği parametreleri doğru bir şekilde belirtmeniz gerekmektedir. Bunun için işlevin parametre tiplerini ctypes veri tipleriyle eşleştirmeniz gerekmektedir. Örneğin, c_int bir tamsayıyı (int) temsil eder ve c_double bir ondalık sayıyı (float veya double) temsil eder.
İlginiz Çektiyse Lütfen Öğrenmeye Devam Edin Öğrenmenin Sonu Yok :
Kütüphanenin kendi dökümantasyonu.
------
Eğer bir hile kodlamak istiyorsanız gayet güzel bir başlangıç yoludur.
En revaçta ve kolay olan programlama dili olan Python3 Öğrenirken; C++ Gibi anlaşılması zor, en azından pythondan daha zor bir dile geçmek sizi yorabilir ayrıca kafa karışıklığıda yaratabilir.
--------------------------------------------------------------------------------------------------------------
O yüzden Python3'ün harika bir mödülünü burda size tanıtmak istiyorum.
Adım 1 : Mödül İndirme
İndirmekle başlıyalım, bir CMD Dosyasını aç ve
" pip install ctypes "
Yazarak indirelim.
Adım 2 : Mödülü İçe Aktarma
Kodumuza
from ctypes import *
Ekleyelim
Bu kod mödülü içe aktarmamıza yarar.
Adım 3: DLL Tanıtma
DLL'yi Yükleme: Kullanmak istediğiniz DLL'yi yüklemeniz gerekmektedir. Bunun için CDLL() veya WinDLL() fonksiyonlarını kullanabilirsiniz:
mydll = CDLL("mydll.dll") # CDLL() ile DLL'yi yükleme
Ekleyelim
Adım 4: DLL İçindeki bir fonksiyon çağırma.
DLL İşlevlerini Kullanma: DLL'de tanımlanan işlevlere erişebilir ve onları çağırabilirsiniz. İşlevlere ctypes objesi üzerinden erişebilir ve parametreleri uygun şekilde geçebilirsiniz:
result = mydll.my_function(arg1, arg2) # DLL'deki bir işlevi çağırma
Böyle yaparak DLL üzerinden değiştirceğimiz olayı seçiyoruz. ( Mermi Değiştirme , Can Yenileme)
Adım 5: Çağırdığımız Değerleri Değiştirme
Veri Alışverişi: DLL'de tanımlanan veri yapılarını kullanabilir ve veri alışverişinde bulunabilirsiniz. ctypes, C'deki veri yapılarına karşılık gelen veri tipleri sunar ve bu tipleri kullanarak veri yapıları oluşturabilirsiniz:
veriyapisi = mydll.MyStruct # DLL'deki bir veri yapısını kullanma
can = my_struct() # Veri yapısından bir örnek oluşturma
candegeri = 10 # Veri yapısının alanlarına erişme ve değer atama
can_basma = 20 # Veri yapısının alanlarına erişme ve değer atama
-------------
Bu temel adımları izleyerek, ctypes kullanarak DLL'lerle etkileşimde bulunabilirsiniz.
Sadece Deneyin
Bir Örnek :
Örnek olarak, bir DLL'deki add işlevini çağıralım. Bu işlev, iki tamsayıyı alır ve toplamını döndürelim:
from ctypes import *
mydll = CDLL("mydll.dll")
# İşlevin prototipini tanımlama
add = mydll.add
add.argtypes = (c_int, c_int) # Parametre tiplerini belirtme
add.restype = c_int # Dönüş değeri tipini belirtme
# İşlevi çağırma
result = add(3, 4)
print(result) # 7
#İşlev Parametreleri ve Dönüş Değerleri: ctypes ile işlevler çağırırken, işlevin beklediği parametreleri doğru bir şekilde belirtmeniz gerekmektedir. Bunun için işlevin parametre tiplerini ctypes veri tipleriyle eşleştirmeniz gerekmektedir. Örneğin, c_int bir tamsayıyı (int) temsil eder ve c_double bir ondalık sayıyı (float veya double) temsil eder.
İlginiz Çektiyse Lütfen Öğrenmeye Devam Edin Öğrenmenin Sonu Yok :
Linkleri görebilmek için kayıt olmanız gerekmektedir
Kütüphanenin kendi dökümantasyonu.