Depois
de um ano Explorando e Aprendendo muuuuito, várias vezes recorremos
aqui ao software Resource Hacker, um editor de recursos freeware. Fiz
então este novo tutorial, muito mais didático e abrangente. Uso nos
exemplos o Resource Hacker em português, numa tradução feita por mim. O
programa foi descontinuado pelo autor, não vejo nada demais em soltar a
versão em português. Me ofereci para distribuir uma tradução oficial e
simplesmente não obtive resposta. Não publico ela por respeito a ele e
para evitar encrencas.
TUTORIAL DO RESOURCE HACKER
por Marcos Elias
O que é o Resource Hacker?
É um editor de recursos de
programas no formato win32/pe. Vamos entender rapidamente o que são
esses "recursos". Os programas para Windows mantém uma estrutura interna
com determinadas características comuns na plataforma Windows. Entre
essas características está a possibilidade de armazenamento de arquivos e
informações dentro de programas executáveis ou bibliotecas (DLLs). O
conteúdo armazenado de uma forma especial é chamado de "recurso",
"resource", em inglês. Isso tem muitas vantagens, pois traz meio fácil
de alterar esses recursos depois. Produtores de software, por exemplo,
podem armazenar os textos do programa como um recurso, e então facilitar
a tradução do mesmo, sem precisar recompilar o programa. Além disso,
outros programas podem exibir recursos de um executável ou DLL, desde
que saibam o nome do mesmo. Exemplos de recursos possíveis? Textos,
imagens, ícones, telas de programas, enfim, qualquer tipo de arquivo. O
Resource Hacker é um software que abre um arquivo que contenha recursos,
e permite visualizar, salvar, renomear, adicionar ou excluir
determinados recursos, ou ainda editá-los.
O que dá para fazer com o Resource Hacker?
Editar
recursos! Um exemplo: dá para trocar o texto do botão "Iniciar" do
Windows, pois esse texto fica num recurso de texto dentro do arquivo
"explorer.exe", na pasta do Windows. Basta abrir o explorer.exe no
Resource Hacker, localizar o ponto que contém o texto "Iniciar", trocar
pelo que você quiser e salvar. E mais: dá para trocar imagens. Dá para
excluir recursos também. Raramente dará para crackear programas, pois o
Resource Hacker permite editar os recursos, que são dados num formato
específico, e não o código em si. Para crackear programas normalmente se
usam os chamados
diassemblers, que tentam interpretar o
programa e exibir as instruções em Assembler, uma linguagem de
programação. Ou editores hexadecimais, que editam diretamente os bytes
do arquivo (um bom e gratuito é o
Hex Editor XVI 32).
Mas isso não é para qualquer um, Assembler é uma linguagem de baixo
nível, quase que incompreensível para os humanos normais rsrs. E para
editar os bytes diretamente é preciso muita paciência e ter idéia de
onde mexer...
O Resource Hacker é um programa hacker?
O
que você consideraria um "programa hacker"? O Resource Hacker permite
"hackear" recursos, modificar programas. Normalmente não podemos
redistribuir os arquivos modificados, pois isso violaria a licença de
uso dos mesmos, e não é legal para o produtor. Mas o Resource Hacker é
uma ferramenta, dependendo do uso que se fará dele, você pode ser
considerado do mal ou do bem. Programadores como eu, por exemplo, podem
se beneficiar muito de um programa como ele. Desenvolvo software em
Delphi, é um tanto chato adicionar recursos pela linha de comando nos
meus arquivos. Eu crio então um arquivo de recurso apenas (sem ser um
programa, de extensão ".res"), adiciono e altero esse arquivo usando o
Resource Hacker. Depois, adiciono esse arquivo já pronto ao meu
programa, usando para isso o próprio Resource Hacker, ou o compilador do
Delphi. Isso vale para outros ambientes de programação também, apenas
citei o Delphi como exemplo porque é o que eu uso.
Como usar o Resource Hacker?
Você
deve saber mais ou menos o que você quer fazer. Se não sabe, pode ir
fuçando nos programas, certamente você encontrará coisas interessantes,
como imagens e ícones usados internamente por eles, além de vídeos AVI,
como aquelas pastinhas da cópia de arquivos do Windows, por exemplo. E
poderá salvar ou trocar essas imagens, entre outras coisas.
Basta
abrir o Resource Hacker e carregar nele o arquivo que você quer
explorar ou modificar. Arraste o arquivo para a tela do Resource Hacker,
ou então vá ao menu "Arquivo > Abrir" e localize o arquivo desejdo.
Vamos
ver como salvar alguns ícones do Windows. O arquivo "shell32.dll", na
pasta "system32", contém muitos ícones. Você pode salvá-los :)
Abra
o Resource Hacker, clique em "Arquivo > Abrir" e localize o arquivo
"shell32.dll". No Windows 9x/Me ele fica na pasta "system", e esta fica
dentro da pasta do Windows; no 2000/XP ou superior, o "shell32.dll" está
na "system32" (ou "system64", se seu sistema for de 64 bits).
Ele
mostra no painel esquerdo diversas "pastinhas", com os grupos de
recursos disponíveis: textos, menus, imagens em bitmap, cursores,
ícones, etc. Ao selecionar um item no lado esquerdo, o mesmo será
exibido no painel direito. Os ícones ficam melhor visualizados no grupo
"Icon Group". Abra essa "pastinha", como você faria no Windows Explorer,
se fosse uma pasta de arquivos. Ela terá "subpastas", com o nome que o
autor do programa deu. Abra alguma delas e veja o ícone:
Para
salvá-lo, clique com o botão direito no número da linguagem (no exemplo
da imagem acima, é no "1046"), e escolha "Salvar...". Veja as
diferenças entre os três itens "Salvar":
- Salvar todos os recursos: Salva
todos os recursos do arquivo aberto na pasta definida, e salva o
"índice do recurso", um arquivo de texto de extensão ".rc". Seria algo
como um arquivo de lista de reprodução de músicas, ele lista o nome do
arquivo, o nome do recurso, e outras informações. Compiladores de
recursos poderiam utilizá-lo para gerar um novo arquivo ".res". Isso
normalmente só interessa a programadores.
- Salvar recursos [Icon Group]: Salva
todos os recursos do grupo selecionado, no caso, os ícones. De forma
semelhante ao item anterior, ele criará o arquivo ".rc". Ideal para
usuários pegarem todos os ícones de um executável, todas as imagens,
etc. Ou programadores mesmo, dependendo do que se quer fazer.
- Salvar [Icon Group : 7 : 1046]: Salva
apenas o recurso selecionado. Ideal para salvar uma única imagem, vídeo
ou ícone... Entenda o que aparece entre colchetes: "Icon group" é o
grupo do recurso, no caso, o grupo dos ícones. "7" é o nome do recurso,
isso poderia variar de recurso para recurso, claro. No caso dos ícones,
normalmente eles são numerados. E o último número, no caso "1046", é a
linguagem do recurso. Tecnicamente um arquivo pode armazenar versões
diferentes de recursos, em diversos idiomas, com os mesmos nomes (mas
separados pelo código do idioma; 1046 é o código do "Português do
Brasil"). O programa carrega ao ser executado o recurso do mesmo idioma
da versão de Windows utilizada pelo usuário, e carrega outro padrão se
não tiver um recurso definido para o idioma usado.
Para
salvar apenas o ícone selecionado, então, escolha a terceira opção
"Salvar". Teste com as outras e veja a diferença! Nota: mandar salvar
todos os recursos pode demorar um pouco, em arquivos grandes.
Veja
que o Resource Hacker não é para qualquer um, apesar de ser
relativamente simples de ser usado. Você deve saber "o que você quer
fazer", ou no mínimo seguir um tutorial, como os diversos já publicados
aqui no Explorando.
O
Resource Hacker tem uma característica interessante. Ele permite
localizar textos, palavras, frases ("strings", falando tecnicamente),
dentro do arquivo. Faça isso pelo menu "Visualizar > Localizar texto
ou string". Isso foi usado para encontrar o texto do botão "Iniciar", e
então alterá-lo (
veja aqui).
Ao
alterar textos em geral, deve-se clicar no botão "Compilar script" que
aparecerá acima do quadro de edição. Isso é necessário para criar a
estrutura do script, e então depois o arquivo pode ser salvo. Cuidado
com as aspas e chaves, para não estragar (corromper) o arquivo.
Ao salvar, o Resource Hacker cria
na primeira vez um
backup do arquivo, com o trecho "_original" depois do nome. Você não
pode salvar arquivos em uso ou bloqueados pelo sistema, pois de qualquer
forma não haveria como sorescrevê-los. Nesses casos, prefira usar o
"Salvar como", defina então outro nome ou salve em outro local. Depois,
com o Windows desligado você substitui os arquivos (por exemplo, logado
em outro sistema se tiver dual boot, ou com um disquete de boot, ou com
um sistema que rode do CD, como o Linux ou até mesmo com o
Windows que roda do CD). Isso se faz necessáiro, por exemplo, ao alterar o "shell32.dll" do Windows. No caso do "explorer.exe", para
trocar o texto do botão Iniciar,
você pode fechá-lo pelo gerenciador de tarefas (guia "Processos"), e
então salvar e depois reabrir o explorer (no gerenciador de tarefas,
escolha "Arquivo > Executar nova tarefa" e digite "explorer.exe").
É
isso. Use com responsabilidade e sabedoria. E lembre-se, o Resource
Hacker não faz milagres, ele é uma ferramenta, útil ferramenta. Existem
outros exploradores de recursos, é claro, como o open source
XN Resource Editor.
Veja como obter o Resource Hacker em português e também o XN Resource Editor (este em inglês) em
geek.mepsites.cjb.net.
NOTA IMPORTANTE: modificar
executáveis prontos pode ser considerado uma violação aos termos de
licença de uso do software. Você pode fazer isso para uso pessoal, mas
nunca distribuir um executável modificado sem a expreressa autorização
do seu produtor. Se não houver indicação do produtor, aí a história é
outra... Ao adquirir uma música, um bem imaterial, vc pode ouvi-la de
trás pra frente, mais rápido, mais devagar... Como quiser, e até
misturada com outras músicas. Com os softwares você pode agir
basicamente da mesma forma, portanto, não é pecado algum fazer o que eu
fiz e que tantas outras pessoas fazem e mostrar as imagens. Você usa um
software como bem quiser, modificado ou não, funcionando pra você está
bom. Não pirateie nem distribua cópias modificadas, por você mesmo.
Agora, se quiser... aí o problema e a responsabilidade são todos seus.