ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ ReversingLabs ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π»Π° ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°ΠΉΠΏΡΠΊΠ²ΠΎΡΡΠΈΠ½Π³Π° Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ RubyGems. ΠΠ±ΡΡΠ½ΠΎ ΡΠ°ΠΉΠΏΡΠΊΠ²ΠΎΡΡΠΈΠ½Π³ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΡΡ
ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², ΡΠ°ΡΡΡΠΈΡΠ°Π½Π½ΡΡ
Π½Π° ΡΠΎ, ΡΡΠΎ Π½Π΅Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΏΡΠΈ ΠΏΠΎΠΈΡΠΊΠ΅ Π΄ΠΎΠΏΡΡΡΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΊΡ ΠΈΠ»ΠΈ Π½Π΅ Π·Π°ΠΌΠ΅ΡΠΈΡ ΡΠ°Π·Π½ΠΈΡΡ. Π Ρ
ΠΎΠ΄Π΅ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ Π±ΡΠ»ΠΎ Π²ΡΡΠ²Π»Π΅Π½ΠΎ Π±ΠΎΠ»Π΅Π΅ 700 ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΊΠΎΡΠΎΡΡΡ
ΡΡ
ΠΎΠΆΠΈ Ρ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ°ΠΌΠΈ ΠΈ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ Π½Π΅Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ Π΄Π΅ΡΠ°Π»ΡΠΌΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π°ΠΌΠ΅Π½ΠΎΠΉ ΠΏΠΎΡ
ΠΎΠΆΠΈΡ
Π±ΡΠΊΠ² ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠ΄ΡΡΡΠΊΠΈΠ²Π°Π½ΠΈΡ Π²ΠΌΠ΅ΡΡΠΎ ΡΠΈΡΠ΅.
Π Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ 400 ΠΏΠ°ΠΊΠ΅ΡΠ°Ρ
Π±ΡΠ»ΠΈ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, ΠΏΠΎΠ΄ΠΎΠ·ΡΠ΅Π²Π°Π΅ΠΌΡΠ΅ Π² ΡΠΎΠ²Π΅ΡΡΠ΅Π½ΠΈΠΈ Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΡΡ
Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, Π²Π½ΡΡΡΠΈ Π½Π°Ρ
ΠΎΠ΄ΠΈΠ»ΡΡ ΡΠ°ΠΉΠ» aaa.png, Π²ΠΊΠ»ΡΡΠ°ΡΡΠΈΠΉ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΠΊΠΎΠ΄ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ PE. Π£ΠΊΠ°Π·Π°Π½Π½ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ Π±ΡΠ»ΠΈ ΡΠ²ΡΠ·Π°Π½Ρ Ρ Π΄Π²ΡΠΌΡ ΡΡΡΡΠ½ΡΠΌΠΈ Π·Π°ΠΏΠΈΡΡΠΌΠΈ, ΡΠ΅ΡΠ΅Π· ΠΊΠΎΡΠΎΡΡΠ΅ Ρ 16 ΠΏΠΎ 25 ΡΠ΅Π²ΡΠ°Π»Ρ 2020 Π³ΠΎΠ΄Π° Π² RubyGems Π±ΡΠ»ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΎ 724 Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΡΡ
ΠΏΠ°ΠΊΠ΅ΡΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ Π² ΡΡΠΌΠΌΠ΅ Π±ΡΠ»ΠΈ Π·Π°Π³ΡΡΠΆΠ΅Π½Ρ ΠΎΠΊΠΎΠ»ΠΎ 95 ΡΡΡΡΡ ΡΠ°Π·. ΠΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΏΡΠΎΠΈΠ½ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π»ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΈΡ RubyGems ΠΈ Π²ΡΡΠ²Π»Π΅Π½Π½ΡΠ΅ Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ ΡΠΆΠ΅ ΡΠ΄Π°Π»Π΅Π½Ρ ΠΈΠ· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ.
ΠΠ· Π²ΡΡΠ²Π»Π΅Π½Π½ΡΡ
ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΡΡ
ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌ ΠΎΠΊΠ°Π·Π°Π»ΡΡ «atlas-client», ΠΊΠΎΡΠΎΡΡΠΉ Π½Π° ΠΏΠ΅ΡΠ²ΡΠΉ Π²Π·Π³Π»ΡΠ΄ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ΠΎΡΠ»ΠΈΡΠΈΠΌ ΠΎΡ Π»Π΅Π³ΠΈΡΠΈΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ° «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