Java - Acessar um processo (programa)

4 respostas
java
M

Olá a todos, estou tentando resolver um problema de faculdade, bem eu preciso criar um hack de um programa open source, eu tenho os códigos e sei o que fazer com meus códigos, porém não sei como eu faço para “ligar” meu programa com esse outro open source, já pensei em usar o readprocessmemory mas com isso terei acesso a memória e não é isso que estou querendo, eu já tenho o código open source e não preciso manipular a memória com ponteiros etc… Só preciso saber como eu posso conectar meu programa para que eu possa manipular diretamente o código ?

PS: não preciso que postem os códigos, mas sim uma maneira de fazer essa ligação, assim eu mesmo implementarei do meu jeito.

4 Respostas

peczenyj

ola

o que vc descreveu não esta muito coerente.

vamos ver se eu entendi: vc tem um programa open source X que vc NÃO PODE ( ou não quer) alterar o codigo fonte do mesmo, que esta rodando em um dado sistema operacional ( é um processo ) e vc quer se intrometer de alguma forma, seja lendo a memoria, seja se comunicando com o processo, mudando algum valor ou fazendo algo mais agressivo como alterando o comportamento do mesmo.

se sim, existem algumas maneiras, todas demandam de algum conhecimento do sistema operacional e qual a natureza do programa em questão ( ele roda sob uma maquina virtual? ele é interpretado? ele foi compilado para a plataforma alvo? )

se vc PODE mudar o codigo fonte, então é questão de entender o codigo em si.

de qualquer forma esta muito vago.

M

Opa, deixa eu explicar melhor, lendo novamente meu tópico nem mesmo eu entendi direito…

Eu tenho um programa disponibilizado pelo professor que é Open Source, a questão da aula é abordagem da segurança da informação, a tarefa é manipulá-lo sem pegar o seu código e compilar, ou seja, é testar métodos que possam acessá-lo e modificá-lo, porém a única opção que conseguimos até agora é por meio de manipulação de memória, já fizemos as documentações necessárias para esse método específico, mas precisamos de um método que possa fazer esse acesso e modificação com base nos códigos do programa.

Precisamos de uma “luz” de métodos que possam ser utilizados, como modificar memória etc… Temos todas informações como qual SO e tipo de linguagem, precisamos apenas dessas maneiras para estudarmos cada uma e colocar na documentação a ser entregue.

peczenyj

O programa disponibilizado é em que? Java? C? .Net?

Java talvez vc possa usar reflection pra acessar alguma api

.Net poderia ver tb reflection ou ver se existe alguma interface COM

Em C temos varios tipos de vulnerabilidade como Buffer Overflow. Qualquer coisa que leia string vc poderia tentar enviar uma string maior que o buffer + código assembler pra causar desvios de rotina.

Veja se o programa foi compilado com opção debug e vc pode tentar usar o
GDB pra debugar e inspecionar memória etc

M

Obrigado, irei estudar melhor o que você já passou de possibilidade. O programa em questão é em C.

Criado 29 de dezembro de 2016
Ultima resposta 29 de dez. de 2016
Respostas 4
Participantes 2