M. Kucharskov ROCKS!

Programista w sieci!

Moja droga od kodowania do cyberbezpieczeństwa

Projekty

Poniżej zamieściłem projekty, z których jestem szczególnie dumny lub w których brałem udział. Mam również na swoim koncie kilka mniej lub bardziej wartych pokazania tworów. Większość swojego kodu trzymam w repozytoriach na GitHubie ale czasami można natrafić się przypadkiem, na coś w czym brałem udział - najczęściej wiąże się ze wzmianką by M. Kucharskov.

Mam świadomość, że niektóre z niżej przedstawionych tworów mogą być wiekowe ale trzymam je tutaj z sentymentu. ❤️

Flipper Zero w akcji

Szukając prezentu świątecznego natrafiłem na urządzenie Flipper Zero. Postanowiłem sprawdzić jego reklamowane możliwości "na klik" w praktyce. RFID, NFC, klonowanie kart oraz otwieranie dowolnego samochodu. Nie obyło się bez instalacji nieoficjalnego oprogramowania. Przeczytaj jak to działało w rzeczywistości!

Analiza malware

Czasami trzeba coś zepsuć, żeby co innego naprawić. Nie inaczej było tym razem, gdy na Discordzie Zaufanej Trzeciej Strony w kilka osób analizowaliśmy malware reklamowane jako "generator kodów Paysafecard" finalnie gasząc infrastrukture oszustów. Techniczny artykuł napisany z potrzeby serca.

6obcy-cli

Skrypt pisany w ramach pracy inżynierskiej w języku Python 3 w zgodności z dokumentem PEP 8. Po odszyfrowaniu i analizie protokołu czatu 6obcy, napisałem własnego klienta zawierającego szereg zmian jak m. in. impersonacja z użyciem serwera proxy. Praca została napisana w porozumieniu z administracją serwisu 6obcy.

UnixFace

Tarcza zegara dla opaski Xiaomi Mi Band 4 wyglądem nawiązująca do terminala Linux'a. Grafiki zostały własnoręcznie przygotowane i zakodowane w formacie JSON. Dzięki swojej prostocie jest czytelna, a ograniczona paleta kolorów nie wpływa znacząco na zużycie baterii opaski.

ShiftRegister

Prosta ale użyteczna biblioteka Arduino do obsługi rejestrów przesuwnych (np. 74HC595) napisana w C. Biblioteka przetrzymuje dane w postaci tablicy, dzięki czemu pozwala na odwracanie stanu poszczególnych pinów. Możliwa jest zmiana rozmiaru rejestru w czasie pracy.

eKosz

System inteligentnego kubła na śmieci zrealizowany w C++ na wbudowanej pamięci mikrokontrolera ESP8266 oraz w formie aplikacji desktopowej napisanej w języku C#. Całość powstała w ramach projektu politechnicznego odznaczonego nagrodą "Projekt Miesiąca" na grupie Nastoletni Programiści.

mazeSolver

Projekt politechniczny zrealizowany w języku Java. Aplikacja pozwala na wizualizację działania kilku zaimplementowanych algorytmów odnajdywania ścieżek takich jak: BFS, DFS, A* w labiryntach. Przeszkody mogą być rysowane ręcznie za pomocą myszki lub generowane przez algorytm po kliknięciu odpowiedniego przycisku.

Japache

Aplikacja zrealizowana w ramach projektu na studiach w języku Java. Prosty konsolowy serwer plików statycznych w postaci zasobu sieciowego. Główną zaletą jest jego prostota umożliwiająca działanie pod systemem zarówno Windows jak i Linux.

MyVector

Własna, uproszczona implementacja klasy std::vector w języku C++. Zawiera kilka matematycznych smaczków, takich jak interpolacja danych, sortowanie czy zwracanie ekstremów o złożoności czasowej O(1). Całość zwieńcza wdrożony paradygmat Copy-On-Write.

PentaGoEngine

Pentago to gra, którą można opisać jako "kółko i krzyżyk na sterydach". PentaGoEngine to silnik napisany w C++, w ramach projektu na Politechnice. Jego podstawowe założenia to: lekki, skalowalny, prosty w edycji i z wbudowaną obsługą AI.

SimpleTemplate

Skrypt w PHP służący jako prosty system szablonów. Przygotowany szablon można wypełniać treścią, bądź zagnieżdżać z innymi szablonami budując stronę w przyjemny sposób. Ostateczna strona generowana jest w locie i serwowana dla użytkownika.

SMAW

Nazwa tego wspaniałego tworu w PHP jest akronimem od sformułowania So Minimize thAt Width, nawiązującym do granatnika Mk 153 SMAW. Jest to prosty skrypt skracający linki do przyjemniejszej formy. Czysty design zapewnia framework ZURB Foundation. Całość zawarta w jednym pliku!

FolderList

FolderList służy do wyświetlania i interakcji z zawartością katalogu. Zastosowany został tutaj framework Bootstrap, który odpawiada za całą stronę graficzną generowanej tabeli. Wyposażony w mnóstwo ciekawych funkcji, jak między innymi: wbudowane ikony, system zabezpieczeń, wielojęzykowość. A to wszystko w jednym pliku PHP!

Tłumaczenia

W przypływie natchnienia zdarza mi się również pomagać przy tworzeniu lokalizacji (tzw. "spolszczeń") dla różnego rodzaju oprogramowania. Przetłumaczyłem wiele modułów frameworku Xposed, gdy bawiłem się jeszcze na scenie moderskiej Androida. Udzielałem się przy projekcie AdwCleaner, zanim został wykupiony przez Malwarebytes. Swoje kilka polskich groszy dodałem również w projekcie CyanogenMod (później znany jako LineageOS), czy do aplikacji WhatsApp. Lokalizowałem równiez aplikację c:geo oraz miałem epizod z nieudolną próbą przetłumaczenia pierwszych wersji launchera Rockstar Games Social Club!

Aktualnie uczestniczę w polskim tłumaczeniu aplikacji do uwierzytelniania dwuskładnikowego Authenticator Pro 🔒, który urzekł mnie wsparciem dla WearOS. ⌚ Mam również swój wkład w polską lokalizację interfejsu NextDNS! 🛡️ Najczęściej w celu lokalizacji danego projektu posługuję się platformami typu Crowdin ale zdażało mi się również rzeźbić tłumaczenie bezpośrednio w pliku XML.