Historia wersji PELocka

Zobacz jak zmieniał się PELock na przestrzeni lat, jakie metody zabezpieczeń oprogramowania zostały dodane, co było ulepszane oraz poprawiane.

Historia wersji

v2.11

  • Zabezpieczenie z linii komend z parametrem /auto zabezpieczy wszystkie pliki znajdujące się na liście projektu (wcześniej zabezpieczany był tylko pierwszy plik)
  • Dodano język francuski interfejsu użytkownika (dziękuję Terry)

v2.1

Pliki

  • Wszystkie binaria (instalator, PELock, generator kluczy DLL) zostały ponownie podpisane cyfrowo z wykorzystaniem cyfrowego certyfikatu Thawte. W dużym skrócie - nasza poprzednia firma od certyfikatów - StartCOM została zbanowana najpierw przez wszystkie główne przeglądarki internetowe a w 2019 w Microsoft Windows z powodu ich nieuczciwych praktyk biznesowych (wystawianie certyfikatów z cofniętą datą) i ich główny certyfikat tzw. CA został wycofany, co poskutkowało zablokowaniem uruchamiania oprogramowania podpisanego cyfrowo przez ich certyfikaty (niezależnie od tego, że certyfikaty były nadal ważne do końca 2019 roku, jak w naszym wypadku). Mieliśmy ogromne problemy w uzyskaniu nowego certyfikatu od firmy COMODO / Sectigo z powodu ich idiotycznej polityki weryfikacyjnej, która wymagała od nas bycia wylistowanym w komercyjnym biznesowym katalogu DUNS (koszt listingu to 1600 USD) lub posiadać niebieską tarczę weryfikacji w listingu na Google Maps (pomimo tego, że ten program nie jest już kontynuowany, bo wymagał aby mieć połączone konto Google Business z już niedziałającym kontem Google+...). Próbowałem uzyskać ten certyfikat przez ponad 3 tygodnie od firmy COMODO bez rezultatu, pomimo dostarczenia im tony legalnych papierów firmowych, notarialnie podpisanych, rachunków firmowych, a i tak nie chcieli wystawić certyfikatu. W końcu postanowiłem spróbować uzyskać go od firmy Thawte i po prostej biznesowej weryfikacji i 2 dniach oczekiwania, został nam on wystawiony. Chciałbym przeprosić wszystkich klientów za powstałe niedogodności przez ten czas, kiedy nie mogliście korzystać z naszego oprogramowania.

v2.09

Silnik

  • Poprawiono obsługę plików wykonywalnych Delphi oraz C++Builder wykorzystujących opóźnione ładowanie importów.

SDK

  • Dodano nową funkcję systemu licencyjnego IsKeyHardwareIdLocked do sprawdzania czy klucz został zablkowany na sprzętowy identyfikator, wszystkie pakiety SDK oraz przykłady użycia zostały zaktualizowane.

v2.08

Silnik

  • Funkcja API do sprawdzania statusu klucza GetKeyStatus zwracała niepoprawne rezultaty gdy włączony był system ograniczenia czasowego. Dziękuję Kevinowi za zgłoszenie tego błędu.

v2.07

Silnik

  • Zaktualizowany kod loadera w celu uniknięcia fałszywych detekcji antywirusowych
  • Poprawiono działanie funkcji API ograniczenia czasowego, tak aby zwracały wartość PELOCK_TRIAL_ABSENT zgodnie z dokumentacją

v2.06

Interfejs

  • Dodano domyślne ukrywanie i pokazywanie hasła w okienkach dialogowych przy zabezpieczaniu pliku na hasło
  • Dodano wyświetlanie opcjonalnej informacji co spowodowało detekcję przy wykorzystaniu elementów Aktywnej Ochrony
  • Poprawne zapisywanie tytułów dla komunikatów ostrzegawczych w opcjach wykrywania debuggera i innych

v2.05

Silnik

  • Komunikaty z informacją o brakującym kluczu są poprawnie wyświetlane w przypadku użycia opcji "Nie uruchamiaj aplikacji bez klucza"

Wtyczki

v2.04

Interfejs

  • poprawione wklejanie sprzętowego identyfikatora w okieneku dodawania nowego użytkownika

v2.03

