Wpis z mikrobloga

#programowanie #linux #bbpsuje Potrzebuje od trzech do pięciu zacnych mirasków lub mirabelek. Chodzi o test mojego DRM, który stworzyłem na potrzeby wpisu w internetach. Wymagania:
-chwila wolnego czasu
-zainstalowany 64 bitowy Linuks
-zainstalowane w systemie Qt5, OpenSSL i Python 3

Zabezpieczenie powstało głównie, żeby zobaczyć czy dam radę coś takiego zrobić i nie mam z tego żadnych cebulionów. Po kolei:
1. Wchodzicie na stronę https://copy.com/rLhIAl0HsYOEhwdn
2. Pobieracie z tej strony skrypt makekeys.py
3. Odpalacie skrypt na waszych komputerach z konsoli w taki sposób: python3 makekeys.py wasz_nick.json .Skrypt zapisze do pliku o wskazanej nazwie zahashowane informacje o waszym sprzęcie (informacje z konsoli są jedynie wyświetlane i nigdzie nie są zapisywane przez skrypt).
4. Plik podpisany waszym nickiem wstawiacie na jakiegoś dropboxa/gdrive/copy czy gdzie tam wam pasuje i dajecie mi link.
5. Ja na podstawie waszych hashy generuje wam wersję programu glxspheres, która odpali się tylko na waszym komputerze.
6. Pobieracie wszystkie wersje z katalogu glxspheres. Ta bez żadnego nicka to wersja bez zabezpieczenia. Wśród tych z nickami powinna się uruchomić jedynie wasza, a przy pozostałych powinien pojawić się komunikat o błędzie.
  • 42
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@villager: Z tego co widzę w kodzie, to program pobiera dane o maszynie, generuje na ich podstawie podpis blowfisha i porównuje z podpisem w kodzie. Ale to tak na szybko co znalazłem w kodzie i nie jestem tego pewien.
  • Odpowiedz
@bigben93:

[vagrant@ansiblevagrant]$ chmod +x nano-MacDada
[vagrant@ansiblevagrant]$ ./nano-MacDada
./nano-MacDada: error while loading shared libraries: libQt5Widgets.so.5: cannot open shared object file: No such file or directory
  • Odpowiedz
@bigben93: kilka miesięcy temu bawiłem się w "łamanie" najlepszego na rynku javowego obfuscatora/drm z przeznaczeniem głównie na androida. konkretniej samego obfuscatora który był zabezpieczony samym sobą a celem było użycie go bez licencji. po długich próbach modyfikacji go w taki sposób żeby mała zmiana nie zepsuła całego programu w końcu się udało, a w internecie cracków brak ( ͡º ͜ʖ͡º) zabawa z bytecodem zawsze 10/10
  • Odpowiedz
@bigben93: prawilny sposób wygląda tak
1) "podaj klucz licencyjny" jeden z wielu [musi być jedna kopia dystrybucjna dla wszystkich]
2) aktywacja online tworząca coś w rodzaju pliku z licencją na dysku
3) przy starcie sprawdzanie licencji, jeżeli jest niepoprawna wyłączasz program.
musisz nie dopuścić do stworzenia modyfikacji programu która omijałaby sprawdzanie licencji przez jmp/return albo zmiane cmp oraz nie dopuścić żeby program był użyty bez licencji - to się nazywa
  • Odpowiedz
@villager: Skoro masz takie doświadczenie, to pewnie obejście mojego wymysłu nie będzie dla Ciebie niczym niezwykłym ;-) Nie zajmuje się zawodowo takimi rzeczami. Bliżej mi do samouka, który chciał zobaczyć czy da radę zrobić coś na wzór DRM.
  • Odpowiedz
@bigben93: ( ͡° ͜ʖ ͡°) jasna sprawa kumplu, chciałem tylko pokazać różnicę między "prawdziwym" DRM a dystrybucją kopii szyfrowanej kluczem dla danego usera (tego w praktyce nikt nie robi, steam coś podobnego ostatnio robił ale i tak pewnie łatwo to obejść tj. odszyfrować i zrobić wersję uniwersalną)
  • Odpowiedz
@villager: Pewnie w ciągu najbliższych dni nie będę tego DRM ruszał, bo kolokwia w studbazie motzno, ale potem może dodam do niego jeszcze kilka ulepszeń. Jeśli chcesz śledzić temat, to będę tagował #bbpsuje
  • Odpowiedz
@bigben93: Pobrałem jeszcze raz, nadal mam ./nano-MacDada: error while loading shared libraries: libQt5Core.so.5: cannot open shared object file: No such file or directory
  • Odpowiedz
@bigben93:

[vagrant]$ sudo apt-get install libqtcore4
bla bla bla
Rozpakowywanie pakietu libqtcore4:amd64 (z .../libqtcore4_4%3a4.8.2+dfsg-11_amd64.deb) ...
Konfigurowanie pakietu libqtcore4:amd64
  • Odpowiedz