quinta-feira, 29 de outubro de 2009

Liberando o seu HTC Magic.

Olá a todos, venho aqui neste tutorial, explicar como "hackear" o seu aparelho HTC Magic 32A/32B Handsets.

Ai vem a pergunta: Pra que preciso "hackear" meu aparelho?

Resposta: Com o teu aparelho "hackeado" você pode fazer muitas coisas, como por exemplo: instalar aplicativos no sdcard, fazer com que teu aparelho vire um roteador wireless, instalar novas ROM´s (que pra mim é a melhor parte), fazer backkups completos do sistema, entre outras funções.

Vamos ao que interessa. Tudo que vamos precisar é de um recovery image, pois o que vem no aparelho é protegido contra escrita.

O primeiro passo é saber qual o tipo de aparelho que você tem, pois tanto o Magic 32A quanto o 32B tem o mesmo visual, porém o hardware é diferente, o que exige softwares diferentes. Para isso, desligue o seu aparelho. Ligue-o de volta segurando sempre a tecla back + power, irá aparecer uma tela como essa abaixo:

SAPPHIRE PVT 32A SHIP S-ON H
HBOOT-1.33.0009 (SAPP10000)
CPLD-12
RADIO-3.22.20.17
May 8 2009,21:02:32

A tela acima indica que o seu aparelho é um HTC Magic 32A.

Então, vamos ao processo de rooting do aparelho para flashearmos a nossa nova ROM, que tem uma interface com SenseUI, que ao meu ver, é show de bola.

OBS: ANTES DE PROSSEGUIR, TENHA CERTEZA DE QUE A BATERIA DO SEU APARELHO ESTEJA TOTALMENTE CARREGADA. SE ALGO INTERFERIR NO PROCESSO, VOCÊ PODE PERDER O APARELHO.

NÃO SOU RESPONSÁVEL POR QUALQUER DANO OU PERDA DO SEU APARELHO. FAÇA POR SUA PRÓPRIA CONTA E RISCO.


1º PASSO:

BAIXANDO O SDK-DEVELOPER

Primeiro baixe esse software:

http://developer.android.com/sdk/1.6_r1/index.html

Trata-se de uma ferramenta de desenvolvimento do Android. Vamos precisar dela por causa do driver usb. Esse driver usb é necessário porque vamos criar uma interface adb (android device bridge), obrigatóriamente indispensável para o nosso processo.

2º PASSO:

HABILITAR O USB-DEBUG DO APARELHO

Habilite o usb-debug do seu aparelho em: settings->applications->development->"USB Debugging"

3º PASSO:

INSTALAR OS DRIVERS DA USB/ADB

Com o android-sdk-1.6 baixado no seu computador, descompacte-o e jogue diretamente na unidade c:\ do seu computador. Plugue o cabo usb no computador e no seu aparelho HTC Magic. O windows irá solicitar a instalação dos drivers, então aponte o driver de instalação para C:\android-windows-sdk-1.6\usb_driver\i386.

4º PASSO:

ACESSANDO O DIRETÓRIO DO SDK

Com os drivers propriamente instalados, e o aparelho conectado ao seu computador através da usb, abra um prompt de comando e vá até o diretório do android-windows-sdk-1.6/tools, assim:

c:\android-windows-sdk-1.6_r1/tools

Com o diretório setado, vamos verificar se o sdk do android consegue identificar o seu aparelho, para isso faça:

5º PASSO:

TESTANDO SE O ADB RECONHECE O APARELHO

c:\android-windows-sdk-1.6_r1/tools > adb devices enter. Deverá aparecer:
List of devices attached
HT96PKF01091 device

Ou seja, aparecerá o serial do seu aparelho. Se não aparecer nenhuma informação, é porque o adb não reconheceu seu aparelho, talvez o driver de usb que você instalou esteja errado. Caso aconteça isso, não prossiga com o processo de root.

6º PASSO:

BAIXANDO O AMON-RA RECOVERY-IMAGE

Se o serial do seu aparelho aparecer, pode continuar com o processo de rooting.
Faça o download desse recovery-image: http://rapidshare.com/files/252267998/recovery-RAv1.1.1H.img se o seu aparelho for 32A.
Caso seu aparelho seja 32B, faça esse download: http://rapidshare.com/files/252267997/recovery-RAv1.1.1G.img

Bom, com a imagem de recovery baixada, jogue-a no diretório c:\android-windows-sdk-1.6_r1/tools, e vamos prosseguir para o 7º passo.

7º PASSO:

APLICANDO O AMON-RA RECOVERY IMAGE

Dê um boot no teu aparelho no modo de fastboot, ou seja. Desligue o aparelho, mantenha a tecla back pressionada e pressione power. Assim que aparecer a tela do fastboot (aparecerá a mesma tela que explicada acima, onde indica o tipo de aparelho que você tem), solte a tecla back.

No prompt de comando do seu computador (c:\android-windows-sdk-1.6_r1/tools), digte:
fastboot boot recovery-RAv1.1.1H.img (para aparelhos 32A)
Ou
fastboot boot recovery-RAv1.1.1G.img (para aparelhos 32B)

