私はi386
バイナリを持っており、実行する機会がありません。 otool -tv
は言う:EBPに対して非常に正のオフセット
一部funcitonや方法を:
0001a1e0 pushl %ebp ; just prolog
0001a1e1 movl %esp,%ebp ; save old ESP
0001a1e3 pushl %edi ; save EDI, ESI, EBX
0001a1e4 pushl %esi ;
0001a1e5 pushl %ebx ;
0001a1e6 subl $0x4c,%esp ; allocate 0x4c bytes for local puproses
... ; etc
どこか
0001a20e leal 0xe0(%ebp),%eax ; load an address into EAX
以下の命令は私を失望しています! 0xe0(%ebp)
は?私はこれが正のオフセットのためにローカル変数ではないと思います。そのようなアクセスはすべてotool
出力の間で見ることができます。それをどのように解釈するのですか?あなたがバイト列にleal 0xe0(%ebp),%eax
を変換する場合
使用された(1バイト)番号で表示されていても、e0が符号付き数値として使用されていると思われます。符号付き数値としてはe0が負となります。 –