Projects STRLCPY Offensive-Rust Commits e410e988
🤬
  • ■ ■ ■ ■ ■ ■
    command_exec/.gitignore
     1 +/target
     2 + 
  • ■ ■ ■ ■ ■ ■
    command_exec/.vscode/launch.json
     1 +{
     2 + // Use IntelliSense to learn about possible attributes.
     3 + // Hover to view descriptions of existing attributes.
     4 + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
     5 + "version": "0.2.0",
     6 + "configurations": [
     7 + {
     8 + "type": "lldb",
     9 + "request": "launch",
     10 + "name": "Debug executable 'command_exec'",
     11 + "cargo": {
     12 + "args": [
     13 + "build",
     14 + "--bin=command_exec",
     15 + "--package=command_exec"
     16 + ],
     17 + "filter": {
     18 + "name": "command_exec",
     19 + "kind": "bin"
     20 + }
     21 + },
     22 + "args": [],
     23 + "cwd": "${workspaceFolder}"
     24 + },
     25 + {
     26 + "type": "lldb",
     27 + "request": "launch",
     28 + "name": "Debug unit tests in executable 'command_exec'",
     29 + "cargo": {
     30 + "args": [
     31 + "test",
     32 + "--no-run",
     33 + "--bin=command_exec",
     34 + "--package=command_exec"
     35 + ],
     36 + "filter": {
     37 + "name": "command_exec",
     38 + "kind": "bin"
     39 + }
     40 + },
     41 + "args": [],
     42 + "cwd": "${workspaceFolder}"
     43 + }
     44 + ]
     45 +}
  • ■ ■ ■ ■ ■ ■
    command_exec/Cargo.lock
     1 +# This file is automatically @generated by Cargo.
     2 +# It is not intended for manual editing.
     3 +version = 3
     4 + 
     5 +[[package]]
     6 +name = "command_exec"
     7 +version = "0.1.0"
     8 + 
  • ■ ■ ■ ■ ■ ■
    command_exec/Cargo.toml
     1 +[package]
     2 +name = "command_exec"
     3 +version = "0.1.0"
     4 +edition = "2021"
     5 + 
     6 +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
     7 + 
     8 +[dependencies]
     9 + 
  • ■ ■ ■ ■ ■ ■
    command_exec/src/main.rs
     1 + 
     2 +use std::env;
     3 +use std::process::Command;
     4 + 
     5 +fn executecmd(cmd:&str) -> String{
     6 + let temp = "/c ".to_owned();
     7 + let fullcmd = temp + cmd;
     8 + 
     9 + let cmds = fullcmd.split(" ").collect::<Vec<&str>>();
     10 + //println!("{:#?}",cmds);
     11 + 
     12 + let res =Command::new("cmd.exe").args(&cmds)
     13 + .output().expect("string expected");
     14 + let stdout =String::from_utf8_lossy(res.stdout.as_slice());
     15 + let stderr =String::from_utf8_lossy(res.stderr.as_slice());
     16 + 
     17 + if stdout.len()>0{
     18 + return stdout.to_string();
     19 + }
     20 + else{
     21 + return stderr.to_string();
     22 + }
     23 + 
     24 +
     25 +}
     26 + 
     27 + 
     28 +fn main() {
     29 +
     30 + let args: Vec<String> = env::args().collect();
     31 + if args.len() == 2{
     32 + let result = executecmd(&args[1]);
     33 + println!("{}",result);
     34 + }
     35 + else{
     36 + println!("[+] Usage {} command",args[0]);
     37 + }
     38 +
     39 + 
     40 +}
     41 + 
Please wait...
Page is in error, reload to recover