рд╣рд╛рд▓ рд╣реА рдореЗрдВ,
рдмрд╣реБрдд рд╕реЗ рдСрдирд▓рд╛рдЗрди рдЖрдИрдбреАрдИ рджреЗрд╢реА рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдФрд░ рдЪрд▓рд╛рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рде
рджрд┐рдЦрд╛рдИ рджрд┐рдП рд╣реИрдВ ред рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рдРрд╕реА рд╕реЗрд╡рд╛рдУрдВ рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рд╡рд╛рд▓ рдЙрдарддрд╛ рд╣реИред рд╕рдВрдХрд▓рд┐рдд рдХрд╛рд░реНрдпрдХреНрд░рдо рд╕реИрдВрдбрдмреЙрдХреНрд╕ рдореЗрдВ рдЪрд▓рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕рдВрдХрд▓рди рдЕрдХреНрд╕рд░ рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рд╣реЛрддрд╛ рд╣реИред
рдЬреАрд╕реАрд╕реА + рдЬреАрдПрдПрд╕
GCC, GAS рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
asm
рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдПрдХ
рдЕрджреНрднреБрдд incbin
ред рдЗрд╕рдХреА рдорджрдж рд╕реЗ, рд╕рдВрдХрд▓рди рдЪрд░рдг рдореЗрдВ, рдЖрдк рдлрд╝рд╛рдЗрд▓ рдХреЛ рдбреЗрдЯрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдлрд┐рд░ рд╕реА ++ рдХреЗ рд▓рд┐рдП рд╢реЛрд╖рдг рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реИ:
#include <stdio.h> extern "C" asm( ".global _data\n" ".data\n" "_data:\n" ".incbin \"/etc/passwd\"\n" ".byte 0" ); extern const char _data; const char* data = &_data; int main() { printf("%s", data); }