問題タブ [buffer-overflow]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
serial-port - シリアル ポートでのプリンター バッファー オーバーフロー
Windows 7 を実行しているコンピューターにシリアル ポート経由で接続されているプリンター (具体的には、Braillo 200 点字印刷機) があります。Windows に「汎用テキスト」プリンターをインストールし、シリアル ポートを使用するように設定しました。シリアル ポート ダイアログのパラメーター (プリンターのプロパティ -> ポート -> ポートの構成) は、エンボスのパラメーターと一致します。それにもかかわらず、2K を超えるファイルをエンボス加工しようとすると、エンボサーはバッファ オーバーフローを報告します。
この問題に関する私の調査では、ハンドシェイクの問題が示されていますが、すべてのハンドシェイク オプション (ハードウェア、ソフトウェア、なし) を試しましたが、どれも問題を解決していません。
mode.exe コマンドを使用してパラメータを設定すると、コマンド ラインから (copy.exe *file_name* com1 を使用して) 印刷できることに気付きました。しかし、Windows を使用してプリンターを管理したいと考えています。
どんな提案でも大歓迎です。
c++ - ストリームからchar配列またはstd::stringに抽出する最も安全な方法
バッファオーバーフローが心配なので、std::istreamから派生したクラスからいくつかの文字を取得する必要があります。私が理解していることから、私自身の>>演算子がなければ、istreamから直接std::stringにストリーミングする方法はありません。そのため、コンテンツをchar配列にストリーミングし、それをstd::stringに入れることを検討していました。簡単な例を次に示します。
ただし、CharArrayがオーバーフローしないことを知る方法はないようです。ストリーム抽出演算子がchararrayに書き込む最大値はありますか?先制的に抽出される量を確認する方法はありますか?これはすべて間違っていますか、これよりもはるかに優れた方法はありますか?
Edit1 :、メモリリークではない問題を修正しました。削除を呼び出す必要はありません。信じられない。
Edit2:文字列に直接>>を使用する提案が提案されました。以前のコードベースでこの問題が発生したことを試みましたが、失敗しました。オペレーターに適した一致が見つからなかったと言っています。次に、std :: fstreamを試してみましたが、再び失敗しました。単純なミニマルプロジェクトでstd::fstreamコードを試すことに成功しました。これは、私のより大きなプロジェクトに何か他の問題があることを示しています。この質問の本来の意図はもはや有効ではありません。
Edit3:私はこれを解決しました。私はtypedefStringにストリーミングしようとしましたが、これは実際にはstd :: stringだと思っていましたが、実際にはconst std::Stringでした。当然、書き込み不可能なオブジェクトに書き込むためのストリーム抽出演算子はありません。そのため、istreamヘッダーにリストされているすべての演算子が表示されます(必要な演算子は文字列ヘッダーにあります)。
私の誤った研究を指摘し、正しい方向に私を向けてくれた人々に感謝します。
c - バッファオーバーフロー修正お願いします
以下のプログラムでバッファオーバーフローの脆弱性を回避したいのですが、
これは、脆弱性を修正するための正しい修正ですか?
stack - バッファオーバーフロー-正しい出力が得られない
シェルコードはホスト名(bin / hostname)を出力します。しかし、コードを実行すると、パスが逆の順序で表示されますが、ホスト名は出力されません。私は実際にバッファオーバーフローを行っています。私はfreebsdインテルマシンを使用しています。これは私のコードです
エラーがどこにあるかを理解できますか
上記のプログラムは以下のプログラムに挿入されます......したがって、バッファオーバーフローを作成し、ホスト名を出力します
c++ - C/C++ のバッファ オーバーフローの文献?
誰かが C/C++ の優れた文献を知っていますか? 言語: ドイツ語/英語
ありがとう
linux - Linuxでバッファオーバーフローが失敗しますか?
このプログラムでは、バッファの過剰な欠陥について質問があります。
このプログラムをメモリに流そうとすると:
このようにする必要があります:
そのため、A(16進数で41)をEPIに書き込む必要がありますが、それは行われませんでした。
Linuxには、バッファオーバーフローが失敗するように、バッファオーバーフローから自身を保護する方法がありますか?または私が間違ったことをしたことがありますか?
operating-system - NXビットエミュレーション
ハードウェアがNXビットを提供しない32ビットx86などのプラットフォームでNXビットをエミュレートする方法を誰かに説明してもらえますか?どうやって実現できるのか想像がつかないので、エミュレートの基本を説明していただければ幸いです。前もって感謝します。
c - バッファサイズに制限を課す
any
バッファに対するいかなる種類の操作も範囲外アクセスにつながることがないように、文字バッファにサイズ制約を課す方法はありますか?
c - Cを使用してバックアッププログラムを悪用する
私は、バックアッププログラム(setuid)の4つの脆弱性を見つけ、それぞれを使用してルートアクセスを取得するように求めるセキュリティコースの割り当てを行っています(古いバージョンのgccなどを備えた仮想Linuxマシン上)。バッファオーバーフローの1つとフォーマット文字列の1つが必要です。
誰かが4つの脆弱性がどこにあるかを指摘するのを手伝ってもらえますか?でバッファオーバーフローが発生する可能性があると思いますcopyFile()
。
以下は、backup.cのコードです:(「backupbackupfoo」または「backuprestorefoo」で呼び出すことができます)
そして何か便利なもの:
debugging - バッファオーバーフローエラーがランダムに表示されてから消える
プログラムにいくつかの関数を追加した後、バッファオーバーフローエラーが突然表示されるプログラムの1つに問題があります。このエラーは、プログラムの最初に表示されました。このセクションは、私が追加した新しいコードとはまったく関係がありませんでした。バグの原因を絞り込むためにいくつかのブレークポイントを配置した後、次の実行でエラーは消えました。
誰かが私に、どのような状況が私が遭遇した問題を引き起こしたのかを簡単に概念的に説明できますか?私はあなたに私のコードをデバッグするように頼んでいるのではなく、何が起こったのかについての洞察を私に与えて、私が再び問題に遭遇するのを避けることができるようにします。