Obfuscator v2.0

Właśnie wydałem nową wersję swojego oprogramowania Obfuscator v2.0.

Obfuscator służy do modyfikacji kodu źródłowego assemblera (dla składni MASM), w taki sposób, aby wynikowy kod był jak najbardziej skomplikowany do analizy.

Główne okno Obfuscatora

Do tego celu Obfuscator stosuje wiele metod jak:

  • mutacja instrukcji assemblera na serię innych równoznacznych instrukcji
  • zmiana wykonywania ścieżki kodu na nielinearną (skoki w górę i w dół w codeflow)
  • wstawianie nieinwazyjnych konstrukcji kodu utrudniających statyczną i dynamiczną analizę
  • ukrywanie bezpośrednich wywołań funkcji WinAPI
  • wstawianie junków między prawdziwe instrukcje
  • wstawianie fałszywych instrukcji
  • wstawianie celowych wyjątków i bramek SEH, które te wyjątki wyłapują, a utrudniają tracing
  • rozpoznawanie ponad 15000 stałych WinAPI i ich zamiana na postać liczbową, co pozwala mutację instrukcji je wykorzystujących

Kod wyjściowy po zastosowaniu Obfuscatora

Obfuscator to niszowe narzędzie, które stworzyłem dosyć dawno temu w PHP, a obecnie przeszło gruntowne zmiany, praktycznie cały silnik został przepisany, poprawiona została analiza kodu źródłowego, mutacje bazujące na matematycznych transformacjach zostały przepisane z wykorzystaniem biblioteki GMP dla zachowania kompatybilności z typem danych unsigned int, z którym PHP sobie po prostu nie radzi. Dodałem także rozpoznawanie stałych wartości wykorzystywanych w funkcjach WinAPI jak np. MB_ICONINFORMATION, które zostają zamienione na wartości liczbowe, dzięki czemu instrukcje je wykorzystujące mogą być poddane mutacjom.

Jeśli jesteście ciekawi jak to działa, zajrzyjcie na stronę programu, gdzie możecie ściągnąć klienta dla systemu Windows:

https://www.pelock.com/products/obfuscator

Znajdziecie tam też przykładowy skompilowany plik EXE przed i po zastosowaniu Obfuscatora – polecam spojrzeć na kod w IDA, Hiew i spróbować pośledzić go w OllyDbg.

Jeśli macie jakieś pytania, sugestie lub zastrzeżenia – piszcie w komentarzach.

x86 obfuscator API

Wakacje się skończyły, wróciłem do domu i od razu złapałem kontuzję kolana, więc cóż innego mógłbym zrobić jak nie siaść do komputera… doh, miałem trochę requestów na udostępnienie API do mojego obfuscatora dla x86, więc z nudów klepnąłem implementację w PHP:

A tutaj kod, jakby ktoś chciał zabezpieczyć swoje źródłka:

28F2-4D58-4652-7BE1

Obfuscator x86

Szaleństwo – jakby to napisali w reklamie Media Markt (tyle, że bez Michała Wiśniewskiego, bo odmówił udziału w tej promocji), rozdają za darmo kody do Obfuscatora kodu x86, który z twojego kodu wykrywanego przez wszystkie antywirusy zrobi sieczkę nie do rozpoznania nawet przez MksVira 🙂

https://www.pelock.com/products/obfuscator

Tak wygląda kod po jego zaciemnieniu:

Obfuscated

Każdy kto chce otrzymać promocyjny pakiet w wysokości 123 darmowych kredytów proszony jest o kontakt z redakcją i podanie jednego powodu, dla którego chce zamotać swój kod w assemblerze.