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