Silnik

  • usunięty błąd w API systemu licencyjnego odpowiedzialnego za odczyt sprzętowych identyfikatorów

v2.02

Silnik

  • usunięty błąd powodujący zawieszanie się przy dodawaniu wirtualnych bibliotek DLL
  • poprawiona obsługa bibliotek DLL z domyślnie ustawionymi opcjami konfiguracyjnymi
  • naprawione przekazywanie parametrów funkcji callback w konwencji stdcall

v2.01

Silnik

  • usunięty błąd w obsłudze relokacji dla plików wykorzystujących mechanizm ASLR

v2.0

Zabezpieczenia

  • nowy silnik metamorficzny
  • nowy wielowarstwowy silnik polimorficzny
  • nowe wielowątkowe zabezpieczenie
  • ochrona pliku aplikacji przed modyfikacjami
  • emulacja standardowych funkcji WinApi
  • generowanie białego szumu wywołaniami funkcji WinApi
  • wgrywanie obrazu pliku pod losowy adres bazowy
  • ochrona tabeli inicjalizacyjnej dla aplikacji Delphi
  • zapobieganie uruchomieniu dwóch kopii tej samej aplikacji
  • wykrywanie obecności wirtualnych maszyn
  • aktywna ochrona z własną listą niepożądanych narzędzi
  • dodatkowe opcje zapisu hasła chroniącego zaszyfrowany plik do Rejestru Windows
  • możliwość wprowadzenia hasła z linii komend
  • opcja pozwalająca wyłączyć szyfrowanie danych aplikacji wedle hasła
  • ukrywanie klas obiektów COM
  • wykrywanie programów śledzących interfejsy COM
  • wykrywanie snifferów sieciowych
  • ochrona entrypoint'a przed programami śledzącymi
  • dodana wyszukiwarka makr, pozwalająca przeanalizować poprawność umieszczenia markerów SDK
  • nowe makra PELOCK_CHECKPOINT i PELOCK_CPUID
  • funkcje inicjalizujące PELOCK_INIT_CALLBACK
  • makro ochrony pamięci PELOCK_MEMORY_GAP
  • chronione wartości liczbowe PELOCK_DWORD
  • wykrywanie stanu zabezpieczenia przez funkcje IsPELockPresent
  • funkcje szyfrujące dane EncryptData / DecryptData
  • funkcje szyfrujące pamięć procesu EncryptMemory / DecryptMemory
  • możliwość wyłączenia obsługi wybranych makr
  • system znaków wodnych (watermarks)
  • znaki wodne w formie makr PELOCK_WATERMARK
  • opcja uruchamiania aplikacji tylko w wybranych krajach
  • przekazywanie domyślnych parametrów w linii komend
  • zabezpieczanie aplikacji usług systemu Windows (tzw. services)
  • możliwość wyłączenia ochrony DEP dla zabezpieczanych aplikacji
  • opcja do sprawdzania praw administracyjnych
  • możliwość wyłączenia wizualnych tematów do wyświetlania aplikacji
  • dodana kompatybilność z hookami oprogramowania Kaspersky Anti-Virus
  • pełna kompatybilność zabezpieczonych aplikacji z najnowszymi systemami Windows XP SP2 (32 bit), Windows XP (64 bit), Windows Vista (32/64 bit), Windows 7 (32/64 bit), Windows 8 (32/64 bit), Windows 8.1 (32/64 bit) i Windows 10 (32/64 bit)

