diff --git a/fuzzPatternCreate b/fuzzPatternCreate new file mode 100644 index 0000000..ef2f210 Binary files /dev/null and b/fuzzPatternCreate differ diff --git a/fuzzPatternCreate.go b/fuzzPatternCreate.go new file mode 100644 index 0000000..74c5a46 --- /dev/null +++ b/fuzzPatternCreate.go @@ -0,0 +1,50 @@ +package main + +import ( + "fmt" + "gopkg.in/alecthomas/kingpin.v2" + "bytes" +) + +func main() { + charCountPointer:= kingpin.Arg("char-count", "Number of characters to generate").Required().Int() + kingpin.Parse() + + var charCount int=*charCountPointer + var ans bytes.Buffer + var tempCombi string + var combiArr [4]int + charsetCaps := "ABCDEFGHIJKLMNOPQRSTUVWXYZ" + charsetSmall := "abcdefgjijklmnopqrustuvwxyz" + charsetNum := "0123456789" + + for ans.Len()0; i-- { + if combiArr[i] >= combiMax[i] { + combiArr[i] = 0 + combiArr[i-1] += 1 + } + } + + if combiArr[0] >= combiMax[0] { + combiArr[0] = 0 + } +} diff --git a/fuzzPatternSearch b/fuzzPatternSearch new file mode 100644 index 0000000..4d61928 Binary files /dev/null and b/fuzzPatternSearch differ diff --git a/fuzzPatternSearch.go b/fuzzPatternSearch.go new file mode 100644 index 0000000..39ded7c --- /dev/null +++ b/fuzzPatternSearch.go @@ -0,0 +1,103 @@ +package main + +import ( + "fmt" + "gopkg.in/alecthomas/kingpin.v2" + "encoding/hex" + "strings" + "os" +) + +func main() { + patternPointer:= kingpin.Arg("search", "Hex(eg '0x42424242') or String to be search").Required().String() + pattLengthPointer:= kingpin.Flag("length", "Pattern length").Short(rune('l')).Int() + kingpin.Parse() + + var fullPattern string + var pattern string + var combiArr []int = []int{0,0,0,0} + combiMax := []int{26, 26, 26, 10} + var fullCombi int + charsetCaps := "ABCDEFGHIJKLMNOPQRSTUVWXYZ" + charsetSmall := "abcdefgjijklmnopqrustuvwxyz" + charsetNum := "0123456789" + pattLength := *pattLengthPointer + finalPos := 0 + var startPos int + + if len(*patternPointer)<4 { + fmt.Println("Input must have at least 4 bytes") + os.Exit(0) + } + + if (*patternPointer)[:2] == "0x" { + fmt.Println("Hex detected") + fullBytes, _ := hex.DecodeString((*patternPointer)[2:]) + fullPattern = string(fullBytes) + } else { + fullPattern = *patternPointer + } + + if len(fullPattern)<4 { + fmt.Println("Input must have at least 4 bytes") + os.Exit(0) + } + + pattern = fullPattern[:4] + + for i:=0; i 0 { + combiArr[len(combiArr)-1]+=1 + + for i:= len(combiArr)-1; i>0; i-- { + if (combiArr[i] >= combiMax[i]) && (i >= (len(combiArr)-startPos)) { + combiArr[i] = 0 + if (i-1 >= (len(combiArr)-startPos)) { + combiArr[i-1] += 1 + } + } + } + } + + for i:=0; i