https://github.com/rssu-shellcode/ssce
A simple shellcode encoder, build and erase decoder at runtime.
https://github.com/rssu-shellcode/ssce
Last synced: 7 months ago
JSON representation
A simple shellcode encoder, build and erase decoder at runtime.
- Host: GitHub
- URL: https://github.com/rssu-shellcode/ssce
- Owner: RSSU-Shellcode
- License: agpl-3.0
- Created: 2024-11-07T07:24:16.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-06T08:11:51.000Z (about 1 year ago)
- Last Synced: 2025-02-12T08:18:09.400Z (about 1 year ago)
- Language: Go
- Homepage:
- Size: 157 KB
- Stars: 0
- Watchers: 0
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# SSCE
A simple shellcode encoder, build and erase decoder at runtime and erase shellcode after execution.
## Usage
```bash
ssce -arch 64 -i shellcode.bin -o shellcode_x64.bin
```
## Development
```go
package main
import (
"encoding/hex"
"fmt"
"os"
"github.com/RSSU-Shellcode/SSCE"
)
func main() {
encoder := ssce.NewEncoder(0)
shellcode, err := os.ReadFile("shellcode.bin")
checkError(err)
opts := ssce.Options{
NumIterator: 4,
NumTailInst: 64,
MinifyMode: false,
SaveContext: false,
EraseInst: false,
NoIterator: false,
NoGarbage: false,
}
shellcode, err = encoder.Encode(shellcode, 64, &opts)
checkError(err)
out := hex.EncodeToString(shellcode)
fmt.Println(out)
err = encoder.Close()
checkError(err)
}
func checkError(err error) {
if err != nil {
fmt.Println(err)
os.Exit(1)
}
}
```