System licencyjny

  • NOWY SYSTEM LICENCYJNY
  • funkcje API systemu licencyjnego obsługują oprócz ciągów ANSI, ciągi UNICODE
  • zwiększony limit rozmiaru nazwy użytkownika do 8192 znaków (8 kB)
  • możliwość zapisu kluczy licencyjnych w rejestrze Windows (dodatkowy format kluczy)
  • kompresja plików kluczy licencyjnych do formatu ZIP
  • funkcja do sprawdzania statusu klucza licencyjnego
  • nowe opcje pozwalające stworzyć czasowo ograniczoną aplikację
  • usuwanie lokalnych danych rejestracyjnych z Rejestru Windows
  • dodatkowa funkcja API, pozwalająca wczytać klucz licencyjny z bufora pamięci
  • odczytywanie z klucza licencyjnego 16 dowolnie ustawionych wartości liczbowych
  • możliwość ustawienia nazwy użytkownika, poprzez przeciągnięcie pliku zawierającego informację o użytkowniku (dowolne rozszerzenie) na okno projektu
  • usuwanie pustych znaków z końca nazwy użytkownika
  • opcjonalne szyfrowanie wszystkich danych klucza według identyfikatora sprzętowego
  • automatyczne sortowanie nazw użytkowników projektu (alfabetycznie)
  • poprawiona obsługa wgrywania plików/projektów z linii komend
  • opcja wyświetlania obrazków, wyświetlania komunikatów oraz otwierania stron internetowych na początku i na końcu działania zabezpieczonej aplikacji w przypadku braku danych licencyjnych
  • możliwość wczytania listy użytkowników z innego pliku projektu lub zaimportowania z pliku CSV
  • procedura pozwalająca wyłączyć klucz licencyjny
  • możliwość przeładowania klucza licencyjnego z domyślnych lokalizacji
  • możliwość ustawienia własnej procedury identyfikatora sprzętowego
  • możliwość odczytu czasu wykorzystania klucza licencyjnego w bieżącej sesji programu
  • większa kontrola nad makrami i wybranymi funkcjami systemu SDK

Generator kluczy

  • całkowicie nowy generator kluczy
  • generator kluczy cgi-bin dla systemu Linux
  • przykłady w PHP jak generować klucze online

SDK

  • nowe i udoskonalone przykłady dla C, C++, Delphi, Lazarus, PureBasic, PowerBasic, D, MASM
  • obsługa kompilatorów MinGW / GCC dla Windows, Pelles C, PowerBASIC (uaktualnione pliki nagłówkowe)
  • klasa CPELock dla języka C++
  • komponent TPELock dla Delphi
  • klasa PELock dla języka D

Interfejs

  • nowe okno opcji
  • okno z globalnymi opcjami
  • możliwość zmiany rozmiaru okna aplikacji
  • możliwość zmiany języka aplikacji bez potrzeby ponownego uruchamiania programu
  • dodana lista ostatnio używanych plików, wystarczy kliknąć przycisk oznaczony ◀, albo kliknąć prawym klawiszem myszy na belkę z nazwą pliku, aby otworzyć menu z listą ostatnio używanych plików
  • automatyczne wypełnianie pola zawierającego sprzętowy identyfikator, gdy użytkownik zaznaczy tą opcję, a w schowku będzie znajdował się poprawny ciąg znaków identyfikatora, zostanie on automatycznie ustawiony w okienku edycyjnym identyfikatora sprzętowego
  • uaktualniony dział FAQ (m.in. optymalizacja kompilatora i makra DEMO w MS Visual C++ / Borland C++ / Delphi)
  • usunięty problem z wyświetlaniem elementów, przy włączonych dużych fontach w systemie (120 DPI i wzwyż)
  • usunięty problem z błędnie wyświetlanymi dymkami pomocy
  • ikony zamiast przycisków "Edytuj"
  • automatyczne uzupełnianie ścieżek plików, URL i katalogów w wybranych polach edycyjnych
  • dodatkowe parametry linii komend

Kompresja

  • domyślnie używany jest rodzaj kompresji typu solid w celu osiągnięcia lepszych rezultatów kompresji
  • automatyczne testowanie wszystkich algorytmów kompresji w celu wybrania najlepszego
  • możliwość całkowitego wyłączenia kompresji danych aplikacji
  • możliwość wyłączenia kompresji zasobów
  • dodana możliwość wyboru rodzajów zasobów, które mają zostać poddane kompresji lub też nie
  • dodane różne algorytmy kompresji, włączając QuickLZ, UCL, zlib, miniLZO, HLZ, BriefLZ, JCALG1 and Mini-LZ
  • możliwość wykorzystania własnej biblioteki kompresji
  • losowy dobór algorytmu kompresji

