Ben dll'in karmaşıklaştırıldığını düşünmüyorum.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.
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ış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.Eki Görüntüle 1329504
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.
Eki Görüntüle 1329509
Tamam dedikten sonra LoadSettings methodu içerisindeki alanda bulunan Set Up this quad yazısını değiştirmiş olacaksın.
Eki Görüntüle 1329510
Yapılan değişikliği kayıt etmek için CTRL+SHIFT+S kısayollarını kullanarak dosyasını kayıt edebilirsin.
Eki Görüntüle 1329512
Kayıt ederken açılan ekranda herhangi bir ayarı değiştirmeden kaydet.Eki Görüntüle 1329513
source dosyaları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.Eki Görüntüle 1329504
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.
Eki Görüntüle 1329509
Tamam dedikten sonra LoadSettings methodu içerisindeki alanda bulunan Set Up this quad yazısını değiştirmiş olacaksın.
Eki Görüntüle 1329510
Yapılan değişikliği kayıt etmek için CTRL+SHIFT+S kısayollarını kullanarak dosyasını kayıt edebilirsin.
Eki Görüntüle 1329512
Kayıt ederken açılan ekranda herhangi bir ayarı değiştirmeden kaydet.Eki Görüntüle 1329513
Hocam bu dediğiniz şeyi visual studio'da yapabiliyor muyuz? Onda bu özellik var mı?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.
- .NET Framework 4.5.2
- Visual C++ 2015
- ScriptHookV v1.0.463.1
- ScriptHookVDotNet
- NativeUI
Eki Görüntüle 1256300Eki Görüntüle 1256299
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 galibaGaliba 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ı?
Eki Görüntüle 1256343
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
Eki Görüntüle 1256394
Olmadı sınıf düzenle deyip işaretli stringi değiştirip derle diyorum hata veriyor.
Ö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ı.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.
Eki Görüntüle 1335195
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 şekildeII 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
Ö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: İle başlayan yere kendi GTA klasörünün yolunu gir. Ya da 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;
GitHub - dnSpy/dnSpy: .NET debugger and assembly editor
.NET debugger and assembly editor. Contribute to dnSpy/dnSpy development by creating an account on GitHub.github.com
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ı.