go中的Fuzzer复制Python one
我正在为本教程重新创建一个fuzzer(实际的fuzzer位于链接上,它是用python编写的): 实际上,我们的目标是完成所有的代码,但使用Go **我的问题更多的是关于一种正确的做事方式——在代码中实现大增量数字的过程越来越慢。任何人都有这样一个接口/库。或者任何我在围棋中忘记的可以用来做得更好的功能:go中的Fuzzer复制Python one,go,Go,我正在为本教程重新创建一个fuzzer(实际的fuzzer位于链接上,它是用python编写的): 实际上,我们的目标是完成所有的代码,但使用Go **我的问题更多的是关于一种正确的做事方式——在代码中实现大增量数字的过程越来越慢。任何人都有这样一个接口/库。或者任何我在围棋中忘记的可以用来做得更好的功能: package main import ( "fmt" "net" "strings" ) const payload = "\x41" func main(
package main
import (
"fmt"
"net"
"strings"
)
const payload = "\x41"
func main() {
//Banner
fmt.Printf("\nLauching Fuzzer..\n")
payL := strings.Repeat(payload, 50)
for {
payL += strings.Repeat(payload, 50)
conn, err := net.Dial("tcp", "localhost:21")
if err != nil {
fmt.Println("Crash Error: ", err)
}
final_payload := fmt.Sprint("User " + payL + "\r\n")
_, err = conn.Write([]byte(final_payload))
if err != nil {
fmt.Println("Error: ", err)
break
} else {
fmt.Println("Sending buffer with length: ", final_payload)
conn.Close()
}
}
包fuzz是一个库,用于用随机变量填充go对象
价值观
有关高效Go fuzzer的示例,请参阅Go包fuzz。您发布的代码是否有效?如果没有,错误消息是什么。如果是,你的问题是什么?嗨@AdamSmith你看到粗体字母了吗?但是是的,代码是有效的,我没有收到任何错误信息(当我说代码有效时是隐含的),问题在于效率。。。我想看看是否有人能以比我更有效的方式复制我做过的同样的事情。我知道我的代码可以很好地改进,只要看看它:)如果你看到一些你可以做的不同的事情,这将使它更快,或者在内存管理方面更好。。好吧,我愿意接受建议或批评。我投票将这个问题作为离题来结束,因为它要求审查,这对堆栈溢出来说太宽泛了。考虑一下问你的问题,但一定要先读一读;具体来说,在问题本身中添加背景&应用程序所需的输出。@Matt现在描述了问题,您得到了我正在做的一个示例,我想知道的不是库中的代码审查或重新推荐请求,而是是否存在我没有实现的功能或设计解决方案,这些功能或设计解决方案可以实现,从而可以在处理结果方面提高速度。感谢您的关注
import "github.com/google/gofuzz"