Skip to content

Dois processos serão criados, onde o valor na memória de um será alterada pelo outro.

Notifications You must be signed in to change notification settings

hallboav/reverse-enginering

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 

Repository files navigation

readv-writev & ptrace

Memory editing.

Descrição

No SO Windows podemos ler e alterar a memória de outro processo usando as funções ReadProcessMemory e WriteProcessMemory que são declaradas na biblioteca winbase.h.

readv-writev e ptrace são duas soluções econtradas para obter o mesmo comportamento nos sistemas Linux.

Modo de usar

Primeiro devemos compilar o binário alvo.

target

gcc target.c -o target
./target

Deixe-o em execução e inicie outro terminal.

readv-writev

gcc readv-writev.c -o readv-writev
sudo ./readv-writev 14344

ptrace

Nota: ptrace envia o sinal SIGSTOP e espera o tracee parar.

gcc ptrace.c -o ptrace
sudo ./ptrace 14344

Onde 14344 é o PID.

Obtendo endereço de memória

Você pode usar o gdb caso seja necessário atualizar o endereço de memória.

Este pode ser visto em comentário (prefixado pelo caractere #) à direita do terminal.

gdb target
set disassembly-flavor intel # opcional
disassemble main

About

Dois processos serão criados, onde o valor na memória de um será alterada pelo outro.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages