Skip to content

KawaiiKraken/ShellForge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ShellForge

ShellForge - a highly customizable crate for generating assembly noops and junk code

Features

  • Generation of random noop or junk assembly
  • Seeded generation for reproducible outputs
  • Fake control flow to real functions in junk assembly
  • Prologue/Epilogue and fake function generation
  • SIMD instructions

Example Usage

let generated = ShellForge::default()
    .with_seed(0x1337)
    .allow_junk(true)
    .generate(36);

let shellcode = ShellForge::encode_assembly(&generated);

assert_eq!(
    shellcode,
    [
        0x48, 0x81, 0xCB, 0x39, 0x0E, 0x2B, 0x4D, 0xFF, 0xE5, 0x48, 0x83, 0xF2, 0xC5, 0x48,
        0x2D, 0xA1, 0x24, 0x5C, 0x78, 0x49, 0xC1, 0xE7, 0x07, 0x0F, 0x0B, 0x41, 0xFF, 0xE3,
        0x48, 0x25, 0x63, 0x54, 0xA1, 0x4A, 0x50, 0xC3
    ]
);
or rbx,4D2B0E39h
jmp rbp
xor rdx,0FFFFFFFFFFFFFFC5h
sub rax,785C24A1h
shl r15,7
ud2
jmp r11
and rax,4AA15463h
push rax
ret

About

a highly customizable crate for generating assembly noops and junk code

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages