ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ ReversingLabs ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΈ ΠΎΡ Π°Π½Π°Π»ΠΈΠ·Π° Π½Π° ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅ΡΠΎ Π² Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ RubyGems. ΠΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΡΠ°ΠΉΠΏΡΠΊΠ²ΠΎΡΠΈΠ½Π³ΡΡ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° Π·Π»ΠΎΠ½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ, ΡΠ°Π·ΡΠΈΡΠ°ΠΉΠΊΠΈ Π½Π° ΡΠΎΠ²Π°, ΡΠ΅ Π½Π΅Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»Π½ΠΈΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΏΡΠΈ ΡΡΡΡΠ΅Π½Π΅ ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈ ΠΏΠ΅ΡΠ°ΡΠ½Π° Π³ΡΠ΅ΡΠΊΠ° ΠΈΠ»ΠΈ Π½ΡΠΌΠ° Π΄Π° Π·Π°Π±Π΅Π»Π΅ΠΆΠΈ ΡΠ°Π·Π»ΠΈΠΊΠ°ΡΠ°. Π Ρ ΠΎΠ΄Π° Π½Π° ΠΈΠ·ΡΠ»Π΅Π΄Π²Π°Π½Π΅ΡΠΎ Π±ΡΡ Π° ΠΎΡΠΊΡΠΈΡΠΈ Π½Π°Π΄ 700 ΠΏΠ°ΠΊΠ΅ΡΠ°, ΡΠΈΠΈΡΠΎ ΠΈΠΌΠ΅Π½Π° ΡΠ° ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ Π½Π° ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΈ ΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠ°Π²Π°Ρ Ρ Π½Π΅Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΈ Π΄Π΅ΡΠ°ΠΉΠ»ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π°ΠΌΡΠ½Π° Π½Π° ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ Π±ΡΠΊΠ²ΠΈ ΠΈΠ»ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π΄ΠΎΠ»Π½Π° ΡΠ΅ΡΡΠ° Π²ΠΌΠ΅ΡΡΠΎ ΡΠΈΡΠ΅.
Π ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ 400 ΠΏΠ°ΠΊΠ΅ΡΠ° Π±ΡΡ Π° ΠΎΡΠΊΡΠΈΡΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ, Π·Π°ΠΏΠΎΠ΄ΠΎΠ·ΡΠ΅Π½ΠΈ Π² ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° Π·Π»ΠΎΠ½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ. Π ΡΠ°ΡΡΠ½ΠΎΡΡ, Π² ΡΡΡ ΠΈΠΌΠ°ΡΠ΅ ΡΠ°ΠΉΠ» aaa.png, Π²ΠΊΠ»ΡΡΠ²Π°Ρ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ΅ΠΌ ΠΊΠΎΠ΄ Π²ΡΠ² ΡΠΎΡΠΌΠ°Ρ PE. Π£ΠΊΠ°Π·Π°Π½ΠΈΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΈ Π±ΡΡ Π° ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ Π΄Π²Π΅ Π°ΠΊΠ°ΡΠ½ΡΠ°, ΡΡΠ΅Π· ΠΊΠΎΠΈΡΠΎ ΠΎΡ 16 Π΄ΠΎ 25 ΡΠ΅Π²ΡΡΠ°ΡΠΈ 2020 Π³ΠΎΠ΄ΠΈΠ½Π° Π² RubyGems Π±ΡΡ Π° ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½ΠΈ , ΠΊΠΎΠΈΡΠΎ ΠΎΠ±ΡΠΎ Π±ΡΡ Π° ΠΈΠ·ΡΠ΅Π³Π»Π΅Π½ΠΈ ΠΎΠΊΠΎΠ»ΠΎ 95 Ρ ΠΈΠ»ΡΠ΄ΠΈ ΠΏΡΡΠΈ. ΠΠ·ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈΡΠ΅ ΡΠ²Π΅Π΄ΠΎΠΌΠΈΡ Π° Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΈΡΡΠ° Π½Π° RubyGems ΠΈ ΠΎΡΠΊΡΠΈΡΠΈΡΠ΅ Π·Π»ΠΎΠ½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ Π²Π΅ΡΠ΅ ΡΠ° ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π°ΡΠΈ ΠΎΡ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ.
ΠΡ ΠΎΡΠΊΡΠΈΡΠΈΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ, Π½Π°ΠΉ-ΠΏΠΎΠΏΡΠ»ΡΡΠ΅Π½ Π±Π΅ΡΠ΅ βatlas-clientβ, ΠΊΠΎΠΉΡΠΎ Π½Π° ΠΏΡΡΠ² ΠΏΠΎΠ³Π»Π΅Π΄ Π΅ ΠΏΠΎΡΡΠΈ Π½Π΅ΡΠ°Π·Π»ΠΈΡΠΈΠΌ ΠΎΡ Π»Π΅Π³ΠΈΡΠΈΠΌΠ½ΠΈΡ ΠΏΠ°ΠΊΠ΅Ρ ββ. Π£ΠΊΠ°Π·Π°Π½ΠΈΡΡ ΠΏΠ°ΠΊΠ΅Ρ Π±Π΅ΡΠ΅ ΠΈΠ·ΡΠ΅Π³Π»Π΅Π½ 2100 ΠΏΡΡΠΈ (Π½ΠΎΡΠΌΠ°Π»Π½ΠΈΡΡ ΠΏΠ°ΠΊΠ΅Ρ Π±Π΅ ΠΈΠ·ΡΠ΅Π³Π»Π΅Π½ 6496 ΠΏΡΡΠΈ, Ρ.Π΅. ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ ΡΠ³ΡΠ΅ΡΠΈΡ Π° ΠΏΠΎΡΡΠΈ Π² 25% ΠΎΡ ΡΠ»ΡΡΠ°ΠΈΡΠ΅). ΠΡΡΠ°Π½Π°Π»ΠΈΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΈ ΡΡΠ΅Π΄Π½ΠΎ Π±ΡΡ Π° ΠΈΠ·ΡΠ΅Π³Π»Π΅Π½ΠΈ 100-150 ΠΏΡΡΠΈ ΠΈ ΡΠ΅ ΠΊΠ°ΠΌΡΡΠ»ΠΈΡΠ°Ρ Π° ΠΏΠΎΠ΄ Π΄ΡΡΠ³ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΡΡ ΠΎΠ΄Π½Π° ΡΠ΅Ρ Π½ΠΈΠΊΠ° Π½Π° Π·Π°ΠΌΡΠ½Π° Π½Π° Π΄ΠΎΠ»Π½ΠΈ ΡΠ΅ΡΡΠΈ ΠΈ ΡΠΈΡΠ΅ΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠ΅Π΄ : appium-lib, action-mailer_cache_delivery, activemodel_validators, asciidoctor_bibliography, assets-pipeline, apress_validators, ar_octopus-replication-tracking, aliyun-open_search, aliyun-mns, ab_split, apns-polite).
ΠΠ»ΠΎΠ²ΡΠ΅Π΄Π½ΠΈΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΈ Π²ΠΊΠ»ΡΡΠ²Π°Ρ Π° PNG ΡΠ°ΠΉΠ», Π² ΠΊΠΎΠΉΡΠΎ Π²ΠΌΠ΅ΡΡΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π±Π΅ΡΠ΅ ΠΏΠΎΡΡΠ°Π²Π΅Π½ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ΅ΠΌ ΡΠ°ΠΉΠ» Π·Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Windows. Π€Π°ΠΉΠ»ΡΡ Π±Π΅ΡΠ΅ ΡΡΠ·Π΄Π°Π΄Π΅Π½ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΡΡΠΈΠ»ΠΈΡΠ° Ocra Ruby2Exe ΠΈ Π²ΠΊΠ»ΡΡΠ²Π°ΡΠ΅ ΡΠ°ΠΌΠΎΡΠ°ΡΠΏΠ°ΠΊΠ²Π°Ρ ΡΠ΅ Π°ΡΡ ΠΈΠ² Ρ Ruby ΡΠΊΡΠΈΠΏΡ ΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ Ruby. ΠΡΠΈ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠ°, PNG ΡΠ°ΠΉΠ»ΡΡ ΡΠ΅ ΠΏΡΠ΅ΠΈΠΌΠ΅Π½ΡΠ²Π°ΡΠ΅ Π½Π° EXE ΠΈ ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅. Π Ρ ΠΎΠ΄Π° Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ ΡΠ΅ ΡΡΠ·Π΄Π°Π²Π°ΡΠ΅ ΠΈ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ Π² Π°Π²ΡΠΎΠ·Π°ΠΏΡΡΠΊ ΡΠ°ΠΉΠ» Ρ VBScript. Π£ΠΊΠ°Π·Π°Π½ΠΈΡΡ Π·Π»ΠΎΠ²ΡΠ΅Π΄Π΅Π½ VBScript Π² ΡΠΈΠΊΡΠ» Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°ΡΠ΅ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠ»ΠΈΠΏΠ±ΠΎΡΠ΄Π° Π·Π° Π½Π°Π»ΠΈΡΠΈΠ΅ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΡΠ²Π°ΡΠ° Π°Π΄ΡΠ΅ΡΠΈ Π½Π° ΠΊΡΠΈΠΏΡΠΎΠ²Π°Π»ΡΡΠΈΡΠ½ΠΈ ΠΏΠΎΡΡΡΠ΅ΠΉΠ»ΠΈ, ΠΈ Π² ΡΠ»ΡΡΠ°ΠΉ Π½Π° ΠΎΡΠΊΡΠΈΡΠΈΠ΅ Π·Π°ΠΌΠ΅Π½ΡΡΠ΅ Π½ΠΎΠΌΠ΅ΡΠ° Π½Π° ΠΏΠΎΡΡΡΠ΅ΠΉΠ»Π°, ΡΠ°Π·ΡΠΈΡΠ°ΠΉΠΊΠΈ Π½Π° ΡΠΎΠ²Π°, ΡΠ΅ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΡ Π½ΡΠΌΠ° Π΄Π° Π·Π°Π±Π΅Π»Π΅ΠΆΠΈ ΡΠ°Π·Π»ΠΈΠΊΠ°ΡΠ° ΠΈ ΡΠ΅ ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π°ΡΠ° Π½Π° ΠΏΠΎΠ³ΡΠ΅ΡΠ½ΠΈΡ ΠΏΠΎΡΡΡΠ΅ΠΉΠ».
ΠΠ·Π²ΡΡΡΠ΅Π½ΠΎΡΠΎ ΠΏΡΠΎΡΡΠ²Π°Π½Π΅ ΠΏΠΎΠΊΠ°Π·Π°, ΡΠ΅ Π½Π΅ Π΅ ΡΡΡΠ΄Π½ΠΎ Π΄Π° ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΡΡ Π·Π»ΠΎΠ²ΡΠ΅Π΄Π½ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ Π² Π΅Π΄ΠΈΠ½ ΠΎΡ Π½Π°ΠΉ-ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΈΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΠΈ ΡΠ΅Π·ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΎΡΡΠ°Π½Π°Ρ Π½Π΅Π·Π°Π±Π΅Π»ΡΠ·Π°Π½ΠΈ, Π²ΡΠΏΡΠ΅ΠΊΠΈ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΈΡ Π±ΡΠΎΠΉ ΠΈΠ·ΡΠ΅Π³Π»ΡΠ½ΠΈΡ. Π‘Π»Π΅Π΄Π²Π° Π΄Π° ΡΠ΅ ΠΎΡΠ±Π΅Π»Π΅ΠΆΠΈ, ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡΡ Π·Π° RubyGems ΠΈ Π·Π°ΡΡΠ³Π° ΠΈ Π΄ΡΡΠ³ΠΈ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΈΠ½Π°Π»Π°ΡΠ° Π³ΠΎΠ΄ΠΈΠ½Π° ΡΡΡΠΈΡΠ΅ ΠΈΠ·ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ NPM ΠΎΡΠΊΡΠΈΡ Π° Π·Π»ΠΎΠ²ΡΠ΅Π΄Π½ΠΈΡ ΠΏΠ°ΠΊΠ΅Ρ bb-builder, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½Π° ΡΠ΅Ρ Π½ΠΈΠΊΠ° Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ·ΠΏΡΠ»Π½ΡΠ΅ΠΌ ΡΠ°ΠΉΠ» Π·Π° ΠΊΡΠ°ΠΆΠ±Π° Π½Π° ΠΏΠ°ΡΠΎΠ»ΠΈ. ΠΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° Π±Π΅ΠΊΠ΄ΠΎΡΡΡ Π±Π΅ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΊΡΠΌ NPM ΠΏΠ°ΠΊΠ΅ΡΠ° event-stream ΠΈ Π·Π»ΠΎΠ²ΡΠ΅Π΄Π½ΠΈΡΡ ΠΊΠΎΠ΄ Π±Π΅ΡΠ΅ ΠΈΠ·ΡΠ΅Π³Π»Π΅Π½ ΠΎΠΊΠΎΠ»ΠΎ 8 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° ΠΏΡΡΠΈ. ΠΠ»ΠΎΠ²ΡΠ΅Π΄Π½ΠΈΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΈ ΡΡΡΠΎ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ PyPI.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
