Π’Π°Π²ΠΈΡ ΠΡΠΌΠ°Π½Π΄ΠΈ (), ΠΈΠ·ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π» ΠΏΠΎ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ° Π² Google, ΠΊΠΎΠΉΡΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° , Π½Π°ΡΠΎΡΠ΅Π½ ΠΊΡΠΌ ΠΏΡΠ΅Π½Π°ΡΡΠ½Π΅ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½ Π·Π° Windows DLL Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π·Π° ΡΡΡ Π½ΠΎΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π·Π° LinuxΠΡΠΎΠ΅ΠΊΡΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΡΡ ΡΠ»ΠΎΠ΅Π²Π΅, ΠΊΠΎΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° PE/COFF DLL ΡΠ°ΠΉΠ» ΠΈ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½ΠΈΡΠ΅ Π² Π½Π΅Π³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ. PE/COFF Π·Π°ΡΠ΅ΠΆΠ΄Π°ΡΠΈΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ Π΅ Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° ΠΊΠΎΠ΄Π° . ΠΠΎΠ΄ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Π»ΠΈΡΠ΅Π½Π·ΠΈΡΠ°Π½ ΠΏΠΎΠ΄ GPLv2.
LoadLibrary ΡΠ΅ Π³ΡΠΈΠΆΠΈ Π·Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ° ΠΈ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΠΉΠΊΠΈ Linux- API Π² ΡΡΠΈΠ» dlopen Π·Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ. ΠΠΊΠ»ΡΡΠ΅Π½ΠΈΡΡ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ Π΄Π΅Π±ΡΠ³Π²Π°Π½ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° gdb, ASAN ΠΈ Valgrind. ΠΠΎΠ΄ΡΡ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΊΠΎΡΠΈΠ³ΠΈΡΠ°Π½ ΡΡΠ΅Π· hooks ΠΈ runtime patching. ΠΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ ΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈ ΠΎΡΠΌΡΠ½Π° Π½Π° Π³ΡΠ΅ΡΠΊΠΈ Π·Π° C++.
Π¦Π΅Π»ΡΠ° Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΅ Π΄Π° ΡΠ΅ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ° ΠΌΠ°ΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎ ΠΈ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ fuzzing ΡΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° DLL Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π² ΡΡΠ΅Π΄Π°, Π±Π°Π·ΠΈΡΠ°Π½Π° Π½Π° Linux. Π Windows ΠΡΠΎΠ²Π΅ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π½Π° fuzzing ΠΈ coverage ΡΠ΅ΡΡΠΎΠ²Π΅ Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΏΠΎΡΡΠΈΠ³Π°Π½Π΅ Π½Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ°ΡΠ° Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡ ΠΈ ΡΠ΅ΡΡΠΎ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΎΡΠ΄Π΅Π»Π΅Π½ Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ. Windows, ΠΎΡΠΎΠ±Π΅Π½ΠΎ ΠΏΡΠΈ ΠΎΠΏΠΈΡ Π·Π° Π°Π½Π°Π»ΠΈΠ· Π½Π° ΡΠ»ΠΎΠΆΠ½ΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈ, ΠΊΠ°ΡΠΎ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π°Π½ΡΠΈΠ²ΠΈΡΡΡΠ΅Π½ ΡΠΎΡΡΡΠ΅Ρ, ΠΊΠΎΠΉΡΠΎ ΠΎΠ±Ρ Π²Π°ΡΠ° ΠΊΠ°ΠΊΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ Π½Π° ΡΠ΄ΡΠΎΡΠΎ, ΡΠ°ΠΊΠ° ΠΈ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ. ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ LoadLibrary, ΠΈΠ·ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈΡΠ΅ Π½Π° Google ΡΡΡΡΡΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ Π²ΡΠ² Π²ΠΈΠ΄Π΅ΠΎ ΠΊΠΎΠ΄Π΅ΡΠΈ, Π°Π½ΡΠΈΠ²ΠΈΡΡΡΠ½ΠΈ ΡΠΊΠ΅Π½Π΅ΡΠΈ, Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π·Π° Π΄Π΅ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ Π½Π° Π΄Π°Π½Π½ΠΈ, Π΄Π΅ΠΊΠΎΠ΄Π΅ΡΠΈ Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈ Π΄ΡΡΠ³ΠΈ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ LoadLibrary, Π±Π΅ΡΠ΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΏΡΠ΅Π½Π΅ΡΠ΅, Π·Π° Π΄Π° ΡΠ°Π±ΠΎΡΠΈ Π² Linux Π°Π½ΡΠΈΠ²ΠΈΡΡΡΠ΅Π½ Π΅Π½Π΄ΠΆΠΈΠ½ Windows ΠΠ°ΡΠΈΡΠ½ΠΈΠΊ. ΠΡΠΎΡΡΠ²Π°Π½Π΅ Π½Π° mpengine.dll, ΠΊΠΎΠΉΡΠΎ ΡΠΎΡΠΌΠΈΡΠ° ΠΎΡΠ½ΠΎΠ²Π°ΡΠ° Windows Defender Π½Π°ΠΏΡΠ°Π²ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Π³ΠΎΠ»ΡΠΌ Π±ΡΠΎΠΉ ΡΠ»ΠΎΠΆΠ½ΠΈ ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΎΡΠΈ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠΎΡΠΌΠ°ΡΠΈ, Π΅ΠΌΡΠ»Π°ΡΠΎΡΠΈ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΈ Π΅Π·ΠΈΠΊΠΎΠ²ΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»Π½ΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡ Π²Π΅ΠΊΡΠΎΡΠΈ Π·Π° .
LoadLibrary ΡΡΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Π½Π΅ Π² Π°Π½ΡΠΈΠ²ΠΈΡΡΡΠ½ΠΈΡ ΠΏΠ°ΠΊΠ΅Ρ Avast. ΠΡΠΈ ΠΈΠ·ΡΡΠ°Π²Π°Π½Π΅ Π½Π° DLL ΠΎΡ ΡΠ°Π·ΠΈ Π°Π½ΡΠΈΠ²ΠΈΡΡΡΠ½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° Π±Π΅ΡΠ΅ ΡΠ°Π·ΠΊΡΠΈΡΠΎ, ΡΠ΅ ΠΊΠ»ΡΡΠΎΠ²ΠΈΡΡ ΠΏΡΠΎΡΠ΅Ρ Π½Π° ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΎΠ²Π°Π½ΠΎ ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅ Π²ΠΊΠ»ΡΡΠ²Π° ΠΏΡΠ»Π½ΠΎΡΠ΅Π½Π΅Π½ JavaScript ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π·Π° Π΅ΠΌΡΠ»ΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° JavaScript ΠΊΠΎΠ΄ Π½Π° ΡΡΠ΅ΡΠΈ ΡΡΡΠ°Π½ΠΈ. Π’ΠΎΠ·ΠΈ ΠΏΡΠΎΡΠ΅Ρ Π½Π΅ Π΅ ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½ Π² ΡΡΠ΅Π΄Π° Π½Π° ΠΏΡΡΡΡΠ½ΠΈΠΊ, Π½Π΅ Π½ΡΠ»ΠΈΡΠ° ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈΡΠ΅ ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ° Π½Π΅ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½ΠΈ Π²ΡΠ½ΡΠ½ΠΈ Π΄Π°Π½Π½ΠΈ ΠΎΡ ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΈ ΠΏΡΠΈΡ Π²Π°Π½Π°ΡΠΈΡ ΠΌΡΠ΅ΠΆΠΎΠ² ΡΡΠ°ΡΠΈΠΊ. Π’ΡΠΉ ΠΊΠ°ΡΠΎ Π²ΡΡΠΊΠ° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡ Π² ΡΠΎΠ·ΠΈ ΡΠ»ΠΎΠΆΠ΅Π½ ΠΈ Π½Π΅Π·Π°ΡΠΈΡΠ΅Π½ ΠΏΡΠΎΡΠ΅Ρ ΠΌΠΎΠΆΠ΅ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»Π½ΠΎ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ ΠΎΡΠ΄Π°Π»Π΅ΡΠ΅Π½ ΠΊΠΎΠΌΠΏΡΠΎΠΌΠ΅Ρ Π½Π° ΡΡΠ»Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°, Π±Π΅ΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½Π° ΡΠΏΠ΅ΡΠΈΠ°Π»Π½Π° ΠΎΠ±Π²ΠΈΠ²ΠΊΠ°, Π±Π°Π·ΠΈΡΠ°Π½Π° Π½Π° LoadLibrary Π΄Π° ΡΠ΅ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°Ρ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈΡΠ΅ Π² Π°Π½ΡΠΈΠ²ΠΈΡΡΡΠ½ΠΈΡ ΡΠΊΠ΅Π½Π΅Ρ Avast Π² ΡΡΠ΅Π΄Π°, Π±Π°Π·ΠΈΡΠ°Π½Π° Π½Π° Linux.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
