segunda-feira, 27 de junho de 2011

Programando em 5 minutos:7# Aula - Ponteiros e Matrizes - C

Bom,vamos começar falando de matrizes unidimensionais(1-dimensão).Formulinha!
tipo nomematriz[tamanho];
Sendo tamanho qualquer número ou variável.Por exemplo:
double x[100];
É uma matriz que tem 100 elementos:do 0 ao 99.Mas deve-se tomar cuidado,por que C não verifica se você passou do limite da matriz.Então você pode estar escrevendo dados em uma variável,ou no código do programa ou até mesmo no hd!Ai vai um exemplo:
int count[10], i;
//isto faz com que count seja ultrapassada
for(i=0; i<100; i++) count[i] = i;
Bom,como disse matrizes e ponteiros estão intimamente ligados,ou seja,se você quiser que *p aponte para count[0] é só fazer:
p = count;
Mas se você quiser que aponte para count[1]:
p = &count[1];
Endenteu?Bom por aqui acabam as minhas aulas de C,se quiserem saber leiam o livro C Completo e Total ou acesse http://informatica.hsw.uol.com.br/programacao-em-c22.htm

Programando em 5 minutos:6# Aula - Operadores Lógicos - C

Bom,nessa aula começaremos a falar sobre o while.A formula dele é:

De graças ao ComoTudoFunciona por esse gif! :D
while(condição) comando; 

Sendo  a condição qualquer coisa que retorne verdadeiro(não-zero) ou falso(0).Comando é qualquer coisa,até mesmo um bloco {} ou somente um x = 1.A tradução de while é quando.
Antes,queria dar mais algumas informações sobre as \n que passei em outra aula sobre printf

\b - Retrocesso
\f - Alimentação de Formulário
\n - Nova Linha
\r - Retorno de Carro
\t - Tabulação Horizontal
\" - Aspas duplas
\' - Aspas Simples
\0 - Nulo
\\ - Barra invertida
\v - Tabulação Vertical
\a - Alerta(beep)

Bem,agora vamos falar sobre os operadores.Há quatro tipos: os aritméticos,relacionais,lógico e os bit a bit.
Começando pelo o nosso antigo =,nos temos uma nova função para ele,veja se consegue descobrir apartir de sua aplicação:

x = y = z = a = b = 123;

Descobriu? Isso mesmo!Ele pode fazer varias atribuições ao mesmo tempo!Próximos são os aritméticos.Ai vai uma tabela(lembrando que em int o resto da divisão é descartado, então 5/2=2 e 5%2=1)

-   Subtração,também multiplica seu operando por -1(ou seja 1-1 é igual 1 + ( - 1 ) = 0)
+ Adição
* Multiplicação
/ Divisão
% Resto da Divisão
-- Decremento(retira 1,pode vir antes ou depois de seu operando)
++ Incremento(soma 1,pode vir antes ou depois de seu "aplicado")

Vale lembrar que se

x = 10;

Então os seguintes códigos são diferentes:

y = x++;
y = ++x;

O primeiro transforma y = x e depois x+1, então y = 10.No segundo ser y = 1+x,então x é somado e y = 11.E a uma diferença na velocidade,pois o compilador processa mais rápido x++ ou ++x do que x+1,por incrível que pareça.Aqui vai uma lista do que acontece primeiro e o que acontece depois:

++ -- Acontece Primeiro
- (menos unário)
* / %
+ -  Acontece depois

Itens de mesmo nível são avaliados da esquerda para a direita,mas se você colocar parênteses força a acontecer primeiro qualquer tipo de operação.
Agora os operadores relacionais:

> Maior que
>= Maior ou igual
< Menor
<= Menor ou igual
== Igual
!= Diferente

Os Operadores lógicos:

&& E (AND, em inglês)

|| Ou (or em inglês,o caractere de barra invertida e shift produz ele,o pipe)

! Não(NOT em inglês(exclamação))

Agora,para esclarecer, o que aconteceria se usassemos && e || e ! em p=0011 e q=0110

p     q     p&&q        p||q      !p         !q
0     0         0              0        1           1
0     1         0              1        1           0
1     1         1              1        0           0
1     0         0              1        0           1

