これは、 ANSI C です
netcat など標準入出力でデータのやり取りをするツールで、バイナリデータを送り込みたいな。と思ったのが作るきっかけ。
でも、リアルタイムにデータがパイプを通して、対象とするツールへ流れないんだなぁ....
だから、最後に「Ctrl+Z」「Return」が必要かもね。
netcat がバッファリングのフラッシュをシェルに任せているようだから、パイプとかで挟んじゃうと、バッファリング処理で、データが送られないって事があるような感じだ。
著作権は放棄します、プログラムの実行・改変においては、各自自分の責任でしてください。
- download
-
- compiled by VisualC++ ver6.0 SP6 & source code
- hexencode.lzhlzh file (16,587byte) (hexencode.lzh.base64)
ソースコードのリターン・コードは、Windows 系です
ソースコードの漢字コード(コメントの部分)は、SJIS
コンパイルされた exe は 32bit_Windows 用です。
使い方など
- そのまま実行すれば、HEX エンコーディング
- なにか引数をつけて実行すれば、HEX デコーディング
例えば、
# hexencode | nc hoge.com 23
とか....
# nc hoge.com 23 | hexencode 1
とか
そのまま起動すれば、usage が表示されます。
でも、入力データをパイプがバッファリングしているようでうまくいかないけど...
ソースの説明
省略
ただ、cmd.exe のパイプ機能(リダイレクト機能)も「Lf」→「CrLf」にする機能があるので、何もしないモードを追加した。(第三版)
履歴
- 第三版 : (2008/08/20) バッファリングのバグに挑戦してみたけど、撃沈。2004年とあまり変わらないコードのままです
- 第三版 : (2004/12/04) なにもしないモードも追加した
改行コード(Cr or Lf)でバッファをフラッシュさせるようにした
- 第二版 : (2004/11/15) Hex Encode/Decode に加えて Lf->CrLf な機能も追加
- 最初のバージョン : (2002/07/04)
その他
パイプのバッファリングの解除方法ってしりませんかぁ?
mail to active@window.goukaku.com