Pessoal,
Estou divulgando aqui o compilador MASM32 para windows.
( Ref: http://www.masm32.com )
Ele possui umas features interessantes que o tornam muito bom para fazer programas minúsculos.
Tenho um exemplo de programa que é um backdoor para Windows feito pelo WhiteScorpion ele roda na porta 31337.
Este Exemplo é apenas para ilustrar o compilador dá pra ver as features do MASM32 pois é em um programa bastante simples e pequeno que usa recursos de TCP/IP.
Uma das coisas interessantes no MASM32, é que ele implementa um conjunto de pseudo instruções que facilitam muito a vida do programador.
Em Assembly, normalmente, você tem que criar os IFs, criar os WHILEs e todas as estruturas de loop e de condicionais de forma artesanal escrevendo tudo na unha usando as instruções e flags do processador..
Mas as pseudo instruções do MASM32 criam tudo isso para você e sem stress.
Vejam:
.IF eax==SOCKET_ERROR invoke WSACleanup invoke ExitProcess,eax .ENDIF
Ele já cria a comparação para o registrador eax sem você ter que esquentar a cabeça. E olhe este WHILE:
.WHILE bytesRead>=1023 invoke ReadFile,readout,addr bufferout,1023,addr bytesRead,NULL invoke lstrlen,addr bufferout invoke send,remsock,addr bufferout,eax,0 mov eax,offset bufferout mov ecx,sizeof bufferout zeromem2: mov byte ptr [eax],0 inc eax dec ecx test ecx,ecx jnz zeromem2 .ENDW
Ele ainda entende os sinais de >,<.>=<= e != . Sem você ter que fazer isso tudo na unha.
Muito mais simples, não é mesmo ?
Qual a vantagem de usar Assembly e não usar um C por exemplo ?
Programas minúsculos, conhecimento do sistema maiúsculo e é muito mais sexy.
Todas as pseudo instruções são precedidas de ponto e dá pra criar macros ainda mais complexas.
Vocês podem pegar o programa exemplo que inclusive é funcional e tem os binários já compilados em: http://www.koflinux.com.br/backdoor.zip
A última e mais polêmica coisa sobre o MASM32 é que o autor é avesso ao GPL. Apesar do MASM32 ser freeware e você puder usa-lo como te der na telha. O autor NÃO quer que se produza programas sob a GPL usando o compilador.
Ah, ia me esquecendo, o programa exemplo que eu passei como exemplo está sob a GPL …
Vejam o que é dito no site do cara:
Exclusion of open source projects and software.
The MASM32 project cannot be used to create open source software or any other project under any form of licence that requires the user of the MASM32 project to surrender the rights they are afforded under the MASM32 licence. In particular the MASM32 licence completely excludes projects licenced under the GNU organisation’s published GPL licence and/or variants.
Os monitores widescreen são ótimos para ver filmes e vídeos, mas para editar textos, programar e criar webpages mostram bem poucas linhas e “desperdiçam” muito espaço lateral.