mirror of
https://github.com/trickster0/OffensiveRust
synced 2026-06-08 17:54:47 +00:00
pipes
This commit is contained in:
@@ -0,0 +1,9 @@
|
||||
[package]
|
||||
name = "Named_Pipe_Client"
|
||||
version = "0.1.0"
|
||||
edition = "2018"
|
||||
author = "trickster0"
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
||||
winapi = {version = "0.3.9", features = ["winnt","fileapi","minwindef"]}
|
||||
@@ -0,0 +1,16 @@
|
||||
use winapi::um::winnt::{HANDLE,LPCSTR,GENERIC_READ,GENERIC_WRITE};
|
||||
use winapi::um::fileapi::{CreateFileA,OPEN_EXISTING,ReadFile};
|
||||
use std::ptr::null_mut;
|
||||
|
||||
fn main() {
|
||||
unsafe {
|
||||
let mut bytes_read : u32 = 0;
|
||||
let mut buffer_read = vec![0u8;1024];
|
||||
let pipe_name : LPCSTR = "\\\\.\\pipe\\rusttestpipe\0".as_ptr() as *const i8;
|
||||
let clientpipe : HANDLE = CreateFileA(pipe_name,GENERIC_READ | GENERIC_WRITE,0,null_mut(),OPEN_EXISTING,0,null_mut());
|
||||
ReadFile(clientpipe,buffer_read.as_mut_ptr() as *mut winapi::ctypes::c_void,buffer_read.len() as u32,&mut bytes_read,null_mut());
|
||||
println!("{}",String::from_utf8_lossy(&mut buffer_read));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
[package]
|
||||
name = "Named_Pipe_Server"
|
||||
version = "0.1.0"
|
||||
edition = "2018"
|
||||
author = "trickster0"
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
||||
winapi = {version = "0.3.9", features = ["winbase","winnt","namedpipeapi","fileapi","winbase"]}
|
||||
@@ -0,0 +1,17 @@
|
||||
use winapi::um::winbase::CreateNamedPipeA;
|
||||
use winapi::um::winnt::{HANDLE,LPCSTR};
|
||||
use winapi::um::namedpipeapi::ConnectNamedPipe;
|
||||
use winapi::um::fileapi::WriteFile;
|
||||
use winapi::um::winbase::{PIPE_ACCESS_DUPLEX,PIPE_TYPE_MESSAGE};
|
||||
use std::ptr::null_mut;
|
||||
|
||||
fn main() {
|
||||
let mut bytes_written : u32 = 0;
|
||||
let message = "RUST IS GOOD FOR OFSEC\0" ;
|
||||
let pipe_name : LPCSTR = "\\\\.\\pipe\\rusttestpipe\0".as_ptr() as *const i8;
|
||||
let server_pipe : HANDLE = unsafe {CreateNamedPipeA(pipe_name,PIPE_ACCESS_DUPLEX,PIPE_TYPE_MESSAGE,1,2048,2048,0,null_mut())};
|
||||
unsafe {ConnectNamedPipe(server_pipe,null_mut())};
|
||||
println!("Sending message to Pipe");
|
||||
unsafe {WriteFile(server_pipe,message.as_ptr() as *const winapi::ctypes::c_void,message.len() as u32,&mut bytes_written,null_mut())};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user