Na początku robiłem jedynie drobne poprawki - a tu string, a tu właściwość. Jak to wygląda? W sukurs przychodzą nam dwa narzędzia, wchodzące w skład Visual Studio lub .NET Framework SDK - ILDasm oraz ILasm. Pierwsze narzędzie (ILDasm) służy do przekształcenia kodu binarnego na kod w CIL. W kodzie CIL bezporblemowo możemy "z palca" wpisać nasze własne stringi, bez konieczności wchodzenia w arkany kodu. Całość składamy z powrotem przy pomocy drugiego narzędzia (ILasm).
Przykładowe wywołanie ILDasm :
ildasm /out=program.il program.exe
Przykładowe wywołanie ILasm :
ilasm /exe /optimize /output=program_nowy.exe program.il
Obydwie aplikacje wołamy z Visual Studio Command Prompt. Dodatkowo ILDasm jest dostępny jako aplikacja okienkowa, z której to możemy popodglądać kilka ciekawych rzeczy dostępnych w naszym kodzie. Warto przeczytać ten post na codeguru.pl, obydwie aplikacje są opisane w nieco szerszy sposób.
Co dalej?
A co zrobić, gdyby grzebanie w CIL-u nam nie wystarczyło (czyli mój przypadek?). Używamy świetnego narzędzia, które to zwie się Reflector! Wybieramy plik wykonywalny naszej aplikacji, Reflector automatycznie zaimportuje odpowiednie przestrzenie nazw, następnie opcja Extract i gotowe! Nasz kod źródłowy dostępny jest na dysku! Pytanie tylko jak... różnie. Nikiedy będzie się nadawał bezpośrednio do edycji, z reguły jednak Reflectorowy eksport to początek naszej drogi. Później manualna edycja kodu, tak żeby wszystko miało ręce i nogi. Tym właśnie zajmuje się obecnie...
Nota prawna i przeciwdziałanie szkodnikom
Dość enigmatycznie to nazwałem. Post ten ma oczywiście charakter tylko i wyłącznie edukacyjny. Możemy zadać pytanie - w jaki sposób przeciwdziałać tego typu zachowaniom? W jaki sposób mogę zabezpieczyć moją aplikację, aby nie dostała się ona w niepowołane ręce? Zaciemnianie kodu - oto recepta. Michał Grzegorzewski na swoim starszym blogu, umieszczonym w portalu developers.pl, zorganizował mini kursik zaciemniania kodu dla C#-owców, w połączeniu z zastosowaniem mechanizmu refleksji, bardzo przydatne informacje! Nowe wypociny Michała znajdziecie pod tym adresem.
Brak komentarzy:
Prześlij komentarz