• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Sutcha

Modificação do Hardware

7 mensagens neste tópico

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á.

Para fazer download

http://www.geocities.com/~sangcho/disasm.html

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

#########

format PE GUI 4.0

include 'C:\dev\asm\INCLUDE\win32a.inc'

section '.code' code readable executable

invoke MessageBox,0,hellomsg,hellolb,MB_OK+MB_ICONINFORMATION

invoke ExitProcess,0

section '.data' data readable writable

hellomsg db 'Hello, World!',0

hellolb db 'Hello World',0

data import

library user32,'user32.dll',kernel32,'kernel32.dll'

include 'C:\dev\asm\INCLUDE\apia\user32.inc'

include 'C:\dev\asm\INCLUDE\apia\kernel32.inc'

end data

############

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.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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 :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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...

Passem Bem :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

e as cópias

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.

contudo são todos equiparados uns aos outros..paciência..

Passem bem :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora