Skocz do zawartości

Zamiana bajtów


Rekomendowane odpowiedzi

Witajcie! Mam kolejny problem. Trochę za dużo tego dzisiaj, ale:

Korzystam z tego poradnika/artykułu https://gmclan.org/index.php?czytajart=10

Oczywiście wszystko robię w GM: Studio i jak jest kod:

GML
fh = file_bin_open(nn,1);

file_bin_write_byte(fh,71);

file_bin_seek(fh,1);

file_bin_write_byte(fh,73);

file_bin_seek(fh,2);

file_bin_write_byte(fh,70);

file_bin_seek(fh,3);

file_bin_write_byte(fh,56);

file_bin_seek(fh,4);

file_bin_write_byte(fh,57);

file_bin_seek(fh,5);

file_bin_write_byte(fh,97);

file_bin_close(fh);

to on mi czyści cały plik i jak otwieram go np. w notatniku to zamiast tych wszystkich dziwnych znaczków mam tylko ISTRIP

(coś jakby file_bin_rewrite)

Odnośnik do komentarza
Udostępnij na innych stronach

obczaj to: http://www.asciitable.com/ i zobacz, że wpisujesz do pliku bajty czytelnych znaków ASCII.

moze wyjaśnij co chcesz uzyskać.

Odnośnik do komentarza
Udostępnij na innych stronach

Ja to pokażę na moim przykładzie:

Mam plik .png

Jak otwieram go programem HxD i na początku tego pliku po prawej stronie mam:

GML
?PNG.....

już sobie przerobiłem ten cały HEX na decymalny?:

GML
HEX: 89 50 4E 47

DEC: 137 80 78 71

Rozkodowałem ten 'szyfr' z pomocą strony http://www.ascii-code.com/ i zamieniłem na

GML
HEX: 25 4E 45 4A

DEC: 37 78 69 74

co daje %NEJ

Zamieniam ?PNG na %NEJ

i już w programie zamieniam cały %NEJ spowrotem na ?PNG kodem:

GML
fh = file_bin_open(nn,1);

file_bin_write_byte(fh,137);

file_bin_seek(fh,1);

file_bin_write_byte(fh,80);

file_bin_seek(fh,2);

file_bin_write_byte(fh,78);

file_bin_seek(fh,3);

file_bin_write_byte(fh,71);

file_bin_close(fh);

137,80,78,71 to są te znaki ?PNG zapisane systemem DEC?

I zamiast zamieniać te pierwsze 4 bajty to mi je zapisuje jako cały plik.

 

Edit:

obczaj to: http://www.asciitable.com/ i zobacz, że wpisujesz do pliku bajty czytelnych znaków ASCII.

moze wyjaśnij co chcesz uzyskać.

Chciałbym zabezpieczyć moją grafikę wczytywaną z zewnątrz

Odnośnik do komentarza
Udostępnij na innych stronach

to zamiast zmieniac naglowek pliku, przelec go XORem z jakims stringiem hasla. prosciej i bezpieczniej. a jak chcesz modyfikowac zamiast zapisywac, to dajesz append lub open for read/write zamiast samego open, ale musisz ustawic pozycje w pliku na poczatku, bo przy append ustawi na koncu.

Odnośnik do komentarza
Udostępnij na innych stronach

nie wiele to da dla chcacego wyciagnac grafiki. zrobi to samo, tylko w druga strone. zaszyfrowanie XORem bedzie trudniejsze do zdekodowania, bo bedzie musial poznac haslo. zdaje sie, ze GM:S nie ma dekompilatora :)

Odnośnik do komentarza
Udostępnij na innych stronach

moge sie mylic, ale chyba so programy do wyszukiwania zasobow z gier/programow a znalezienie obrazka bez naglowku to dla nich bulka z maslem :)

pamietam takie cos zpred 7-10lat

 

lepiej szyfrowac caly obrazek

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...