Modificação do Hardware - Outras Linguagens - Portugal-a-Programar
Modificação do Hardware
August 13, 2005 in Outras Linguagens
Bem como alguns ja devem saber que com a linguagem assembly podemos modficar o firmware de dvds etc...
E para por os "joguinhos" na calculadora tambem é com o assembly
O assembly tambem tem um programa chamado disassembler que serve para descodificar é bastante pratico não sei bem em que tipo de programas dá.
Os disassembler são apenas programas para reverter de código binário para código fonte (em assembler) no entanto a leitura deste tipo de sintaxe é muito complicada devido aos endereços de memória.
O uso comum desta prática é denominado reverse-engineering e é preciso mesmo muita paciência para se dominar esta área. As pessoas que mais utilizam este tipo de soluções são os crackers.
Exemplo simples de um programa Hello World
include 'C:\dev\asm\INCLUDE\win32a.inc'
include 'C:\dev\asm\INCLUDE\apia\user32.inc'
include 'C:\dev\asm\INCLUDE\apia\kernel32.inc'
Depois de feito o *.exe o output num disassembler comum..
http://img358.imageshack.us/img358/9478/asm2fa.jpg
€ direita o código revertido. € esquerda o programa em binário.
Olha eu tambem uso o hexeditor!
MT porreiro!!!!
Por acaso sou um adepto da Reverse-engeneering, ou Reengenharia, se é que é essa a tradução em portugues (alguém sabe que possa dizer?).
é muito aliciante, uma vez que se podem fazer alterações insólitas, como colocar numeração de linhas/colunas no notepad do windows, ou endereçar o mapa das minas do minesweeper.
A reverse-engeneering é também o método primordial pelo qual se analisam falhas de programas/protocolos (reverse engeneering não é apenas assembly. Também pode ser analizar exaustivamente um protocolo, ou recriar um circuito electrónico)
Contudo, segundo a evolução natural das coisas, os productores de tecnologia tentam-se defender da reengenharia, nomeadamente no software e no hardware.
No software (principalmente no software pago e em software que utiliza credenciais de autenticação) é utilizada encriptação do programa, que se desencripta conforme vai sendo executado, é também utilizadas várias checksums, e avançados algoritmos de CRC.
No hardware, a simples utilização de chips, de placas de curcuito impresso multi-camadas, e mesmo a utilização de máscaras entre as camadas para não permitir a passagem de luz para não se verem as silhuetas dos circuitos.
Mas nada é imune. O hardware é muitíssimo mais complicado, mas o software é relativamente simples.
A única forma do software ser imune à "Reengenharia", é não ser executável. Nem pelo utilizador legítimo.Tal como um cofre que nem pelo dono pode ser aberto.
A china é conhecida por comprar máquinas na europa e EUA e "Reengenheira-las" de modo a produzir máquinas idênticas, sem precisar de as comprar.
Passem Bem 😄
hum realmente esse termo tem uma traducao dificil mas nao e reengenharia esse termo tambem existe, e nao so na area de informatica, e aplica-se a re-analise de um processo de engenaria conhecido ou à aplcacao de principios de engenharia a um processo que nao os tinha antes. a traducao mais proxima em portugues talvez seja engenharia de revesao ou engenharia reversa que consiste em retirar o processo de fabrico a partir de um produto final. E uma pratica muito comum em informatica nomeadamente em protocolos de rede (por exemplo foi preciso fazer reverse-egineering para que o trillian e outros messengers conseguissem comunicar com o msn messenger) mas tambem em codigo fonte e hardware. E preciso fazer reverse-engineering para fazer cracking mas tambm por exemplo para conseguir por jogos copiados a funcionar nas consolas, enfim pode-se aplicao reverse-enginnering a tudo, de uma forma mais ou menos facil consuante o caso.
EDIT: Mais um exemplo de reverse-engimeering sao os medicamentos genericos...
Strong - A imagem que deste realmente é 1 bocado forte, mas não ha nada que um bom disassembler não simplifique
http://msnmessengerftp.tripod.com/asm.jpg
É claro que os comentários tipo "WM_CREATE" , etc. n foi o disassembler k colocou...
Tens razão qnt a palavra, pensado bem n é mesmo a mais adequada..
Por acaso estou d certo modo dentro do assunto dos medicamentos genéricos, e sou capaz d dizer k não sao fruto da reverse engeneering.
Existem dois tipos de medicamentos considerados como "genéricos"
os Genéricos mesmo genéricos
os primeiros tratam-se da substância original vendida de certo modo "a vulso", não associada a nenhuma marca (pelo menos deveria d ser assim, mx existem N marcas do mesmo genérico, contudo de todas essas apenas um é realmente o genérico. os outro são cópias - fruto da engenharia invertida (será que é assim?). O genérico verdadeiro é o k é proveniente da casa-mãe, ou seja, do laboratório que inventou a substância., ou do laboratório cuja casa-mãe deu autorização para produção de genérico.