Pedro Posted April 21, 2018 at 04:07 AM Share Posted April 21, 2018 at 04:07 AM 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 More sharing options...
Moderators Leandro Fróes Posted April 21, 2018 at 01:29 PM Moderators Share Posted April 21, 2018 at 01:29 PM Bom dia mano! Antes de qualquer coisa, por que você não testa e caso dê algum erro (ou até mesmo se der certo) você coloca aqui pra galera? abs Link to comment Share on other sites More sharing options...
Felipe.Silva Posted April 21, 2018 at 11:09 PM Share Posted April 21, 2018 at 11:09 PM 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 More sharing options...
gzn Posted April 21, 2018 at 11:10 PM Share Posted April 21, 2018 at 11:10 PM 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): Crie um programa normal em C com os comandos que você quer utilizar. Compile ele e retire o código da seção .text dele. Analise as bibliotecas que ele precisa. Crie uma nova seção executável no binário que você quer colocar esse código e "cole" lá. Atualize as bibliotecas que o binário precisa com base no seu código e veja se está faltando alguma biblioteca. 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! Link to comment Share on other sites More sharing options...
Pedro Posted April 22, 2018 at 12:26 AM Author Share Posted April 22, 2018 at 12:26 AM Valeu galera!@Leandro Fróes, irei persistir, se eu conseguir eu posto! @Felipe.Silva, obrigado por partilhar o script. Irei estudar assembly o/@gzn, obrigado pelas etapas :D. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.