Ou seja && deixa somente o que os dois tiverem,|| soma os dois,o que um tiver o outro tem,então está bom,o ! inverte,se tem então não terá,se não tem então terá.Isso é otimo quando se precisa de um resultado 0 (falso) ou verdadeiro(não-zero).A não esquecer dos parênteses pois:

!0 && 0 | | 0  ---FALSO
!(0 && 0) | |  ---Verdadeiro!

Agora sobre os operadores de ponteiros(vamos aprender mais para frente pois é complicado) & e * .Bom,ao invés de falar o técnico vou dar um exemplo e mostrar o que você precisa saber para usa-lo.Exemplo:

m = &count;

Bom, o m tem um endereço na memoria que não tem nada a ver com seu valor(ex: endereço: 4260 valor:50), e leitura disso seria "m recebe o endereço de count" então como no exemplo,count teria 4260.Agora se:

q = *m;

Seria lida "q recebe o valor do endereço de m" logo se m é 4260,então o q recebe o valor que está no endereço 4260, que é o valor 50,então q=50.Mas deve se tomar cuidado pois você nunca sabe o endereço de uma variável,então digamos que g está no endereço 100 e tem valor 10,se você fizer isso:

x = *g;

Você colocaria x o valor que está no endereço 10(valor de g) e você não sabe o que há no endereço 10(geralmente dados do sistema) e caso você usasse isso para uma contagem,apareceria um numero absurdo.

Bem vou começar a falar sobre ponteiros aqui.Não,não são os ponteiros do relógio,mas tem a mesma função.Imagine um biblioteca.O ponteiro ira falar para você onde esta o livro que ele sabe.Mas ele só sabe o endereço de um livro,não de todos
A biblioteca é uma matriz(vamos estudar mais para frente)então ela guarda vários números e o ponteiro fala qual numero esta numa posição dessa matriz.Matrizes são assim:

maz[10];

Essa é uma matriz de 10 números,do 0 ao 9(como armários)mas ainda estão indefinidos.
Olhe o que acontece para ver como é a relação de ponteiros e matrizes:

*m = &maz[0];

Pronto!Agora m está apontando para o primeiro "armário" da matriz maz.Ficou curioso?Não entendeu?Então até a próxima aula,por que não se pode falar de um se falar do outro!

domingo, 26 de junho de 2011

Programando em 5 minutos:5# Aula - Bibliotecas e alguns comandos - C