Neste passo, seu telefone vai para uma tela preta com opções em verde. Deixa-a como está e não interrompa o processo.

Agora faça:

adb shell mount -a (ignore os erros que aparecerão).

Agora faça os seguintes comandos:

adb push recovery-RAv1.1.1H.img /system/recovery.img
adb push recovery-RAv1.1.1H.img /sdcard/recovery-RAv1.1.1H.img
adb shell flash_image recovery /sdcard/recovery-RAv1.1.1H.img

E quando estiver terminado, dê um reboot em seu aparelho. Neste ponto, já temos uma nova recovery-image pronta para flashear nossas ROM´s favoritas.

:->

8º PASSO:

FLASHEANDO A NOVA ROM HTC Magic com interface SenseUI.


Baixe essa ROM: http://www.4shared.com/account/file/160416160/d1f3441f/magic_gyd_v21b5_sense.html

Renomeia a ROM para update e jogue-a na raiz do seu sdcard (não jogue em uma pasta, e sim na raíz do sdcard).

Desligue seu aparelho. Ligue-o novamente mantendo a tecla home + power, até aparecer a tela Android system recovery utility.

Seu aparelho deverá estar ligado na usb do computador.

Faça um backup do seu sistema, com os passos abaixo:

c:\android-sdk-windows-1.6_r1> adb shell enter
# mount -a enter (ignore os erros)

Escolha Nandroid v2.1.1 backup. Aguarde até que o aparelho faça o backup dos dados.

Terminando o backup, vamos fazer o processo de WIPE (zerar todos os dados do aparelho). Para isso escolha:
- Wipe data/factory reset (Aguarde até que o processo seja concluído).

Próximo passo, aplicar a nossa ROM. Para isso escolha:

- Apply sdcard: update.zip. (Aguarde até que o processo seja totalmente concluido).

Quando tudo for concluído, selecione - Reboot system now.

Pronto, agora espere uns 30 minutos para que seu novo sistema seja aplicado. Sim, realmente o processo de boot do sistema demora muito na primeira vez. Não interrompa o processo.

Finalmente agora é só alegria e curtição do seu HTC Magic com acesso a root e a ROM do Hero.

Divirta-se.



OBS: ANTES DE PROSSEGUIR, TENHA CERTEZA DE QUE A BATERIA DO SEU APARELHO ESTEJA TOTALMENTE CARREGADA. SE ALGO INTERFERIR NO PROCESSO, VOCÊ PODE PERDER O APARELHO.

NÃO SOU RESPONSÁVEL POR QUALQUER DANO OU PERDA DO SEU APARELHO. FAÇA POR SUA PRÓPRIA CONTA E RISCO.









quarta-feira, 28 de outubro de 2009

Squid - WARNING! Your cache is running out of filedescriptors

Ultimamente estava com alguns problemas no proxy, quando resolvi dar uma olhada no arquivo cache.log para saber o que estava acontecendo. Percebi que o mesmo estava dando o seguinte erro:

WARNING! Your cache is running out of filedescriptors


Este erro parava totalmente a navegação na rede. Googleando, descobri que o squid estava rodando no limite de arquivos abertos na rede (como somos provedores de serviços), e acontecia um over flow no serviço do proxy.

A Solução:

Para resolver o caso, é preciso aumentar a capacidade dos descritores de arquivos, e existem duas formas de se fazer.

1 - Recompilando o kernel e setando os seguintes valores:

Setar "ulimit -HSn 16384", em /usr/src/linux/include/linux/posix_types.h
e definir:
#define __FD_SETSIZE 16384
e em /usr/src/linux/include/linux/fs.h
e definir:
#define INR_OPEN 16384

Em seguida, salve e recompile o kernel.

2 - Setando no shell uma variável com um tamanho de descritores de arquivos
maiores que o padrão (1024), com o comando:

ulimit -HSn 16384

Com esta segunda opção, se o servidor reiniciar e você não estiver presente
o erro acontecerá novamente, pois o valor padrão voltará.

Logo, o 1º passo é altamente recomendável.

Bom, até hoje não deu problemas, e escolhi a 1º opção.

Abraços e até a próxima.

Fábio Campos Coelho
LPI & CCNA




Endereçamento IP.

Endereçamento IP:

O endereço IP é um identificador numérico designado a cada dispositivo conectado a uma rede IP, determinando um local para o dispositivo na rede.

O endereço IP é um endereço lógico (software) e não físico (hardware). O endereçamento IP foi criado para permitir que um dispositivo em uma rede possa se comunicar com um dispositivo em outra, independentemente dos tipos de LANs envolvidos (ethernet, Token-Ring, etc).

Para dominar os esquemas de endereçamento IP e de suas sub-redes, é muito importante que se dominem técnicas de coversão binária para decimal, assim como potências de base 2.

Terminologia IP:

