Assinatura RSS

Arquivo da categoria: Uncategorized

Brincando com Brainfuck

Publicado em

Brainfuck por Wikipédia:

Brainfuck (também conhecido como brainf*ck, ou BF) é uma linguagem de programação esotérica notada pelo seu extremo minimalismo, criada por Urban Müller, em 1993. Ela é uma linguagem Turing completa, desenhada para desafiar e confundir os programadores, e não é útil para uso prático. Pela sua simplicidade, o desenvolvimento de compiladores e interpretadores para essa linguagem é muito mais fácil do que para outras linguagens.

Vamos brincar um pouco!

Para isso vamos utilizar esse interprete em C:


#include <stdio.h>
#include <windows.h>

int  p, r, q;
char a[5000], f[5000], b, o, *s=f;

void interpret(char *c)
{
char *d;

r++;
while( *c ) {
//if(strchr("<>+-,.[]\n",*c))printf("%c",*c);
switch(o=1,*c++) {
case '<': p--;        break;
case '>': p++;        break;
case '+': a[p]++;     break;
case '-': a[p]--;     break;
case '.': putchar(a[p]); fflush(stdout); break;
case ',': a[p]=getchar();fflush(stdout); break;
case '[':
for( b=1,d=c; b && *c; c++ )
b+=*c=='[', b-=*c==']';
if(!b) {
c[-1]=0;
while( a[p] )
interpret(d);
c[-1]=']';
break;
}
case ']':
puts("UNBALANCED BRACKETS"), exit(0);
case '#':
if(q>2)
printf("%2d %2d %2d %2d %2d %2d %2d %2d %2d %2d\n%*s\n",
*a,a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],3*p+2,"^");
break;
default: o=0;
}
if( p<0 || p>100)
puts("RANGE ERROR"), exit(0);
}
r--;
//    chkabort();
}

main(int argc,char *argv[])
{
FILE *z;

q=argc;

if(z=fopen(argv[1],"r")) {
while( (b=getc(z))>0 )
*s++=b;
*s=0;
interpret(f);
}
}

O Brainkfuck possui apenas 8 comandos de operação, outros diferentes dos demais são considerados comentarios

Um exemplo de um algoritmo(?) em Brainfuck:

hello.b

++++++++++[>++++++++>+++++++++++
>---------->+++>++++++++>+++++++
+++++>+++++++++++>++++++++++>+++
++++++++>+++<<<<<<<<<<-]>-.>--.>
++++.>++.>---.>---.>.>.>+.>+++.,

Ela imprime no console um simples “Hello World!”

Interessante, não?! =)

Referências:

http://pt.wikipedia.org/wiki/Brainfuck

brainfuck (também conhecido como brainf*ck, ou BF) é uma linguagem de programação esotérica notada pelo seu extremo minimalismo, criada por Urban Müller, em 1993. Ela é uma linguagem Turing completa, desenhada para desafiar e confundir os programadores, e não é útil para uso prático. Pela sua simplicidade, o desenvolvimento de compiladores e interpretadores para essa linguagem é muito mais fácil do que para outras linguagens.
Anúncios

Stuxnet: O início de um ataque “físico”!

Publicado em

Eis que chegou o início de um futuro tão temido, onde os worm teram capacidade de interferir em sistemas de infraestrutura e controlar/ modificar sistemas de controle industrial como usinas elétricas, usinas nucleares, sistemas de trânsito… os principais sistemas de base de um país.

O marco disso foi o Stuxnet, o primeiro worm para plataformas windows que “trabalha” sob essas características. Ele foi especificamente escrito para atacar o SCADA (Sistemas de Supervisão e Aquisição de Dados), arquitetura tipicamente usada para controlar e monitorar processos industriais. O Stuxnet é capaz de reprogramar CLPs (Controlador lógico programável) e esconder suas modificações.

“O Stuxnet foi o primeiro worm de computador a incluir um rootkit de CLP. Também é o primeiro worm conhecido a ter como alvo infraestrutura industrial crítica. Ainda, o alvo provável do worm foi a infraestrutura do Irã que utiliza o sistema de controle da Siemens. De acordo com jornais a infestação do worm pode ter danificado as instalações nucleares iranianas de Natanz e acabou atrasando o início da produção da usina de Bushehr. A Siemens declarou, entretanto, que o worm de fato não causou nenhum dano. Além do Irã, também foram afetados pelo worm Indonésia, Estados Unidos, Austrália, Inglaterra, Malásia, e Paquistão.

Kevin Hogan, diretor sênior do setor de resposta a ataques da Symantec observou que 60% dos computadores infectados no mundo estavam no Irã, sugerindo o acontecimento de um ataque planejado. A Kaspersky Lab concluiu que os ataques só poderiam ter sido conduzidos “com apoio nacional de algum país”, fazendo do Irã o primeiro alvo real de uma cyber-guerra.”

via Wikipédia.

“Um protótipo funcional e temível de uma cyber-arma que
dará início a uma nova corrida armamentista no mundo. ”

— Kaspersky Lab

Pra quem quiser conhecer sua arquitetura, estou disponibilizando um pedaço de seu source original: Source

Password: abysssec

POG: Programação orientada em gambiarras

Publicado em

Faça uma mesa touch screen.

Materiais:
-Caixote
-Vidro ou material de acrílico translúcido
-Uma folha de papel
-Webcam

Instruções de como montar e demonstração no video!

Requisitos:
-Flash Player 9
-Java runtime 1.6 <

Como instalar:

-Extraia os arquivos e execute o "Windows_Mousedriver.bat" em "MTmini package v1\Demos\C++ Demos"
E ajuste a resolução do seu monitor e click em "ok"

Como usar os aplicativos flash:

Execute “server.bat” e coloque os dedos no vidro pra ser detectar
Agora execute o “gateway.bat” e click em “start”


Abra qualquer app em “Demos/Flash demos”
Recomendo: -Ripples(Um lago onde vc passa a mão na agua =])

Testei aq em casa, funfa legal! *-*

Download do app + manual:

Desbloqueando Modems Huawei =)

Publicado em

Cansado de ser roubado pelas operadoras de tecnologia 3g?

Quer mudar de operadora mas não quer assinar contrato de fidelidade por receber um novo modem “grátis”?

Abaixo mostrarei como desbloquear alguns modens  Huawei!

Modelos suportados:  E1550, E155, E156, E156G, E160, E160G, E161, E166, E169, E169G, E170, E172, E176, E180, E182E, E196, E226, E270, E271, E272, E510, E612, E618, E620, E630, E630+, E660, E660A, E800, E870, E880, EG162, EG162G, EG602, EG602G, Vodafone K2540, Vodafone K3515, Vodafone K3520, Vodafone K3565 , Vodafone K3715.

Como seu IMEI em mãos (que geralmente vem grafado no próprio modem),

Entre no site

E gere seu “unlock code” com seu IMEI

Agora baixe esse aplicativo que lhe será uma mão na roda! >

Abra o aplicativo com seu modem conectado

Clique no botão Please Select com port

Clique detect, selecione o modem e clique em accept

Clique em Unlock Modem, digite o “unlock code”  que foi gerado

Agora vá no site da Huawei e baixe o discador seu novo provedor

Pronto sejá feliz 😀