Fastbar
Powrót do strony głównej
Trzymaj pliki na gmclan.org!
Game Maker w pytaniach i odpowiedziach!
Polska dokumentacja
Tabela wyników ligi 24
Pobierz GM
Kategorie bazy artykułów
Artykuły -> Game Maker -> Kursy GML
Treść artykułu
Szyfrowanie danych
autor: gnysek (11.06.05)
Na początku tworzymy nową grę.
Robimy pierwszy skrypt, i nazywamy go zaszyfruj.
Wpisujemy w nim:
gml:
text=argument0;
len=string_length(text);
szyfr='';
for(i=1; i<len+1; i+=1)
{
szyfr+=string(ord(string_char_at(text,i)))
+'x'+string(100+round(random(99)))
+'$';
}
return szyfr;

Teraz tworzymy drugi skrypt i nazywamy go odszyfruj.
gml:
text=argument0;
pos=0;
len=string_count('$',text);//zamień to $ przy zamianie innych!
szyfr='';
for (i=1; i<len+1; i+=1;)
{
pos=string_pos('x',text);
szyfr+=chr(real(string_copy(text,1,pos-1)) );
/*pos - 1 -> pobiera text do pozycji o 1 mniejszej
od pozycji znaku 'x' */

len2=string_length(text);
pos=string_pos('$',text);
text=string_delete(text,1,pos);
/*pos - 1 -> kasuje text z pozycja znaku '$' */
}
return szyfr;


Teraz stwórz obiekt i daj mu w create kod:
gml:
txt='tekst do zaszyfrowania';
txt2=zaszyfruj(txt);
txt3=odszyfruj(txt2);


a teraz w draw:
gml:
draw_text(0,0,txt2);
draw_text(0,16,txt3);


Możesz uruchomić program.
Na ekranie ukaże się niemieszczący się w ekranie napis:
cytat:
696x187$606x142$642x155$690x141$696x165$192x130$600x185$666x161$
192x104$732x105$582x157$690x131$732x192$726x145$612x102$684x132$
666x177$714x197$582x130$660x142$630x174$582x160$

Jest to nasza zaszyfrowana wiadomość.

Teraz napewno nikt tego nie odkoduje. No chyba, że widział ten artykuł, dlatego teraz wytłumaczę jak dodatkowo zabezpieczyć.

W pętli FOR pobieramy kolejne litery. Przetwarzamy je na ASCII, potem dodajemy znak x losową liczbę z zakresu 100-199 i znak $, który oznacza koniec danego znaku. Aby utrudnić komuś zadanie, możemy napisać:
gml:
szyfr+=string(ord(string_char_at(text,i))*5)

wtedy każdy znak będzie mnożony przez 5. Mozna wpisać tutaj dowolną liczbę, lub działanie (wtedy umieść je w nawiasach). Należy wtedy jeszcze w odszyfrowywaniu dodać:
gml:
szyfr+=chr(real(string_copy(text,1,pos-1))/5);

aby liczba przed odszysfrowaniem została podzielona przez to przez co wcześniej ją mnożono.

Jeżeli wykorzystacie skrypt w swojej grze, napiszcie o mnie w creditsach.
głosów: 7 | ocena: 7.00 oceń zasób | dodał: gnysek
Komentarze
stron: 1

1


av

gnysek (19:15, 11.06.2005)

Oczywiście, to jest jedna z łatwiejszych form szyfrowania, skrypt po pięciu minutach przeróbki zamienia liczby na litery i wtedy szansa odszyfrowania spada drastycznie.

av

Tymon (19:41, 11.06.2005)

Super Ale i tak ja bym zrobił to inaczej

av

bigshark (21:11, 11.06.2005)

nom nom fajne, ja bym to zrobił inaczej niz gnysek i jeszcze bardziej inaczej niz tymon ale fajne to jest i tak

av

Ranmus (9:45, 12.06.2005)

No to podajcie swoje pomysły. Algorytmów kodowania jest bez liku. Uważam, że do niewielkiego typu danych kodowanie w GML jest całkiem dobrym rozwiązaniem. Natomiast przy bardzo dużych danych to chyba lepiej skorzystać z jakiegoś dll'a co by GM'a nie zabić. ;P

av

dziadekkleofas (10:08, 12.06.2005)

Najlepiej skompresować plik swoim własnym kompreserem ;p. Nikt oprócz ciebie nie rozpakuje tak więc nie rozszyfruje.

av

