slont_code -6ページ目

slont_code

// 人と知識をつなげるcode

GDBのシンタックスをAT&TからIntelに変えようと思い、.gdbinit
set dis intel
と書き込んでも上手くいかない時があります。その場合は
set disassembly-flavor intel
に変えると上手く動きます。.gdbinitはホームにあると思いますが、helpでも確認できると思います。
Cで適当なHelloWorldを書いて逆アセンブリして読んでいたんですが、
mov $0x40063c,%edi
と出るから、中身を見ようとした。
(gdb) info registers edi
Invalid register `edi'
うーん、そもそもこれ、64bitモードなんだけど、 edi って見れるのかな?っていう疑問。なんで他のレジスタは64ビットモードなのに、これだけ32ビットモードのレジスタ使ってるのか、わからない。

もしかしたらレジスタの使用領域が32ビット以下だと、表示が edi のようになって、実際のアクセスには rdi で指定しなければいけないのかもしれません(適当)。
ヒントになるかもしれないんで伏せてます
・PHPの脆弱性
・スクリプト実行
・ディレクトリ検索