Ir para conteúdo

duvida


Pedro

Posts Recomendados

e ae galera, sou novo nessa area de engenharia reversa.

me respondam uma coisa, é possível adicionar uma lib e um comando em um arquivo .exe?

por exemplo, um arquivo .exe feito em C, e nele eu desejo adicionar o seguinte:

#include <stdlib.h>

// e dentro de um void, por exemplo, adicionar:

system("ls");


obrigado, aguardo resposta ^~

Link para o comentário
Compartilhar em outros sites

Há um tempo eu fiz um script em Python que inseria um shellcode em um executável PE.
Não está bem feito, mas já deve lhe servir de base para entender. (quem sabe um dia desses eu reescrevo e.e)

Eu basicamente insiro o shellcode no final do código, mudo o entry point para apontar para o shellcode e no final do shellcode eu coloco um jmp para o entry point original.

Link para você dar uma olhada no fonte:
https://github.com/Silva97/peinject.py

Se você quer fazer isso e não sabe Assembly então está colocando a carroça na frente dos bois.
Antes de tentar modificar um executável você tem que entender como ele funciona.
Dica de estudo:

- Aprenda Assembly.
- Pesquise e estude sobre o formato de executável PE.

Obs.: Gravity Falls \o/

Link para o comentário
Compartilhar em outros sites

Se você pretende alterar um binário no formato PE você pode pesquisar pelos termos "infect PE", "binary code injection PE". Acho que cada formato de arquivo executável tem lá suas particularidades.

Por exemplo, você pode pensar no seguinte (se meu raciocínio estiver errado alguém me corrija! rs):

  1. Crie um programa normal em C com os comandos que você quer utilizar.
  2. Compile ele e retire o código da seção .text dele.
  3. Analise as bibliotecas que ele precisa.
  4. Crie uma nova seção executável no binário que você quer colocar esse código e "cole" lá.
  5. Atualize as bibliotecas que o binário precisa com base no seu código e veja se está faltando alguma biblioteca.
  6. Mude o ponto de entrada do binário para seu código e do seu código desvie para o ponto de entrada original do binário que você quer modificar.

Essas 6 etapas podem ser divididas em subetapas e o negócio não é simples porque você vai precisar saber como funciona o carregamento de um binário variando o formato (ELF, PE-COFF, PE).

KKKK no mais, não tenho condições de prosseguir e te ajudar porque também... não sei sei!

Siga o método cartesiano e divida esse problema em problemas simples! Quem sabe outros experientes que trabalham na área e lidam com infecções possa ajudá-lo a entender isso...

E... ouvintes de Sócrates ficavam surpresos ao pensar nas perguntas que ele fazia a fim de demonstrar que eles não sabiam o que diziam saber, mas quando supunham que Sócrates sabia das respostas ele mesmo dizia: "Eu também não sei, por isso estou perguntando"! Daí surgiu a expressão que resume esse pensamento dele, só sei que nada sei! Eu também digo o mesmo! :D

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...