เชชเซ‹เชฐเซเชŸเซ‡เชฌเชฒ เชเช•เซเชเชฟเช•เซเชฏเซเชŸเซ‡เชฌเชฒ เชซเชพเช‡เชฒเซ‹ เชฎเชพเชŸเซ‡ เชตเชฟเช•เชธเชฟเชค เชชเซเชฐเชฎเชพเชฃเชญเซ‚เชค C เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€ เช•เซ‹เชธเซเชฎเซ‹เชชเซ‹เชฒเชฟเชŸเชจ 2.0เชจเซเช‚ เชชเซเชฐเช•เชพเชถเชจ

เช•เซ‹เชธเซเชฎเซ‹เชชเซ‹เชฒเชฟเชŸเชจ 2.0 เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชจเซเช‚ เชชเซเชฐเช•เชพเชถเชจ เชชเซเชฐเช•เชพเชถเชฟเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เช›เซ‡, เชœเซ‡ เชธเซเชŸเชพเชจเซเชกเชฐเซเชก C เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€ เช…เชจเซ‡ เชธเชพเชฐเซเชตเชคเซเชฐเชฟเช• เชเช•เซเชเชฟเช•เซเชฏเซเชŸเซ‡เชฌเชฒ เชซเชพเช‡เชฒ เชซเซ‹เชฐเซเชฎเซ‡เชŸ เชตเชฟเช•เชธเชพเชตเซ‡ เช›เซ‡ เชœเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชฆเซเชญเชพเชทเชฟเชฏเชพ เช…เชจเซ‡ เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชฎเชถเซ€เชจเซ‹เชจเชพ เช‰เชชเชฏเซ‹เช— เชตเชฟเชจเชพ เชตเชฟเชตเชฟเชง เช‘เชชเชฐเซ‡เชŸเชฟเช‚เช— เชธเชฟเชธเซเชŸเชฎเซเชธ เชฎเชพเชŸเซ‡ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเซเชธเชจเซเช‚ เชตเชฟเชคเชฐเชฃ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฅเชˆ เชถเช•เซ‡ เช›เซ‡. GCC เช…เชจเซ‡ Clang เชฎเชพเช‚ เช•เชฎเซเชชเชพเชˆเชฒ เช•เชฐเซ€เชจเซ‡ เชฎเซ‡เชณเชตเซ‡เชฒ เชชเชฐเชฟเชฃเชพเชฎ เชธเซเชŸเซ‡เชŸเชฟเช•เชฒเซ€ เชฒเชฟเช‚เช•เซเชก เชฏเซเชจเชฟเชตเชฐเซเชธเชฒ เชเช•เซเชเชฟเช•เซเชฏเซเชŸเซ‡เชฌเชฒ เชซเชพเชˆเชฒเชฎเชพเช‚ เช•เชฎเซเชชเชพเชˆเชฒ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เชœเซ‡ เช•เซ‹เชˆเชชเชฃ Linux เชตเชฟเชคเชฐเชฃ, macOS, Windows, FreeBSD, OpenBSD, NetBSD, เช…เชจเซ‡ BIOS เชฎเชพเช‚เชฅเซ€ เช•เซ‰เชฒ เชชเชฃ เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡. เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เช•เซ‹เชก ISC เชฒเชพเชฏเชธเชจเซเชธ (MIT/BSD เชจเซเช‚ เชธเชฐเชณ เชธเช‚เชธเซเช•เชฐเชฃ) เชนเซ‡เช เชณ เชตเชฟเชคเชฐเชฟเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡.

