Fórum PSM


Estás a ver o fórum como visitante o que te dá acesso limitado a ele, ao fazeres o registo na nossa comunidade poderás criar e responder a tópicos de discussão, trocar mensagens privadas, participar em votações, entre muitas outras coisas. O registo é simples e gratuito, por isso junta-te à nossa comunidade!

    NotePad.exe

    Compartilhe
    avatar
    lianinho
    Psm Team
    Psm Team

    Número de Mensagens : 153
    Idade : 31
    Localização : porto
    Reputação : 0
    Pontos : 0
    Data de inscrição : 10/09/2008

    Informações
    Consola(s): PS3
    Télemovel Télemovel: nokia 3660

    NotePad.exe

    Mensagem por lianinho em Sab Set 13, 2008 10:53 pm

    Toda a gente, pelo menos uma vez ja precisou de abrir um documento de texto (.txt) com o NotePad. O NotePad é muito fácil de utilizar e muito eficiente no que diz respeito à velocidade. Ora esta facilidade torna-o convidativo para abrir documentos de texto pequenos e médios. Quando se tenta abrir um documento de texto um pouco maior o NotePad pára e pergunta se desejamos abrir o documento com o WordPad. Até aqui, nada de novo. Mas eu acho irritante o facto de ele estar sempre a fazer a mesma pergunta.

    Uma maneira de evitar a pergunta é de obrigar o NotePad a abrir o WordPad sempre que ele não tem capacidade para o nosso documento de texto.

    Antes de tudo, devemos fazer uma copia de segurança do nosso NotePad. Para esse efeito, basta copia-lo e dar-lhe o nome de NotePad2.exe.

    Temos que abrir o NotePad com um editor de executáveis tais como o HexWorkShop e procurar esta cadeia de código:
    -> FF15A8644000

    Uma vez a cadeia de código encontrada, só nos resta trocar por esta nova cadeia de código:
    -> EB0D90909090

    Grava-se o programa NotePad.exe alterado, e já esta!

    Agora sempre que se abrir um documento de texto médio ou grande, o NotePad abre automaticamente o WordPad.

    Para mais explicações sobre a cadeia de código que mudamos, leia as linhas que se seguem.

    Porção da listagem original do ficheiro NOTEPAD.EXE gerada pelo WinDasm:

    * Referencia a Função API do KERNEL32 -> GetStartupInfoA
    :0040339F FF1590634000 Call dword ptr [00406390]
    :004033A5 6A24 push 00000024
    :004033A7 A1B4504000 mov eax, dword ptr [004050B4]
    -> Prepara o texto "Este ficheiro é muito grande..."
    :004033AC 56 push esi
    :004033AD 50 push eax
    :004033AE FF7508 push [ebp+08]
    -> Guarda o caminho e o nome do ficheiro que se vai abrir

    * Referencia a Função API do USER32 -> MessageBoxA
    :004033B1 FF15A8644000 Call dword ptr [004064A8]
    -> Faz aparecer uma caixa de mensagem com o seguinte texto:
    "Este ficheiro é muito grande"
    "Quer abri-lo com o WordPad?"
    :004033B7 83F806 cmp eax, 00000006
    -> Verifica se o botão da caixa de mensagem premido foi o "Sim"
    :004033BA 0F85A7000000 jne 00403467
    -> Se foi outro botão, então retorna sem chamar o WordPad
    :004033C0 6804010000 push 00000104
    -> Se o programa chegou até aqui, então a escolha foi o botão "Sim"
    -> O fluxo do programa continua e chama o WordPad com o nosso ficheiro.

    Porção da listagem alterada do ficheiro NOTEPAD.EXE gerada pelo WinDasm:

    * Referencia a Função API do KERNEL32 -> GetStartupInfoA
    :0040339F FF1590634000 Call dword ptr [00406390]
    :004033A5 6A24 push 00000024
    :004033A7 A1B4504000 mov eax, dword ptr [004050B4]
    -> Prepara o texto "Este ficheiro é muito grande..."
    :004033AC 56 push esi
    :004033AD 50 push eax
    :004033AE FF7508 push [ebp+08]
    -> Guarda o caminho e o nome do ficheiro que se vai abrir

    :004033B1 EB0D jmp 004033C0
    -> Salto incondicional para o endereço 4033C0 (push 00000104)
    :004033B3 90 nop
    :004033B3 90 nop
    :004033B3 90 nop
    :004033B3 90 nop
    -> Esta serie de NOPs só serve para acertar os ciclos até a próxima instrução.
    :004033B7 83F806 cmp eax, 00000006
    -> Esta verificação nunca vai ser feita
    :004033BA 0F85A7000000 jne 00403467
    -> Este salto nunca vai ser executado
    :004033C0 6804010000 push 00000104
    -> O fluxo do programa vem directamente para aqui e executa automaticamente o WordPad.

    Ultimas notas:
    Este pequeno exercício, só pode ser executado por mera curiosidade. O NotePad faz parte integrante do Windows e é propriedade da MicroSoft. O NotePad não deve ser adulterado sem autorização expressa da MicroSoft.

      Data/hora atual: Seg Out 22, 2018 11:54 pm