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
128 użytkownik(ów) aktywny(ch) przez ostatnie 15 minut:
gości: 123, userów: 5, ukrytych: 0
Threef, ΨΧΞ, Deusald (Adamentium), boskipawlo, Nikas

0 użytkownik(ów) na gmczacie i 0 bot(ów)
Shoutbox
Threef (20:13, 27.03.17):
3 gry na Androida, wciąż 2 Guys 1 Gun i dokańczanie mniejszych gier.
Nikas (19:51, 27.03.17):
Also lol to nad czym Ty tyle pracujesz?
Nikas (19:12, 27.03.17):
No to chyba musisz przeanalizować parę rzeczy bo brzmi to słabo. ;d
Threef (18:52, 27.03.17):
Nie, no fajnie. Dobrze że nie musisz jak ja. 14h dziennie od półtora roku.
Nikas (18:41, 27.03.17):
Do czego pijesz?
Threef (18:28, 27.03.17):
3 tygodnie? Jak słodko.
Nikas (18:27, 27.03.17):
Od jakichś 3 tygodni praca po 10-12h dziennie + wiadomo obowiązki domowe skutecznie sprawiają, że mogę trochę nie ogarniać.
Chell (18:19, 27.03.17):
bez twardych uczuc, musisz miec sporo na glowie
Nikas (18:15, 27.03.17):
Sorry, zamuliłem.
Chell (18:12, 27.03.17):
ja rozumiem ze sie nie zalapalem do testow nighthawxa, ale chociaz jakas wiadomosc "sory czel" bylaby spoko
ANtY (8:48, 27.03.17):
dziś
Wojo (23:41, 26.03.17):
kiedy nowy zwiastun worlocksów ?
ANtY (13:59, 26.03.17):
latka leca
Nikas (3:27, 26.03.17):
Dalej jestem taki sam, tylko czas leci i kończę kolejną giereczkę.
Wojo (18:54, 25.03.17):
pamiętam te czasy kiedy na chatach siedziałeś z kartonem na twarzy i wrzucałeś foty z browcem na foto-galerie ehh....
I am Lord (18:47, 25.03.17):
jeszcze kilka lat temu
I am Lord (18:46, 25.03.17):
No a wydawało się że to tylko taki śmieszek jest
Wojo (18:40, 25.03.17):
kurwa nikas nigdy nie przybuszcałbym, że wydasz jakąś grę a tu jeb dwie pełnoprawne produkcje. Gratki
ANtY (12:46, 24.03.17):
nope
Adriann (12:36, 24.03.17):
Wiadomo już kiedy dokładnie zamykają Greenlighta?
gnysek (10:58, 24.03.17):
To dość dziwne, ale IDE GMS2 na maku zdaje się praktycznie bezproblemowo działać... to niepodobne do YYG
Chell (19:41, 22.03.17):
tez chetnie potestuje
owyn (14:12, 22.03.17):
Zrob aby tura zaczela sie w piatek to z checia cos zrobie
I am Lord (22:09, 21.03.17):
Co już chcecie kolejną turę?
Nikas (21:14, 21.03.17):
Nie fikaj za bardzo farfoclu!!!!
Threef (20:58, 21.03.17):
Jakieś bany trzeba dać? Bo mam dobry humor.
Threef (20:58, 21.03.17):
Oh damn! 2 tygodnie bez PC.
Wojo (20:50, 21.03.17):
za 12 godain
owyn (19:20, 21.03.17):
A kiedy kolejna tura ligi24???
Wojo (18:08, 21.03.17):
No to powodzenia tak czy inaczej
Gibki Kaktus (17:41, 21.03.17):
No ja mogę ograć XD
Nikas (16:28, 21.03.17):
Mam już grupkę testerów zawodowych z QA z mojej byłej pracy. Tutaj piszę, bo zawsze tu piszę.
Wojo (15:11, 21.03.17):
jak coś to też mogę pyknąć
Wojo (15:11, 21.03.17):
w sumie potrzebowałbyś więcej niż jednego typka z gmclanu do testów
Adriann (14:05, 21.03.17):
Ja chętnie przetestuję całość!
Ignatus (14:05, 21.03.17):
Stwierdzam własnie że nienawidze GM.Po raz n-ty w ostatnim miesiącu robie cos w grze i nagle przestaje dzialac cos co nie ma z tym żadnego zwiazku i robilem to miesiac temu.Zmieniam sobie parametry broni w grze i nagle BAM! Postac non stop kreci sie sama w kolko i nie wiem jak to zmienic.Piekny crap
Nikas (12:38, 21.03.17):
Nic nie płacę bo to są testy organizowane przeze mnie a nie AAG. Będzie miejsce w creditsach co może posłużyć jako normalny wpis do CV przy szukaniu pracy w QA. Chodzi tylko o ogranie gry, spisaniu odczuć (muszę zbalansować poziom trudności z samemu ciężko).
Gibki Kaktus (12:31, 21.03.17):
Ile płacisz? Jak >=0, to mogę ograć
Wojo (12:19, 21.03.17):
a co miałbym ci np tam spisać jakbym był chętny ?
Nikas (12:01, 21.03.17):
Szukam osoby chętnej na przetestowanie najthołxa. Tylko mówię tutaj o ograniu gry i spisaniu raportu, mam kluczyk do Steama. Ktoś chętny?
Nikas (23:14, 20.03.17):
Ale muszę przyznać, że dobra odpowiedź fervi. Szanuję.
Nikas (23:13, 20.03.17):
Tak, zobaczyłem tylko jakiś śmieszny cytat o wolności który wysłałeś i wyszedłem. xDDD ekstra gamedev
Fervi  (21:48, 20.03.17):
A co, dołączyłeś?
Nikas (11:30, 20.03.17):
Pewnie tam niezła stulejada. xDDD
Fervi  (20:39, 19.03.17):
#freegamer na freenode (dla wolnościowców, co zniechęca wiele osób )
owyn (14:05, 19.03.17):
jest jakis kanal irc nt. game-dev gdzie przesiadujecie?
Adriann (20:50, 18.03.17):
28-30 kwietnia
Wojo (20:34, 18.03.17):
a kiedy są te pyrkony ?
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.01865 sekund ] [ Liczba zapytań MySQL: 16 ]

thecrims Otserv List Otserv LyricsTown Harry Potter Serwery Gier
dev nodev