Bibliotecas!Não,não são aqueles lugares chatos que se pode ouvir a vibração das células.Sem elas sua vida de programador seria impossível.Sabe os comandos das aulas passadas,os int,float,return,printf,etc?Eles fazem parte de uma biblioteca!A nossa biblioteca não é nada mais que um conjunto de varias funções.Aconteceu que,antigamente,todo computador tinha um processador diferente e quase que por milagre,um código de um computador podia ser executado no outro.Então chegou um cara Chamado ANSI(que adorava padrão) e falou: "Pera ai!""Vamos arrumar essa baderna!".Ele juntou muitos programadores e conseguiram criar um padrão!E fizeram bibliotecas para facilitar nossa vida.Todas as bibliotecas que eles fizeram começam com o nome std porém há um comando universal(um dos poucos) chamado #include que permite que seja adicionado bibliotecas para você usar suas funções.Então veio muitos programadores,pegaram a ideia e copiaram.Aqui vai a formulinha do #include:
#include <nomedabiblioteca.h>
Os <> significam que estão na raiz do seu compilador.Geralmente um programa normal tem pelo menos essas duas bibliotecas: stdlib.h e stdio.h, a primeira tem funções como int e a segunda como o printf e scanf(que será explicado nessa aula).
O scanf pede para um usuario digitar algo e o guarda em uma variavel.Ex:
scanf("%d",x);
Está vendo?O %d não é somente do printf mas da maioria dos comandos I/O ou E/S(Entrada e Saida)
Agora vamos começar a falar sobre os comandos de condição:if,case,else,switch.A tradução deles seria:se,caso,senão,"alavanca".Você não vai conseguir prever tudo que o usuario vai fazer,então para isso nos usaremos esses comandos.Formula do if:
if(condição) comando;
Onde condição seria algo como x>0 ou y = x ou x =! y(explicaremos isso na proxima aula),e todo valor diferende de zero é verdadeiro,incluindo negativos,então se quiser saber se um número é diferente de zero deve usar if(x)  ao invés de if(x =! 0) pois seria considerado um mau estilo.Agora vamos ao acessorio de if o else ,formulinha:
if(condição) comando;
else comando;
Lembrando que comando pode ser um x+1 até um bloco {}.E todo else está aninhado ao if mais proximo.Caso o if seja falso é pulado seus comandos como se fossem comentarios.Pode-se fazer uma "escada" if's e else's,sendo que quando é encontrado um verdadeiro,o resto é ingnorado,caso nenhum seja,o ultimo else é executado.Também temos algo parecido,menos usado, que é o operador(falaremos sobre mais operadores na proxima aula) '?' que tem a seguinte formula:
expressão1 ? expressão2 : expressão 3;
No caso,se expressão1 é verdadeira,a expressão2 é usada,senão a expressão3 é usada.Tomemos o seguinte exemplo:
x=10
y= x>9 ? 100 : 200
Logo,y=100.Se x fosse menor que 9,então y seria 200.Em if-else seria assim:
if(x>9) y=100;
else y=200;
Mas o ? não se limita a atribuições,pode ser usado em chamadas as funções ou algo mais complexo como:
((x+10)*(x-10))>20 ? (x=5) : (x=4)
Ou até mesmo em funções,chamando-as caso algo ocorra.A unica coisa que deve acontecer é o operador if ou ? chegar a um 0 ou não-zero.Agora sobre o case,switch e o break:Formulinha:
switch(expressão){
case con1:
comandos;
break
(...)
case conN:
break
default:
comandos
}
Onde expressão é qualquer coisa como x ou x+y que vai sendo testada contra cada case,e caso seja igual,os comandos dele são executados,caso todos falhem e tiver o default,o comando do default é executado,caso não tenha default continua o programa de onde parou,sem executar nada,logo o default é opicional.Porém um switch só pode testar igualdades enquanto if pode testar relações logicas,e não pode haver 2 cases indenticos no mesmo switch porém se esse tiver outro switch,esse 2 switch pode ter um case igual ao case do 1º switch.Geralmente switch é usado em menus para processar entradas via teclado.Break também é opcional em um switch.
Agora vamos falar sobre o comando for.Formulinha!:D
for(Inicial;Condição;Modificação) Comando;
Sendo a inicial algo tipo x=0 ou y=0 ou até x=0,y=0 e a condição algo tipo x>y ou x=!y ou x+y=x,etc e a modificação como x++(ou x+1) ou x+y ou x/y ou x*y e por ai vai.O que o for faz é basicamente inicializar,depois verificar se condição é verdadeira,então fazer a modificação e executar os comandos(ou blocos) e depois verificar se é verdadeira e repitir até que deixe de ser verdadeira.Quando isso acontecer o programa continuará normalmente.O seguinte programa apresenta os números de 1 a 100 pelo laço for:
#include <stdio.h>

void main(void)
{
  int x;

  for(x=1; x<=100; x++) printf("%d ",x);
}

