none
Erro ao obter hexadecimal de um exe RRS feed

  • Pergunta

  • Olá

    Gente, alguém pode me ajudar. Consegui (com ajuda)  a algum tempo atrás o código a baixo:

      Try
                Dim br As BinaryReader = New BinaryReader(File.Open(TextBox1.Text, FileMode.Open))
                br.BaseStream.Seek("&H" & "MeuEntryPoint", SeekOrigin.Begin)
                    Dim Buffer = Encoding.Default.GetString(br.ReadBytes(200))
                    RichTextBox1.Text = Buffer.ToString
            Catch ex As Exception
                MsgBox(ex.Message)
            End Try

    Eu seleciono um executável e informo o código EntryPoint. A partir dele pretendo obter os "200" primeiros hexadecimais. Mas nada acontece, não surge erros, mas nada é obtido.

    Alguém me ajuda? Oque pode estar dando errado?

    Desde já agradeço.

    sexta-feira, 12 de agosto de 2016 18:51

Respostas

  • Na linha em negrito pressiona F9 (Criar breakpoint) roda sua aplicação e execute o método, ao parar na linha em questão selecione "br.BaseStream" e pressione "Shift+F9" e você ver se foi carregado alguma coisa, aparecer nulo é por que a leitura não esta sendo feita.

    O seu intuito é criar PATCH?

    Try
                Dim br As BinaryReader = New BinaryReader(File.Open(TextBox1.Text, FileMode.Open))
                br.BaseStream.Seek("&H" & "MeuEntryPoint", SeekOrigin.Begin)
                    Dim Buffer = Encoding.Default.GetString(br.ReadBytes(200))
                    RichTextBox1.Text = Buffer.ToString
            Catch ex As Exception
                MsgBox(ex.Message)
            End Try


    GTSA vantagem de ser inteligente é que podemos fingir que somos imbecis enquanto ao contrario é completamente impossivel

    terça-feira, 23 de agosto de 2016 12:15

Todas as Respostas

  • Boa tarde Eliseu5,

    Você precisa descobrir os 200 primeiros hexadecimais de um executável?

    Atenciosamente,


    Robson William Silva

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    segunda-feira, 15 de agosto de 2016 17:40
    Moderador
  • Olá Robson

    Exatamente, mas a partir do EntryPoint (que eu informo com um outro código).


    • Editado Eliseu5 terça-feira, 16 de agosto de 2016 11:03
    terça-feira, 16 de agosto de 2016 10:37
  • Bom dia Eliseu5,

    Até o momento só encontrei as suas threads:

    Como exibir hexadecimal apenas após o EntryPoint

    Extrair hexadecimal pelo EntryPoint

    Atenciosamente,


    Robson William Silva

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    terça-feira, 16 de agosto de 2016 14:14
    Moderador
  • Olá Robson,

    Pois é, e nenhuma das threads foi concluída, to sem saber como fazer ainda. :/

    terça-feira, 16 de agosto de 2016 17:57
  • Primeira coisa que tem a verificar é se " br.BaseStream" esta retornando algum valor da leitura

    GTSA vantagem de ser inteligente é que podemos fingir que somos imbecis enquanto ao contrario é completamente impossivel

    terça-feira, 16 de agosto de 2016 18:28
  • Olá Mr. GMSOFT

    E como faço isso? sendo que nunca retorna nada.

    domingo, 21 de agosto de 2016 23:29
  • Na linha em negrito pressiona F9 (Criar breakpoint) roda sua aplicação e execute o método, ao parar na linha em questão selecione "br.BaseStream" e pressione "Shift+F9" e você ver se foi carregado alguma coisa, aparecer nulo é por que a leitura não esta sendo feita.

    O seu intuito é criar PATCH?

    Try
                Dim br As BinaryReader = New BinaryReader(File.Open(TextBox1.Text, FileMode.Open))
                br.BaseStream.Seek("&H" & "MeuEntryPoint", SeekOrigin.Begin)
                    Dim Buffer = Encoding.Default.GetString(br.ReadBytes(200))
                    RichTextBox1.Text = Buffer.ToString
            Catch ex As Exception
                MsgBox(ex.Message)
            End Try


    GTSA vantagem de ser inteligente é que podemos fingir que somos imbecis enquanto ao contrario é completamente impossivel

    terça-feira, 23 de agosto de 2016 12:15
  • Bom dia,

    Devido a falta de resposta do usuário

    essa thread está sendo fechada.

    Se o problema ainda estiver ocorrendo,

    favor abrir uma nova thread.

    Atenciosamente,


    Robson William Silva

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    sexta-feira, 26 de agosto de 2016 13:14
    Moderador