Tymon (10:55, 12.06.2005)

Ranma, przecież to by sie prawie na tym samym opierało. Tylko że ja to bym chciał zrobić na pojedyńczych znakach. Czyli np. literze P będzie odpowiadać S

av

Marmot (13:10, 12.06.2005)

A czemu tak Tymon? Nie lepiej zastosować ROT-13? Pełno jest DLLi do tego, a algorytm jak nawet jest dość prosty do niego.

av

Ranmus (13:30, 12.06.2005)

Tymon: Oczywiscie, ze by sie na tym samym opieralo, ale tu chodzi o SZYBKOSC gml'a.

av

Firemark (19:50, 12.06.2005)

lol
dobre to,przyda sie w pewnej mojej grze

av

Bartek (Kamrat) (16:05, 25.06.2005)

Fajniutka sprawa

~anomymous (15:28, 11.01.2006)

zrobiłem to co mówisz ale gra uruchamia się normalnie
:-(

av

Marmot (7:06, 12.01.2006)

Przecież to jest artykuł na szyfrowanie, to co to ma wspólnego z odpalaniem gry?

av

kubasz (16:02, 4.01.2008)

Bo ja chyba zrobię trudne działanie matematyczne!!!
np. szyfr+=string(ord(string_char_at(text,i))*9+30-1)

Yoda (0:00, 5.01.2008)

O ja ale trudne działanie - ja nie moge...

av

adam014 (12:18, 5.01.2008)

@Yoda
Trudne czy nie trudne,ale jak by nie napisał to byś nie wiedział jakie i z rozszyfrowania nici

stron: 1

1



Dodaj komentarz:
Treść:
Menu
Panel użytkownika
Jesteś niezalogowany!

Nie masz konta? Zarejestruj się
Użytkownicy on-line
75 użytkownik(ów) aktywny(ch) przez ostatnie 15 minut:
gości: 74, userów: 1, ukrytych: 0
LarrySaike

0 użytkownik(ów) na gmczacie i 0 bot(ów)
Shoutbox
Flashek (12:25, 29.04.17):
Tytaj adminów brakuje no ale pies ogrodnika samemu nie zje drugiemu nie odd
en_6280 (12:04, 29.04.17):
nie ma jak uczyć się vulkana gdy karta graficzna nie obsługuje
PatrykPlayingPOLSKA (11:51, 29.04.17):
keek te reklamy
Wojo (11:37, 29.04.17):
No a moderatorzy wstają o czternastej po ciężkim dniu nic nierobienia
Dester (11:25, 29.04.17):
BOTY WYSYŁAJĄ MI PRYWATNE WIADOMOŚCI HELP
Fervi  (23:59, 28.04.17):
Trzeba było brać jak było za free
Flashek (22:25, 28.04.17):
Witam, ma ktoś może niepotrzebne chivlary medieval warfare na steamie ?
Grela (18:18, 28.04.17):
niewazne wlasnie stoje na stoisku frozen district XD
Grela (18:17, 28.04.17):
czy jakis gmclan ma stoisko na indykach na pyrkonie?
Danieo (15:44, 28.04.17):
A tego to nie wiem, nigdy nie używałem
Danielus (15:06, 28.04.17):
Boo nie jest już oficjalnie wspierany chyba
Danieo (11:58, 28.04.17):
W unity kod piszesz w c#, JavaScript albo Boo
Danieo (11:57, 28.04.17):
Nie ma ani własnego ani nie programuje się w C++
nowy_user (10:53, 28.04.17):
Rozuumiem , a tak btw, czy Unity ma swoj własny język czy programuje się tam w c++?
Wojo (10:34, 28.04.17):
Unreal engine się fajnie prezentuje ale faktycznie jak trochę poczytałem to sprawia trochę problemów jeśli chcielibyśmy coś wrzucić na rynek
Wojo (10:32, 28.04.17):
No i brak większego supportu 3D w gmie też bardzo boli ale i tak się trochę sytuacja w nim poprawila
Wojo (10:30, 28.04.17):
I z tego co czytałem to gm pomimo supportu dla html5 ma nadal z nim mnóstwo problemów co równa się tylko z konwersja teoretyczną nie mająca pokrycia w rzeczywistości
Wojo (10:29, 28.04.17):
Masz tutaj trochę racji ale i tak unity jest znacznie popularniejsze od gma.
nowy_user (10:05, 28.04.17):
Czy ja wiem Wojo, Spójrzmy jak wielu ludzi tworzy dziś komercyjne gry w GM, otwierają się przecieżfirmy, które tworzą gry tylko w GMie. 10 lat temu to było nie do pomyślenia, jak ktoś zarobił 10$ na grze zrobionej w GM to już był happy.
Danielus (9:56, 28.04.17):
Najprościej założyć discorda. Staje się to coraz bardziej popularne jeśli idzie o chat
Wojo (9:36, 28.04.17):
Właśnie strona jest git ale game maker stracił mocno na znaczeniu w ciągu ostatnich lat.
Chell (9:00, 28.04.17):
uważam że tutaj każdy ma dość wartościowej wiedzy oraz jedną sprawą portalu jest brak nowej strony również brak naliczania postów w valhalli
Wojo (8:56, 28.04.17):
Gmclan rozwija się samodzielnie
nowy_user (8:40, 28.04.17):
Szkoda że GM czat nie działa. Przydałoby się takie miejsce gdzie moglibyśmy wymienić się wartościową wiedzą oraz porozmawiać o sprawach portalu i w końcu zdecydować w którym kierunku GMclan będzie się rozwijał.
Wojo (8:21, 28.04.17):
Tinychat zawsze zdycha
Chell (7:13, 28.04.17):
hmm, a może by tak tinychat??
Chell (7:13, 28.04.17):
ale zamkneli*
Chell (7:12, 28.04.17):
Simian - kiedyś był gmczat się zamknęli bo doszli do tych samych wniosków co ty ;p
Decretus (2:02, 28.04.17):
Witam serdecznie, zachęcam do wzięcia udziału w konkursie!
Adriann (1:17, 28.04.17):
Gibki Kaktus (23:30, 27.04.17):
Jestem gotowy na Pyrkon
Gibki Kaktus (23:30, 27.04.17):
Halo
Kotekhh (23:23, 27.04.17):
Krowa która ryczy, mało mleka daje
SimianVirus7 (22:18, 27.04.17):
Czy Gmclan posiada IRC'a czy coś w ten deseń? czy tylko ten czat funkcjonuje? (,bo w sumie po co IRC skoro jest to)
SimianVirus7 (22:17, 27.04.17):
Witam Nigdy nie używałem tego czatu, więc nie wiem, czy powinienem się przywitać czy nie
dxdiag (20:15, 27.04.17):
brawo dester
Adriann (18:28, 27.04.17):
starają się coraz bardziej:3
I am vader (18:03, 27.04.17):
Najlepsza bot reklama jaka tu widzialem led.feen.us/fq7e5b.png
Nikas (12:02, 27.04.17):
uuuuu
nowy_user (11:54, 27.04.17):
Człowiek ma już dość tych botów, niech Marmot lub Patrysław coś z nimi zrobią
Wojo (9:56, 27.04.17):
Znowu te boty
Penguin (7:23, 27.04.17):
mi też
Sutikku (22:51, 26.04.17):
Nie znajduje mi adresu DNS youtube, no to fajnie
Nikas (21:35, 26.04.17):
store.steampowe....com/app/206440 To The Moon zostało zrobione w rpg makerze.
Ignatus (21:33, 26.04.17):
Ja z GM mam ciekawa historie.Pewnego dnia 2 lata temu stwierdzilem ze spelnie marzenie dziecinstwa i zaczne robic gry, znajomy podpowiedzial zebym zaczal od nauki javy.Dla urozmaicenia zmudnego przerabiania kursow zaczalem instalowac rozne edytory i tak trafilem na GM
Ignatus (21:31, 26.04.17):
Każdy kojarzy spelunky
kriso99 (20:33, 26.04.17):
siemka, jest jakas lista na necie z id wszystkich klawiszy z klawiatury?
Suekii (18:58, 26.04.17):
Spelunky kojarzycie?
Flashek (18:46, 26.04.17):
każdy pierwszy program będzie dobry jeżeli tylko użytkownik sobie z nim radzi
Ankieta
» Czy jesteś szczery odpowiadając w ankietach w Internecie?
Tak
Nie

GMCLAN to serwis o programie Game Maker i nie tylko.
Copyright © 2002-2017. GMCLAN.ORG
Wszelkie prawa zastrzeżone. Kopiowanie materiałów bez zgody redakcji zabronione!

[ Czas generowania strony: 0.01954 sekund ] [ Liczba zapytań MySQL: 15 ]

thecrims Otserv List Otserv LyricsTown Harry Potter Serwery Gier
dev nodev