เชฏเซเชจเชฟเชตเชฐเซเชธเชฒ เชเช•เซเชเชฟเช•เซเชฏเซเชŸเซ‡เชฌเชฒ เชซเชพเช‡เชฒเซ‹ เชœเชจเชฐเซ‡เชŸ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡เชจเซเช‚ เช•เชจเซเชŸเซ‡เชจเชฐ เชตเชฟเชตเชฟเชง เช“เชชเชฐเซ‡เชŸเชฟเช‚เช— เชธเชฟเชธเซเชŸเชฎเซเชธ (PE, ELF, MACHO, OPENBSD) เชฎเชพเชŸเซ‡ เชตเชฟเชถเชฟเชทเซเชŸ เชธเซ‡เช—เชฎเซ‡เชจเซเชŸเซเชธ เช…เชจเซ‡ เชนเซ‡เชกเชฐเซ‹เชจเซ‡ เชเช• เชซเชพเช‡เชฒเชฎเชพเช‚, เชฏเซเชจเชฟเช•เซเชธ, เชตเชฟเชจเซเชกเซ‹เช เช…เชจเซ‡ เชฎเซ‡เช•เช“เชเชธเชฎเชพเช‚ เช‰เชชเชฏเซ‹เช—เชฎเชพเช‚ เชฒเซ‡เชตเชพเชคเชพ เชตเชฟเชตเชฟเชง เชซเซ‹เชฐเซเชฎเซ‡เชŸเชจเซ‡ เชธเช‚เชฏเซ‹เชœเชฟเชค เช•เชฐเชตเชพ เชชเชฐ เช†เชงเชพเชฐเชฟเชค เช›เซ‡. เชตเชฟเชจเซเชกเซ‹เช เช…เชจเซ‡ เชฏเซเชจเชฟเช•เซเชธ เชธเชฟเชธเซเชŸเชฎเซเชธ เชชเชฐ เชเช• เชœ เชเช•เซเชเชฟเช•เซเชฏเซเชŸเซ‡เชฌเชฒ เชซเชพเช‡เชฒ เชšเชพเชฒเซ‡ เช›เซ‡ เชคเซ‡เชจเซ€ เช–เชพเชคเชฐเซ€ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชฅเซ‹เชฎเซเชชเชธเชจ เชถเซ‡เชฒ "#!" เชธเซเช•เซเชฐเชฟเชชเซเชŸ เชฎเชพเชฐเซเช•เชฐเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชคเซเช‚ เชจเชฅเซ€ เชคเซ‡ เชนเช•เซ€เช•เชคเชจเซ‹ เชฒเชพเชญ เชฒเชˆเชจเซ‡, เชถเซ‡เชฒ เชธเซเช•เซเชฐเชฟเชชเซเชŸเซเชธ เชคเชฐเซ€เช•เซ‡ Windows PE เชซเชพเช‡เชฒเซ‹เชจเซ‡ เชเชจเซเช•เซ‹เชก เช•เชฐเชตเชพเชจเซ€ เชฏเซเช•เซเชคเชฟ เช›เซ‡. เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเซเชธ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชœเซ‡เชฎเชพเช‚ เช˜เชฃเซ€ เชซเชพเช‡เชฒเซ‹ เชถเชพเชฎเซ‡เชฒ เชนเซ‹เชฏ (เชคเชฎเชพเชฎ เชธเช‚เชธเชพเชงเชจเซ‹เชจเซ‡ เชเช• เชซเชพเช‡เชฒเชฎเชพเช‚ เชฒเชฟเช‚เช• เช•เชฐเซ€เชจเซ‡), เชคเซ‡ เช–เชพเชธ เชกเชฟเชเชพเช‡เชจ เช•เชฐเชพเชฏเซ‡เชฒ เชเซ€เชช เช†เชฐเซเช•เชพเช‡เชตเชจเชพ เชฐเซ‚เชชเชฎเชพเช‚ เชเช•เซเชเชฟเช•เซเชฏเซเชŸเซ‡เชฌเชฒ เชซเชพเช‡เชฒเชจเซ€ เชฐเชšเชจเชพเชจเซ‡ เชธเชฎเชฐเซเชฅเชจ เช†เชชเซ‡ เช›เซ‡. เชธเซ‚เชšเชฟเชค เชซเซ‹เชฐเซเชฎเซ‡เชŸเชจเซ€ เชฏเซ‹เชœเชจเชพ (เช‰เชฆเชพเชนเชฐเชฃ hello.com เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ):

MZqFpD='BIOS เชฌเซเชŸ เชธเซ‡เช•เซเชŸเชฐ' exec 7 $(command -v $0) printf '\177ELF...LINKER-ENCODED-FREEBSD-HEADER' >&7 exec "$0" "$@" exec qemu-x86_64 "$0" "$ @" 1 เชฐเซ€เช…เชฒ เชฎเซ‹เชกเชฎเชพเช‚เชฅเซ€ เชฌเชนเชพเชฐ เชจเซ€เช•เชณเซ‹โ€ฆ ELF เชธเซ‡เช—เชฎเซ‡เชจเซเชŸเซเชธโ€ฆ OPENBSD เชจเซ‹เช‚เชงโ€ฆ เชฎเชพเชšเซ‹ เชนเซ‡เชกเชฐเซเชธโ€ฆ เช•เซ‹เชก เช…เชจเซ‡ เชกเซ‡เชŸเชพโ€ฆ เชเซ€เชช เชกเชพเชฏเชฐเซ‡เช•เซเชŸเชฐเซ€โ€ฆ

