Jump to content
Sign in to follow this  
Pedro

duvida

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 ^~

Share this post


Link to post
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/

  • Curtir 2

Share this post


Link to post
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

Edited by gzn
  • Curtir 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...