Bit: Um dígito - 1 ou 0
Byte: Uma sequência de 7 ou 8 bits, dependendo da paridade utilizada. O normal é uma sequência de 8 bits.
Octeto: Sempre 8 bits.
Endereço de Broadcast: Endereço usado por aplicações e dispositivos para o envio de mensagens a todos os dispositivos em uma rede, simultaneamente (1-to-all). Exemplo de Broadcast: Um sistema aberto de TV, onde todos conseguem captar o sinal da mesma, pois o sinal é enviado de um ponto (antena transmissora), para todas as TV´s em uma região.
Endereço de Multicast: Endereço usado por apenas uma máquina para alcançar um grupo definido de máquinas (1-to-many). Exemplo: Sistema fechado de TV (TV por Assinatura). Apenas um grupo específico de usuários (os assinantes) recebem o seu sinal.
Endereço de Unicast: Comunicação de uma máquina para apenas outra máquina (1-to-1). Exemplo: Pay-per-View, pois somente o assinante que solicitou o programa (e pagou por ele), o receberá.

Técnicas de Endereçamento IP:

Números binários utilizam 8 bits para definir um número decimal. Esses bits tem seus valores considerados da diretia para a esquerda, através de um fator que dobra seu valor. Isso ocorre pelo fato de eles serem determinados através de potências de base 2. Eis o porque do nome ser sistema binário.

Exemplo: O número binário 00100110 é a representação de 0x2⁷ + 0x2⁶ + 1x2⁵ + 0x2⁴ + 0x2³ + 1x2² + 1x2¹ + 0x2⁰ = 0+0+32+0+0+4+2+0=38.

Vejamos tabela abaixo correspondente ao exemplo acima:

2 ⁷

2⁶

2⁵

2⁴

2⁰

128

64

32

16

8

4

2

1


0

0

1

0

0

1

1

0

0 x 128 = 0

0 x 64 = 0

1 x 32 = 32

0 x 16 = 0

0 x 8 = 0

1 x 4 = 4

1 x 2 = 2

0 x 1 = 0


00100110 = 32 + 4 + 2 = 38

Para que você entenda bem sobre o processo de conversão binário-decimal, está na tabela acima, logo memorize-a.

2 ⁷

2⁶

2⁵

2⁴

2⁰

128

64

32

16

8

4

2

1


Um Endereço de IPv4 consiste em 32 bits de informação (32 digitos binários - "0 e 1"). Esses bits são divididos em quatro quadrantes, chamados de octetos ou bytes, cada um contendo 8 bits.

O endereço de 32 bits é estruturado de forma hierárquica, em oposição a uma forma plana, ou não-hierárquica. Embora ambos os esquemas pudessem ser adotados, o esquema hierárquico foi escolhido por uma razão: melhor performance no roteamento. Embora o esquema "plano" nos disponibilize um intervalo bem maior de endereços possíveis (2³² = 4,3 bilhões), se cada endereço fosse único, todos os roteadores na Internet teriam que armazenar o endereço de cada um dos dispositivos conectados a ela. Isso tornaria impossível um processo de roteamento eficaz, mesmo que apenas uma fração dos endereços viesse a ser, efetivamente, utilizada.

A solução para esse problema foi a adoção de um esquema de endereçamento de três níveis (hierarquia), divididos em: REDE.SUBNET.HOST. Esse esquema de endereçamento pode ser comparado a um esquema de endereçamento telefônico tradicional: a primeira parte (REDE) identifica uma grande área, segunda (SUBNET) já é mais específica e define a área de chamada, e, finalmente, a ultima parte - o sufixo - (HOST) identifica o número do cliente na rede.

O endereço de rede (network address) identifica cada rede distintamente. Toda e qualquer máquina em uma rede divide o mesmo endereço de rede como parte de seu endereço IP. No endereço IP 172.16.30.56, por exemplo, a parte 172.16 identifica a rede, sendo portante o o seu endereço, o endereço do nó (node address) 30.56, identifica individualmente cada dispositivo conectado na rede, em oposição ao endereço de rede, que identifica em grupo.

Os projetistas da Internet, decidiram por criar classes de redes baseadas no tamanho delas. Para um pequeno número de dispositivos conectados foi criada a classe A de redes (class A networks). No outro extremo, temos a classe C, que possui um grande número de redes e um pequeno número de dispositivos conectados a cada uma. A classe B, seria um meio termo entre a classe A e a classe C.

8bits

8bits

8bits

8bits

Intervalo

Exemplo

Classe A

NET

HOST

HOST

HOST

0-127

1.2.3.4

Classe B

NET

NET

HOST

HOST

128-191

130.10.100.45

Classe C

NET

NET

NET

HOST

192-223

192.168.1.2


A subdivisão de um endereço IP nas porções de rede e nó é determinada pela classe em que se encontra tal endereço. A tablea acima, identifica apenas as 3 classes mais usadas.

Bom, vamos ficando aqui por enquanto, pois o tempo é curto. Na próxima postagem ensinarei como determinar os Intervalos de Redes.

Abraços.