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
💸 SellYourSkins.com - Łatwo sprzedaj swoje skiny do CS:GO
💸⇄🃏 Automatyczny Bot Levelowania Steam - LVLUPSteam.com
🛒Coinsy CSGOPolygon Za SMS, PSC, Przelew - CoinSell.pro
Twój Sklep CS2 - CSGOPAKA
Coinsy do CSGOPolygon, CSGO500, CSGOEmpire - CSGOLombard.com
💸 Graj w CS2 / CS 1.6 i zarabiaj - BoostProject.pro
CS2 Gambling Sites and Free Betting Codes - DreamCodes.gg
Otwieraj skrzynki i wygrywaj najlepsze skiny CS2 na SkinsProject.gg
🤑 Accept CS2 skins for online payments and donations - SkinsMoney
Płatności SMS Premium Rate oraz Direct Biling - SimPay.pl
Szukasz noclegu? Kwatery, noclegi, tanie noclegi, wakacje oferty, wczasy nad jeziorem - RuszajWPolske.pl
#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


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:
Paczka perkow.perki Napisany przez NAVIK, 24.03.2025 ![]() |
|
![]() |
|||
Wyswietlanie wiadomosci w tutorNapisany przez SHiBBy., 27.02.2025 ![]() |
|
![]() |
|||
Faken selling a blockmaker - ScammerNapisany przez ricardobrat, 26.02.2025 ![]() |
|
![]() |
|||
COD MOD 45001 lvl Jak ustawić cvar'y do expa aby było dobrze?Napisany przez Arki, 18.01.2025 ![]() |
|
![]() |
|||
Boty na serwer paintballNapisany przez FuckIt, 27.12.2024 ![]() |
|
![]() |
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych