.NET DLL Dosyası Düzenleme

MeReKGs67

Megapat
Katılım
30 Kasım 2015
Mesajlar
569
Çözümler
2
Yer
Tekirdağ
Daha fazla  
Cinsiyet
Erkek
Selamünaleyküm arkadaşlar. Şöyle bir mod var Bodyguard Squads. Bu mod Advanced Bodyguards.dll ve Advanced Bodyguards.ini dosyalarından oluşuyor. Ini'yi boş verin onunla bir işim yok. Benim yapmak istediğim mod İngilizce ve bu mod içindeki İngilizce cümlelere ulaşıp Türkçe yapmak istiyorum. Bu İngilizce cümleler büyük ihtimal DLL dosyasının içinde Ini'de olmaz zaten. Bunu nasıl yapabilirim? DnSpy kurdum bilgisayara. DLL dosyasını açıp CTRL+F gibi arama özelliğini kullandım örneğin "Escort my vehicle" cümlesini yazdım mod menüsündeki lakin çıkmadı çünkü bu cümle illaki bir yerde yazıyor olmalı bir kod değil çünkü bu bir text sadece. Nasıl yapabilirim? Böyle bir şey yapmam için kodlama bilmeme gerek var mı? Bilmiyorum çünkü Bu arada modun gereksinimleri bunlar:

Evet bu şekilde moddaki bir cümleyi bulabildim doğru yolda mıyım? Şimdi türkçeleştirmeyi deneyeceğim. Unicode artık ne oluyorsa o şekilde aratınca böyle her harf noktalı noktalı yazılmış şekilde bulabildim.

Noktalı haliyle çok zor oluyor bunun düzenleyebilirim

Eveeet dotPeek go to String filtresi ile arama yaptım bu sefer normal yazı şeklinde bulabildim bu sefer olacak galiba Galiba kırmızı renkte olanları çevirmem gerekiyor. Yalnız modda 4 Squad oluşturabileceğimiz için aynı cümleden 4 tane var yani "Set up this squad and configure their behavior"cümlesinden 4 tane var bunların hepsini aynı anda değiştirme imkanımız var mı?


Yalnız o işarete aldığım kısmı silip yazamıyorum edit modu açmam gerekiyor galiba ama nereden
dotPeek'te nasıl düzenleyeceğimi bulamadım. dnSpy ile denedim orada düzenleme seçeneği çıktı. Sınıf düzenle mi demem gerekiyor yöntem düzenle mi? Sınıf düzenle olması lazım galiba



Olmadı sınıf düzenle deyip işaretli stringi değiştirip derle diyorum hata veriyor.
 
Son düzenleme:
Merhaba,

Öncelikle dnSpy üzerinde dll değişikliğini ancak makinenin anlayacağı dilde değiştirebilirsiniz.
Ekran da gördüğünüz C# kodlarında değişiklik yapabilmek için yapıyı bozmadan methodlar da değişiklik yapabilirsiniz.

Bunun için yukarıda gösterdiğiniz dll'de aslında doğru yerdesiniz, fakat class üzerinde değişikliği yapamazsınız. Methodlar üzerinde değişiklik yapacağız.

Aşağıda görseller ile anlatacağım. Anlatacaklarımı uygulayarak istediğiniz yazıyı değiştirebilirsiniz.


Sol tarafta sarı ile yazılı olan methodlardan 1 Numaralı "LoadSettings" yazanın üzerine sağ tıklayın ve 2 Numaralı Yöntem Gövdesini Düzenle deyin.

Açılan Ekranda yapılacak değişikliklerde dikkatli ol. Ya bütün yapıyı bozarsın, yada hatalı bir işlem yaptığın için Tamam Butonun aktif olmaz.

Açılan Method ekranında 418 numaralı satır senin aradığın yer. Kare içerisine aldığım yerdeki "" tırnaklar içerisine istediğini yazabilirsin.


Tamam dedikten sonra LoadSettings methodu içerisindeki alanda bulunan Set Up this quad yazısını değiştirmiş olacaksın.


Yapılan değişikliği kayıt etmek için CTRL+SHIFT+S kısayollarını kullanarak dosyasını kayıt edebilirsin.


Kayıt ederken açılan ekranda herhangi bir ayarı değiştirmeden kaydet.
 
