Hacking  
  Wrzesień 26 2017 07:43:58  
 
Nawigacja
folder Portal
. Artykuły
. Download
. Forum
. Szukaj
. FAQ
. Regulamin
folder Hacking
. Gry Hakerskie
. Filmy
folder Delphi
. Kursy
. Faq
. Źródła
. Komponenty
. Artykuły
folderWebmaster
. JavaScripts
. Skrypty PHP
folderRóżne
. Kontakt
. Zlokalizuj ip
Aktualnie online
. Gości online: 6

. Użytkowników online: 0

. Łącznie użytkowników: 153,721
. Najnowszy użytkownik: goReadyRoowl
Ostatnie artykuły
. Metoda ataku symlin...
. Asembler x86 w pigułce
. Binder plików z komp...
. [Asembler/MASM] Pobi...
. Braifuck 4 fun
Nawigacja
Artykuły » Programowanie » Braifuck 4 fun
Braifuck 4 fun
Brainfuck for fun.

-Słowem wstępu
W artykule tym chciałem wam przybliżyć język programowania jakim jest brainfuck stworzony przez Urbana Müllera około roku 1993.
Jest to język Ezoteryczny, programuje się od góry do dołu za pomocą małego zestawu instrukcji (o tym za chwilkę) a napisanie prostych nawet programików urasta do rangi całkiem dobrej łamigłówki, operuje się głównie na komórkach które przechowują wartość 0-255.
Zaletą jest stosunkowo prosty i mało ważący kompilator.
Pewnie spytacie po co więc uczyć się tego skoro to trudne i stworzenie operacji mnożenia wymaga nadmiernego kombinowania ?
Odpowiedź jest prosta jest to język do zabawy i rozruszania mózgownicy.

-Komedy
> zwiększenie licznika komórki
< zmniejszenie licznika komórki
+ zwieszenie wartości komórki o 1
- zmniejszenie wartości komórki o 1
. wyświetlenie bieżącej komórki jako znaku ASCII
, pobranie wartości w postaci znaku ASCII z klawiatury i wstawienie do bieżącej komórki
[ skacze bezpośrednio za odpowiadający mu ], jeśli w bieżącej komórce znajduje się 0
] skacze do odpowiadającego mu [

Ostatnie 2 komendy są troszkę dziwne ale służą do tworzenia pętli co do pozostałych wydają się raczej zrozumiałe.


-Przygotowania
Pobieramy Brainfuck Machine np. z tej strony http://www.idg.pl/ftp/pc_11015/Brainfuck.machine.html
BM jest dość dobry z tej racji że jest to zarówno kompilator jak i interpreter języka. Posiada także wbudowany debugger.
Ponadto jest szybki i posiada konwersje na kilka innych prostych języków jak np. C
Po wypakowaniu jest gotowy do akcji.
Programy testujemy za pomocą opcji Debug która wykonuje komenda po komendzie program a efekty można zobaczyć z prawej strony w postaci listy komórek wraz z wartościami i pod spodem jako efekt działania na konsoli. Można też użyć opcji Run która odpali cały program od razu i na dole wyświetli to co wyświetliła by konsola. Warto też pamiętać że kompilator ignoruje wszystkie inne znaki oprócz znaków komend dlatego pisanie swoich komentarzy jest proste i łatwe.


-Kilka programów
Poniżej kilka prostych programów wraz z komentarzem

!start
+>++>+++

Program jest trywialnie prosty, wykorzystuje 3 komórki działa następująco
+ dodaje do komórki k(0) 1, następnie > zmienna komórkę na komórkę k(1) a ++dodaje do niej 2, i analogicznie > zmienia k(1) na k(2) i za pomocą +++ dodaje do niej 3.

!mnożenie, czyli korzystanie z pętli
++[>+++<-]

powyższa pętelka mnoży 2(++) razy 3(+++), w taki sposób że jeśli w komórce ustawionej przed znakiem [ jest coś innego niż 0 to wykona się kod wewnątrz nawiasów czyli do komórki następnej dodane zostanie 3 a od komórki początkowej odjęte zostanie 1.

!Czytanie i pisanie po ekranie
,[.,]

Kod ten wczytuje i wypisuje na ekran tekst z klawiatury, właściwie to łapie znaki i wysyła je od razu do wypisania
Działa on następująco , wczytuje wartość z klawiatury do k(0) dzięki temu może wystartować pętla która będzie się kręcić aż do podania wartości 0 ().
W samej pętli wypisujemy wpisany znak i pobieramy następny.

!Brain**** czyli dokończ zdanie
++++++++++[>++++++++++<-]>++.<+++[>+++++<-]>.<++[>---------<-]>.<++[>++++<-]>.,

Poniższy kod wypisuje na ekran brakujące słowo z nazwy czyli fuck. warto zwrócić uwagę na , na końcu programu. Dodano go aby po ewentualnym skompilowaniu program czekał na naciśnięcie przycisku a nie mrugną na ekranie jak błyskawica.

Te proste przykłady obrazują działanie komend, reszta zależy już tylko od ciebie i twojej inwencji. Do dzieła!

Author: kodo(Piotr Pięda)
Oceny
Tylko zarejestrowani użytkownicy mogą oceniać zawartość strony
Zaloguj się lub zarejestruj, żeby móc zagłosować.

Świetne! Świetne! 100% [2 głosy]
Bardzo dobre Bardzo dobre 0% [0 głosów]
Dobre Dobre 0% [0 głosów]
Średnie Średnie 0% [0 głosów]
Słabe Słabe 0% [0 głosów]
Logowanie
Nazwa użytkownika

Hasło



Nie masz jeszcze konta?
Zarejestruj się

Nie możesz się zalogować?
Poproś o nowe hasło
Shoutbox
Musisz zalogować się, aby móc dodać wiadomość.

05-09-2017 00:59
https://www.youtub
e.com/watch?v=fS0l
FNzl5uE

05-09-2017 00:58
https://www.youtub
e.com/watch?v=fS0l
FNzl5uE ZARABIANIE NA NECIE GRUBA FORSE BEZ INWESTYCIJ

30-08-2017 03:38
online payday loans direct lenders <a href="http://cashad
vances2017.com"
Chytry guaranteed payday loans</a> &lt;a href=&quot;http://c
ashadvances2017.co
m&quot;&gt; payda

07-08-2017 13:23

05-08-2017 00:33
forex trading online now blogspot search images http://anicinag.7m
.pl/qifyly/forex-m
ix-repinox-wikiped
ia-dictionary.html
forex omsk bird polandball philippines http://dandireli.7
m.pl/pylalyga

Licznik
30,419,529 unikalne wizyty