<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>iBlogeek</title>
	<atom:link href="http://www.iblogeek.com/feed" rel="self" type="application/rss+xml" />
	<link>http://www.iblogeek.com</link>
	<description></description>
	<lastBuildDate>Thu, 09 May 2013 07:16:21 +0000</lastBuildDate>
	<language>pt-BR</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Conectando ao iPhone e iPod via USB ou SSH

</title>
		<link>http://www.iblogeek.com/2010/05/conectando-ao-iphone-via-usb-ou-ssh.html</link>
		<comments>http://www.iblogeek.com/2010/05/conectando-ao-iphone-via-usb-ou-ssh.html#comments</comments>
		<pubDate>Fri, 28 May 2010 21:11:51 +0000</pubDate>
		<dc:creator>Leo Borges</dc:creator>
				<category><![CDATA[iPod touch]]></category>
		<category><![CDATA[conexão]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Leo]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[transferência]]></category>
		<category><![CDATA[usb]]></category>

		<guid isPermaLink="false">http://www.iblogeek.com/?p=10572</guid>
		<description><![CDATA[Hoje eu ia fazer um tutorial legal para os gamers com iPods e iPhones jaibroken, quando percebi que, antes disso, era necessário falar um pouco sobre a conectividade entre o computador e o iPhone, para que seja possível fazer a transferência de arquivos. Eu poderia resgatar uns tutoriais antigos, mas algumas coisas mudaram (e alguns [...]]]></description>
				<content:encoded><![CDATA[<div id=HOTWordsTxt name=HOTWordsTxt><p>Hoje eu ia fazer um tutorial legal para os gamers com iPods e iPhones jaibroken, quando percebi que, antes disso, era necessário falar um pouco sobre a conectividade entre o computador e o iPhone, para que seja possível fazer a transferência de arquivos. Eu poderia resgatar uns tutoriais antigos, mas algumas coisas mudaram (e alguns programas também!). <strong>Sei que o assunto já foi amplamente discutido em diversos blogs, inclusive aqui no blog, via <a href="http://www.iblogeek.com/2008/01/veja-os-arquivos-e-pastas-do-seu-ipod-touch-via-wifi-sftp.html">SFTP</a></strong><strong> ou <a href="http://www.iblogeek.com/2008/09/tutorial-transfira-apps-via-usb-e-mude-permissoes-pelo-ipodiphone.html">USB</a>, mas estou criando esta referência para linkar nos meus próximos tutoriais, já que boa parte deles vão utilizar o método descrito neste post, já que esses últimos tutoriais possuem mais ou menos 2 anos.<span id="more-10572"></span></strong></p>
<p>Existem duas formas recomendadas para fazer a conexão do computador com o iPhone e ter acesso à partição <em>root</em> do sistema: via USB ou SSH. Falarei rapidamente sobre o método USB, mas o foco mesmo será na conexão via SSH.</p>
<h2><strong>Conectando ao iPhone via USB</strong></h2>
<p>A primeira forma, via USB, normalmente utiliza aplicativos pagos. Alguns aplicativos que fazem isso são: <a href="http://www.digidna.net/products/diskaid">DiskAid</a> (Win/Mac), <a href="http://www.ecamm.com/mac/phoneview/">PhoneView</a> (Mac) ou o freeware <a href="http://code.google.com/p/iphonebrowser/">iPhoneBrowser</a> (Win). Ele aparenta ser bom, mas não tenho como testá-lo por aqui (e nem vou virtualizar um Windows no Mac só para isso).</p>
<div id="attachment_10573" class="wp-caption aligncenter" style="width: 310px"><a rel="attachment wp-att-10573" href="http://www.iblogeek.com/2010/04/conectando-ao-iphone-via-usb-ou-ssh.html/screen-shot-2010-04-28-at-3-30-49-pm"><img class="size-medium wp-image-10573" title="Screen shot 2010-04-28 at 3.30.49 PM" src="http://www.iblogeek.com/wp-content/uploads/2010/04/Screen-shot-2010-04-28-at-3.30.49-PM-300x235.png" alt="" width="300" height="235" /></a><p class="wp-caption-text">Figura 1: DiskAid conectado ao meu iPhone 3G, acessando a pasta /System/Library</p></div>
<div id="attachment_10574" class="wp-caption aligncenter" style="width: 310px"><a rel="attachment wp-att-10574" href="http://www.iblogeek.com/2010/04/conectando-ao-iphone-via-usb-ou-ssh.html/screenshot-1-90"><img class="size-medium wp-image-10574" title="ScreenShot.1.90" src="http://www.iblogeek.com/wp-content/uploads/2010/04/ScreenShot.1.90-300x250.png" alt="" width="300" height="250" /></a><p class="wp-caption-text">Figura 2: iPhoneBrowser para Windows acessando a pasta Ringtones e mostrando as opções de ir para determinada pasta.</p></div>
<p>Se você está utilizando a versão 3.1.2 e fez o jailbreak pelo blackra1n, provavelmente terá um problema a tentar acessar a partição <em>root</em> do seu aparelho. Isso porque Geohot programou o blackra1n de forma que ele não adicionava o serviço afc2.</p>
<div id="attachment_10575" class="wp-caption aligncenter" style="width: 310px"><a rel="attachment wp-att-10575" href="http://www.iblogeek.com/2010/04/conectando-ao-iphone-via-usb-ou-ssh.html/screen-shot-2010-04-28-at-3-56-53-pm"><img class="size-medium wp-image-10575" title="Screen shot 2010-04-28 at 3.56.53 PM" src="http://www.iblogeek.com/wp-content/uploads/2010/04/Screen-shot-2010-04-28-at-3.56.53-PM-300x142.png" alt="" width="300" height="142" /></a><p class="wp-caption-text">Figura 3: Geohot assumindo a causa do problema com os aparelhos sem acesso à partição root via USB.</p></div>
<p>Para contornar o problema, basta abrir o Cydia, instalar o afc2add e reiniciar o aparelho. Agora abra o DiskAid (ou similar) e acesse normalmente a partição <em>root</em>.</p>
<h2><strong>Conectando ao iPhone via wifi</strong></h2>
<p>O segundo método é o acesso via Secure Shell ou, simplesmente, SSH. O SSH é um protocolo de rede que permite a conexão entre computadores, permitindo a execução de comandos em uma unidade remota. Eu vou dividir essa conexão SSH em duas partes: shell e sftp.</p>
<p>A função shell, que não vou aprofundar neste post, me permite acessar o iPhone pelo terminal do Mac OS e enviar comandos remotamente para o iPhone, conforme demonstrado na imagem abaixo.</p>
<div id="attachment_10576" class="wp-caption aligncenter" style="width: 310px"><a rel="attachment wp-att-10576" href="http://www.iblogeek.com/2010/04/conectando-ao-iphone-via-usb-ou-ssh.html/screen-shot-2010-04-28-at-4-17-01-pm"><img class="size-medium wp-image-10576" title="Screen shot 2010-04-28 at 4.17.01 PM" src="http://www.iblogeek.com/wp-content/uploads/2010/04/Screen-shot-2010-04-28-at-4.17.01-PM-300x223.png" alt="" width="300" height="223" /></a><p class="wp-caption-text">Figura 4: Conexão shell ao meu iPhone, executando comandos no aparelho remotamente</p></div>
<p>A função sftp, que é o meu foco nesta postagem, significa SSH File Transfer Protocol (ou Secure File Transfer Protocol). Através desta conexão, podemos transferir arquivos para o iPhone via wifi. O SFTP funciona como uma conexão comum de FTP, porém tem como padrão a porta 22 ao invés da 21.</p>
<p>Para estabelecer uma conexão pelo protocolo sftp, precisamos, em primeiro lugar, fazer com que o iPhone aceite as conexões solicitadas pelo computador. Abra o Cydia, instale o OpenSSH e reinicie o iPhone após o término da instalação.</p>
<div id="attachment_10577" class="wp-caption aligncenter" style="width: 210px"><a rel="attachment wp-att-10577" href="http://www.iblogeek.com/2010/04/conectando-ao-iphone-via-usb-ou-ssh.html/img_0215"><img class="size-medium wp-image-10577" title="IMG_0215" src="http://www.iblogeek.com/wp-content/uploads/2010/04/IMG_0215-200x300.png" alt="" width="200" height="300" /></a><p class="wp-caption-text">Figura 5: OpenSSH, responsável por liberar a conexão via sftp no iPhone e iPod touch</p></div>
<p>No seu computador, baixe um cliente de FTP que tenha suporte ao protocolo SFTP. Eu utilizo o Transmit no Mac, mas existem diversos. Vou recomendar freewares. No Mac tem o Cyberduck (<a href="http://cyberduck.ch">http://cyberduck.ch</a>/) e, no Windows, o WinSCP (<a href="http://winscp.net/eng/index.php">http://winscp.net/eng/index.php</a>). Existem vários, basta procurar no Google por SFTP Client.</p>
<p>Agora que já está com o OpenSSH instalado no seu aparelho e um cliente de FTP com suporte a SFTP no seu computador, vamos estabelecer a conexão.</p>
<p>Primeiro, conecte o seu iPhone na mesma rede do seu computador. Lembrando que não tem problema se o seu computador estiver ligado diretamente ao roteador através do cabo. Só certifique se o iPhone está na rede wifi liberada pelo mesmo roteador sem fio.</p>
<p>Agora entre em Ajustes &#8211; Wi-Fi e clique na setinha azul correspondente à sua conexão. Anote o endereço IP do seu iPhone. Na imagem abaixo o meu IP é o 10.0.1.14, recebido através do Airport Extreme da Apple. Nos roteadores D-Link ou Linksys, a faixa de IP normalmente inicia com 192.168.0.X ou 192.168.1.X.</p>
<div id="attachment_10578" class="wp-caption aligncenter" style="width: 210px"><a rel="attachment wp-att-10578" href="http://www.iblogeek.com/2010/04/conectando-ao-iphone-via-usb-ou-ssh.html/img_0214-copy"><img class="size-medium wp-image-10578" title="IMG_0214 copy" src="http://www.iblogeek.com/wp-content/uploads/2010/04/IMG_0214-copy-200x300.png" alt="" width="200" height="300" /></a><p class="wp-caption-text">Figura 6: Endereço IP do meu iPhone na rede wifi.</p></div>
<p>Abra o cliente de FTP com suporte ao protocolo SFTP e digite o IP do seu iPhone em Server/Servidor. Em User Name/Nome do Usuário, digite root. Na senha, digite alpine. Port/Porta: 22. Protocolo: SFTP. Clique em Connect/Conectar. Na primeira tentativa de conexão, é possível que apareça uma mensagem, perguntando se quer realmente conectar, pode clicar em sim.</p>
<div id="attachment_10579" class="wp-caption aligncenter" style="width: 309px"><a rel="attachment wp-att-10579" href="http://www.iblogeek.com/2010/04/conectando-ao-iphone-via-usb-ou-ssh.html/screen-shot-2010-04-28-at-4-49-58-pm"><img class="size-medium wp-image-10579" title="Screen shot 2010-04-28 at 4.49.58 PM" src="http://www.iblogeek.com/wp-content/uploads/2010/04/Screen-shot-2010-04-28-at-4.49.58-PM-299x216.png" alt="" width="299" height="216" /></a><p class="wp-caption-text">Figura 7: Janela de nova conexão no Transmit</p></div>
<p>Lembro que root e alpine são <em>case sensitive</em>, ou seja, root é diferente de Root, que é diferente de RoOt. Outra coisa: a senha alpine é padrão da Apple. Se quiser alterar a senha padrão, algo recomendado (porém opcional), baixe o Terminal pelo Cydia, abra ele e digite:</p>
<pre style="padding-left: 30px;">su root</pre>
<p>Ele vai pedir a senha. Digite alpine e pressione enter. Por segurança, ao digitar, os caracteres não serão mostrados e o cursor vai piscar na mesma posição. Agora digite:</p>
<pre style="padding-left: 30px;">passwd</pre>
<p>Ele vai pedir a nova senha. Crie a senha, lembrando novamente que ela será <em>case sensitive</em>.</p>
<div id="attachment_10584" class="wp-caption aligncenter" style="width: 210px"><a rel="attachment wp-att-10584" href="http://www.iblogeek.com/2010/04/conectando-ao-iphone-via-usb-ou-ssh.html/img_0216"><img class="size-medium wp-image-10584" title="IMG_0216" src="http://www.iblogeek.com/wp-content/uploads/2010/04/IMG_0216-200x300.png" alt="" width="200" height="300" /></a><p class="wp-caption-text">Figura 8: Alterando a senha do root pelo Terminal</p></div>
<div id="attachment_10580" class="wp-caption aligncenter" style="width: 309px"><a rel="attachment wp-att-10580" href="http://www.iblogeek.com/2010/04/conectando-ao-iphone-via-usb-ou-ssh.html/screen-shot-2010-04-28-at-4-50-19-pm"><img class="size-medium wp-image-10580" title="Screen shot 2010-04-28 at 4.50.19 PM" src="http://www.iblogeek.com/wp-content/uploads/2010/04/Screen-shot-2010-04-28-at-4.50.19-PM-299x216.png" alt="" width="299" height="216" /></a><p class="wp-caption-text">Figura 9: Transmit conectado ao iPhone como root.</p></div>
<p>Pronto! Agora é possível enviar um arquivo do computador para o iPhone ou do iPhone para o computador.</p>
<p>Nos próximos tutoriais vamos utilizar essas conexões para diversos fins. Fiquem ligados!</p>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.iblogeek.com/2010/05/conectando-ao-iphone-via-usb-ou-ssh.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Projeto de notificações push para iPhones/apps jailbroken sem usar os servidores da Apple</title>
		<link>http://www.iblogeek.com/2010/05/projeto-de-notificacoes-push-para-iphonesapps-jailbroken-sem-usar-os-servidores-da-apple.html</link>
		<comments>http://www.iblogeek.com/2010/05/projeto-de-notificacoes-push-para-iphonesapps-jailbroken-sem-usar-os-servidores-da-apple.html#comments</comments>
		<pubDate>Fri, 28 May 2010 01:17:25 +0000</pubDate>
		<dc:creator>ph</dc:creator>
				<category><![CDATA[iBlogeek Dev]]></category>

		<guid isPermaLink="false">http://www.iblogeek.com/2010/04/projeto-de-notificacoes-push-para-iphonesapps-jailbroken-sem-usar-os-servidores-da-apple.html</guid>
		<description><![CDATA[Passei um tempinho desenvolvendo um projeto chamado Jailpush, que tem como objetivo mandar notificações para iPhone sem utilizar os servidores da Apple. Veja a vídeo demonstração: O projeto ainda não está disponível, mas qualquer desenvolvedor de apps Jailbroken poderá usá-lo. Devs, aguardem. Até a próxima!]]></description>
				<content:encoded><![CDATA[<div id=HOTWordsTxt name=HOTWordsTxt><p style="clear: both">Passei um tempinho desenvolvendo um projeto chamado Jailpush, que tem como objetivo mandar notificações para iPhone sem utilizar os servidores da Apple.</p>
<p><span id="more-10570"></span></p>
<p style="clear: both">Veja a vídeo demonstração:</p>
<p style="clear: both"><span style=" display: inline; float: left; margin: 0 10px 10px 0;"><object height="228" width="380"><param name="movie" value="http://www.youtube.com/v/j96Hb2CmgUs&#038;hl=pt_BR&#038;fs=1&#038;" /><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><embed src="http://www.youtube.com/v/j96Hb2CmgUs&#038;hl=pt_BR&#038;fs=1&#038;" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" height="228" width="380"></embed></object></span><br style="clear: both" />O projeto ainda não está disponível, mas qualquer desenvolvedor de apps Jailbroken poderá usá-lo.</p>
<p style="clear: both">Devs, aguardem.</p>
<p style="clear: both">Até a próxima!</p>
<p><br class="final-break" style="clear: both" /></p>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.iblogeek.com/2010/05/projeto-de-notificacoes-push-para-iphonesapps-jailbroken-sem-usar-os-servidores-da-apple.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Port do Android para o iPhone 3G está com lançamento iminente</title>
		<link>http://www.iblogeek.com/2010/05/port-do-android-para-o-iphone-3g-esta-com-lancamento-iminente.html</link>
		<comments>http://www.iblogeek.com/2010/05/port-do-android-para-o-iphone-3g-esta-com-lancamento-iminente.html#comments</comments>
		<pubDate>Thu, 27 May 2010 02:57:32 +0000</pubDate>
		<dc:creator>Leo Borges</dc:creator>
				<category><![CDATA[Destaque]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[idroid]]></category>
		<category><![CDATA[iPhone 3G]]></category>
		<category><![CDATA[Jailbreak]]></category>
		<category><![CDATA[Leo]]></category>
		<category><![CDATA[openiboot]]></category>

		<guid isPermaLink="false">http://www.iblogeek.com/?p=10553</guid>
		<description><![CDATA[O port do Android OS para o iPhone 3G está mais rápido do que eu esperava. Em poucos dias, planetbeing, com a ajuda de outros desenvolveres, conseguiu dar o boot em um BusyBox / Buildroot shell. Como podem ver na imagem abaixo, o wifi já está funcionando normalmente. Além disso, conseguiram se comunicar com o [...]]]></description>
				<content:encoded><![CDATA[<div id=HOTWordsTxt name=HOTWordsTxt><p>O port do Android OS para o iPhone 3G está mais rápido do que eu esperava. Em poucos dias, planetbeing, com a ajuda de outros desenvolveres, conseguiu dar o boot em um BusyBox / Buildroot shell. Como podem ver na imagem abaixo, o wifi já está funcionando normalmente. Além disso, conseguiram se comunicar com o baseband pelo canal de debug.  Isso pode ser suficiente para fazer ligações e etc, mas ainda é preciso entender o funcionamento de algumas coisas, antes de fazer com que ele fique totalmente funcional.</p>
<p><span id="more-10553"></span></p>
<p>No momento planetbeing está vendo se consegue botar um codec para funcionar no openiboot (que não vai dar muito trabalho, pois ele possui um mapa técnico). Precisa portar também o driver multitouch, pois é novo (a Apple fez upgrade do Zephyr para o Zephyr2). Depois disso, vai rolar uma versão funcional do Android para o iPhone 3G.</p>
<div>
<div id="attachment_10554" class="wp-caption aligncenter" style="width: 235px"><a rel="attachment wp-att-10554" href="http://www.iblogeek.com/2010/04/port-do-android-para-o-iphone-3g-esta-com-lancamento-iminente.html/img_0116-jpg"><img class="size-medium wp-image-10554" title="IMG_0116.JPG" src="http://www.iblogeek.com/wp-content/uploads/2010/04/IMG_0116.JPG-225x300.jpg" alt="" width="225" height="300" /></a><p class="wp-caption-text">Figura 1: iPhone 3G rodando no shell com prova do wifi funcionando.</p></div>
</div>
<p>Planetbeing avisa aos beta testers e desenvolveres que implementou as extensões do driver wifi do Android, então as redes sem fio devem funcionar melhor a partir de agora. Ele afirmou saber que existem problemas associadas a redes com proteção WPA e pede para ver se esse update ajuda.</p>
<p>Planetbeing avisa aos beta testers e desenvolveres do iPhone de primeira geração que incrementou as extensões do driver wifi do Android, então as redes sem fio devem funcionar melhor a partir de agora. Ele afirmou saber que existem problemas associadas a redes com proteção WPA e pede para ver se esse update ajuda.</p>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.iblogeek.com/2010/05/port-do-android-para-o-iphone-3g-esta-com-lancamento-iminente.html/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Entenda como o Android para iPhone foi possível [Parte 2 de 2]</title>
		<link>http://www.iblogeek.com/2010/05/entenda-como-o-android-para-iphone-foi-possivel-parte-2-de-2.html</link>
		<comments>http://www.iblogeek.com/2010/05/entenda-como-o-android-para-iphone-foi-possivel-parte-2-de-2.html#comments</comments>
		<pubDate>Wed, 26 May 2010 00:45:50 +0000</pubDate>
		<dc:creator>Leo Borges</dc:creator>
				<category><![CDATA[Destaque]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[artigo]]></category>
		<category><![CDATA[idroid]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[iPod touch]]></category>
		<category><![CDATA[Leo]]></category>
		<category><![CDATA[openiboot]]></category>

		<guid isPermaLink="false">http://www.iblogeek.com/?p=10500</guid>
		<description><![CDATA[Na primeira parte da história, falei sobre o início do projeto Linux on the iPhone, que tem o hacker planetbeing como protagonista. Nos primeiros meses, de Junho a Outubro de 2008, planetbeing, com a ajuda de outros hackers, conseguiu os seguintes feitos: patchear a memória NOR do aparelho, fazer o driver do LCD funcionar, desenvolver [...]]]></description>
				<content:encoded><![CDATA[<div id=HOTWordsTxt name=HOTWordsTxt><p>Na <a href="http://www.iblogeek.com/2010/04/pt-12-entenda-como-o-android-para-iphone-foi-possivel.html">primeira parte da história</a>, falei sobre o início do projeto Linux on the iPhone, que tem o hacker planetbeing como protagonista. Nos primeiros meses, de Junho a Outubro de 2008, planetbeing, com a ajuda de outros hackers, conseguiu os seguintes feitos:</p>
<ul>
<li>patchear a memória NOR do aparelho,</li>
<li>fazer o driver do LCD funcionar,</li>
<li>desenvolver a primeira versão do modo gráfico do openiboot,</li>
<li>iniciar o iPhone em modo <em>command line</em>.</li>
</ul>
<p>Mesmo com esses avanços, ainda estava longe de conseguir uma versão compilada e funcional de um novo sistema operacional.<span id="more-10500"></span></p>
<p>Uma das limitações iniciais de trabalhar com o iPhone utilizando o iBoot no recovery mode era que ele impedia a recarga do aparelho enquanto plugado. Chegava um momento que a bateria simplesmente acabava. Ao reescrever o código do PMU, o openiboot começou a carregar a bateria, ajudando muito o processo. Agora o planetbeing podia ficar o tempo que quisesse ligado ao console do aparelho.</p>
<p>A conduta de programação era direcionar todo o conhecimento de ler e modificar arquivos img3 que ele tinha adquirido trabalhando com o iPhone Dev Team nos jailbreaks para o projeto Linux on the iPhone. O processo era carregar o img3 customizado com o openiboot através do iBoot do iPhone. Nesse processo ele conseguiu rodar o comando install do console e deixar o openiboot em um estágio permanente no bootloader chain. Ele iniciava como demonstrado na figura 1, dando as opções de iniciar no iPhone OS ou iniciar o openiboot no modo command-line. Como o planetbeing mesmo falou, &#8220;(&#8230;) instalar o openiboot não é muito útil, exceto para os hackers querendo hackear o openiboot&#8221;.</p>
<div id="attachment_10476" class="wp-caption aligncenter" style="width: 235px"><a rel="attachment wp-att-10476" href="http://www.iblogeek.com/2010/04/pt-12-entenda-como-o-android-para-iphone-foi-possivel.html/img_0045-jpg"><img class="size-medium wp-image-10476" title="IMG_0045.JPG" src="http://www.iblogeek.com/wp-content/uploads/2010/04/IMG_0045.JPG-225x300.jpg" alt="" width="225" height="300" /></a><p class="wp-caption-text">Figura 1: primeira versão do modo gráfico do openiboot.</p></div>
<p>Depois disso, foi descoberta uma forma de analisar e modificar os bancos da NVRAM (que guardam variáveis do ambiente como &#8220;auto-boot&#8221;, dentre outras). Tudo isso ainda era bastante complicado e um passo errado poderia dar uma merda muito grande, se não tiver uma cópia da memória NOR original, como expliquei no <a href="http://www.iblogeek.com/2010/04/pt-12-entenda-como-o-android-para-iphone-foi-possivel.html">primeiro post</a> sobre o assunto. No início de novembro de 2008, planetbeing e CPICH estavam tentando fazer a memória NAND funcionar. Essa é a memória de armazenamento dos iPhones, com capacidades que hoje variam de 8gb a 32gb. O objetivo era ganhar muito mais espaço para trabalhar nos outros drivers e testar outras rotinas. Eles precisavam conseguir um dump da memória via USB, pois, sem isso, seria impossível ter os dois sistemas rodando simultaneamente na memória NAND. Enquanto isso, um novo menu foi criado pelo poorland e, <a href="http://linuxoniphone.blogspot.com/2008/11/boot-menus-so-far.html">dentre outras alternativas</a>, ele acabou sendo o oficial desde então.</p>
<div id="attachment_10501" class="wp-caption aligncenter" style="width: 197px"><a rel="attachment wp-att-10501" href="http://www.iblogeek.com/2010/04/entenda-como-o-android-para-iphone-foi-possivel-parte-2-de-2.html/52635277xy6"><img class="size-medium wp-image-10501" title="52635277xy6" src="http://www.iblogeek.com/wp-content/uploads/2010/04/52635277xy6-187x300.png" alt="" width="187" height="300" /></a><p class="wp-caption-text">Figura 2: segunda versão do openiboot</p></div>
<p>O próximo passo veio com a ajuda do pumpkin, membro do iPhone Dev Team, que trabalhou pesadamente para derrubar o _FLTRestore, função mais complicada que ele tinha visto até então (iBoot 1.1.4). Pelas palavras do planetbeing, &#8220;pumpkin vai fazer com que a tarefa deixe de ser &#8216;completamente impossível&#8217; para virar &#8216;razoavelmente difícil&#8217;&#8221;. Com isso, planetbeing conseguiu escrever um arquivo chamado FTL_Open, enquanto o CPICH trabalhou no FTL_Read, que usava a estrutura de arquivos populada pelo FTL_Open. O FTL_Read foi responsável por fazer com que os arquivos na memória NAND fossem finalmente lidos. Com isso, o sistema de arquivos do firmware da Apple foi foi finalmente lido pelo pelo openiboot.</p>
<div id="attachment_10502" class="wp-caption aligncenter" style="width: 282px"><a rel="attachment wp-att-10502" href="http://www.iblogeek.com/2010/04/entenda-como-o-android-para-iphone-foi-possivel-parte-2-de-2.html/fs-works"><img class="size-medium wp-image-10502" title="FS works" src="http://www.iblogeek.com/wp-content/uploads/2010/04/FS-works-272x300.png" alt="" width="272" height="300" /></a><p class="wp-caption-text">Figura 3: openiboot listando arquivos da partição do iTunes e depois extraindo o Kernel do iPhone</p></div>
<p>Depois de conseguir o feito no iPhone de primeira geração, ainda no início de novembro de 2008, planetbeing disse que o próximo passo seria portar o openiboot para o iPod touch de primeira geração e o iPhone 3G. Ao finalizar o processo, eles iniciaram o trabalho no kernel do Linux. No final de novembro, planetbeing anunciou que o kernel do Linux 2.6 tinha sido portado para a plataforma do iPhone, suportando as duas versões lançadas até o momento (2G e 3G), além da primeira geração do iPod touch. Apesar de pouca coisa funcionar naquele momento, já era possível afirmar que existia um sistema operacional alternativo funcionando no iPhone. No entando, eles só tinham conseguido o funcionamento do framebuffer driver, o driver serial, o driver serial através do USB e os interruptores, MMU, relógio e etc., mas ainda não tinham suporte à escrita na memória NAND, wifi, touchscreen, som, acelerômetro e suporte ao baseband. Abaixo o primeiro vídeo de demonstração do Linux em funcionamento no iPhone:</p>
<p style="text-align: center;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="280" height="373" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=2373142&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=ffffff&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="280" height="373" src="http://vimeo.com/moogaloop.swf?clip_id=2373142&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=ffffff&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p style="text-align: left;">O projeto seria distribuido da mesma forma que as incontáveis distros de linux eram encontradas na net. Os sistemas operacionais consistem em duas coisas básicas: a primeira é o kernel, que é responsável por gerenciar o hardware. A segunda é o userland, que contém informações como shells e outros UIs, gerenciadores de pacotes, ou seja, o software que vai ajudar os usuários a instalar e rodar os programas. Nesse momento ele tinha algumas opções em mente para o seu userland. Começando pelo Ubuntu, por ser uma distro bem popular e a mesma que o portland rodava em seu computador pessoal. A segunda opção era o Android, mas ele estava meio fora de cogitação por causa dos patches do kernel, que aparentemente eram <a href="http://mjg59.livejournal.com/100221.html">bem bagunçados</a>. A terceira opção foi o Debian. Com o Debian, planetbeing conseguiu compilar programas no próprio iPhone, deixando o iPhone linux <a href="http://pt.wikipedia.org/wiki/Auto-hospedagem"><em>self-hosting</em></a>.</p>
<p style="text-align: left;">Em março de 2009 pH lançou o QuickOIB. Um instalador do openiboot que funcionava no Mac OS e Linux, criando a possibilidade de ir diretamente ao ambiente Linux sem precisar se preocupar com o openiboot, pois tudo era apagado após o reboot do sistema. Um ano depois, em março de 2010, planetbeing volta a público e traz um guia para portar o openiboot para outros aparelhos, através de engenharia reversa, baseado nos passos que ele descreveu. Vou brevemente citar cada um deles, para que se tenha uma idéia dos passos nos quais os hackers estão trabalhando neste momento para o funcionamento do Android nos outros gadgets da Apple:</p>
<ol>
<li>Descobrir como reiniciar o aparelho. No iPhone ele conseguiu através do cmd_reboot no iBoot.</li>
<li>Alterar as constantes em /includes/hardware/S5l8900.h para refletir o layout básico da memória no hardware.</li>
<li>Confirmar se o PeripheralPort em /includes/hardware/S5l900.h está no lugar correto.</li>
<li>Descobrir onde fica a configuração do registro do MIU e qual configuração vai ser feita no MIU para que o SDRAM seja mapeado para 0&#215;0.</li>
<li>Botar um comando reboot numa entrada inicial e mover ele pelo código enquanto debuga, até chegar ao código em C (OpenIBootStart). Esse é o primeiro grande passo.</li>
<li>Portar o clock.h, power.c, timer.c, interrupt.c e o codigo de manuseio do interrupt.</li>
<li>Portar o usb.c.</li>
<li>Portar o driver GPIO, para o funcionamento dos botões.</li>
<li>Portar o driver i2c, necessário para o pmu e LCD, dentre outras coisas.</li>
<li>Portar o driver pmu, necessário para controle do backlight.</li>
<li>Portar o driver SPI, usado pelo driver do LCD e do NOR.</li>
<li>Portar o driver NOR.</li>
<li>Portar o driver do LCD.</li>
<li>Portar o controlador DMA.</li>
<li>Portar o restante.</li>
</ol>
<p>Exatamente um mês depois de fazer o guia para portar o openiboot em outros aparelhos, planetbeing finalmente anunciou a primeira versão funcional do Android para o iPhone 2G, que aconteceu nesta quarta, 21/04/2010.</p>
<p style="text-align: center;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/5yO2KQHkt4A&amp;hl=en_US&amp;fs=1&amp;rel=0" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/5yO2KQHkt4A&amp;hl=en_US&amp;fs=1&amp;rel=0" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Muitas e muitas horas de trabalho foram dedicadas para chegar nesse estágio. Agora as coisas vão acontecer de forma muito mais rápida. Quase ninguém tinha interesse em ajudar o desenvolvimento do iPod linux enquanto não enxergavam uma ferramenta funcional e de uso <em>mainstream</em>. Agora, com o vídeo demonstando o iPhone de primeira geração rodando o Android OS, diversos desenvolvedores ofereceram ajuda para fazer o restante do trabalho. Como várias cabeças pensam melhor do que uma (esperamos que seja assim),  veremos novas versões do iDroid em breve, muito mais estáveis do que a atual, além da iminente chegada do sistema para outros aparelhos, como o iPod touch e iPhone 3G.</p>
<p>Agora que já sabe como o port do Android para o iPhone foi possível, acompanhe no iBlogeek os próximos passos.</p>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.iblogeek.com/2010/05/entenda-como-o-android-para-iphone-foi-possivel-parte-2-de-2.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Cuidado com suposto untethered jailbreak para o 3.1.3</title>
		<link>http://www.iblogeek.com/2010/05/cuidado-com-suposto-untethered-jailbreak-para-o-3-1-3.html</link>
		<comments>http://www.iblogeek.com/2010/05/cuidado-com-suposto-untethered-jailbreak-para-o-3-1-3.html#comments</comments>
		<pubDate>Wed, 26 May 2010 00:26:13 +0000</pubDate>
		<dc:creator>Leo Borges</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[iPod]]></category>
		<category><![CDATA[Jailbreak]]></category>
		<category><![CDATA[Leo]]></category>
		<category><![CDATA[untethered]]></category>

		<guid isPermaLink="false">http://www.iblogeek.com/?p=10521</guid>
		<description><![CDATA[Hoje saiu o thunderst0rm, novo aplicativo que, supostamente, faz o untethered jailbreak na versão 3.1.3 (para saber a diferença entre tethered e untethered jailbreak, leia este post). Não demorou muito tempo para a farsa ser descoberta. Além de não fazer o jailbreak do seu aparelho,  ele pode instalar spywares e coisas do tipo. Alguns rumores [...]]]></description>
				<content:encoded><![CDATA[<div id=HOTWordsTxt name=HOTWordsTxt><p>Hoje saiu o <strong>thunderst0rm</strong>, novo aplicativo que, supostamente, faz o untethered jailbreak na versão 3.1.3 (para saber a diferença entre tethered e untethered jailbreak, <a href="http://www.iblogeek.com/2010/04/novo-na-cena-entenda-os-conceitos-basicos.html">leia este post</a>). Não demorou muito tempo para <a href="http://thebigboss.org/2010/04/25/thunderst0rm-is-fake-avoid">a farsa ser descoberta</a>.<span id="more-10521"></span></p>
<p>Além de não fazer o jailbreak do seu aparelho,  ele pode instalar spywares e coisas do tipo. Alguns rumores dizem que ele deleta vários arquivos do iTunes também. Um outro método, divulgado como <strong>turbosn0w2</strong>, também é fake.</p>
<div id="attachment_10522" class="wp-caption aligncenter" style="width: 310px"><a rel="attachment wp-att-10522" href="http://www.iblogeek.com/2010/04/cuidado-com-suposto-untethered-jailbreak-para-o-3-1-3.html/thunderst0rmiphone3-1-3jailbreak"><img class="size-medium wp-image-10522" title="Thunderst0rmiPhone3.1.3Jailbreak" src="http://www.iblogeek.com/wp-content/uploads/2010/04/Thunderst0rmiPhone3.1.3Jailbreak-300x205.jpg" alt="" width="300" height="205" /></a><p class="wp-caption-text">Figura 1: Engenharia reversa feita no thunderst0rm, que só chama uma caixa de mensagem e não interage em momento algum com o aparelho.</p></div>
<p>Existem atualmente 2 exploits que funcionam no 3.1.3 e 3.2 (iPad). Um será lançado pelo hacker Comex, e se chamará &#8220;Spirit&#8221;. O outro será lançado pelo Geohot e provavelmente será mais um aplicativo da linha &#8220;ra1n&#8221;. Os dois estão trabalhando em conjunto, para que não sejam divulgados os 2 exploits em uma mesma versão do firmware.</p>
<p>Com isso eles pretendem que o jailbreak seja possível nas próximas 2 versões principais do iPhone OS, sem a necessidade de procurar por exploits adicionais.</p>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.iblogeek.com/2010/05/cuidado-com-suposto-untethered-jailbreak-para-o-3-1-3.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Untethered jailbreak disponível para todos os iPads, iPhones e iPods touch</title>
		<link>http://www.iblogeek.com/2010/05/untethered-jailbreak-disponivel-para-todos-os-ipads-iphones-e-ipods-touch.html</link>
		<comments>http://www.iblogeek.com/2010/05/untethered-jailbreak-disponivel-para-todos-os-ipads-iphones-e-ipods-touch.html#comments</comments>
		<pubDate>Mon, 03 May 2010 13:27:05 +0000</pubDate>
		<dc:creator>Leo Borges</dc:creator>
				<category><![CDATA[Destaque]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[iPhone 3GS]]></category>
		<category><![CDATA[iPod touch]]></category>
		<category><![CDATA[Jailbreak]]></category>
		<category><![CDATA[Leo]]></category>
		<category><![CDATA[spirit]]></category>

		<guid isPermaLink="false">http://www.iblogeek.com/?p=10605</guid>
		<description><![CDATA[Comex liberou o Spirit, ferramenta de jailbreak untethered para todos os modelos de iPhones, iPods touch e iPads, nas versões 3.1.2, 3.1.3 e 3.2. Para entender um pouco mais sobre a diferença entre tethered jailbreak e untethered jailbreak, leia o artigo que preparei. Se você estiver utilizando um tethered jailbreak atualmente, como o blackra1n, será [...]]]></description>
				<content:encoded><![CDATA[<div id=HOTWordsTxt name=HOTWordsTxt><p>Comex liberou o Spirit, ferramenta de jailbreak untethered para todos os modelos de iPhones, iPods touch e iPads, nas versões 3.1.2, 3.1.3 e 3.2. Para entender um pouco mais sobre a diferença entre tethered jailbreak e untethered jailbreak, <a href="http://www.iblogeek.com/2010/04/novo-na-cena-entenda-os-conceitos-basicos.html">leia o artigo que preparei</a>.</p>
<p><span id="more-10605"></span></p>
<p>Se você estiver utilizando um tethered jailbreak atualmente, como o blackra1n, será necessário dar um restore no aparelho. Lembro que tenha muito cuidado com esse passo se você precisa do unlock (desbloqueio)! O Spirit é uma ferramenta de JAILBREAK e não de UNLOCK. Então, para manter seu aparelho desbloqueável, utilize uma versão do firmware que funcione com a ferramenta de desbloqueio que você utiliza. <a href="http://www.iblogeek.com/2010/04/novo-na-cena-entenda-os-conceitos-basicos.html">Leia mais sobre isso neste artigo</a>.</p>
<p>O seu aparelho precisa estar ativado, ou seja, não pode estar preso na tela para conectar ao iTunes ou na tela de chamada de emergência. Apesar disso, ele funciona com qualquer versão do iTunes 9, incluindo a última, 9.1.1. Comex pede para syncar o aparelho com o iTunes antes de efetuar o jailbreak.</p>
<p>O jailbreak no iPad ainda está em fase beta. Alguns pacotes do Cydia, que não foi desenvolvido para ter compatibilidade com o iPad, podem estragar o seu sistema e pedir um novo restore, então tenha cuidado. Além disso, a aparência do Cydia ainda não é a final.</p>
<p>O Spirit pode ser baixado gratuitamente no <a href="http://spiritjb.com/">http://spiritjb.com/</a></p>
<p>Existem versões compatíveis com <a href="http://spiritjb.com/mac">MAC</a> e <a href="http://spiritjb.com/win">WINDOWS</a> no site.</p>
<p>Em breve mais informações sobre a ferramenta!</p>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.iblogeek.com/2010/05/untethered-jailbreak-disponivel-para-todos-os-ipads-iphones-e-ipods-touch.html/feed</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>MuscleNerd faz jailbreak em iPad 3G no dia do seu lançamento</title>
		<link>http://www.iblogeek.com/2010/04/musclenerd-faz-jailbreak-em-ipad-3g-no-dia-de-lancamento.html</link>
		<comments>http://www.iblogeek.com/2010/04/musclenerd-faz-jailbreak-em-ipad-3g-no-dia-de-lancamento.html#comments</comments>
		<pubDate>Fri, 30 Apr 2010 21:58:35 +0000</pubDate>
		<dc:creator>Leo Borges</dc:creator>
				<category><![CDATA[Destaque]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[ipad 3g]]></category>
		<category><![CDATA[Jailbreak]]></category>
		<category><![CDATA[Leo]]></category>

		<guid isPermaLink="false">http://www.iblogeek.com/?p=10591</guid>
		<description><![CDATA[Essa foi rápida! A Apple mal anunciou a disponibilidade do iPad 3G nas lojas norte-americanas e o hacker MuscleNerd já postou imagens e vídeos comprovando o feito. O jailbreak nos iPads são feitos no userland, ou seja, no próprio OS, da mesma forma que a gente fazia o jailbreak nos iPods e iPhones na versão [...]]]></description>
				<content:encoded><![CDATA[<div id=HOTWordsTxt name=HOTWordsTxt><p>Essa foi rápida! A Apple mal anunciou a disponibilidade do iPad 3G nas lojas norte-americanas e o hacker MuscleNerd já postou imagens e vídeos comprovando o feito.</p>
<p><span id="more-10591"></span></p>
<p>O jailbreak nos iPads são feitos no userland, ou seja, no próprio OS, da mesma forma que a gente fazia o jailbreak nos iPods e iPhones na versão 1.1.1. O pessoal do iPhone Dev Team estava esperando o lançamento do iPad 3G para fazer o lançamento público do jailbreak, pois, diferente de um exploit a nível do iBoot, um exploit no userland é uma falha de segurança grave e a Apple deverá lançar um update em seguida para corrigir o problema.</p>
<div id="attachment_10598" class="wp-caption aligncenter" style="width: 310px"><a rel="attachment wp-att-10598" href="http://www.iblogeek.com/2010/04/musclenerd-faz-jailbreak-em-ipad-3g-no-dia-de-lancamento.html/attachment/93611191"><img class="size-medium wp-image-10598" title="93611191" src="http://www.iblogeek.com/wp-content/uploads/2010/04/93611191-300x225.png" alt="" width="300" height="225" /></a><p class="wp-caption-text">Figura 1: SpringBoard do iPad 3G com o Cydia e iSSH instalados</p></div>
<div id="attachment_10592" class="wp-caption aligncenter" style="width: 310px"><a rel="attachment wp-att-10592" href="http://www.iblogeek.com/2010/04/musclenerd-faz-jailbreak-em-ipad-3g-no-dia-de-lancamento.html/attachment/93613164"><img class="size-medium wp-image-10592" title="93613164" src="http://www.iblogeek.com/wp-content/uploads/2010/04/93613164-300x225.png" alt="" width="300" height="225" /></a><p class="wp-caption-text">Figura 2: MuscleNerd logado como root no iPad 3G</p></div>
<p>Enquanto isso, não atualizem seus iTunes para a versão 9.1.1 por enquanto. E nem atualizem o firmware dos seus iPads, caso seja lançado algum update até o lançamento do jailbreak. Confira o vídeo do iPad 3G jailbroken de MuscleNerd:</p>
<div style="text-align: center;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/nFmy1rolqpw&amp;hl=en_US&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="385" src="http://www.youtube.com/v/nFmy1rolqpw&amp;hl=en_US&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></div>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.iblogeek.com/2010/04/musclenerd-faz-jailbreak-em-ipad-3g-no-dia-de-lancamento.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>[Atualizado] Desenvolvedores trabalham no port do iDroid em outros aparelhos</title>
		<link>http://www.iblogeek.com/2010/04/devs-trabalham-para-portar-o-idroid-a-outros-modelos-de-ipod-e-iphone.html</link>
		<comments>http://www.iblogeek.com/2010/04/devs-trabalham-para-portar-o-idroid-a-outros-modelos-de-ipod-e-iphone.html#comments</comments>
		<pubDate>Sun, 25 Apr 2010 02:57:59 +0000</pubDate>
		<dc:creator>Leo Borges</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Destaque]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[iPhone 2G]]></category>
		<category><![CDATA[iPod touch]]></category>
		<category><![CDATA[Jailbreak]]></category>

		<guid isPermaLink="false">http://www.iblogeek.com/?p=10451</guid>
		<description><![CDATA[Poucos dias depois da notícia que o Android OS foi portado para o iPhone de primeira geração, o hacker planetbeing trouxe mais informações sobre o andamento do projeto: O lançamento da primeira versão do Android OS para o iPhone despertou o interesse em diversos desenvolvedores, que entraram em contato com o planetbeing desde o anúncio [...]]]></description>
				<content:encoded><![CDATA[<div id=HOTWordsTxt name=HOTWordsTxt><p>Poucos dias depois da notícia que o <a href="http://www.iblogeek.com/2010/04/android-e-portado-para-o-iphone.html">Android OS foi portado para o iPhone de primeira geração</a>, o hacker planetbeing trouxe mais informações sobre o andamento do projeto:</p>
<p>O lançamento da primeira versão do Android OS para o iPhone despertou o interesse em diversos desenvolvedores, que entraram em contato com o planetbeing desde o anúncio do iDroid 0.1 e já estão ajudando no desenvolvimento dos ports.<span id="more-10451"></span></p>
<p>Ele afirmou que existem desenvolvedores trabalhando nos seguintes aparelhos:</p>
<ul>
<li>iPhone 3G</li>
<li>iPod touch 1G</li>
<li>iPod touch 2G</li>
</ul>
<p>Para coordenar os esforços, foram criados alguns repos no GitHub. Para clonar o Android tree usando o repo tool do Google:</p>
<pre style="padding-left: 30px;">repo init -u git://github.com/planetbeing/platform_manifest.git -b 
android-sdk-1.6_r2-iphone</pre>
<p>Esse comando sincroniza com os repos principais do kernel.org para Android, que tenha qualquer mudança no código do planetbeing.</p>
<pre style="padding-left: 30px;">git://github.com/planetbeing/kernel_common.git branch android-2.6.32-iphone</pre>
<p>Kernel tree.</p>
<pre style="padding-left: 30px;">git://github.com/planetbeing/iphonelinux.git</pre>
<p>O openiboot/bootloader. Os novos hardwares suportados serão colocados aqui para depois serem portados ao kernel do Linux.</p>
<div><span style="color: #333233;">O iDroid 0.1a para iPhone de primeira geração pode ser baixado <a href="http://graphite.sandslott.org:4080/pub/idroid/idroid-release-0.1a.tar.bz">neste link</a>.</span></div>
<div><span style="color: #333233;"><br />
</span></div>
<div><strong>[Atualização]</strong> <span style="color: #333233;">Planetbeing <a href="http://twitter.com/planetbeing/status/12788555162">afirmou hoje</a> que o iPhone 3GS, iPad e iPod touch de segunda geração não serão ports triviais, que precisarão de estudos complementares e nenhuma estimativa pode ser dada para o lançamento.</span></div>
<div><span style="color: #333233;"><br />
</span></div>
<div><span style="color: #333233;">Para entender como foi possível botar o iPhone para rodar o Android OS e as dificuldades para portar o sistema em outros aparelhos, <a href="http://www.iblogeek.com/2010/04/pt-12-entenda-como-o-android-para-iphone-foi-possivel.html">leia o artigo</a> em duas partes que estou fazendo sobre o assunto. </span></div>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.iblogeek.com/2010/04/devs-trabalham-para-portar-o-idroid-a-outros-modelos-de-ipod-e-iphone.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Entenda como o Android para iPhone foi possível [Parte 1 de 2]</title>
		<link>http://www.iblogeek.com/2010/04/pt-12-entenda-como-o-android-para-iphone-foi-possivel.html</link>
		<comments>http://www.iblogeek.com/2010/04/pt-12-entenda-como-o-android-para-iphone-foi-possivel.html#comments</comments>
		<pubDate>Sat, 24 Apr 2010 21:48:53 +0000</pubDate>
		<dc:creator>Leo Borges</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Destaque]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[artigo]]></category>
		<category><![CDATA[idroid]]></category>
		<category><![CDATA[iPod touch]]></category>
		<category><![CDATA[Leo]]></category>
		<category><![CDATA[openiboot]]></category>

		<guid isPermaLink="false">http://www.iblogeek.com/?p=10474</guid>
		<description><![CDATA[Em Junho de 2008, foi anunciado oficialmente o início do projeto Linux on the iPhone, que contava com o planetbeing, hacker membro do iPhone Dev Team. O objetivo era portar o Linux para o iPhone OS, algo que já tinha sido feito em outros hardwares, como o iPod nano de primeira geração e os iPods [...]]]></description>
				<content:encoded><![CDATA[<div id=HOTWordsTxt name=HOTWordsTxt><p>Em Junho de 2008, foi anunciado oficialmente o início do projeto Linux on the iPhone, que contava com o planetbeing, hacker membro do iPhone Dev Team. O objetivo era portar o Linux para o iPhone OS, algo que já tinha sido feito em outros hardwares, como o iPod nano de primeira geração e os iPods clássicos, até a quinta geração, também conhecido como iPod video.<span id="more-10474"></span></p>
<p>Um mês depois planetbeing tinha feito alguns avanços com o openiboot. Até esse momento, ele tinha escrito um simples chainloader, que só inicializava os dispositivos e depois carregava o iBoot encontrado na memória NOR do aparelho.</p>
<p>Para quem não sabe o que significa a memória NOR:</p>
<blockquote><p><span style="font-weight: normal;">NOR é um chip que existe dentro dos iPods touch/iPhones que tem duas funções primárias: carregar as informações do aparelho (estado da bateria, firmware, bootloader, kernel, &#8230;) durante o Boot do mesmo. Os aplicativos (apps) quando são abertos, são processados pelo NOR, antes de serem processados pelo processador interno. A outra função é de trabalhar em conjunto com a Baseband, para flashear partes do sistema, como o Bootloader<br />
Fonte: pH &#8211; iBlogeek Wiki</span></p></blockquote>
<p>Os testes intensivos na memória fizeram com que planetbeing tentasse adicionar muitas imagens ao NOR, fazendo com que, acidentalmente, ele acabasse adicionando informações na área reservada do NVRAM, que aparece logo após o espaço reservado ao NOR. Nessa brincadeira ele apagou o SysCfg, IMG2 e parte do LLB. Nas palavras dele: “o equivalente a atirar em todos os seus orgãos vitais simultaneamente”.</p>
<p>Para sorte dele, ao iniciar os testes na memória NOR ele fez uma cópia da original, então conseguiu restaurar as informações contidas no SysCfg. Esse arquivo guarda informações essenciais, como o número serial do aparelho e outras informações únicas a respeito dele.</p>
<p>Em outubro de 2008, ele já estava debugando as comunicações feitas pela porta USB, mas teve alguns problemas com a conexão USB 2.0, então conseguiu um cabo que fazia com que fosse possível a comunicação via USB e serial ao mesmo tempo, o que ajudou muito na remoção dos bugs.</p>
<p>Nesse mês ele colocou o complicado driver do LCD para funcionar. Além disso, foi a primeira vez que conseguiu dar um boot com o openiboot e iniciar o projeto de criação do boot menu com imagens.</p>
<p style="text-align: center;">
<div id="attachment_10477" class="wp-caption aligncenter" style="width: 310px"><a rel="attachment wp-att-10477" href="http://www.iblogeek.com/2010/04/pt-12-entenda-como-o-android-para-iphone-foi-possivel.html/screenshot"><img class="size-medium wp-image-10477" title="Screenshot" src="http://www.iblogeek.com/wp-content/uploads/2010/04/Screenshot-300x244.png" alt="" width="300" height="244" /></a><p class="wp-caption-text">Figura 1: Um dos primeiros boots com o openiboot.</p></div>
<p style="text-align: center;">
<div id="attachment_10475" class="wp-caption aligncenter" style="width: 235px"><a rel="attachment wp-att-10475" href="http://www.iblogeek.com/2010/04/pt-12-entenda-como-o-android-para-iphone-foi-possivel.html/img_0042-jpg"><img class="size-medium wp-image-10475" title="IMG_0042.JPG" src="http://www.iblogeek.com/wp-content/uploads/2010/04/IMG_0042.JPG-225x300.jpg" alt="" width="225" height="300" /></a><p class="wp-caption-text">Figura 2: openiboot com o driver do LCD em funcionamento.</p></div>
<p style="text-align: center;">
<div id="attachment_10476" class="wp-caption aligncenter" style="width: 235px"><a rel="attachment wp-att-10476" href="http://www.iblogeek.com/2010/04/pt-12-entenda-como-o-android-para-iphone-foi-possivel.html/img_0045-jpg"><img class="size-medium wp-image-10476" title="IMG_0045.JPG" src="http://www.iblogeek.com/wp-content/uploads/2010/04/IMG_0045.JPG-225x300.jpg" alt="" width="225" height="300" /></a><p class="wp-caption-text">Figura 3: primeira versão do modo gráfico do openiboot.</p></div>
<p>O menu de boot encontrado na figura 3 funcionava da seguinte forma: o botão sleep funcionava para alternar entre o iPhone OS e o console do openiboot, que dava acesso a interface via command-line, como na figura 2. O botão home fazia a seleção do sistema.</p>
<p>Foi ainda em outubro de 2008 que encontramos a primeira referência a um possível port do Android, feita em uma postagem do planetbeing: “(&#8230;) yes, I&#8217;m aware of Android and their source release and yes, I know what you&#8217;re thinking”. Ainda na postagem, ele responde a uma pessoa que pergunta se “ele tentou fazer o que estamos pensando” que “rodar o android no iPhone não é algo que você simplesmente ‘sai tentando’ por um fim de semana”.</p>
<p>Ao receber muitas perguntas de pessoas que demonstravam não entender do que se tratava portar um sistema operacional para um dispositivo, planetbeing desabafou em uma postagem: “as pessoas acham que é só escrever, tipo, um menu de boot, para poder enfiar o Android, Windows ou qualquer coisa dentro de um aparelho, só porque temos um menu de opções para eles”.</p>
<p>Justificando o fato, ele explicou que para um sistema operacional rodar em um dispositivo, o código deve ter sido desenvolvido para o processador correto (x86, ARM, PPC). Além disso, deve interagir com o hardware de forma esperada e desejada.</p>
<p>Naquela época existiam versões do Linux compiladas em ARM (que o iPhone usava), existiam até versões do Windows Mobile que eram compiladas em ARM. Mas não adiantava nada ter os sistemas compilados se o código não consegue interagir com o hardware, pois não era uma interação simples, como botar o driver wifi para funcionar, mas uma interação low-level, de forma que impossibilitava a inicialização do sistema porque não era possível descomprimí-lo na memória RAM de forma adequada.</p>
<p>No <a href="http://www.iblogeek.com/2010/04/pt-12-entenda-como-o-android-para-iphone-foi-possivel.html">próximo post</a>, continuo a história que trouxe o Android para o Linux, falando sobre os passos seguintes que tornaram o fato possível.</p>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.iblogeek.com/2010/04/pt-12-entenda-como-o-android-para-iphone-foi-possivel.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Vírus no iPhone por SSH: relatos de um usuário/remoção da praga</title>
		<link>http://www.iblogeek.com/2010/04/virus-no-iphone-por-ssh-relatos-de-um-usuarioremocao-da-praga.html</link>
		<comments>http://www.iblogeek.com/2010/04/virus-no-iphone-por-ssh-relatos-de-um-usuarioremocao-da-praga.html#comments</comments>
		<pubDate>Sat, 24 Apr 2010 15:42:46 +0000</pubDate>
		<dc:creator>ph</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://www.iblogeek.com/2010/04/virus-no-iphone-por-ssh-relatos-de-um-usuarioremocao-da-praga.html</guid>
		<description><![CDATA[Há umas duas semanas, meu iPhone estava normal. Nada indicava que um vírus estava infectando o aparelho. Só descobri isso uns 2, 3 dias depois, quando tentei acessar o aparelho por SSH. O aparelho dava esse erro: ssh_exchange_identification: connection closed by remote host Remote host deixava claro que o problema estava no meu iPhone, e [...]]]></description>
				<content:encoded><![CDATA[<div id=HOTWordsTxt name=HOTWordsTxt><p style="clear: both;">Há umas duas semanas, meu iPhone estava normal. Nada indicava que um vírus estava infectando o aparelho. Só descobri isso uns 2, 3 dias depois, quando tentei acessar o aparelho por SSH.</p>
<p>O aparelho dava esse erro:</p>
<blockquote style="clear: both;"><p>ssh_exchange_identification: connection closed by remote host</p></blockquote>
<p style="clear: both;">Remote host deixava claro que o problema estava no meu iPhone, e não no meu Mac. <span id="more-10462"></span>O problema foi que antes de tentar mexer no iPhone, eu apaguei todos os certificados RSA/DSA que eu tinha no meu usuário e o iPhone continuava sem conectar. Só depois me dei conta disso.</p>
<p style="clear: both;">Um ponto importante é que nessa altura da história, eu não sabia que o que não deixava conectar via SSH no meu aparelho era um vírus. Eu achava que era algum arquivo faltando ou algo assim. De fato, era. O vírus apagava o arquivo <em>/etc/ssh/sshd_config</em>, que contém todas as configurações do SSH, mesmo se você fizesse o upload dele novamente, com uma versão <em>Out of Box</em>, o vírus sempre iria apagar o arquivo, independentemente do que você fizesse.</p>
<p style="clear: both;">A única solução era remover o vírus. Deixei o syslog rodando no aparelho para monitorar a atividade do sistema. O que eu encontrei foram váááários arquivos rodando que eu não conhecia. Apaguei-os, reinstalei o SSH e consegui conectar.</p>
<p style="clear: both;">Como fui um dos poucos usuários que sofreu esse tipo de ataque ao seu aparelho, resolvi fazer uma solução para remover esse vírus, um script em Bash. Se você estiver na mesma situação que eu estive, basta baixar o MobileTerminal e o wget, no Cydia, abrir o MobileTerminal e digitar isso:</p>
<blockquote style="clear: both;"><p>wget &#8220;http://www.iBlogeek.com/downloads/iphone_virus_remover.sh &amp;&amp; chmod 755 iphone_virus_remover.sh &amp;&amp; ./iphone_virus_remover.sh&#8221;</p></blockquote>
<p style="clear: both;">O script vai rodar, procurar por vírus e removê-los.</p>
<p style="clear: both;">O estranho dessa história é que a minha senha root NÃO é alpine, porque assim que eu conecto via SSH pela primeira vez, o meu Mac automaticamente muda a senha se ela for alpine pra uma senha que eu determinei.</p>
<p style="clear: both;">Será esse então o fim do tempo em que o SSH era a forma mais segura de se conectar a um servidor?</p>
<p style="clear: both;">Até a próxima!</p>
<p><br class="final-break" style="clear: both;" /></p>
</div>]]></content:encoded>
			<wfw:commentRss>http://www.iblogeek.com/2010/04/virus-no-iphone-por-ssh-relatos-de-um-usuarioremocao-da-praga.html/feed</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using disk: enhanced
Database Caching 9/30 queries in 0.041 seconds using disk: basic
Object Caching 1105/1153 objects using disk: basic

 Served from: www.iblogeek.com @ 2013-05-22 01:16:00 by W3 Total Cache -->