เชซเชพเช‡เชฒเชจเซ€ เชถเชฐเซ‚เช†เชคเชฎเชพเช‚, โ€œMZqFpDโ€ เชฒเซ‡เชฌเชฒ เชฆเชฐเซเชถเชพเชตเซ‡เชฒ เช›เซ‡, เชœเซ‡ Windows PE เชซเซ‹เชฐเซเชฎเซ‡เชŸ เชนเซ‡เชกเชฐ เชคเชฐเซ€เช•เซ‡ เชœเซ‹เชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เช† เช•เซเชฐเชฎ เชชเชฃ เชธเซ‚เชšเชจเชพ โ€œpop %r10; jno 0x4a ; jo 0x4a", เช…เชจเซ‡ เชธเซ‚เชšเชจเชพ "jg 177x0" เชฎเชพเชŸเซ‡ "\47ELF" เชฒเชพเช‡เชจ, เชœเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชเชจเซเชŸเซเชฐเซ€ เชชเซ‹เชˆเชจเซเชŸ เชชเชฐ เชซเซ‹เชฐเชตเชฐเซเชก เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฅเชพเชฏ เช›เซ‡. เชฏเซเชจเชฟเช•เซเชธ เชธเชฟเชธเซเชŸเชฎเซเชธ เชถเซ‡เชฒ เช•เซ‹เชก เชšเชฒเชพเชตเซ‡ เช›เซ‡ เชœเซ‡ exec เช†เชฆเซ‡เชถเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡, เชเช•เซเชเซ‡เช•เซเชฏเซเชŸเซ‡เชฌเชฒ เช•เซ‹เชกเชจเซ‡ เชจเชพเชฎ เชตเช—เชฐเชจเชพ เชชเชพเช‡เชช เชฆเซเชตเชพเชฐเชพ เชชเชธเชพเชฐ เช•เชฐเซ‡ เช›เซ‡. เชธเซ‚เชšเชฟเชค เชชเชฆเซเชงเชคเชฟเชจเซ€ เชฎเชฐเซเชฏเชพเชฆเชพ เช เชฏเซเชจเชฟเช•เซเชธ-เชœเซ‡เชตเซ€ เช“เชชเชฐเซ‡เชŸเชฟเช‚เช— เชธเชฟเชธเซเชŸเชฎเซ‹ เชชเชฐ เชฎเชพเชคเซเชฐ เชถเซ‡เชฒเซเชธเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชšเชฒเชพเชตเชตเชพเชจเซ€ เช•เซเชทเชฎเชคเชพ เช›เซ‡ เชœเซ‡ เชฅเซ‹เชฎเซเชชเชธเชจ เชถเซ‡เชฒ เชธเซเชธเช‚เช—เชคเชคเชพ เชฎเซ‹เชกเชจเซ‡ เชธเชชเซ‹เชฐเซเชŸ เช•เชฐเซ‡ เช›เซ‡.

