GNU āĻŦāĻŋāĻ¨ā§āĻŸāĻŋāĻ˛ āĻĒā§āĻ°āĻ•āĻžāĻļ 2.34

āĻœāĻŽāĻžāĻĻāĻžāĻ¨āĻ•āĻžāĻ°ā§€ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ‡āĻ‰āĻŸāĻŋāĻ˛āĻŋāĻŸāĻŋāĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ¸ā§‡āĻŸ āĻĒā§āĻ°āĻ•āĻžāĻļ āĻ•āĻ°āĻž GNU āĻŦāĻŋāĻ¨ā§āĻŸāĻŋāĻ˛āĻ¸ 2.34, āĻ¯āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ GNU āĻ˛āĻŋāĻ™ā§āĻ•āĻžāĻ°, GNU āĻ…ā§āĻ¯āĻžāĻ¸ā§‡āĻŽā§āĻŦāĻ˛āĻžāĻ°, nm, objdump, āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚āĻ¸, āĻ¸ā§āĻŸā§āĻ°āĻŋāĻĒā§‡āĻ° āĻŽāĻ¤ā§‹ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĨ¤

В āĻ¨āĻ¤ā§āĻ¨ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ:

  • āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻž āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ debuginfod, āĻ¯āĻž ELF/DWARF āĻĄāĻŋāĻŦāĻžāĻ—āĻŋāĻ‚ āĻ¤āĻĨā§āĻ¯ āĻāĻŦāĻ‚ āĻ‰ā§ŽāĻ¸ āĻ•ā§‹āĻĄ āĻĒā§āĻ°āĻĻāĻžāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ HTTP āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°āĨ¤ āĻĄāĻŋāĻŦāĻžāĻ—āĻŋāĻ¨āĻĢā§‹āĻĄ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¸āĻš āĻŦāĻŋāĻ¨ā§āĻŸāĻŋāĻ˛āĻ¸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻ°āĻŋāĻĄā§‡āĻ˛āĻĢ āĻāĻŦāĻ‚ āĻ…āĻŦāĻœā§‡āĻĄāĻžāĻŽā§āĻĒ āĻ‡āĻ‰āĻŸāĻŋāĻ˛āĻŋāĻŸāĻŋāĻ—ā§āĻ˛āĻŋ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ•āĻ°āĻž āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ…āĻ¨ā§āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻĄāĻŋāĻŦāĻžāĻ—āĻŋāĻ‚ āĻ¤āĻĨā§āĻ¯ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻ¤ā§‡ āĻĄāĻŋāĻŦāĻžāĻ—āĻŋāĻ¨āĻĢā§‹āĻĄ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻžāĻŦā§‡āĻļāĻ—ā§āĻ˛āĻŋ lies āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸā§‡ debuginfod āĻ¸āĻš binutils, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ "--with-debuginfod" āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻāĻŦāĻ‚ āĻ•āĻŋāĻŸā§‡ āĻ¸āĻ°āĻŦāĻ°āĻžāĻš āĻ•āĻ°āĻž libdebuginfod āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋāĻ¤ā§‡ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ elfutils;
  • āĻŸā§āĻ°āĻžāĻ¨āĻœāĻŋāĻļāĻ¨ā§‡āĻ° āĻ­āĻŋāĻœā§āĻ¯ā§āĻ¯āĻŧāĻžāĻ˛āĻžāĻ‡āĻœā§‡āĻļāĻ¨ āĻ¸āĻš ascii āĻ—ā§āĻ°āĻžāĻĢāĻŋāĻ•ā§āĻ¸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĄāĻŋāĻ¸āĻžāĻ¸ā§‡āĻŽā§āĻŦāĻ˛āĻžāĻ°ā§‡ "--visualize-jumps" āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻŸāĻŋ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¯āĻž āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ¸ā§āĻŸā§āĻ°ā§€āĻŽā§‡ āĻŸāĻžāĻ°ā§āĻ—ā§‡āĻŸ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ āĻāĻŦāĻ‚ āĻœāĻžāĻŽā§āĻĒ āĻ¸ā§‹āĻ°ā§āĻ¸ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•āĻ•ā§‡ āĻ¸ā§āĻĒāĻˇā§āĻŸāĻ­āĻžāĻŦā§‡ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ•āĻ°ā§‡āĨ¤ 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: | | āĻšāĻ¤ā§‡ 00 00 00 00 mov $0x0,%esi
    eb: | \—— eb de jmp cb
    ed: \———————-> 48 8b 16 mov (%rsi),%rdx

  • Z80 āĻ†āĻ°ā§āĻ•āĻŋāĻŸā§‡āĻ•āĻšāĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ ELF āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ…ā§āĻ¯āĻžāĻ¸ā§‡āĻŽā§āĻŦāĻ˛āĻžāĻ° āĻāĻŦāĻ‚ āĻ˛āĻŋāĻ™ā§āĻ•āĻžāĻ°ā§‡ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ (ADL āĻāĻŦāĻ‚ Z180 āĻŽā§‹āĻĄā§‡ Zilog Z80 āĻāĻŦāĻ‚ Zilog eZ80 āĻĒā§āĻ°āĻ¸ā§‡āĻ¸āĻ° āĻ¸āĻŽāĻ°ā§āĻĨāĻŋāĻ¤);
  • āĻ†āĻ°ā§āĻ•āĻžāĻ‡āĻ­ āĻĨā§‡āĻ•ā§‡ āĻāĻ•ā§āĻ¸āĻŸā§āĻ°āĻžāĻ•ā§āĻŸ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ "--āĻ†āĻ‰āĻŸāĻĒā§āĻŸ" āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻŸāĻŋ "ar" āĻ‡āĻ‰āĻŸāĻŋāĻ˛āĻŋāĻŸāĻŋāĻ¤ā§‡ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡;
  • "--āĻ•āĻŋāĻĒ-āĻ¸ā§‡āĻ•āĻļāĻ¨" āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻŸāĻŋ "objcopy" āĻāĻŦāĻ‚ "āĻ¸ā§āĻŸā§āĻ°āĻŋāĻĒ" āĻ‡āĻ‰āĻŸāĻŋāĻ˛āĻŋāĻŸāĻŋāĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻžāĻ¤ā§‡ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻŦāĻŋāĻ­āĻžāĻ—āĻŸāĻŋ āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻž āĻ¨āĻž āĻšāĻ¯āĻŧāĨ¤

āĻ‰āĻ¤ā§āĻ¸: opennet.ru

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