ポインタ変数造句
- (2)関数引数をローカル変数へコピーすることで,ポインタ変数を防御した.
(2)通过将函数位相复制到局部变量,防御了指针变量。 - (1)ローカル変数内の配置を換えることで,ポインタ変数を防御した.
(1)通过变换局部变量内的配置,防御了指针变量。 - それゆえ領域(C)中のポインタ変数を改ざんできない.
因此,位置(C)的指针变量无法被修改。 - 関数ポインタ以外のポインタ変数も攻撃対象となる.
函数指针以外的指针变量也成为攻击对象。 - 入力プログラムはCプログラムなので,共有アドレスがポインタ変数に代入されたり,手続き間で使用される可能性がある.
输入程序为C程序,共有地址中代入指示变量,有可能在过程间使用。 - (2)「関数フレームの外にあるポインタ変数を狙った攻撃は成立しない」攻撃が成立するのは次の2つの条件が成立したときである.
(2)“以在函数帧之外的指针变量为目的的攻击不成立”攻击成立是在如下的2个条件成立的时候。 - (3)「関数フレーム内のポインタ変数を狙った攻撃は成功しない」領域(B)はバッファオーバフローの基点となる唯一の領域である.
(3)“在函数帧中对指针变量的攻击将不会成功”位置(B)是成为缓冲区溢出基点的唯一领域。 - (A)の変換処理はRTLで割り当てられているスタックレイアウトに対して,guard変数の挿入,ローカル変数中のバッファとポインタ変数の配置変更,ポインタ宣言された引数をローカル変数に追加する.
对于(A)的变换处理在RTL上被分配的堆栈布局,guard变量的插入,局部变量中的缓冲和指针变量的配置变更,将被指针宣告的位相追加到局部变量上。 - 改良点は,(1)ローカル変数中に現れるポインタ変数がスタック破壊で操作されないように,スタック上の配置を変更すること,(2)関数の引数に現れるポインタ変数がスタック破壊で操作されないように,ローカル変数に複製し,複製した変数を使用すること,(3)検出機構のオーバヘッドを減らすため,ある条件の関数ではプロテクションコードの生成をやめること,の3点である.
改良点为以下3点:(1)为了使局部变量中出现的指针变量不被施以叠加破坏操作,变更叠加上的配置,(2)为了使函数自变量中出现的指针变量不以叠加破坏被操作,复制为局部变量,使用复制的变量,(3)为了减少检验装置的架空,停止在某种条件函数下保护码的生成。 - 改良点は,(1)ローカル変数中に現れるポインタ変数がスタック破壊で操作されないように,スタック上の配置を変更すること,(2)関数の引数に現れるポインタ変数がスタック破壊で操作されないように,ローカル変数に複製し,複製した変数を使用すること,(3)検出機構のオーバヘッドを減らすため,ある条件の関数ではプロテクションコードの生成をやめること,の3点である.
改良点为以下3点:(1)为了使局部变量中出现的指针变量不被施以叠加破坏操作,变更叠加上的配置,(2)为了使函数自变量中出现的指针变量不以叠加破坏被操作,复制为局部变量,使用复制的变量,(3)为了减少检验装置的架空,停止在某种条件函数下保护码的生成。 - 用ポインタ変数造句挺难的,這是一个万能造句的方法
- 環境変数HOMEに値41(アスキーコードで’A’)が128バイト,値1が4バイト,値2が4バイト,値3が4バイトの140文字が設定されていると,関数strcpyの終了後bufferは128文字の’A’が,ポインタ変数lvarは16進数で0x01010101が,PFPは16進数で0x02020202が,リターンアドレスは16進数で0x03030303になる.
如果在环境变量HOME方面设定值41(ASCII码的话为’A’)是128字节的140字符,值1为4字节的140字符,值2为4字节的140字符,值3为4字节的140字符,则函数strcpy完成后,buffer中128字符的’A’,指针变量lvar变成16进制的0x01010101, PFP变为16进制的0x02020202,返回地址变为0x03030303。