Vermiş olduğunuz DLL obfuscatelenmiş gibi görünüyor. Editlemeden önce orj sourceyi bulmanız daha iyi olur. Temiz dil çevirisi yapmak için orijinal Sourceyi baştan derlemek gerekiyor, onun dışında DLL'yi deobfuscate etmek zorundasiniz. Doğru yoldasınız ancak bu şekilde ne kadar rahat/komplex olur bilmem. Forum DLL'nin srcsini paylaşmış mı diye bir bak yoksa deobfuscate etmeye çalış. Direk dll değil de solution dosyası olsa baştan derleseniz daha iyi olur. Ayrıca kodlama bilgim yok demişsin ama maşallah reverse ediyorsun dllyi
 
Ben dll'in karmaşıklaştırıldığını düşünmüyorum.
 
Ben DLL'in karmaşıklaştırıldığını düşünmüyorum.

Ah evet benim hatam, obfuscatelenmemiş, ama release olarak derlendiğinden kod optimize edildiği için bu şekilde okunabilirliği düşüyor. DLL'ye DE4dot atarsanız DE4dot temizleme yapar. Daha rahat bir sekilde olursunuz.
 
Hocam öncelikle çok teşekkürler değerli vaktinizi ayırıp böyle uzun bir yazı yazdığınız için. Tabi şimdi ben bu konuyu açalı üç buçuk ay oldu. Ben GTA V'i sildim şu anda bu dediğinizi yapınca mod çalışır mı çalışmaz mı testini yapamam ama kesinlikle deneyeceğim bu yaptığınızı. Ben bu türkçeleştirme işiyle bayağı uğraştım bu konuyu açtıktan sonra bin bir türlü şey denedim sonra gittim source dosyalarını paylaşmış modun sahibi onları visual studioda editlemeye çalıştım falan en son 1 hatada kaldım hatta bir ara çok sevindim başardım diye meğerse tam olmamış Bu raddeye gelene kadar telegramda bir gruptan yardım aldım zar zor. En son kaldığım hatada kimse yardım etmedi ben de olmuyor diye saldım en son. O hata da şuydu:
1>C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\amd64\Microsoft.Common.CurrentVersion.targets(5710,5): error MSB3073: The command "COPY "C:\Users\merek\Desktop\Advanced Bodyguards\Advanced Bodyguards\bin\x64\Release\Advanced Bodyguards.dll" "D:\Juegos\Steam\SteamApps\common\Grand Theft Auto V\scripts"" exited with code 1.



merek yazan benim bilgisayarım. Juegos da büyük ihtimal modun sahibinin bilgisayar kullanıcı adı.
source dosyaları

Hocam modun source dosyaları bunlar. Bir şey daha merak ettim şimdi source dosyaları elimde olmadığı için class üzerinden değişiklik yapamazsın demişsiniz. Source dosyaları elimdeyse eğer değişiklik yapabilir miyim?

Bir de adam bu modları Visual Studio'da yazmış ben ben bu dosyaları DnSpy'da düzenleyebilir miyim yoksa gene Visual Studio mu kullanmam lazım?

Bir de hocam "Methodlar üzerinde değişiklik yapacağız." demiştiniz ya bunu exe dosyalarında da yapabilir miyim? Yani diyelim ki bir setup dosyasını türkçeleştirecem.
Bu arada "Set Up this quad" yazısını örnek olarak vermiştim ona takılmışsın biraz galiba tüm modu türkçe yapmak istiyordum :
Hocam bu dediğiniz şeyi visual studio'da yapabiliyor muyuz? Onda bu özellik var mı?
Hocam bu cümlenin üstünde yazdıklarım en son 27 martta yazdığım şeyler bu mesajı 24 mayısta yazıyorum onları istersen cevapla istemezsen cevaplamayabilirsin sana kalmış benim gene bu dnSpy'a işim düştü bir şey soracağım bu Yöntem Gövdesini Düzenle'me ekranını açtıktan sonra aradığım şeyi o açılan pencerede kısa yoldan nasıl bulacağım ctrf f veya ctrl shift+ k orada çalışmıyor bir sürü dize var aradığım cümleyi nasıl bulabilirim?
Hocam orayı burayı kurcalarken buldum bir şekilde II talimatlarını düzenleyin dediğimde direk yöntem gövdesini düzenleme ekranında orayı açtı
Şu işi bir de .asi dosyalarında yapabilseydim süper olacaktı ama onlar .dll olmadığı için açmıyor dnSpy
 
