Polska wersja UnityText
We współpracy z autorem programu UnityText powstało spolszczenie interfejsu programu. Ze względu na dużo opcji konfiguracyjnych programu i możliwości programu polska wersja językowa może być pomocna. Autor udostępnił plik dll dodający rosyjską wersję językową. Ja przetłumaczyłem ten plik w ResourceHacker.
Spolszczenie UnityText
https://www.dropbox.com/s/vlbpr1d0otlxk ... L.zip?dl=0
Instalacja
Plik skopiować do folderu z programem.
ScanIL (CIL Scan to Text)
Czasem zdarza się, że trzeba edytować jakieś pliki dll w grach UNITY, gdyż tam jest tekst. Najczęściej jest to plik: Assembly-CSharp.dll.
Na forum ZenHax jest do pobrania paczka w której są opisywane narzędzia i zestaw plików wsadowych do łatwego wypakowania, edycji i spakowania: Assembly-CSharp.dll.
https://zenhax.com/download/file.php?id=3474
ScanIL (CIL Scan to Text)
Jest to edytor plików: *.il. Pliki są tworzone przez narzędzie Ildasm.exe (Dezasembler IL), które jest składnikiem Visual Studio.
Dezasembler IL pobiera przenośny plik wykonywalny (PE), który zawiera kod języka pośredniego (IL) i tworzy plik tekstowy odpowiedni jako dane wejściowe. Obsługiwane są pliki stworzone na platformie .NET. Sam plik *.il, jest plikiem testowym, aby ułatwić jego edycje powstało narzędzie: ScanIL.
Więcej info na temat: Ildasm.exe
https://docs.microsoft.com/pl-pl/dotnet ... sassembler
Podobnym narzędziem do Ildasm jest: ILSpy.
https://github.com/icsharpcode/ILSpy
Aby sprawdzić, czy dany plik *.exe lub *.dll jest obsługiwany w Ildasm.exe (Folder Tools) możemy go w nim otworzyć (jeśli nie pojawi się błąd: plik has no valid clr header and cannot be disassembled) to możliwa jest edycja. Można to też sprawdzić za pomocą:
PEiD. PEiD wykrywa najpopularniejsze programy pakujące, kryptory i kompilatory plików PE.
https://www.aldeid.com/wiki/PEiD
Pobieranie:
https://softpedia-secure-download.com/d ... 081103.zip
Edycja plików il w ScanIL.exe jest prosta.
Otwieramy plik, wyszukujemy słowa lub kilka słów, które chcemy przetłumaczyć i edytujemy. Po zakończonej edycji, jak chcemy zapisać plik klikamy na: Pack. (Interfejs jest bardzo podobny do UnityText - zresztą obydwa programy przygotowała jedna osoba).
Możemy też wyeksportować plik do CSV - przycisk Export.
Okazuje się, że nie tylko pliki dll można edytować, ale i pliki wykonalne exe. Jako ciekawostkę podam, że za pomocą ScanIL można spolszczyć: Asset Studio by Perfare.
Aby za każdym razem nie zmieniać plików wsadowych w narzędziu z ZenHax przygotowałem nieco zmodyfikowane pliki bat o nazwie: IldasmTool.
Pozwala ten zestaw na edycję zarówno plików exe i dll. Pliki Mają tez numery, aby łatwiej było zachować odpowiednią kolejność ich uruchamiania.
Plik *.exe kopiujemy do folderu EXE, a plik *.dll, analogicznie do folderu DLL.
W zależności jaki plik chcemy edytować uruchamiamy: 1_Unpack_EXE.bat lub 1_Unpack_DLL.bat.
Następnie uruchamiamy: 2_ScanIL.exe. Otwieramy plik *.il z folderu Work (folder roboczy). Przeprowadzamy edycje pliku i zapisujemy zmiany.
UWAGA: Program domyślnie zapisuje pliki po edycji jako *_new.il. My zapisujemy pod oryginalną nazwą *.il. Ułatwia to też późniejszą edycję, jak byśmy chcieli nanosić poprawki.
Na koniec uruchamiamy: 3_Pack_EXE.bat lub 3_Pack_DLL.bat. Gotowy plik *.exe lub *.dll będzie w folderze Output.
Starałem się uprościć edycjją plików do niezbędnego minimum.
IldasmTool
https://www.dropbox.com/s/b657ul2w8zxqr ... l.zip?dl=0
Oczywiście możliwe jest wyeksportowanie pliku *.exe lub *.dll bezpośrednio w Ildasm.exe. Zainteresowane osoby mogą poczytać wspomniany już temat pomocy Microsoft:
https://docs.microsoft.com/pl-pl/dotnet ... sassembler.
Za pomocą wspomnianego już programu ResourceHacker możemy edytować zasoby plików wykonalnych exe, dll, zapisywać zasoby (np: ikony), możemy zmienić nazwy menu, modyfikować tekst w oknach dialogowych i na przyciskach.
Jest czasem bardzo przydatny nie tylko podczas tworzenia spolszczeń do gier:
http://www.angusj.com/resourcehacker/
A gdy edycja w ResurrceHacker jest niemożliwa pozostaje Edytor Hex lub niewielkie narzędzie o nazwie:
Showstring
Program wyszukuje w otwartym pliki ciągi ANSI lub UTF_8, które możemy edytować. Tu ograniczeniem, podobnie jak w HEX edytorze jest to, że nie zalecana jest zmiana długości ciągu. (Zwiększenie długości ciągu znaków może powodować błędy programu lub nawet całkowicie uniemożliwić jego uruchomienie.
Większość narzędzi zamieszczam też jako załącznik to tego tematu!!!