qemu-x86_64 เช•เซ‰เชฒ เชตเชงเชพเชฐเชพเชจเซ€ เชชเซ‹เชฐเซเชŸเซ‡เชฌเชฟเชฒเชฟเชŸเซ€ เชชเซเชฐเชฆเชพเชจ เช•เชฐเซ‡ เช›เซ‡ เช…เชจเซ‡ x86_64 เช†เชฐเซเช•เชฟเชŸเซ‡เช•เซเชšเชฐ เชฎเชพเชŸเซ‡ เชธเช‚เช•เชฒเชฟเชค เช•เซ‹เชกเชจเซ‡ เชฌเชฟเชจ-x86 เชชเซเชฒเซ‡เชŸเชซเซ‹เชฐเซเชฎเซเชธ เชชเชฐ เชšเชฒเชพเชตเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡, เชœเซ‡เชฎ เช•เซ‡ เชฐเชพเชธเซเชชเชฌเซ‡เชฐเซ€ เชชเซ€ เชฌเซ‹เชฐเซเชก เช…เชจเซ‡ เชเช†เชฐเชเชฎ เชชเซเชฐเซ‹เชธเซ‡เชธเชฐเซเชธเชฅเซ€ เชธเชœเซเชœ Apple เช‰เชชเช•เชฐเชฃเซ‹. เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเชจเซ‹ เช‰เชชเชฏเซ‹เช— เชธเซเชตเชฏเช‚-เชธเชฎเชพเชฏเซ‡เชฒ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเซเชธ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชชเชฃ เชฅเชˆ เชถเช•เซ‡ เช›เซ‡ เชœเซ‡ เช“เชชเชฐเซ‡เชŸเชฟเช‚เช— เชธเชฟเชธเซเชŸเชฎ (เชฌเซ‡เชฐ เชฎเซ‡เชŸเชฒ) เชตเช—เชฐ เชšเชพเชฒเซ‡ เช›เซ‡. เช†เชตเซ€ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเซเชธเชฎเชพเช‚, เชเช•เซเชเซ‡เช•เซเชฏเซเชŸเซ‡เชฌเชฒ เชซเชพเช‡เชฒ เชธเชพเชฅเซ‡ เชฌเซเชŸเชฒเซ‹เชกเชฐ เชœเซ‹เชกเชพเชฏเซ‡เชฒ เช›เซ‡, เช…เชจเซ‡ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎ เชฌเซเชŸ เช•เชฐเซ€ เชถเช•เชพเชฏ เชคเซ‡เชตเซ€ เช“เชชเชฐเซ‡เชŸเชฟเช‚เช— เชธเชฟเชธเซเชŸเชฎ เชคเชฐเซ€เช•เซ‡ เช•เชพเชฐเซเชฏ เช•เชฐเซ‡ เช›เซ‡.

เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชฆเซเชตเชพเชฐเชพ เชตเชฟเช•เชธเชฟเชค เชชเซเชฐเชฎเชพเชฃเชญเซ‚เชค C เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€ libc 2024 เชซเช‚เช•เซเชถเชจ เช“เชซเชฐ เช•เชฐเซ‡ เช›เซ‡ (เชชเซเชฐเชฅเชฎ เชฐเชฟเชฒเซ€เชเชฎเชพเช‚ เชฒเช—เชญเช— 1400 เชซเช‚เช•เซเชถเชจเซเชธ เชนเชคเชพ). เช•เชพเชฐเซเชฏเช•เซเชทเชฎเชคเชพเชจเชพ เชธเช‚เชฆเชฐเซเชญเชฎเชพเช‚, เช•เซ‹เชธเซเชฎเซ‹เชชเซ‹เชฒเชฟเชŸเชจ เช glibc เชœเซ‡เชŸเชฒเซ€ เชเชกเชชเชฅเซ€ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡ เชฎเซเชธเชฒ เช…เชจเซ‡ เชจเซเชฏเซเชฒเชฟเชฌ เช•เชฐเชคเชพเช‚ เชจเซ‹เช‚เชงเชชเชพเชคเซเชฐ เชฐเซ€เชคเซ‡ เช†เช—เชณ เช›เซ‡, เช เชนเช•เซ€เช•เชค เชนเซ‹เชตเชพ เช›เชคเชพเช‚ เช•เซ‡ เช•เซ‹เชธเซเชฎเซ‹เชชเซ‹เชฒเชฟเชŸเชจ เช glibc เช•เชฐเชคเชพเช‚ เช•เซ‹เชก เช•เชฆเชฎเชพเช‚ เชจเชพเชจเซ‹ เช•เซเชฐเชฎ เช›เซ‡ เช…เชจเซ‡ เชฒเช—เชญเช— เชฎเซเชธเชฒ เช…เชจเซ‡ เชจเซเชฏเซเชฒเชฟเชฌเชจเซ‡ เช…เชจเซเชฐเซ‚เชช เช›เซ‡. memcpy เช…เชจเซ‡ strlen เชœเซ‡เชตเชพ เชตเชพเชฐเช‚เชตเชพเชฐ เช•เชนเซ‡เชตเชพเชคเชพ เชซเช‚เช•เซเชถเชจเชจเซ‡ เช‘เชชเซเชŸเชฟเชฎเชพเช‡เช เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, "เชŸเซเชฐเชฟเช•เชฒ-เชกเชพเช‰เชจ เชชเชฐเซเชซเซ‹เชฐเซเชฎเชจเซเชธ" เชคเช•เชจเซ€เช•เชจเซ‹ เชตเชงเชพเชฐเชพเชฎเชพเช‚ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชœเซ‡เชฎเชพเช‚ เชซเช‚เช•เซเชถเชจเชจเซ‡ เช•เซ‰เชฒ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฎเซ‡เช•เซเชฐเซ‹ เชฌเชพเชˆเชจเซเชกเชฟเช‚เช—เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชœเซ‡เชฎเชพเช‚ เช•เชฎเซเชชเชพเชˆเชฒเชฐเชจเซ‡ เช•เซ‹เชก เชเช•เซเชเชฟเช•เซเชฏเซเชถเชจเชฎเชพเช‚ เชธเชพเชฎเซ‡เชฒ CPU เชฐเชœเชฟเชธเซเชŸเชฐ เชตเชฟเชถเซ‡ เชœเชพเชฃ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ, เชœเซ‡ เชฎเชพเชคเซเชฐ เชซเซ‡เชฐเชซเชพเชฐ เช•เชฐเซ€ เชถเช•เชพเชฏ เชคเซ‡เชตเชพ เชฐเชœเซ€เชธเซเชŸเชฐเซ‹เชจเซ‡ เชธเชพเชšเชตเซ€เชจเซ‡ CPU เชธเซเชฅเชฟเชคเชฟเชจเซ‡ เชธเชพเชšเชตเชคเซ€ เชตเช–เชคเซ‡ เชธเช‚เชธเชพเชงเชจเซ‹เชจเซ‡ เชฌเชšเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชชเชฐเชตเชพเชจเช—เซ€ เช†เชชเซ‡ เช›เซ‡.