Son düzenleme:
Öncelikle sana geç dönüş yaptığım için kusura bakma lütfen. Senin mesajlarını gördüm, ama onlara aynı gün dönüş yapma fırsatım olmadı.

En baştan cevap vermeye çalışayım.
1. SORUNUZ

C:\Users\merek\Desktop\Advanced Bodyguards\Advanced Bodyguards\bin\x64\Release\Advanced Bodyguards.dll
buradaki hata da, dll dosyasını D:\Juegos\Steam\SteamApps\common\Grand Theft Auto V\scripts" klasörüne kopyalamaya çalışıyor. İlgili klasör dizinini bulamadığı için build alamıyorsun.

Bunun için bu projede Visual Studio üzerinde aşağıdaki işlemleri yapman gerekiyor.
1. Advanced Bodyguards yazan Projeye Sağ tıkla,
2. Properties'e gir.
3. Build Event's e tıkla.
4. Tırnak içerisinde "D: ile başlayan yere kendi gta klasörünün yolunu gir. Yada doğru olması gereken neyse o şekilde ayarla. Orada yazan komutun hepsini silersen, projenin kendi içerisindeki /bin/debug klasörüne build alacaktır.

2. SORUNUZ


Source dosyası elinizde ise, evet gerekli metinleri bularak bunları değiştirebilirsiniz. Sonrasında projeyi tekrar build alırsınız. Böylelikle dll üzerinde zorlu işlemleri yapmak zorunda kalmazsınız.

3. SORUNUZ

Bu projeyi DnSpy üzerinde Visual Studio'da yaptığınız gibi düzenleyemezsiniz. DnSpy üzerinde C# ile derlenmiş dll dosyalarını inceleyebilir ve makine dilinde (assembly) düzenleme yapabilirsiniz Daha fazla bilgi için burayı kontrol edebilirsiniz;

4. SORUNUZ

EXE dosyaları içinde yine yukarıdaki DnSpy linkini inceleyebilirsiniz.

5. SORUNUZ

"Set Up this quad" buraya takılı kalmadım. Sen nereyi gösterdi isen, bende o kısımda değişikliği gerçekleştirdim. Yoksa projenin istediğin bir noktasında düzenleme yaparım, sana kalmış Sen nereden örnek verdiysen, bende oradan örnek verdim.

6. SORUNUZ
Bu işlemleri Visual Studio'da yapamazsınız. DnSpy çok ayrı bir program. Elinizde source dosyaları olduğu sürece, Visual Studio'dan düzenlemeleri yapabilirsiniz.


Yukarıda gösterdiğim adımlar kendi bilgisayarım üzerinde denediğim adımlardır. Yani olmadı , olmuyor, gibi şeyler sizin bir yerlerde hata yapıyor olmanızdan kaynaklanır.

Ben projeyi indirdim, gerekli hataları düzelttim ve yukarıda sizin aldığınız hatanın aynısını aldım. Akabinde de yukarıda söylediğim adımları gerçekleştirdim ve tekrar build aldım, sorunsuz şekilde build alındı.
 

Dosya Ekleri

  • Pika.png
    98,8 KB · Görüntüleme: 94
  • Waterbuck.png
    13,5 KB · Görüntüleme: 76
  • Whoopingcrane.png
    213,8 KB · Görüntüleme: 194

Tekrardan merhaba güzel kardeşim Estağfirullah ne kusuru asıl ben vaktini ayırıp cevapladığın için sana teşekkür etmek isterim. Bu işlere biraz ara vermiştim haliyle bayağı zaman geçti. Önümüzdeki 2 hafta Full finallerim var o yüzden şimdilik ilgilenemeyeceğim bu yazılım işleriyle. İnşallah büte kalmazsam sınavlardan sonra güzel bir şekilde dediklerini okuyacağım. Selametle (yanlış anlama lütfen 2 dakikanı ayırıp okuyamaz mısın diyebilirsin ama okuyup icraate dökmedikten sonra bir anlamı kalmaz o yüzden öyle dedim
 
merhaba merekgs67 buralarda biraz yeniyim seninle nasıl iletişime gecebilirim bir konuda yardımına ihtiyacım var ?
 
@ozanzeo yeni konu açınız. Aynı konu üzerinden yeni bir destek sunmuyoruz.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…