elf

    1

    1答えて

    私のx86-64カーネルでは、.rodata ELFセクションを読み取り専用としてマップしようとしています。しかし、すべての文字列リテラルは、ファイル固有のセクションに格納されます。 .rodata.str1.8。 GCCが.rodataにすべての文字列を格納するオプションはありますか?.rodata.str.xをld,objdumpなどを使用して.rodataに連結することはできますか? ENT

    1

    1答えて

    私はここに簡単な質問を持っているシンプルなCプログラム(gcc -o file file.cpp)をコンパイルしobjdump -h fileを実行するには、次の出力が得られ、 12 .text 00000172 0000000000400400 0000000000400400 00000400 2**4 CONTENTS, ALLOC, LOAD, READONLY, C

    1

    1答えて

    私はcrosstool-NGを使ってgcc 6.3.0とglibc 2.25でPowerPCツールチェーンを作成しました。 int main() { return 0; } Iコマンドでそれをコンパイル:私は次のテストプログラム、TEST.Cを有する powerpc-unknown-linux-gnu-gcc -s -Os -o test test.c 最終バイナリが予想よりもはるかに大き

    0

    1答えて

    Linuxマシンに2つのELFバイナリがあります。私は彼らにfileを実行すると、私は次のことを受け取る: File#1: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), statically linked, for GNU/Linux 2.2.0, not stripped File#2: ELF 32-bit LSB exec

    1

    1答えて

    .rodataセクションは定数データをELFファイルに保存しています。しかし、私がカーネルモジュールのELFをダンプすると、rodata.str1.8とrodata.str1.1という2つの余分なセクションがあることがわかりました。これらの2つのセクションには定数変数と文字列も格納されているようです。しかし、これらの3つの違いは何ですか?rodata?

    0

    1答えて

    メタモルフィックは、バイナリを難読化し、オペコードシーケンスを変更し、同じ機能を持つ新しいサンプルを作成する技術です。私の場合、ARMプロセッサタイプのelfバイナリをいくつか持っており、そのソースコードにはアクセスできません。それらを難読化し、同じ機能を持つ新しいサンプルを作成する方法はありますか?

    2

    1答えて

    私はyasmを使って簡単なELFプログラムを構築しようとしています。しかし、私はVMAアドレスが0ではなく0x1000から始まるように.TEXTセクションをターゲットにする方法を理解できません。私はSTARTとORGディレクティブを使用しようとしましたが、これらはターゲティング時にのみ有効ですビン、エルフじゃない。これはヤスムでできますか?

    1

    1答えて

    私は環境のような組み込みOSを使っているので、バイナリのサイズはできるだけ小さくする必要があります。実行可能ファイルとして単純なフラット・バイナリ・ファイルを使用していましたが、今はELFを使用しようとしています。私はアセンブリコードを使用していますが、ldとリンクしています。アセンブリコード: CPU i386 BITS 32 SECTION .text progbits alloc exe

    1

    1答えて

    私のC++アプリケーションの.text開始とサイズを知りたい。私はこれに関する関連トピック(link)を読んでいましたが、私は自分が望むことをすることができません。私のサンプルプログラムのreadelfが出力を分析 私はこれだ:だから私は私のプログラムの.textセクションは0x400830アドレスから開始することを理解 Section Headers: [Nr] Name Type

    0

    1答えて

    テスト目的のために、llvmリンカによって生成されたPLTスタブlldを修正しました。 前スタブされました:この(オリジナル)のスタブとobjdumpでそれを検査してプログラムをリンクする 0xff, 0x25, 0x00, 0x00, 0x00, 0x00, // jmpq *got(%rip) 0x68, 0x00, 0x00, 0x00, 0x00, // pushq <relocati