πΉ ΠΠΎΠΌΠ°Π½Π΄Π° strings
βΉοΈ strings == ΡΡΡΠΎΠΊΠΈ
ΠΡΠΈΠΌΠ΅Ρ
ΠΠ°ΠΊΠΈΠ΄Π°Ρ ΠΏΡΠΎΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° Π‘ΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΌΠ°ΡΡΠΈΠ² ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ololo_str
ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ It's unique text
,
Π° ΡΠ°ΠΊΠΆΠ΅ Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ GrindCore \m/
.
ΠΠΈΡΡΠΈΠ½Π³ strings.c
#include <stdio.h>
int main(int argc, char const *argv[]) {
char * ololo_str = "It's unique text";
puts("GrindCore \\m/");
return 0;
}
Π‘Π±ΠΎΡΠΊΠ° ΠΈ Π·Π°ΠΏΡΡΠΊ
tcc -o string string.c # ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ
./string # ΠΠ°ΠΏΡΡΠΊ
ΠΡΡ Π»ΠΎΠΏ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
GrindCore \m/
Π strings
ΠΠ²ΠΎΠΈΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΌΠΎΠ³ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΡΡΠΎΠΊΠΈ ΡΠΈΡΠ°Π΅ΠΌΠΎΠ³ΠΎ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ ΡΠ΅ΠΊΡΡΠ°.
ΠΠΎ ΠΊΠ°ΠΊ ΠΌΡ ΠΈΡ
Π²ΠΈΠ΄ΠΈΠΌ? ΠΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ cat
ΠΈΠ»ΠΈ less
, ΡΠΎ, ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ,
Π·Π°Π²ΠΈΡΠ½Π΅Ρ ΠΎΠΊΠ½ΠΎ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠ΅ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΌΠΈ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ,
Π½Π΅ ΠΌΠΎΠ³Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ Π½Π΅ΠΏΠ΅ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ.
Π‘ΠΏΠΈΠ·ΠΆΠ΅Π½ΠΎ ΠΎΡΡΡΠ΄Π°.
ΠΡΠΈΠΌΠ΅Ρ ΡΠ°Π±ΠΎΡΡ
ΠΠ°Π²Π°ΠΉ Π½Π°ΡΡΠ°Π²ΠΈΠΌ strings
Π½Π° ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» string
?
ΠΡΠΏΠΎΠ»Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
strings ./string
ΠΈ Π²ΠΈΠΆΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ:
/lib64/ld-linux-x86-64.so.2
__libc_start_main
puts
main
__gmon_start__
libc.so.6
GLIBC_2.34
GLIBC_2.2.5
libc.so.6
PTE1
It's unique text
GrindCore \m/
.text
.data
.bss
.rodata.cst4
.eh_frame
.init
.fini
.preinit_array
.init_array
.fini_array
.interp
.dynsym
.dynstr
.hash
.dynamic
.got
.rela.got
.plt
.gnu.version
.gnu.version_r
.shstrtab
ΠΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅Π³ΠΎ, Π΄Π°, Π½ΠΎ ΠΎΠ±Π΅ ΡΡΡΠΎΠΊΠΈ ΠΈΠ· ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΡΠΈΡΡΡΡΠ²ΡΡΡ.
ΠΡΠ²ΠΎΠ΄: Π£ΡΠΈΠ»ΠΈΡΠ° ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½Π°Ρ! ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅?… ΠΌΠ½ΠΎΠ³ΠΎ.
Π― Π²ΠΎΡ ΡΠ΅Π³ΠΎΠ΄Π½Ρ Π²ΡΡΠ°ΡΠΈΠ» ΠΈΠ· Π±ΠΈΠ½Π°ΡΠ½ΠΈΠΊΠ° ΠΏΠ°ΡΠΎΠ»Ρ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ° ΠΎΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π°,
ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ»ΠΎΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ Π±ΡΠ»Π° ΠΎΡΠ΅Π½Ρ ΡΠ΅Π½Π½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ.
(π₯² ΡΡΡΡ).