as funcoes dentro do programa (section .code dependendo do compilador =). Entao, um dos mem-bros da Viper Corp, nosso amigo Dark_Side fodao das trevas e totalmente l3370... codou um prog capaz de mostrar quais as funcoes estao contidas em uma determinada dll e ainda eh capaz de mostrar seus respectivos enderecos de memoria. Essa informacao eh necessaria para o desenvolvimento de shellcodes como veremos adiante no capitulo 'Shellcode part II - hostile security' . Veja abaixo alguns screenshots dessa importante ferramenta e a baixe no link disponibilizado.Digite Ctrl+A para importar para o programa uma determinada DLL, no meu exemplo importei '\WINDOWS\system32\wsock32.dll' soh pra ver as funcoes que tem nela >:) Nessa API estao contidas as principais funcoes de socket, tais como: Funcao Endereco de memoria connect = 71A92C14bind = 71A92BF5closesocket = 71A92C01recv = 71A92E70recvfrom = 71A93005send = 71A92DDDsendto = 71A92DE9shutdown = 71A92E0Bsocket = 71A92E1Bhtonl = 71A92D05htons = 71A92D12getsockopt = 71A92EDAhtonl = 71A92D05htons = 71A92D12inet_addr = 71A92D1Finet_ntoa = 71A92D45listen = 71A92D69getsockopt = 71A92EDAgetpeername = 71A92C87getprotobyname = 71A92C9Agetprotobynumber = 71A92CB0getservbyname = 71A92CC8closesocket = 71A92C01accept = 71A92BE7Agora voce sabe o porque de precisarmos inserir no linker *-l* essa library *wsock32* usando um de meus programas preferidos (que nao linka/mescla a parte objeto dos executaveis com essa API por padrao (obvio)), o IDE mais fodao do mundo, o DEV-C++, quando vamos codar exploits e essas coisas todas que mechem com redes remotas e talz :) As funcoes 'getprotobyname()' e 'getservbyname()' e algumas outras funcoes que voce poderah ver dentro dessa API sao boas se voce quiser codar um scanner de portas ou vulnerabilidades "fresco()", quero dizer, se voce quiser que ele lhe mostre os protocolos e talz, isso eh bom pra quem ta mechendo com hacking a pouco e que nao sabe que o http trabalha "normalmente" na porta '80' e talz. O povo undiground eh meio bruto, jah sabem em que porta roda de-terminado protocolo, por isso nao codo essas funcoes ae ;) - "Oooh, ele eh so l337". Nao se preocupe, voce ainda vai ficar feliz porque ele codou esse programa, quem sabe nao eh no proximo capitulo..}:) Observe que alem de mostrar a funcao e o endereco no qual ela estah armazenada na API/DLL, o prog ainda permite que voce copie a linha! Eh incrivel Wallace! hahah! Bicha! hahaha!! Chamo isso de "Programacao Ninja". Mas claro que existem programas que fa-zem isso pra voce de forma mais rapida, como o 'arwin', codado por um kra chamado --> Steve Hanna <--> steve.c.hanna@gmail.com - Que tambem eh o de-senvolvedor do programa odfhex.c (que usaremos para extrair opcodes):C:\Documents and Settings\David\Desktop>arwin.exe kernel32.dll Sleeparwin - win32 address resolution program - by steve hanna - v.01Sleep is located at 0x7c802442 in kernel32.dllObserve que voce fornece a ele o nome da dll e a funcao que voce quer saber o endereco (que estah dentro desta dll) e ele vai lah e te mostra =7 Nesse caso aih eu to querendo saber qual o endereco de memoria da funcao Sleep e nao sleep ou sleeP, que estah localizada dentro da kernel32; observe que nem precisei escrever o PATH da dll porque