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
84 użytkownik(ów) aktywny(ch) przez ostatnie 15 minut:
gości: 83, userów: 1, ukrytych: 0
PatrykPlayingPOLSKA

0 użytkownik(ów) na gmczacie i 0 bot(ów)
Shoutbox
I am vader (4:12, 25.02.17):
W życiu nie korzystałem, zrezygnowałem kompletnie z klocków jakieś 8-9 lat temu.
XBlacKX (0:09, 25.02.17):
wiesz gdzie mógłbym dostać jakieś? zwiedziłem cały internet i tak jak kiedys było tego od cholery teraz tylko jednego liba znalazlem i to na gmclanie
I am vader (23:58, 24.02.17):
rozszerzenia Drag and drop, ale nie wiem ktore mogles miec zainstalowane
XBlacKX (23:17, 24.02.17):
kiedyś miałem taką paczkę i miałem tam gdzie "move, main1 main2 draw" itd dodatkowe zakładki z różnymi funkcjami
XBlacKX (23:16, 24.02.17):
jak się nazywały te paczki z dodatkowymi "ikonkami" co można przeciągać?
I am vader (22:01, 24.02.17):
Zrobilbym ale tak bardzo nie mam sily nic robic..
I am Lord (21:17, 24.02.17):
zobacz newsa
I am Lord (21:17, 24.02.17):
nie miała być 24
Threef (20:04, 24.02.17):
I temat nie założony na forum!
Threef (20:03, 24.02.17):
Eee... a nie miała być 24h?
Threef (19:58, 24.02.17):
Mam nadzieję że fajny temat!
Jakim (18:10, 24.02.17):
Chcę koncert.
Threef (17:01, 24.02.17):
Gdyby ktoś mi to puścił na imprezie to uznałbym to za jakieś "garage experimental rap"
Threef (17:00, 24.02.17):
No prawie "dobrze".
Nikas (16:32, 24.02.17):
O kurwa. xDDDD Brzmi jak gruba choroba psychiczna i dobre dragi.
I am vader (14:56, 24.02.17):
Janusz normalnie
Wojo (14:53, 24.02.17):
www.youtube.com...h?v=7hCDXHDRnEY co jak co ale to jest całkiem dobre
Wojo (14:51, 24.02.17):
aha to dobrze
Wojo (14:51, 24.02.17):
rozumiem*
Wojo (14:50, 24.02.17):
rozumiesz, że to pytanie retoryczne
I am vader (14:50, 24.02.17):
Łukasz Grodzki to nei był czasem Paqoo?
Wojo (14:50, 24.02.17):
ta muzyka jest doskonała, a przerywniki z tekstem dopełniają ją całkowicie
Wojo (14:47, 24.02.17):
www.youtube.com...h?v=TftPHS6lkoc wyobraź sobie, że jesteś zbombiony i tego słuchasz
Rakson (8:35, 24.02.17):
Ok, doczytalem ze mozna powiedzcie mi tylko czy da sie jeszcze jakos zapisac, oraz czy pygame jest uznawany jako zakazany silnik do uzywania
Rakson (8:30, 24.02.17):
A gry na lige24 musza byc pisane w gamemakerze?
Uzjel (17:59, 23.02.17):
*Pierwsza od dawna
Threef (17:12, 23.02.17):
Ej ale to nie jest pierwsza liga z nagrodami.
I am Lord (16:28, 23.02.17):
zwycięzca pierwszy
I am Lord (16:25, 23.02.17):
Aha bo uzjel nie napisał, wybieracie z listy co chcecie w kolejności
Sutikku (13:22, 23.02.17):
myślałem, że ta liga to już dzisiaj, no tak
Wojo (11:52, 23.02.17):
Spoko akcja Lord
Exigo (10:23, 22.02.17):
PIONA.
I am Lord (22:58, 21.02.17):
oooo w dooma grywasz, przybij pionę
Exigo (22:10, 21.02.17):
O, nie wiedziałem że jest grupa GMC na Steamie. Dołączyłem.
I am Lord (21:48, 21.02.17):
będzie jedna osoba to też wygra
Sutikku (20:52, 21.02.17):
nagrody dla najlepszych trzech miejsc. Czyli jednak obstawiamy, że będzie więcej niż trzy prace xd
Uzjel (20:34, 21.02.17):
Dzięki Zachęcam do dołączenia steamcommunity....groups/GMPolska
I am Lord (20:27, 21.02.17):
ale nei zdąrzyłem kliknąć, szybko się schowało
I am Lord (20:26, 21.02.17):
właśnie też mi wyskoczyło jak grałem
Chell (20:24, 21.02.17):
swietny pomysl z powiadomieniem na steamie
Uzjel (20:22, 21.02.17):
W piątek liga z nagrodami
ΨΧΞ (17:44, 21.02.17):
plus: ja mam 8, nie 10
ΨΧΞ (17:44, 21.02.17):
żeby przypadkowo nie łapał inputu - jak chcę searcha zrobić, to klikam klawisz Windy i wpisuje czego chce - bang ;>
Danielus (14:35, 21.02.17):
@yxe jak można mieć wyłączonego searchbara? Najlepszy feature jaki win 10 ma do zaoferowania :f
I am vader (10:26, 21.02.17):
Zapewne oba. ale DS'y są zajebiste
Wojo (10:24, 21.02.17):
albo coś bierzecie albo to przejaw głębokiej deprseji
gnysek (10:21, 21.02.17):
<rap>Używam ds_listy, jestem zajebisty, aha aha... bum tsss tss, bum tss tss </rap>
Wojo (10:02, 21.02.17):
aha to spoks
ΨΧΞ (10:00, 21.02.17):
to nie samo menu, tam pod spodem działa podstawa komunikacji z serwerem (obsługa sklepu części, kont użytkowników, sesje) - nim zrobię kolejną część flow klienta, musze dopisać ficzur też po stronie backendu, dlatego więcej póki co dzieje się po tej niewidocznej stronie zwanej serwerem
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.01472 sekund ] [ Liczba zapytań MySQL: 16 ]

thecrims Otserv List Otserv LyricsTown Harry Potter Serwery Gier
dev nodev