私はもう試した
gdb --write --nx file
何をしても、プログラムを正常に終了させても、64 ビット バイナリの変更は書き込まれません。
32ビットで動作し、まったく同じコマンドと順序/シーケンスを使用し、「set {int} 0x0xxxxxx = 0xffffffff」を使用します
次に、quit と入力します (--write フラグで保存する必要があります)。
パーミッション: rwx-rxrx / 755
BFD (Binary File Descriptor) または別の内部コンポーネントがそれを許可していないのではないかと考え始めました。
述べたように(ここに):
また、基礎となる BFD 機能がサポートしている場合は、gdb -write を使用して、この手法を使用してオブジェクト ファイルにパッチを適用できます。この場合、gdb は再配置を解釈も変更もできないため、ブランチと一部の初期化された変数が間違った場所に移動するように見えることに注意してください。しかし、この機能は時々便利です。