<cite id="1lwsx"><noscript id="1lwsx"><samp id="1lwsx"></samp></noscript></cite>
<cite id="1lwsx"></cite>

  • <b id="1lwsx"></b>
    <rp id="1lwsx"><meter id="1lwsx"><p id="1lwsx"></p></meter></rp>

      1. <cite id="1lwsx"><span id="1lwsx"><var id="1lwsx"></var></span></cite>

      2. <rt id="1lwsx"></rt>

        <b id="1lwsx"></b>

      3. <rp id="1lwsx"><meter id="1lwsx"></meter></rp>

        D丶個人博客



        golang 爆破破解 rar5 壓縮文件密碼-自己用GO寫了一個爆破程序,爆破破解rar5 密碼 | D丶個人博客

        golang 爆破破解 rar5 壓縮文件密碼

        自己用GO寫了一個爆破程序,爆破破解rar5 密碼


        rar5 網上大多數爆破軟件不支持,只支持rar5以下的

        所以自己寫了一個爆破程序,考慮性能,用Golang 去寫 ,用到Golang 里面的GO程

        Go 沒有支持 rar5  解壓 的包,故調用 cmd 命令去執行

        1、先下載 WinRAR 壓縮軟件 ,給 cmd 命令調動

        2、把 WinRAR加入環境變量(方便 cmd 命令使用 unrar )

        3、測試一下 是否可以調用

        cmd := exec.Command("unrar", "e","-p"+pass,rarpath,"D:/test")  //解壓出來保存 D/test 上
        out, _ := cmd.Output()
        fmt.Println(string(out))

        4、加載密碼集,密碼自己生成 ,可以參考我用 python 寫的 密碼生成器

        https://blog.csdn.net/a519395243/article/details/100574062

            passpath := "pass.txt" 
            fp, _ := os.OpenFile(passpath , os.O_RDONLY, 6)
        	defer fp.Close()
        
        	// 創建文件的緩存區
        	r := bufio.NewReader(fp)
        	for {
        		pass, err2 := r.ReadBytes('\n')
        		if err2 == io.EOF {      //文件末尾
        			break
        		}
        		pass = pass[:len(pass)-2]   // 去除末尾 /n
        		fmt.Println(pass)
        	}

        5、最后代碼集合,用到Go 程

        package main
        
        import (
        	"bufio"
        	"fmt"
        	"io"
        	"os"
        	"os/exec"
        	"time"
        )
        
        var passpath  string= "C:/Go/src/GoItem/pass.txt"   //密碼集 路徑
        var rarpath string= "C:/Go/src/GoItem/aa.rar"    	// rar 文件路徑
        
        var password = make(chan string)   //創建管道,接收密碼
        var isOver = make(chan bool) //判斷是否退出
        
        func main() {
        	go passtxt(passpath)
        
        
        Loop:
        	for{
        		select {
        		case rarpass:= <-password :
        			go cmdshell(rarpath,rarpass)
        		case  <-time.After(time.Second * time.Duration(1)) :
        			break Loop
        		case <- isOver:
        			break Loop
        		}
        	}
        
        }
        
        func cmdshell(rarpath string,pass string){
        		cmd := exec.Command("unrar", "e","-p"+pass,rarpath,"D:/test")  //解壓出來保存 D/test 上
        		out, _ := cmd.Output()
        
        		fmt.Println(pass)
        		if  len(out) == 248{    //len 248 為成功,每個人不同
        			fmt.Printf("密碼為:%s \n",pass)
        			isOver<-true  // 成功后退出
        		}
        }
        
        func passtxt(passpath string) {
        	fp, _ := os.OpenFile(passpath , os.O_RDONLY, 6)
        	defer fp.Close()
        
        	// 創建文件的緩存區
        	r := bufio.NewReader(fp)
        	for {
        		pass, err2 := r.ReadBytes('\n')
        		if err2 == io.EOF {      //文件末尾
        			break
        		}
        		pass = pass[:len(pass)-2]   // 去除末尾 /n
        		password <- string(pass)
        	}
        }




        評論


        About ME

        about me

        程序猿

        熱愛生活的程序猿 ,QQ:519395243

        山高自有客行路,水深自有渡船人?!段饔斡洝?/p>

        Contact ME

        QQ:519395243

        TAG cloud

        亚洲 美腿 另类 丝袜