เชจเชตเชพ เชชเซเชฐเช•เชพเชถเชจเชฎเชพเช‚ เชซเซ‡เชฐเชซเชพเชฐเซ‹ เชชเซˆเช•เซ€:

  • เชเชฟเชช เชซเชพเช‡เชฒเชจเซ€ เช…เช‚เชฆเชฐ เช†เช‚เชคเชฐเชฟเช• เชธเช‚เชธเชพเชงเชจเซ‹เชจเซ‡ เชเช•เซเชธเซ‡เชธ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡เชจเซ€ เชฏเซ‹เชœเชจเชพ เชฌเชฆเชฒเชพเชˆ เช—เชˆ เช›เซ‡ (เชซเชพเชˆเชฒเซ‹ เช–เซ‹เชฒเชคเซ€ เชตเช–เชคเซ‡, zip:.. เช‰เชชเชธเชฐเซเช—เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชจเซ‡ เชฌเชฆเชฒเซ‡ เชนเชตเซ‡ เชธเชพเชฎเชพเชจเซเชฏ /zip/... เชชเชพเชฅเชจเซ‹ เช‰เชชเชฏเซ‹เช— เชฅเชพเชฏ เช›เซ‡). เชคเซ‡เชตเซ€ เชœ เชฐเซ€เชคเซ‡, เชตเชฟเชจเซเชกเซ‹เชเชฎเชพเช‚ เชกเชฟเชธเซเช•เชจเซ‡ เชเช•เซเชธเซ‡เชธ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, "C:/..." เชจเซ‡ เชฌเชฆเชฒเซ‡ "/c/..." เชœเซ‡เชตเชพ เชชเชพเชฅเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเซ‹ เชถเช•เซเชฏ เช›เซ‡.
  • เชเช• เชจเชตเซเช‚ APE (เช–เชฐเซ‡เช–เชฐ เชชเซ‹เชฐเซเชŸเซ‡เชฌเชฒ เชเช•เซเชเชฟเช•เซเชฏเซเชŸเซ‡เชฌเชฒ) เชฒเซ‹เชกเชฐ เชชเซเชฐเชธเซเชคเชพเชตเชฟเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เช›เซ‡, เชœเซ‡ เชฏเซเชจเชฟเชตเชฐเซเชธเชฒ เชเช•เซเชเชฟเช•เซเชฏเซเชŸเซ‡เชฌเชฒ เชซเชพเช‡เชฒเซ‹เชจเชพ เชซเซ‹เชฐเซเชฎเซ‡เชŸเชจเซ‡ เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เช•เชฐเซ‡ เช›เซ‡. เชจเชตเซเช‚ เชฒเซ‹เชกเชฐ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชจเซ‡ เชฎเซ‡เชฎเชฐเซ€เชฎเชพเช‚ เชฎเซ‚เช•เชตเชพ เชฎเชพเชŸเซ‡ mmap เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡ เช…เชจเซ‡ เชซเซเชฒเชพเชฏ เชชเชฐเชจเชพ เชธเชฎเชพเชตเชฟเชทเซเชŸเซ‹เชจเซ‡ เชนเชตเซ‡ เชฌเชฆเชฒเชคเซเช‚ เชจเชฅเซ€. เชœเซ‹ เชœเชฐเซ‚เชฐเซ€ เชนเซ‹เชฏ เชคเซ‹, เชธเชพเชฐเซเชตเชคเซเชฐเชฟเช• เชเช•เซเชเชฟเช•เซเชฏเซเชŸเซ‡เชฌเชฒ เชซเชพเช‡เชฒเชจเซ‡ เชตเซเชฏเช•เซเชคเชฟเช—เชค เชชเซเชฒเซ‡เชŸเชซเซ‹เชฐเซเชฎ เชธเชพเชฅเซ‡ เชœเซ‹เชกเชพเชฏเซ‡เชฒ เชจเชฟเชฏเชฎเชฟเชค เชเช•เซเชเชฟเช•เซเชฏเซเชŸเซ‡เชฌเชฒ เชซเชพเช‡เชฒเซ‹เชฎเชพเช‚ เชฐเซ‚เชชเชพเช‚เชคเชฐเชฟเชค เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡.
  • Linux เชชเซเชฒเซ‡เชŸเชซเซ‹เชฐเซเชฎ เชชเชฐ, APE เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎ เชšเชฒเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ binfmt_misc เช•เชฐเซเชจเชฒ เชฎเซ‹เชกเซเชฏเซเชฒเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเซ‹ เชถเช•เซเชฏ เช›เซ‡. เชคเซ‡ เชจเซ‹เช‚เชงเซเชฏเซเช‚ เช›เซ‡ เช•เซ‡ binfmt_misc เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช เชธเซŒเชฅเซ€ เชเชกเชชเซ€ เชฒเซ‹เชจเซเชš เชชเชฆเซเชงเชคเชฟ เช›เซ‡.
  • Linux เชฎเชพเชŸเซ‡, OpenBSD เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชฆเซเชตเชพเชฐเชพ เชตเชฟเช•เชธเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡เชฒ เชชเซเชฐเชคเชฟเชœเซเชžเชพ() เช…เชจเซ‡ เช…เชจเชพเชตเชฟเชฒ() เชธเชฟเชธเซเชŸเชฎ เช•เซ‰เชฒเซเชธเชจเซ€ เช•เชพเชฐเซเชฏเช•เซเชทเชฎเชคเชพเชจเซ‹ เช…เชฎเชฒ เชชเซเชฐเชธเซเชคเชพเชตเชฟเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เช›เซ‡. C, C++, Python เช…เชจเซ‡ Redbean เชฎเชพเช‚ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเซเชธเชฎเชพเช‚ เช† เช•เซ‰เชฒเซเชธเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชเช• API, เชคเซ‡เชฎเชœ เชฎเชจเชธเซเชตเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเช“เชจเซ‡ เช…เชฒเช— เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ pledge.com เช‰เชชเชฏเซ‹เช—เชฟเชคเชพ เชชเซเชฐเชฆเชพเชจ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡.
  • เชฌเชฟเชฒเซเชก เชฒเซ‡เชจเซเชกเชฒเซ‹เช• เชฎเซ‡เช• เชฏเซเชŸเชฟเชฒเชฟเชŸเซ€เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡ - เชตเชงเซ เช•เชกเช• เชจเชฟเชฐเซเชญเชฐเชคเชพ เชคเชชเชพเชธ เชธเชพเชฅเซ‡ เชœเซ€เชเชจเชฏเซ เชฎเซ‡เช•เชจเซ€ เช†เชตเซƒเชคเซเชคเชฟ เช…เชจเซ‡ เชฌเชพเช•เซ€เชจเซ€ เชธเชฟเชธเซเชŸเชฎเชฎเชพเช‚เชฅเซ€ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชจเซ‡ เช…เชฒเช— เช•เชฐเชตเชพ เช…เชจเซ‡ เช•เซ‡เชถเซ€เช‚เช— เช•เชพเชฐเซเชฏเช•เซเชทเชฎเชคเชพเชฎเชพเช‚ เชธเซเชงเชพเชฐเซ‹ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฒเซ‡เชจเซเชกเชฒเซ‹เช• เชธเชฟเชธเซเชŸเชฎ เช•เซ‹เชฒเชจเซ‹ เช‰เชชเชฏเซ‹เช—. เชเช• เชตเชฟเช•เชฒเซเชช เชคเชฐเซ€เช•เซ‡, เชจเชฟเชฏเชฎเชฟเชค GNU Make เชธเชพเชฅเซ‡ เชฌเชฟเชฒเซเชก เช•เชฐเชตเชพเชจเซ€ เช•เซเชทเชฎเชคเชพ เชœเชพเชณเชตเซ€ เชฐเชพเช–เชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡.
  • เชฎเชฒเซเชŸเชฟเชฅเซเชฐเซ‡เชกเซ€เช‚เช— เชฎเชพเชŸเซ‡เชจเชพ เช•เชพเชฐเซเชฏเซ‹ เช…เชฎเชฒเชฎเชพเช‚ เชฎเซ‚เช•เชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเชพ เช›เซ‡ - _spawn() เช…เชจเซ‡ _join(), เชœเซ‡ เชตเชฟเชตเชฟเชง เช“เชชเชฐเซ‡เชŸเชฟเช‚เช— เชธเชฟเชธเซเชŸเชฎเซ‹ เชฎเชพเชŸเซ‡ เชตเชฟเชถเชฟเชทเซเชŸ APIs เชชเชฐ เชธเชพเชฐเซเชตเชคเซเชฐเชฟเช• เชฌเช‚เชงเชจเช•เชฐเซเชคเชพ เช›เซ‡. POSIX เชฅเซเชฐเซ‡เชกเซเชธ เชธเชชเซ‹เชฐเซเชŸเชจเซ‡ เชฒเชพเช—เซ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชชเชฃ เช•เชพเชฎ เชšเชพเชฒเซ€ เชฐเชนเซเชฏเซเช‚ เช›เซ‡.
  • เชฆเชฐเซ‡เช• เชฅเซเชฐเซ‡เชก (TLS, เชฅเซเชฐเซ‡เชก-เชฒเซ‹เช•เชฒ เชธเซเชŸเซ‹เชฐเซ‡เชœ) เชฎเชพเชŸเซ‡ เช…เชฒเช— เชธเซเชŸเซ‹เชฐเซ‡เชœเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ _Thread_local เช•เซ€เชตเชฐเซเชกเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเซ‹ เชถเช•เซเชฏ เช›เซ‡. เชฎเซ‚เชณเชญเซ‚เชค เชฐเซ€เชคเซ‡, C เชฐเชจเชŸเชพเชˆเชฎ เชฎเซเช–เซเชฏ เชฅเซเชฐเซ‡เชก เชฎเชพเชŸเซ‡ TLS เชถเชฐเซ‚ เช•เชฐเซ‡ เช›เซ‡, เชœเซ‡เชจเชพ เช•เชพเชฐเชฃเซ‡ เชฒเช˜เซเชคเซเชคเชฎ เชเช•เซเชเชฟเช•เซเชฏเซเชŸเซ‡เชฌเชฒ เช•เชฆ 12 KB เชฅเซ€ 16 KB เชธเซเชงเซ€ เชตเชงเซเชฏเซเช‚ เช›เซ‡.
  • "--ftrace" เช…เชจเซ‡ "--strace" เชชเชฐเชฟเชฎเชพเชฃเซ‹ เชฎเชพเชŸเซ‡ เช†เชงเชพเชฐเชจเซ‡ เชเช•เซเชเซ‡เช•เซเชฏเซเชŸเซ‡เชฌเชฒ เชซเชพเชˆเชฒเซ‹เชฎเชพเช‚ เช‰เชฎเซ‡เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เช›เซ‡ เชœเซ‡เชฅเซ€ เชคเชฎเชพเชฎ เชซเช‚เช•เซเชถเชจ เช•เซ‹เชฒเซเชธ เช…เชจเซ‡ stderr เชจเซ‡ เชธเชฟเชธเซเชŸเชฎ เช•เซ‹เชฒเซเชธ เชตเชฟเชถเซ‡เชจเซ€ เชฎเชพเชนเชฟเชคเซ€ เช†เช‰เชŸเชชเซเชŸ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡.
  • Linux 5.9+, FreeBSD 8+ เช…เชจเซ‡ OpenBSD เชชเชฐ เชธเชชเซ‹เชฐเซเชŸเซ‡เชก, Closefrom() เชธเชฟเชธเซเชŸเชฎ เช•เซ‰เชฒ เชฎเชพเชŸเซ‡ เชธเชฎเชฐเซเชฅเชจ เช‰เชฎเซ‡เชฐเซเชฏเซเช‚.
  • Linux เชชเซเชฒเซ‡เชŸเชซเซ‹เชฐเซเชฎ เชชเชฐ, vDSO (เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชกเชพเชฏเชจเซ‡เชฎเชฟเช• เชถเซ‡เชฐ เช•เชฐเซ‡เชฒ เช‘เชฌเซเชœเซ‡เช•เซเชŸ) เชฎเชฟเช•เซ‡เชจเชฟเชเชฎเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ clock_gettime เช…เชจเซ‡ gettimeofday เช•เซ‰เชฒเซเชธเชจเซเช‚ เชชเซเชฐเชฆเชฐเซเชถเชจ 10 เช—เชฃเชพ เชธเซเชงเซ€ เชตเชงเชพเชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เช›เซ‡, เชœเซ‡ เชธเชฟเชธเซเชŸเชฎ เช•เซ‰เชฒ เชนเซ‡เชจเซเชกเชฒเชฐเชจเซ‡ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชœเช—เซเชฏเชพเชฎเชพเช‚ เช–เชธเซ‡เชกเชตเชพเชจเซเช‚ เช…เชจเซ‡ เชธเช‚เชฆเชฐเซเชญ เชธเซเชตเซ€เชšเซ‹เชจเซ‡ เชŸเชพเชณเชตเชพเชจเซเช‚ เชถเช•เซเชฏ เชฌเชจเชพเชตเซ‡ เช›เซ‡.
  • เชœเชŸเชฟเชฒ เชธเช‚เช–เซเชฏเชพเช“ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡เชจเชพ เช—เชพเชฃเชฟเชคเชฟเช• เช•เชพเชฐเซเชฏเซ‹ เชฎเซเชธเชฒ เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€เชฎเชพเช‚เชฅเซ€ เช–เชธเซ‡เชกเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเชพ เช›เซ‡. เช…เชจเซ‡เช• เช—เชพเชฃเชฟเชคเชฟเช• เช•เชพเชฐเซเชฏเซ‹เชจเชพ เช•เชพเชฎเชจเซ‡ เชตเซ‡เช— เชฎเชณเซเชฏเซ‹ เช›เซ‡.
  • nointernet() เชซเช‚เช•เซเชถเชจ เชจเซ‡เชŸเชตเชฐเซเช• เช•เซเชทเชฎเชคเชพเช“เชจเซ‡ เชจเชฟเชทเซเช•เซเชฐเชฟเชฏ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชชเซเชฐเชธเซเชคเชพเชตเชฟเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เช›เซ‡.
  • เชธเซเชŸเซเชฐเชฟเช‚เช—เซเชธเชจเซ‡ เช…เชธเชฐเช•เชพเชฐเช• เชฐเซ€เชคเซ‡ เชœเซ‹เชกเชตเชพ เชฎเชพเชŸเซ‡ เชจเชตเชพ เชซเช‚เช•เซเชถเชจ เช‰เชฎเซ‡เชฐเซเชฏเชพ: appendd, appendf, appendr, appends, appendw, appendz, kappendf, kvappendf เช…เชจเซ‡ vappendf.
  • เชตเชฟเชงเซ‡เชฏเซ‹เชจเชพ kprintf() เช•เซเชŸเซเช‚เชฌเชจเซเช‚ เชธเช‚เชฐเช•เซเชทเชฟเชค เชธเช‚เชธเซเช•เชฐเชฃ เช‰เชฎเซ‡เชฐเซเชฏเซเช‚, เชœเซ‡ เชเชฒเชฟเชตเซ‡เชŸเซ‡เชก เชตเชฟเชถเซ‡เชทเชพเชงเชฟเช•เชพเชฐเซ‹ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฐเชšเชพเชฏเซ‡เชฒ เช›เซ‡.
  • SSL, SHA, curve25519 เช…เชจเซ‡ RSA เช…เชฎเชฒเซ€เช•เชฐเชฃเซ‹เชจเซ€ เชจเซ‹เช‚เชงเชชเชพเชคเซเชฐ เชฐเซ€เชคเซ‡ เชธเซเชงเชพเชฐเซ‡เชฒ เช•เชพเชฎเช—เซ€เชฐเซ€.

เชธเซ‹เชฐเซเชธ: opennet.ru

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