monmind icon indicating copy to clipboard operation
monmind copied to clipboard

Obfuscation strings in golang code

Monmind - obfuscate multiple strings & hide text from binary searching

Obfuscation strings in golang code

kill

INSTALL

You can install monmind by running:

go get  github.com/CRYBOII/monmind

USAGE

Once monmind is installed go to workspace folder and create .ob file,

and slap your strings in there on different lines.

now you can run this command

monmind

this should be generate the file obfuscated.go all encoded strings will be contians in that file

Example

in .ob file

this is secret
this is super secret

when we run monmind obfuscated file is generated

package main

import (
	"unsafe"
)

func eax() uint8 {
	return uint8(unsafe.Sizeof(true))
}

//  [ YLM01E5A6 ] ====>  this is secret

func YLM01E5A6() string {
	return string(
		[]byte{
			(((eax()<<eax()^eax())<<eax()^eax())<<eax()<<eax() ^ eax()) << eax() << eax(),
			((eax()<<eax()^eax())<<eax()<<eax() ^ eax()) << eax() << eax() << eax(),
			(((eax()<<eax()^eax())<<eax()<<eax()^eax())<<eax()<<eax()<<eax() ^ eax()),
			((((eax()<<eax()^eax())<<eax()^eax())<<eax()<<eax()<<eax()^eax())<<eax() ^ eax()),
			eax() << eax() << eax() << eax() << eax() << eax(),
			(((eax()<<eax()^eax())<<eax()<<eax()^eax())<<eax()<<eax()<<eax() ^ eax()),
			((((eax()<<eax()^eax())<<eax()^eax())<<eax()<<eax()<<eax()^eax())<<eax() ^ eax()),
			eax() << eax() << eax() << eax() << eax() << eax(),
			((((eax()<<eax()^eax())<<eax()^eax())<<eax()<<eax()<<eax()^eax())<<eax() ^ eax()),
			(((eax()<<eax()^eax())<<eax()<<eax()<<eax()^eax())<<eax()<<eax() ^ eax()),
			(((eax()<<eax()^eax())<<eax()<<eax()<<eax()<<eax()^eax())<<eax() ^ eax()),
			(((eax()<<eax()^eax())<<eax()^eax())<<eax()<<eax()<<eax() ^ eax()) << eax(),
			(((eax()<<eax()^eax())<<eax()<<eax()<<eax()^eax())<<eax()<<eax() ^ eax()),
			(((eax()<<eax()^eax())<<eax()^eax())<<eax()<<eax() ^ eax()) << eax() << eax(),
		},
	)
}

//  [ YLMEECE42 ] ====>  this is super secret

func YLMEECE42() string {
	return string(
		[]byte{
			(((eax()<<eax()^eax())<<eax()^eax())<<eax()<<eax() ^ eax()) << eax() << eax(),
			((eax()<<eax()^eax())<<eax()<<eax() ^ eax()) << eax() << eax() << eax(),
			(((eax()<<eax()^eax())<<eax()<<eax()^eax())<<eax()<<eax()<<eax() ^ eax()),
			((((eax()<<eax()^eax())<<eax()^eax())<<eax()<<eax()<<eax()^eax())<<eax() ^ eax()),
			eax() << eax() << eax() << eax() << eax() << eax(),
			(((eax()<<eax()^eax())<<eax()<<eax()^eax())<<eax()<<eax()<<eax() ^ eax()),
			((((eax()<<eax()^eax())<<eax()^eax())<<eax()<<eax()<<eax()^eax())<<eax() ^ eax()),
			eax() << eax() << eax() << eax() << eax() << eax(),
			((((eax()<<eax()^eax())<<eax()^eax())<<eax()<<eax()<<eax()^eax())<<eax() ^ eax()),
			((((eax()<<eax()^eax())<<eax()^eax())<<eax()<<eax()^eax())<<eax()<<eax() ^ eax()),
			((eax()<<eax()^eax())<<eax() ^ eax()) << eax() << eax() << eax() << eax(),
			(((eax()<<eax()^eax())<<eax()<<eax()<<eax()^eax())<<eax()<<eax() ^ eax()),
			(((eax()<<eax()^eax())<<eax()^eax())<<eax()<<eax()<<eax() ^ eax()) << eax(),
			eax() << eax() << eax() << eax() << eax() << eax(),
			((((eax()<<eax()^eax())<<eax()^eax())<<eax()<<eax()<<eax()^eax())<<eax() ^ eax()),
			(((eax()<<eax()^eax())<<eax()<<eax()<<eax()^eax())<<eax()<<eax() ^ eax()),
			(((eax()<<eax()^eax())<<eax()<<eax()<<eax()<<eax()^eax())<<eax() ^ eax()),
			(((eax()<<eax()^eax())<<eax()^eax())<<eax()<<eax()<<eax() ^ eax()) << eax(),
			(((eax()<<eax()^eax())<<eax()<<eax()<<eax()^eax())<<eax()<<eax() ^ eax()),
			(((eax()<<eax()^eax())<<eax()^eax())<<eax()<<eax() ^ eax()) << eax() << eax(),
		},
	)
}

now you can use a obfuscated string functions like this

fmt.Println(YLMEECE42())

or with different package

fmt.Println(bar.YLMEECE42())

this will print

this is super secret

without obfuscated

kill

with obfuscated

kill

Acknowledgments