เบเบฒเบ™เบ›เปˆเบญเบ GNU Binutils 2.34

เปเบ™เบฐเบ™เบณ เบเบฒเบ™โ€‹เบ›เปˆเบญเบโ€‹เบŠเบธเบ”โ€‹เบ‚เบญเบ‡โ€‹เบญเบธโ€‹เบ›เบฐโ€‹เบเบญเบ™โ€‹เบฅเบฐโ€‹เบšเบปเบšโ€‹ GNU Binutils 2.34, เป€เบŠเบดเปˆเบ‡เบ›เบฐเบเบญเบšเบกเบตเป‚เบ›เบผเปเบเบผเบกเป€เบŠเบฑเปˆเบ™ GNU linker, GNU assembler, nm, objdump, strings, strip.

ะ’ เปƒเบซเบกเปˆ เบฎเบธเปˆเบ™:

  • เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™ debuginfod, เป€เบŠเบดเปˆเบ‡เป€เบ›เบฑเบ™เป€เบŠเบตเบšเป€เบงเบต HTTP เบชเบณเบฅเบฑเบšเบเบฒเบ™เบชเบปเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™เบเบฒเบ™เบ”เบตเบšเบฑเบ ELF/DWARF เปเบฅเบฐเบฅเบฐเบซเบฑเบ”เปเบซเบผเปˆเบ‡. เป€เบกเบทเปˆเบญเบชเป‰เบฒเบ‡ Binutils เบ”เป‰เบงเบเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ debuginfod, readelf เปเบฅเบฐ objdump utilities เบชเบฒเบกเบฒเบ”เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ debuginfod เป€เบžเบทเปˆเบญเบ”เบฒเบงเป‚เบซเบฅเบ”เบ‚เปเป‰เบกเบนเบ™ debuggging เบ—เบตเปˆเบ‚เบฒเบ”เบซเบฒเบเป„เบ›เบเปˆเบฝเบงเบเบฑเบšเป„เบŸเบฅเปŒเบ—เบตเปˆเบเปเบฒเบฅเบฑเบ‡เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™. เบชเปเบฒเบฅเบฑเบš เบชเบฐเบžเบฒเปเบซเปˆเบ‡ binutils เบเบฑเบš debuginfod เปƒเบ™เบชเบฐเบ„เบดเบš configure, เบ—เปˆเบฒเบ™เบ„เบงเบ™เบฅเบฐเบšเบธเบ—เบฒเบ‡เป€เบฅเบทเบญเบ "--with-debuginfod" เปเบฅเบฐเบชเบฐเบซเบ™เบญเบ‡เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ” libdebuginfod เบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰เปƒเบ™เบŠเบธเบ”. elfutils;
  • เบ—เบฒเบ‡เป€เบฅเบทเบญเบ "--visualize-jumps" เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเป€เบ‚เบปเป‰เบฒเปƒเบ™ disassembler (objdump โ€”disassemble) เป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡เบเบฒเบŸเบดเบ ascii เบ”เป‰เบงเบเบเบฒเบ™เป€เบšเบดเปˆเบ‡เป€เบซเบฑเบ™เบžเบฒเบšเบ‚เบญเบ‡เบเบฒเบ™เบซเบฑเบ™เบ›เปˆเบฝเบ™, เป€เบŠเบดเปˆเบ‡เบเปเบฒเบ™เบปเบ”เบ„เบงเบฒเบกเบชเปเบฒเบžเบฑเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบˆเบธเบ”เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเปเบฅเบฐเปเบซเบผเปˆเบ‡เป‚เบ”เบ”เปƒเบ™เบชเบฒเบเบ„เปเบฒเบชเบฑเปˆเบ‡. Visualization เป€เบฎเบฑเบ”เบงเบฝเบเบชเปเบฒเบฅเบฑเบšเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐ x86, x86_64 เปเบฅเบฐ ARM;

    c6: | | \โ€”โ€”โ€”โ€”-> เป€เบ›เบฑเบ™ 00 00 00 00 mov $0x0,%esi
    cb: | | /โ€”-> 48 8b 3d 00 00 00 00 mov 0x0(%rip),%rdi # d2
    d2: | | | 31 c0 xor %eax,%eax
    d4: | | | //โ€”e8 00 00 00 00 callq d9
    d9: | | | \-> bf 02 00 00 00 mov $0x2,%edi
    de: | +โ€”โ€”โ€”โ€”|โ€”โ€” e8 00 00 00 00 callq e3
    e3: | \โ€”โ€”โ€”โ€”|โ€”-> 48 89 da mov %rbx,%rdx
    e6: | | be 00 00 00 00 mov $0x0,%esi
    eb: | \โ€”โ€” eb de jmp cb
    ed: \โ€”โ€”โ€”โ€”โ€”โ€”-> 48 8b 16 mov (%rsi), %rdx

  • เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เบชเป‰เบฒเบ‡เป„เบŸเบฅเปŒ ELF เบชเปเบฒเบฅเบฑเบšเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐ Z80 เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเป€เบ‚เบปเป‰เบฒเปƒเบ™เบ•เบปเบงเบ›เบฐเบเบญเบšเปเบฅเบฐเบ•เบปเบงเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ (เป‚เบ›เป€เบŠเบ”เป€เบŠเบต Zilog Z180 เปเบฅเบฐ Zilog eZ80 เปƒเบ™เป‚เบซเบกเบ” ADL เปเบฅเบฐ Z80 เปเบกเปˆเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™);
  • เบ—เบฒเบ‡เป€เบฅเบทเบญเบ "--output" เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเป€เบ‚เบปเป‰เบฒเปƒเบ™ "ar" utility เป€เบžเบทเปˆเบญเบฅเบฐเบšเบธเป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเบฐเบเบฑเบ”เบˆเบฒเบเบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™;
  • เบ—เบฒเบ‡เป€เบฅเบทเบญเบ "--keep-section" เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเป€เบ‚เบปเป‰เบฒเปƒเบ™ "objcopy" เปเบฅเบฐ "strip" utilities เป€เบžเบทเปˆเบญเบ›เป‰เบญเบ‡เบเบฑเบ™เบšเปเปˆเปƒเบซเป‰เบžเบฒเบเบชเปˆเบงเบ™เบ—เบตเปˆเบฅเบฐเบšเบธเป„เบงเป‰เบˆเบฒเบเบเบฒเบ™เบ–เบทเบเบฅเบถเบš.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™