Reverser
Evet en son altin anahtarimizi bulup key'i kirmaya calisacaktik.
Encoding.GetString'e hadi dnSpy uzerinden bakalim.
Yuklenen mscorlib'den, System.Text ad alani Encoding tipi GetString yontemini bulalim.
Karsimiza bu sekilde GetString yontemi cikacak. Burada onemli olan seyler byte[] parametresinin adi o da `bytes`
Gerekli bilgiye sahibiz, simdi hemen harmony'i projemize referans ekleyip islemimize baslayalim.
Harmony'i referans olarak ekledim.
Simdi harmony ad alanini kullanalim.
Hedef dosyamizi System.Reflection ad alaninda ki Assembly.LoadFile ile yukleyelim.
Bir harmony ornegi olusturalim. Id kismina coklu kullanimlarda essiz olacak sekilde bir id girebilirsiniz.
Uygulama uzerinde ki tum siniflardan patch yontemi yapacagiz.
Bu yuzden PatchAll yontemini kullanalim.
Statik bir sinif aciyoruz. Ve sinifimiz'a patchleyecegimiz yonteme uygun bir nitelik sagliyoruz.
Kisaca anlatirsak birinci alan, sinifin type'i, ikinci alan yontem, ucuncu alan ise parametrelerin type'i
Sinifimizin icerisine `Postfix` adinda bir yontem actim, Harmony de iki tane patch yontemi vardir. Bir tanesi Prefix, digeri ise Postfix.
Prefix orjinal kod calismadan once ki yeri kapsar, Postfix ise calistiktan sonra ki.
Bizim hedefimiz kodumuz islendikten sonra olacagi icin Postfix kullaniyoruz.
string __result olarak kullandigim sey ise harmony'de Postfix yonteminde kullanacaginiz bir ozellik. Yontemin ciktisini gosteriyor.
Eger yontemin ciktisini degistirmek isteseydik,
Basina ref eklememiz yetecekti.
Ikinci parametrede ki bytes ise dnSpy'dan aldigimiz parametre adi ile ayni olmak zorunda.
Yontemimizi bu sekilde gerceklestirdik.
Simdi dosyamizin entry pointini cagirmamiz gerekiyor.
Iste sonuc, hadi programimizi deneyelim
Dogru anahtarimiz Rexy'imis program bize bunu basarili bir sekilde dogru soylemis. Hedefimiz basarili
Encoding.GetString'e hadi dnSpy uzerinden bakalim.
Yuklenen mscorlib'den, System.Text ad alani Encoding tipi GetString yontemini bulalim.
Karsimiza bu sekilde GetString yontemi cikacak. Burada onemli olan seyler byte[] parametresinin adi o da `bytes`
Gerekli bilgiye sahibiz, simdi hemen harmony'i projemize referans ekleyip islemimize baslayalim.
Harmony'i referans olarak ekledim.
Simdi harmony ad alanini kullanalim.
Hedef dosyamizi System.Reflection ad alaninda ki Assembly.LoadFile ile yukleyelim.
Bir harmony ornegi olusturalim. Id kismina coklu kullanimlarda essiz olacak sekilde bir id girebilirsiniz.
Uygulama uzerinde ki tum siniflardan patch yontemi yapacagiz.
Bu yuzden PatchAll yontemini kullanalim.
Statik bir sinif aciyoruz. Ve sinifimiz'a patchleyecegimiz yonteme uygun bir nitelik sagliyoruz.
Kisaca anlatirsak birinci alan, sinifin type'i, ikinci alan yontem, ucuncu alan ise parametrelerin type'i
Sinifimizin icerisine `Postfix` adinda bir yontem actim, Harmony de iki tane patch yontemi vardir. Bir tanesi Prefix, digeri ise Postfix.
Prefix orjinal kod calismadan once ki yeri kapsar, Postfix ise calistiktan sonra ki.
Bizim hedefimiz kodumuz islendikten sonra olacagi icin Postfix kullaniyoruz.
string __result olarak kullandigim sey ise harmony'de Postfix yonteminde kullanacaginiz bir ozellik. Yontemin ciktisini gosteriyor.
Eger yontemin ciktisini degistirmek isteseydik,
Basina ref eklememiz yetecekti.
Ikinci parametrede ki bytes ise dnSpy'dan aldigimiz parametre adi ile ayni olmak zorunda.
Yontemimizi bu sekilde gerceklestirdik.
Simdi dosyamizin entry pointini cagirmamiz gerekiyor.
Iste sonuc, hadi programimizi deneyelim
Dogru anahtarimiz Rexy'imis program bize bunu basarili bir sekilde dogru soylemis. Hedefimiz basarili