A não esquecer que os 3 paremetros de for são opcionais,ou seja:
for(;;);
Está certo,porém será executado para sempre.For pode ser também usado como "tomador" de tempo,para que posasse esperar um tempo até  proxima instrução.Também temos o while, mas isso fica para a proxima aula que provavelmente vai levar mais de 5 minutos...:(
A lição de casa!Faça um Quiz de Perguntas Quaisqueirs,você já está apto para isso,eu acho...:D   >:D

Programando em 5 minutos:4# Aula - Modificando os tipos e variaveis - C

Na ultima aula aprendemos um pouco sobre C e seus tipos de dados básicos...Hoje aprenderemos a modifica-los:
Há 4 tipos de modificadores e mais um tipo básico que esqueci de apresentar:
long - Longo  
short - Pequeno
unsigned - Sem sinal  
signed - Com sinal
void - Nada(não aceita modificações)
long,como o nome diz,aumenta o tamanho,pode ser usado em todos os tipo excepto float,pois um long float é a mesma coisa que um double.Short reduz o tamanho,e é aplicavel aos mesmo tipos que o long,execpto o double pois um short double é a mesma coisa que um float. Unsigned retira o sinal,ou seja, se ia de -32.767 a 32.767, um insigned int vai do 0 ao 65.535.
Agora voltando as variáveis,uma variável tem um valor,você pode saber e não saber o valor da variável assim como pode lhe atribuir um valor.Ex:
int var1,var2,var3;
var1=12;var2=30;
var3=var1+var2;
Olha que interessante:mais caracteristicas de C!Você pode fazer vários comandos numa só linha,desde que tenham ; e uma atribuição de variável(ex:x=y) pode ter como parte da sintaxe outras variáveis!Agora tem umas regrinhas para declaração de variáveis:O primeiro caractere pode ser letra ou sublinhado e o resto só pode ser letra,numero ou sublinhado.O nome da variável não pode ser igual a uma palavra chave(mas pode ser como Int ao invés de int),e caso o nome passe do limite do compilador o resto do nome é ignorado,exemplo, se seu compilador suporta até 3 caracteres(geralmente é muito mais) as seguintes variáveis são iguais:
xar1,xarissonconta e xarkdjfokdjflsjd entendeu?

Vamos complicar mais um pouco : há três tipos de variáveis,as variáveis locais,as variáveis formais e as variáveis globais.
C é uma linguagem estruturadas em blocos ou seja,a maior parte das coisas está entre um { e um }.{} é um bloco,qualquer variável declarada nele será só dele,e quando aparecer o } todas as variáveis do bloco serão destruídas e seus valores incinerados,ou seja,o seguinte código está certo,pois nenhuma variável local vai ser guardada para causar conflitos com a outra:
{
int x,y;
x=10;
y=x+1;
printf("%d",y);
}
{
int x,y;
y=100;
x=10;
printf("%d",y+x);
}
É isso que você viu, os {} não são comandos então não recebem ; ,eles são delimitadores!E o printf("%d",y) ali é um comando de I/O(input e output,ou seja,entrada e saída).Ele mostra qualquer coisa que você quiser na tela.A formula dele é:
printf("Aqui vem os valores e coisas que você quer",aquiVemAsVariaveisQueSerãoApresentadas;
E o %d?Ele indica que há uma variavel inteira para ser apresentada,no caso o y.Mas e se eu quisesse outra variável?Simples,colocasse mais um %d e depois da ,variável colocasse outra e ficaria assim ,variavel1,variavel2,varialveln entendeu?Se você quiser apresentar somente um frase na tela é só usar a formula simplificada:
printf("Sua frase aqui");

Caso você queira fazer mais uma frase,só que separada por linhas era só um /n onde você quisesse que começasse a outra linha,simples não?Para aspas só colocar /' ...Agora vamos falar sobre as variáveis formais e as funções(ah antes que eu esqueça,geralmente variáveis locais são declaradas no inicio de cada bloco {} ).Funções nada mais são que um "comando" que você cria.Para seus nomes se usa as mesma regra das variáveis.Aí vai a formula:
tipo nomedafunção(variavelformal1,variavelformal2,variavelformaln);
Aqui vai uma função que soma dois números:
int soma(x,y){ x+y=x;
printf("%d",x);
return x; }
O return ali significa qual valor a função vai devolver.No caso o que vai ser devolvido para quem a chamou vai ser o valor do novo x.Agora como chamar essa função?Simples-Formulinha:
função(parametrosdafunção);
Está confuso porque agora veio o ;?É porque a função agora é vista como um comando,ou seja,quando você estiver executando o programa,quando encontrar essa chamada a função,ele pula para o código da função e substitui os valores.Então se eu quiser usar a minha função é só usar:
soma('a','b');
Porque as aspas?Porque sem aspas as letras a e b seriam interpretadas como variáveis.E como eu disse nas outras lições,todo caracteres é um numero,então mostraria a soma dos números das letras.E se eu quisesse o caractere da soma das letras?É só mudar o %d do printf da função por %c que mostraria o caractere.Entendeu?E as variáveis globais são as variáveis que são feitas fora de todos os {},que o código inteiro reconhece,e elas tomam muito espaço então é bom não abusa delas ^^.
A e os {} pode ser aninhados dessa forma
{
{ //codigo
{//outro codigo
}
}
}

Já ia esquecendo de falar,você pode colocar comentários como /* isso é um comentário*/ que o compilador ignora ou //isso é um comentário
o segundo tipo usa a linha toda e o primeiro usa tudo até o */.
Sobre os blocos a acima,o primeiro { tem o 2º{ e o 3º{,o 2º{ tem o 3°{.Logo um pertence ao outro,então uma variável no 1º pode ser usada no 2° e no 3°,uma no 2° pode ser usada no 3° e uma no terceiro só pode ser usada no 3°...
E assim terminamos mais uma aula que ficou meio grande para ter 5 minutos....até a próxima lição...que provavelmente irei falar sobre as bibliotecas...

Programando em 5 minutos:3# Aula - Um pouco de C/C#




Bem,você aprendeu nas outras aulas a "linguagem" de programação do "shell do Windows".Hoje iremos ver a linguagem na qual o Windows foi criado,ou melhor, parte dele.
A linguagem de nome C,foi umas das mais "consagradas" linguagens,porém como tudo um dia,ela ficou obsoleta.C tem duas linguagens derivadas: C#(C Sharp) e C++(ou C Plus Plus,em inglês).C++ não é nada mais que uma actualização de C juntando a Programação Orientada a Objectos(ou POO,para lembrar da sigla é só pensar "Programa de Oxigénio Obsoleto"),e sobre C# não posso te falar nada,ainda(paciência,jovem gafanhoto).
Assim como todas as outras linguas,C tem palavras-chaves.Palavras-chaves são,como por exemplo,quando você digita "help" no prompt,aparece todas as palavras-chave e "help" também é uma palavra-chave.Toda palavra-chave ou comando precisa de uma sintaxe(tá,eu sei que você não sabe o que é uma sintaxe),exemplos:
comando expressão1 expressão2 copy arquivo1 arquivo2 dir /s /p
Porém,em C,todas as palavras chaves e suas sintaxes formam um comando,e todo comando deve ser terminado em ;(ponto-e-virgula) logo ficaria assim:
palavrachave expressaodela expressaodela2;
E também tem as variáveis,que são números ou letras que você desconhece e dá um nome para esse conjunto, por exemplo x,y etc.
Porém,em C, toda variável deve pertencer a um desses tipos:
int - inteiros,ou seja, números que não tem virgula(de -32.767 a 32 767).Ex:1 -2 3 4 etc
char - caracteres,ou seja, todo tipo de letras,e char também pode carregar uma string,que é um conjunto de caracteres.(Obs:toda letra é um numero)(de -127 a 127)Ex:a,asdf,luz,carro,eu,você,etc
float - Um numero com até 6 casas depois da virgula(se não me engano).Ex:1,9872;5,45678;9,999;etc
double - é um float que aguenta mais de 10 casas depois da virgula.Ex:1,99999999;2,123456789;etc.
Declarando as variáveis:caso você queira declarar uma variável(algo que você vai querer muito) é só usar a formula:
tipo varialvél, variavel2, variavel3,(....) varialvéln;
Ex:
char x,y,z; int k; int xks,ksx; float belzebu;
Como você pode notar, as variáveis xks e ksx não são as mesmas.Mas se eu fizesse assim:
char x; int x;
Daria um erro pois o compilador(isso,C é uma linguagem compilada) não saberia qual tipo seria.O correto é:
char x; int X;
Aí,outra coisa:C diferencia maiúsculas de minúsculas.
Bom como a aula tá ficando meio grande,vou deixar para tratar dos tipos modificados na próxima aula.Qualquer duvida é só ler o livro C Completo e Total(ele tem 800 paginas,então acho que vou levar umas 20 aulas de 5 minutos para explicar C,mas não se preocupe,a parte mais complexa de C é pura lógica,tipo depois do 1 vem o 2,seu pai + sua mãe= você,você+prova=problemas,etc)Aqui vai o link para download:
http://www.4shared.com/document/c9Vod7WW/c_completo_e_total_3_ed_-_herb.html
Quando terminar de aprender C,poderá decifrar isso(ou criar):

sábado, 25 de junho de 2011

Programando em 5 minutos:2# Aula - Sua primeira "linguagem" de programação



Lição 2,pequeno gafanhoto,hoje você aprenderá sua primeira "lingugem" de programção!Tá,não é bem um linguagem,mas os falsos-hackers encontram virus escritos nela,então é possivél escrever jogos em "linha de texto" nela.Ok.Nós iremos usar um compilador-interpretador(compilador transforma o codigo da linguagem em codigo de maquinas,os famosos .exe,enquanto o interpretador executa linha por linha),e a linguguem será o "shell do windows"...Vamos lá!
Vá em executar e digite cmd.Vai abrir uma tela preta,ela é o nosso compilador-interpretador(apartir de agora chamaremos ela de prompt do windows)-e digite "help" sem aspas.Vai aparecer todos os comandos que você vai usar para programar em shell do windows.Todos os seus trabalhos nessa lingugem serão 99,999% suor e 0,001% inspiração entendeu?É vai ser dificil,porém em outras lingugens será mais facil.Porem, se você quisesse abrir seu programa de novo teria que digitar tudo denovo.É para isso que serve o bloco de notas: você faz os programas nele e depois salva com o nome "seuprograma.bat" com aspas.Para saber o que estou falando,aí vai um exemplo de programa.
-----------------------------------------------------
cls
@ECHO OFF
title Folder Private
if EXIST "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" goto UNLOCK
if NOT EXIST Private goto MDLOCKER
:CONFIRM
echo Tem certeza de que deseja bloquear a pasta (Y/N)
set/p "cho=>"
if %cho%==Y goto LOCK
if %cho%==y goto LOCK
if %cho%==n goto END
if %cho%==N goto END
echo Invalid choice.
goto CONFIRM
:LOCK
ren Private "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}"
attrib +h +s "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}"
echo Folder locked
goto End
:UNLOCK
echo Digite a senha para desbloquear pasta
set/p "pass=>"
if NOT %pass%== 123 goto FAIL
attrib -h -s "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}"
ren "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" Private
echo Folder Unlocked successfully
goto End
:FAIL
echo Senha Invalida
goto end
:MDLOCKER
md Private
echo Private foi criada com sucesso
goto End
:End
----------------------------------------------------------------------------
É claro que esse é outro nivél de programação.Qualquer duvida digite help no prompt ou entre no site http://www.babooforum.com.br/forum/index.php?/topic/137759-comandos-do-cmd-prompt-de-comando/
A não se esqueça,se receber um arquivo .bat clique com o direito e "abrir com" "bloco de notas",pode ser um virus ou desligar seu PC ....depois aprenderemos a fazer indetectaveis,ok?
Nossa amiga telinha do cmd....ou será inimiga?*risada diabolica*

Programando em 5 minutos:1# Aula - Basico do basico do inicial

Bem se você quer se tornar programador vai precisar de 2 coisas: computador e um cerebro.(suponho que tenha os dois,mas caso falte um faça como eu:copie o mais proximo)
Você também vai precisar pensar muito,pois as grandes ideias surgem enquanto você está no banho,no trabalho,andando,vendo televisão,fazendo se...errr...rragem!Fazendo serragem(você pensou outra coisa...malicioso).
Outra coisa é meditar.Tá eu sei que você não é budista mas não é esse tipo de meditação.Você deve fazer movimentos repetidos enquanto ouve uma musica(pode ser heavy metal :D)enquanto pensa em algo.Geralmente musicas que você não ouviu são as melhores.
Uma outra boa dica é praticar algum estilo de luta.Jogar Go(ou igo,para os japoneses) que é um jogo antigo, ajuda a aumentar a "velocidade" do pensamento.
No mais, você deve fazer o que seus concorrentes fazem,ou seja,se vai programar jogos,jogue bastante,se vai programar BD,veja muitos,se vai fazer um blog,veja muitos,etc.
Também é bom,mas não obrigatorio,saber usar o mouse e o teclado.Caso não saiba aprenderá no decorrer das lições(você pode não perceber,mas ja ensinei metado do que você precisa saber sobre esses aparelhos!)[XD]

Hack,crack,cheat&outros

Bem,todos que jogam jogos conhecem é sabem o que é hacker.Mas será que todos os tem a visão correta de um hacker?
Hacker nada mais é que um programador,ou melhor,uma subclasse dos programadores.Porém há os que fingem ser hacker e os crackers.Geralmente os programadores conhecem sobre os hacker pois estes são seus amigos e inimigos.Não entendeu?Vamos ao esquema.

Paulo é um programador,trabalha na empresa X e fez o curso Y.Mário é um hacker,ou seja, ele sabe tudo sobre um programador, e está tentando invadir a empresa X.Luís trabalha na empresa X e também é um hacker.Então Paulo e Luís são amigos e inimigos de Mário.Entendeu?Tá, até agora está fácil,então vamos complicar >:D

Dentre os hackers há os crackers.Os crackers ajudam a comunidade,ou seja, se você tem aquele joguinho Z no seu PC mas tem que pagar para continuar a jogar,procure no google "Z crack" ou "Z+Crack".Você vai achar um programa criado por um cracker para lhe ajudar a jogar sem pagar.Eles são gente fina ^ ^ ,mesmo que você não os conheça,eles te ajudam.Dentre os hackers há varios tipos,e o mais conhecido é o "Hacker de IP",ou seja,ele é o cara malvado que vai tentar roubar a sua conta.Porém há os hackers que vão te ajudar,como aquele do jogo X que tem jogo infinito e te ajuda a subir de level.Agora vamos falar sobre as ferramentas usadas pelos hackers,uma das pricipais(geralmente para uso pessoal) é o Cheat Engine.É um programinha simples que você pode criar cheters/trainers/hacks para jogos.Porém como tudo na vida,você precisa saber algo para usa-lo,umas das coisas é saber usar o computador(mecher no mause é de grande ajuda XD) e a outra é disponibilizada pelo programador que o fez.Apos baixar você ira encontrar um arquivo na pasta do CE(cheat engine) chamado Tutorial.Está em inglês mas não há nada que o google não resolva!Porém cuidado,esse tipo de programa só é util em certos jogos flash e em aplicativos offline.Qualquer duvida pergunte ao google.Agora veremos um exemplo de jogo que o cheat engine: http://ogame.com.br/
Esse tipo de jogo (MMO) é totalmente no navegador,então significa que ele tem um banco de dados,então é possível que roubem sua conta e também é possível que você cria cheats para ele,que é a coisa mais fácil e mais difícil do mundo.Porque?Simples,por ser online ele deve usar uma linguagem de programação que qualquer um possa alterar a qualquer momento,porém o dificil é você saber quais as linguagem que o jogo usa e decifra-las.Por exemplo o OGame usa javascript,então se você souber você pode criar varios cheats para ele.Porém você deverá burlar o sistema para alcançar o Banco de Dados.Um bom programador e hacker pode fazer isso em 1 semana.Uma vez detro do banco de dados ele se torana o deus do jogo,e poderá fazer qualquer coisa,e quando digo qualquer coisa é qualquer coisa,desde mudar somente uma pagina até transformar o site em pó e depois reconstrui-lo a sua imagem.Porém e se fosse um jogo da Level Up! e semelhantes??Seria mais difícil,pois ele teria que burlar o jogo alterando o aplicativo,descobrir a codificação,testar,invadir o site para depois acessar o banco de dados.Um bom programador(de varias linguas) poderia fazer isso em um ano,porém ele estaria enfrentando vários de seu tipo e isso faria com que suas chances de conseguir caíssem para 5,891%,bem altas para esse caso,mas se ele tivesse mais 5 pessoas iguais a ele?A chances seriam de entorno de 20%.20 programadores teriam a chance de entorno de 50 a 60%.Porém nem todos são programadores,por isso raramente você vê um grupo de programadores.Por isso é mais fácil você crackear um programa a conseguir fazer um hack.Por exemplo, o pessoal da WebCheats está de parabéns pois conseguem hacks para (não todos) jogos.

No mais é isso.O que me motivou a fazer esse post foi os comentários dessa pagina:
http://mundo-vhacker.blogspot.com/2008/06/como-hackear-jogos-e-programas.html


Tags: gfcpgcjncodpqp