Engenharia Reversa – Evolução e Funcionalidade

Pois bem, se buscarem no google sobre ER irão ver muita coisa, tanto

ensinando quando explicando,  então, porque deveria escrever algo sobre
esse tema, tendo em vista a quantidade de coisas relacionadas na net?

Simples! Decidi por meu ponto de vista sobre a ER e comentar sobre alguns
conceitos que acho importante ressaltar e dar uma pinceladinha, de fato irei
apenas fazer um texto pequeno que possar servir de  auxilio a aos caminhos
magníficos da programação de softwares e ER também.

Quando conheci a ER fiquei fascinado com o mundo de possibilidades em minha
frente, confesso, olhei  pelo lado do mal primeiro, ter o “poder” de pegar um software
pago e “pescar” um serial nele.  Pegar um programa bem bonito e mudar os créditos
e dizer .. owwwwww eu que fiz olha só o about.

É, todo mundo tem seu lado negro na coisa e, eu não fui diferente, porém a ER me
conquistou de verdade  de uma forma que o desejo de aprender foi maior que tudo
e, é agora que entra a história ..

[ Evolução da Engenharia Reversa ]

Logo no inicio era mais simples crackiar algo, debugar e mudar alguns bytes, assim
o programa  ficava totalmente funcional e pimpa, você é um cracker!

Então o que é crackiar ou fazer ER? Existe a diferença de todo cracker ser
Engenheiro Reverso, porém  nem todo Engenheiro Reverso é um cracker, isso é
aplicado na vida tão comumente que nem se percebe.

A ER é utiliza para poder verificar erros em seus softwares, achar novas formas
de desenvolvimento  entre milhões de outras funcionalidades e, nesse meio é que
surge os crackers como os fuçadores natos  exploradores e descobridores de novas
formas de se burlar alguma coisa.

Quem acha que ER é só pra garotinho de 15 à 25 anos, como intitulam a maioria
dos “hackers”, está errado 🙂  Existe tantos bons crackers com mais de 40 anos que
eu fico até envergonhado de tanto que eles sabem.

Isso é ótimo pra mim, são pessoas maduras que querem te ajudar, infelizmente
não citarei nomes, é melhor assim.

Algumas ferramentas usadas, hoje são meio arcaicas, porém era o TOP da geração,
TOP de Engenheiros Reversos, SOftIceWin32DasmHiew, já usei bastante
alguns desses, porém hoje são ultrapassadas.

Atualmente usa-se ferramentas tão avançadas que fico pensando se os desenvolvedores
tem familia .. oO’  IDAOllydbgImpRecLordPE, é um mundo de novas ferramentas,
pra tudo que desejarem existe uma.

Talvez tantas ferramentas fiquem sem serem usadas em suas funcionalidades totais,
no meio de tanta coisa  vou explicar algumas mais usuais, literalmente usuais e
em uma certa parte prática, vamos lá ..

[ Funcionalidade da ER e suas ferramentas ]

A ER pode ser usada em tudo, verdade, tudo que você consegue reverter é uma
forma de ER, o decodificar,  entender, e fazer nova proteção para o dvd, quando
foi desbloquiado pelo nosso amigo Jon Lech Johansen,  tudo isso é ER, se você
tem um hardware e precisa modifica-lo para atender as suas necessidades você faz ER nele.

Como disse é um mundo! E um mundo muito fascinante e entusiasta por sinal.
E ER de softwares segue o mesmo padrão, utilizando de ferramentas bastantes úteis,
veremos algumas  dessas em minhas palavras bem simplificadas. ;D

IDA
Você quer decompilar, debugar fazer o que tua mente permite? Pois bem, use o IDA!
Ele é incrível, decompila apps em Java, faz debugger remoto com linux e windows em fim, ele é o cara. ;D

Ollydbg
Minha ferramenta de pendrive, eu não saio sem ele, levo pra tudo que é lugar, tenho
um carinho por ele  gosto de verdade muito, ele é muito útil e faz muita coisa, sem
contar as ferramentas maravilhosas.  Ele normalmente abre o programa e te deixa verificar
o fonte [ em asm ] completo, as threads, as sections,  a memória, strings do programa, praticamente tudo!

PeID
É um ótimos scan de apps, ele verifica se existe alguma proteção ou compactação,
se tem criptografia,  qual linguagem foi desenvolvido o aplicativo e coisas desse genero.

RDG
O nosso amigo RDG segue o mesmo padrão do PeID, sendo que esses dois são os mais conhecidos.

ImpRec
É um reconstrutor, serve para restaurar a IAT [ Import Adress Table ] dos aplicativos, quando
retiramos  as chatinhas proteções e compactações como, Themida, Armadillo, Execryptor e outros.

LordPE
Como um dos mais conhecidos é uma ferramenta pra visualizar tudo que o executável
tem e carrega,  desde dll’s que se juntam a ele em run-time a toda estrutura de sections
do mesmo, é um dos mais conhecidos  para essa finalidade e gosto bastante dele também.

DeDE
Esse é o fascínio de todo iniciante em ER com Delphi, esse software decripta o app
em Delphi  e retorana toda sua estrutura, gerando o projeto e tudo, o único
problema é que é em ASM que o source retorna.

VBDecompiler
Mesma coisa que o DeDE, sendo que esse é pra visual basic.

Essas são as ferramentas mais usuais acredito, para ser ter uma ER legal!
Exite também o RadASM e o WinDASm altamente usado para se escrever keygen, patchs e aplicativos em ASM.

A galera da ER curte utiliza-los para codar em asm, pois é bem simples sua utilização,
quem sabe em outra matéria faço explicação sobre como codar algo com eles, é bem interessante e fácil.

Bom amigos, espero que o texto tenha ficado breve e explicativo, é massante ler e escrever
tudo que  já se tem na net, quis fazer algo um pouco diferente e acredito ter conseguido o objetivo.

Obrigado à todos que estiverem lendo e espero que gostem!

Deixo pra vocês alguns dos team’s que conheço, faço parte, visitei, li tutoriais em fim, por onde
já andei nessa vida, vos deixo como referencia.

[ Team’s ]

BRC – BrCrackers [ Brasil ]
RE-B – Reverse Engineering Brazil [ Brasil ]
CrackSLatinos
ARTeam
SnD
rEvErSeR
ICU
Tsrh

E muitos outros que infelizmente me fogem da memória agora.

bjxx para todos.

unn4m3D_BR

Publicado em março 1, 2012, em Engenharia Reversa. Adicione o link aos favoritos. Deixe um comentário.

Deixe um comentário