Jump to content

duvida


Pedro

Recommended Posts

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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...