Witamy w Nieoficjalnym polskim support'cie AMX Mod X
Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
|
#21
Napisano 17.08.2014 07:53
#22
Napisano 17.08.2014 21:05
Zrób tak jak koniecznie chcesz aby cię zamkneli (bo cię znajdą ale masz )
zrób w amxx drugiego pluginu większość i aby z tego "edytowalnego" pluginu pobierało cvary i np działało na natywy.
Jeżeli człowiek ma łeb to zastąpi Twoje natywy swoimi i będzie mu działać na każdym ip :3
zrób tak aby jeden bez drugiego nie działał i wtedy Będzie musiał dopisać obydwa :3 wymusisz ręcznie
#23
Napisano 17.08.2014 23:03
- zastosuj natywy w pluginach z otwartymi kodami
- natywy te zakoduj w pluginie bez źródła stosując spaghetti code, dzięki czemu inżynieria wsteczna będzie dużo cięższa
- sprawdzając ip zrób to z głową, nie odwołuj się do funkcji zwracającej true/false na zapytanie czy ip serwera jest poprawne bo taki mechanizm łatwo złamać (tutaj metody są dyskusyjne )
- skompiluj plugin z parametrem -d0
#24
Napisano 18.08.2014 00:43
Nie stosuj nazw które mówią co dane natywy robią (np 1894e1872 zamiast cod_inflict_damage) ,a najlepiej w każdym natywie sprawdzaj czy ip == ip na którym ma działać, trudniej będzie złamać takie zabezpieczenie
i tak masz
Albo inaczej (to tak bardziej offtopowo) włam się na serwer i cały czas patrz czy ktoś nie ściąga pliku
Użytkownik Nltj edytował ten post 18.08.2014 00:45
#25
Napisano 18.08.2014 06:35
#26
Napisano 18.08.2014 07:44
If you can dream it, you can do it.
#27
Napisano 18.08.2014 14:32
,a najlepiej w każdym natywie sprawdzaj czy ip == ip
Toż to żadne zabezpieczenie, bo zawsze można zmodyfikować warunek z equal na not
#28
Napisano 18.08.2014 21:09
Popularny
Porównanie również można zamaskować (żeby ktoś go nie podmienił na true, albo nie wynopował jeśli jest użyty warunek w postaci if(!warunek) return.... Choćby porównywać w jakiś sprytny sposób bit po bicie albo wykonywać szczególne operacje matematyczne. pomysłów jest wiele.
Inną ciekawą opcją jest "serwer licencyjny". Generujesz licencję (może być to prosty plik tekstowy z ID licencji, adresem IP serwera i danymi osoby posiadającej licencję), wyliczasz dla tej licencji hash z solą (ale nie jakieś proste MD5, jak już szaleć to na całego: PBKDF2 + SHA256 lub BCrypt + SHA256 z jakąś rozsądną liczbą iteracji). Sól powinna być unikalna dla każdego pliku licencyjnego i nieujawniana, w ten sposób nikt nie ma szans podrobić pliku licencyjnego mimo, że wie jak jest generowany. Twój "zamaskowany" plugin wysyłałby nawet samo ID + hash do serwera licencyjnego, a ten po swojej stronie generuje ponownie hash z danych zapisanych w bazie i sprawdza czy jest identyczny z tym przesłanym z serwera.
Jeszcze ciekawsze by było, gdyby AMXX potrafił uruchomić kod wygenerowany w locie. Wtedy serwer licencyjny po zweryfikowaniu licencji, wysyłałby kawałek kodu, który jest niezbędny do działania pluginu. Kod taki siedziałby w pamięci RAM, więc byłby ciężki do "odzyskania". Pod warunkiem, że transmisja kodu byłaby szyfrowana, co też nietrudno uzyskać
NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
#29
Napisano 19.08.2014 01:15
Wszyscy źle gadacie, ZAWSZE można wyciąć dany fragment kodu jak się ma sma, niczym nie zabezpieczysz jak dajesz SMA.
Takie jest moje końcowe zdanie na ten temat, UP to dałoby coś jakby nie dawać sma a on takowe podaje temu co kupuje od niego ten plugin.
Bez sensu choć ten serwer by działał spoko
#30
Napisano 19.08.2014 08:49
Niestety... AMXX nie przewiduje uruchomienia kodu wygenerowanego "w locie"...
NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
#31
Napisano 19.08.2014 08:53
Gwyn nie wiedziałem że Ty takie rzeczy potrafisz.
Dla mnie to czarna magia, ale to chyba najwyższy czas żeby to ogarnąć.
#32
Napisano 19.08.2014 09:24
Jeszcze ciekawsze by było, gdyby AMXX potrafił uruchomić kod wygenerowany w locie. Wtedy serwer licencyjny po zweryfikowaniu licencji, wysyłałby kawałek kodu, który jest niezbędny do działania pluginu. Kod taki siedziałby w pamięci RAM, więc byłby ciężki do "odzyskania". Pod warunkiem, że transmisja kodu byłaby szyfrowana, co też nietrudno uzyskać
Jest to możliwe do zaimplementowania w samym amxmodx cóż chyba trzeba wysłać ticket do arkshine
#33
Napisano 19.08.2014 09:47
A dałoby się napisać moduł do AMXX, który by wyłączał pluginy jak jest złe ip?
#34
Napisano 19.08.2014 12:13
(ale nie jakieś proste MD5, jak już szaleć to na całego: PBKDF2 + SHA256 lub BCrypt + SHA256 z jakąś rozsądną liczbą iteracji).
Jakies sha1 z solą w tym przypadku uważam za w zupełności wystarczające
A dałoby się napisać moduł do AMXX, który by wyłączał pluginy jak jest złe ip?
Dało, ale jaki tego sens? Jeszcze łatwiej niż w pluginie grzebać tam będzie...
Użytkownik Puchate edytował ten post 19.08.2014 12:14
#35
Napisano 19.08.2014 12:31
Wtedy mozna gdzies wrzucic linijke zeby ladowalo ten modul (require_module).
#36
Napisano 19.08.2014 13:43
Dodatkowo moduły do amxx też muszą być objęte tą samą licencją, co amxx... Ale zawsze można zrobić moduł do metamoda, który już objęty tym być nie musi.
NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
#37
Napisano 27.08.2014 13:04
Opisz dokładnie sposób z serwerem licencyjnym.
Wykorzystać sockets? Gdzie ten plik licencyjny?
Jak maskować to sprawdzanie IP??
#38
Napisano 27.08.2014 18:23
312337:Jan Kowalski:ul. Zbożowa 37:30-072 Kraków:127.0.0.1 24roTquoKX1BYQ4Lbs8fO9dPTLYg/lLu7UFdPBURnfg=Dane to po kolei (1 linia) ID licencji, imię i nazwisko osoby na którą jest wykupiona licencja, adres, kod pocztowy, miasto i IP na który wykupiona jest licencja.
WSZYSTKIE te dane zapisujesz również po stronie serwera. W pliku licencyjnym właściwie może znajdować się samo ID licencji, ale w ten sposób można po samym pliku zidentyfikować do kogo należy licencja
2 linia to zahashowana 1 linia, jednak na końcu został doklejony klucz, o treści tajnyklucz. Oczywiście Twój klucz powinien być inny Algorytm użyty do wygenerowania klucza to PBKDF2 SHA256 z 1000 iteracji. Powinniśmy tutaj bardziej skomplikowany algorytm wykorzystywać, gdyż odczytanie tajnego klucza umożliwi obejście licencji. Klucz został zapisany w base64, bo mniej znaków zajmuje, niż wartość w hex
W bazie danych po stronie serwera licencyjnego powinniśmy również przechowywać tajnyklucz.
Plugin następnie łączy się socketem z serwerem licencyjnym, przesyłając mu zawartość pliku. Serwer pobiera z bazy dane licencji (korzystając z ID), sprawdza czy reszta danych pasuje do licencji i co bardzo ważne, sprawdza czy połączenie zostało nawiązane z tego samego IP, na które wystawiona jest licencja.
Jeśli to się zgadza, przechodzimy do weryfikacji samej licencji. Serwer licencyjny generuje hash na podstawie danych z bazy i sprawdza, czy jest on taki sam, jak hash otrzymany z pluginu. Jeśli się zgadza, odsyłany do pluginu jest pozytywny wynik operacji (gdyby to było możliwe, kawałek kodu niezbędny do uruchomienia pluginu), gdy jest negatywny, odsyłamy niepowodzenie i plugin się blokuje.
NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
#39
Napisano 27.08.2014 20:19
skomplikowany algorytm wykorzystywać, gdyż odczytanie tajnego klucza umożliwi
obejście licencji. Klucz został zapisany w base64, bo mniej znaków zajmuje, niż
wartość w hex
nie rozumie tego ni hu hu.
A jak nie mam bazy danych? Moga byc te dane na srv licencyjnym?
Również z jednym lub większą ilością słów kluczowych:
Szukam ekipy do serweraNapisany przez DejV2212, 21.01.2024 |
|
||||
lista top 15 nie jest po kolei według fragówlista top 15 nie jest po kolei według fragów Napisany przez Gemowiec, 14.12.2023 |
|
||||
CS 1.6 Szukam plugin dający nóż dla każdego po zabiciu wszystkich graczyNapisany przez Moncler, 16.11.2023 |
|
||||
|
edit csstatsx_sqlNapisany przez kooomax, 14.07.2023 |
|
|||
Szukam magika od paintballmodaNapisany przez TotalQ, 03.07.2023 |
|
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych