mirror of
https://github.com/Astatin3/syscall-stream-rs.git
synced 2026-06-09 00:18:01 -06:00
Work on adding a puppet for the server side aswell
This commit is contained in:
+7
-2
@@ -10,6 +10,7 @@ use std::{
|
||||
|
||||
use log::{error, info, trace};
|
||||
use nix::libc::{self, MAP_ANONYMOUS, MAP_PRIVATE, PROT_READ, PROT_WRITE, user_regs_struct};
|
||||
use nix::sys::ptrace;
|
||||
use nix::unistd::Pid;
|
||||
use subprocess::{Popen, PopenConfig, Redirection};
|
||||
use syscall_lib::Syscall;
|
||||
@@ -61,7 +62,7 @@ fn handle_connection(stream: &mut TcpStream) -> Result<(), std::io::Error> {
|
||||
|
||||
let syscall = Syscall::decode(&buf).unwrap();
|
||||
|
||||
trace!("{:?}", syscall);
|
||||
// trace!("{:?}", syscall);
|
||||
|
||||
// let result = match decoded {
|
||||
// Syscall::Write(..) => 0,
|
||||
@@ -82,7 +83,9 @@ fn handle_connection(stream: &mut TcpStream) -> Result<(), std::io::Error> {
|
||||
}
|
||||
};
|
||||
|
||||
let result = result.rax;
|
||||
// ptrace:;
|
||||
|
||||
let result = result.gs as i64;
|
||||
|
||||
// let result: u64 = result.unwrap().rax;
|
||||
|
||||
@@ -90,6 +93,8 @@ fn handle_connection(stream: &mut TcpStream) -> Result<(), std::io::Error> {
|
||||
|
||||
// let result = 0;
|
||||
|
||||
// ptrace::
|
||||
|
||||
trace!("{:?} -> {:?}", syscall, result);
|
||||
|
||||
let bytes: [u8; 8] = result.to_be_bytes();
|
||||
|
||||
+1
-1
@@ -196,7 +196,7 @@ impl UserProcess {
|
||||
r8: u64,
|
||||
r9: u64,
|
||||
) -> HostResult<user_regs_struct> {
|
||||
log::trace!("UserProcess {} Syscall: {:#?}", self.pid, sys_call);
|
||||
// log::trace!("UserProcess {} Syscall: {:#?}", self.pid, sys_call);
|
||||
let syscall_instruction = [0x0Fu8, 0x05u8];
|
||||
|
||||
// Cache original registers, original instruction pointer (rip), and the original instructions
|
||||
|
||||
Reference in New Issue
Block a user