Inne

  • generowanie plików wyjściowych przyjaznych oprogramowaniu antywirusowemu
  • tworzenie plików wsadowych pozwalających odtworzyć zabezpieczony plik z kopii zapasowej
  • zapisywanie plików zapasowych do wybranego katalogu
  • cyfrowe podpisywanie zabezpieczonych aplikacji (wsparcie dla podwójnych podpisów)
  • wsparcie dla plików wykorzystujących technolgie anty-exploitacyjne CFGuard oraz SAFESEH
  • w pełni kompatybilna obsługa funkcji TLS Callbacks
  • zachowywanie daty zabezpieczanego pliku
  • zachowywanie atrybutów zabezpieczanego pliku
  • zachowywanie oryginalnego identyfikatora strefy bezpieczeństwa
  • powiadomienia dźwiękowe
  • wykorzystanie zdalnego systemu licencyjnego do poprawnej pracy PELock'a
  • wyświetlanie ekranu powitalnego podczas uruchamiania i zamykania zabezpieczonej aplikacji
  • wykrywanie plików chronionych przez mechanizm Windows File Protection (WFP)
  • opcja używaj mocy tylko jednego procesora
  • ustawianie priorytetu zabezpieczanego procesu oraz samego loadera
  • opcja opóźnij uruchomienie aplikacji
  • zamykanie systemu Windows po zamknięciu zabezpieczonej aplikacji
  • usunięte problemy z wyciekaniem pamięci (z ang. memory leaks)
  • przepisany kod przywracający pliki z kopii zapasowej
  • łączenie pustych sekcji w wynikowym pliku
  • wypełnianie odstępów między sekcjami przypadkowymi bajtami
  • wyrównywanie rozmiaru loadera do wartości file align
  • opcja pozwalająca na usuwanie struktury eksportowanych funkcji
  • statyczne ładowanie bibliotek aplikacji
  • nazwa opcji "Usuwaj dodatkowe dane z końca pliku" zamieniona na "Zachowaj dodatkowe dane z końca pliku", dodatkowo zawiera nowe opcje, pozwalające określić w jaki sposób mają być obsługiwane nadmiarowe dane (emulacja)
  • możliwość dodania na koniec zabezpieczonej aplikacji własnego pliku
  • możliwość rozszerzenia rozmiaru pliku do dowolnej wielkości
  • obsługa aplikacji ze ścieżkami UNC (mechanizm WebDAV) do bibliotek dynamicznych DLL w tabeli importów
  • obsługa plików konfiguracyjnych i projektów większych niz 64 kB niezależnie od systemu operacyjnego

v1.06

  • opcja ochrony kodu wewnątrz aplikacji
  • dodatkowe zabezpieczenie aktywna ochrona
  • funkcja pozwalająca odczytać datę wygaśnięcia klucza
  • nowe opcje automatycznie zabezpieczaj po wgraniu pliku oraz zakończ działanie po udanym zabezpieczeniu pliku
  • możliwość zapisu zawartości okna logowania do pliku
  • poprawiona ochrona na hasło

v1.05

  • możliwość tworzenia sprzętowych identyfikatorów kluczy licencyjnych
  • nowe makra CLEAR_START i CLEAR_END służące do zamazywania kodu
  • dodatkowe opcje przy optymalizacji nagłówka dos
  • nowa opcja usuwaj dodatkowe dane z końca pliku
  • możliwość ustawienia stopnia kompresji
  • możliwość zabezpieczania pliku na hasło
  • zewnętrzny generator kluczy KEYGEN.dll

v1.04

  • obsługa dodatkowych danych klucza
  • możliwość tworzenia tymczasowych kluczy licencyjnych
  • ochrona aplikacji przed jej "zrzucaniem" z pamięci

v1.03

  • dodano obsługę markerów CRYPT_START i CRYPT_END
  • dodatkowe metody anty-debug
  • automatyczne kojarzenie plików .plk z PELockiem

v1.02

  • dodane wykrywanie monitorów Filemon i Regmon
  • dodana obsługa z linii komend, przykład "pelock c:\plik_projektu.plk", "pelock e:\plik.exe"
  • poprawione przykłady dla delphi

v1.01

  • angielska wersja pliku pomocy
  • usunięto kilka błędów

v1.0

  • pierwsza oficjalna wersja PELock-a

Masz pytania?

Jeśli masz jakieś pytania dotyczące oprogramowania PELock, masz jakieś uwagi, coś jest niejasne, napisz do mnie, chętnie odpowiem na każde Twoje pytanie.