ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄ java
ΠΡΡΡΡ, Π²Π΅ΡΡΡ, Π·Π°ΠΏΡΡΠ°ΡΡ Ρ ΠΎΡΡ: ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΡ Π² Java
ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ ΠΊ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅. ΠΡΠ»ΠΈ Π½Π°Π±ΡΠ°ΡΡ Π² Π»ΡΠ±ΠΎΠΉ ΡΠ΅ΡΡΠ΅Π·Π½ΠΎΠΉ ΠΏΠΎΠΈΡΠΊΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ «java obfuscation», ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΡ Ρ Π΄Π΅ΡΡΡΠΎΠΊ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π½Π° ΡΡΡ ΡΠ΅ΠΌΡ. Π― ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΠ» ΡΠ²ΠΎΠΉ Π²ΡΠ±ΠΎΡ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠ΅ yGuard. ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½ ΠΎΠΊΠ°Π·Π°Π»ΡΡ Π² Π½Π°ΡΠ°Π»Π΅ ΡΠΏΠΈΡΠΊΠ° ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΠΏΠΎΠΈΡΠΊΠ°. ΠΠ½Π°ΡΠΈΡ ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΡΡΡ ΠΈ ΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΏΡΠΎΡΠΎΠΌ. ΠΠ»Π°Π²Π½ΠΎΠΉ ΠΆΠ΅ ΠΏΡΠΈΡΠΈΠ½ΠΎΠΉ Π²ΡΠ±ΠΎΡΠ° ΡΡΠ°Π»ΠΎ ΡΠΎ, ΡΡΠΎ ΠΎΠ½ Π»Π΅Π³ΠΊΠΎ Π²ΡΡΡΠ°ΠΈΠ²Π°Π΅ΡΡΡ Π² ΡΠ±ΠΎΡΡΠΈΠΊ Ant, ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌ Ρ ΡΠΏΠΎΠΌΠΈΠ½Π°Ρ ΠΏΠΎΡΡΠΈ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ²ΠΎΠ΅ΠΌ ΠΏΡΠ°ΠΊΡΠΈΠΊΡΠΌΠ΅. ΠΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ ΠΏΠ°ΠΊΠ΅ΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π·Π΄Π΅ΡΡ. ΠΠΎΡ ΠΊΡΡΠΎΠΊ build.xml, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΈΠ· ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ jar-Π°ΡΡ ΠΈΠ²Π°, Π² ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΏΠ°ΠΊΠΎΠ²Π°Π½ Π½Π΅ΠΊΠΈΠΉ java-ΠΏΡΠΎΠ΄ΡΠΊΡ, ΡΠ΄Π΅Π»Π°ΡΡ «Π·Π°ΡΠ΅ΠΌΠ½Π΅Π½Π½ΡΠΉ» Π²Π°ΡΠΈΠ°Π½Ρ.
ΠΠ°Π»Π΅Π΅ Π² Π·Π°Π΄Π°Π½ΠΈΠΈ ΠΈΠ΄ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ shrink, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ±ΠΈΡΠ°Π΅Ρ ΠΈΠ· ΠΊΠΎΠ΄Π° Π²ΡΠ΅ Π»ΠΈΡΠ½Π΅Π΅ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΈ rename, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π²ΡΠ°ΡΠ°Π΅Ρ ΠΈΠΌΠ΅Π½Π° ΠΈΠ· ΠΏΠΎΠ½ΡΡΠ½ΡΡ Π² Π½Π΅ΠΏΠΎΠ½ΡΡΠ½ΡΠ΅. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΡΡΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠ²ΠΎΠΉ Π»ΠΎΠ³-ΡΠ°ΠΉΠ», Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ ΡΡΠΎ ΠΎΠ½ Π΄Π΅Π»Π°Π» ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½Ρ keep, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° ΡΠΎΡ ΡΠ°Π½Π½ΠΎΡΡΡ ΠΈΠΌΠ΅Π½, ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅Π»ΡΠ·Ρ ΠΏΠΎΠ΄Π²Π΅ΡΠ³Π°ΡΡ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² jad-ΡΠ°ΠΉΠ»Π΅ ΠΌΠΈΠ΄Π»Π΅ΡΠ° ΡΠΊΠ°Π·Π°Π½Π° ΡΠΎΡΠΊΠ° Π²Ρ ΠΎΠ΄Π° Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ Π΅Π΅ Π½Π΅Π»ΡΠ·Ρ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²ΡΠ²Π°ΡΡ, Π° ΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ ΠΊΠ°ΠΊ Π² Π°Π½Π΅ΠΊΠ΄ΠΎΡΠ΅ ΠΏΡΠΎ ΠΏΡΠΈΡ ΠΎΠ²: «ΠΠ°ΡΡΠΊΠ° ΠΏΡΠΎΡΠ½Π΅ΡΡΡ, Π° Π³ΠΎΠ»ΠΎΠ²Π°-ΡΠΎ Π² ΡΡΠΌΠ±ΠΎΡΠΊΠ΅». ΠΡ Π²ΠΎΡ, Π²ΠΊΡΠ°ΡΡΠ΅, ΠΈ Π²ΡΠ΅. Π ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠΌ ΠΏΡΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π½Π΅ΡΡΡΠ΄Π½ΠΎ. ΠΡΡΠ°Π΅ΡΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ, ΡΡΠΎ Π»ΠΎΠ³-ΡΠ°ΠΉΠ»Ρ Π½Π΅ΡΠΏΡΠΎΡΡΠ° Π΄Π΅Π»Π°ΡΡΡΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ xml: yGuard ΠΏΠΎ Π½ΠΈΠΌ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΎΠ±ΡΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅. Π Π²ΠΎΡ Π΅ΡΠ΅ ΡΡΠΎ: yGuard Ρ ΠΎΡΡ ΠΈ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ, Π° ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΡ GNU Π½Π΅ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ. ΠΠΎΡΡΠΎΠΌΡ Π·Π΄Π΅ΡΡ Π΅Π³ΠΎ ΠΈ Π½Π΅ Π²ΡΠΊΠ»Π°Π΄ΡΠ²Π°Ρ.
Stringer β Π½ΠΎΠ²ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΊ Π·Π°ΡΠΈΡΠ΅ Java ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
ΠΠ±ΡΡΠ½ΠΎ, Π΄Π»Ρ Π·Π°ΡΠΈΡΡ Java-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΎΡΡ. ΠΠ±ΡΡΡΠΊΠ°ΡΠΎΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ ΠΊΠ»Π°ΡΡΡ, ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΏΠΎΡΠΎΠΊ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ (control flow) Π±Π°ΠΉΡ-ΠΊΠΎΠ΄Π°. ΠΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΌΠ΅ΡΡ Π΄Π΅Π»Π°ΡΡ Π²ΡΠ΅ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΎΡΡ Π²ΠΊΠ»ΡΡΠ°Ρ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠ΅ ΠΈ ΠΏΠ»Π°ΡΠ½ΡΠ΅.
Π¦Π΅Π»ΡΡ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΠΈ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄Π° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΊΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄ JVM ΠΈΠ· ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π½Π΅ ΠΌΠΎΠ³ Π±Ρ ΠΏΠΎΡΡΡΠΎΠΈΡΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠΉ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π½Π° ΡΠ·ΡΠΊΠ΅ Java.
ΠΡΠΎΡΠΈΠ²ΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΎΡΠΎΠ² ΠΈ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠ² ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΡΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ.
ΠΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΎΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Ρ ΠΎΡΠΎΡΠΎ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ Ρ Π·Π°ΡΠΈΡΠΎΠΉ ΠΎΡ Π²ΡΠΎΡΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π°ΡΠ°ΠΊ. ΠΡ ΡΠ΅Π²Π΅ΡΡ-ΠΈΠ½ΠΆΠΈΠ½ΠΈΡΠΈΠ½Π³Π° ΠΎΠ½ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΡΠ»Π°Π±ΠΎ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Java-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Java API, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎ ΠΈ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΎΡ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π΅Π³ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ. ΠΡΡΡ ΠΎΠ΄Π½ΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, Π½ΠΎ ΡΡΠΎ Π΄Π°ΠΆΠ΅ Π½Π΅ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΎΡ, Π° ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½Π°Ρ Π²ΠΈΡΡΡΠ°Π»ΡΠ½Π°Ρ ΠΌΠ°ΡΠΈΠ½Π° Ρ Π½Π°ΡΠΈΠ²Π½ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ Java API β Excelsior JET.
ΠΠΈ Π΄Π»Ρ ΠΊΠΎΠ³ΠΎ Π½Π΅ ΡΠ΅ΠΊΡΠ΅Ρ, ΡΡΠΎ Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π½Π°Π±Π»ΡΠ΄Π°Π΅ΡΡΡ Β«Π±ΡΠΌΒ» ΡΡΠΎΡΠ½ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ Π² JVM, ΠΏΡΠΎΠ½ΠΈΠΊΠ°ΡΡ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄Π»Ρ ΠΎΡΡΡΠ΅ΡΡΠ²Π»Π΅Π½ΠΈΡ ΡΠ²ΠΎΠΈΡ Π·Π»ΠΎΠ²ΡΠ΅Π΄Π½ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ, Π² Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠ΅ΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠΈΠ½Π°Π½ΡΠΎΠ²ΠΎΠΉ ΠΈ Π΄ΡΡΠ³ΠΎΠΉ ΡΠ΅Π½Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ.
Π‘ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° Π·Π°ΡΠΈΡΡ Java ΠΊΠΎΠ΄Π° Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΊΠΎΡΠ΅Π΅ Π½Π΅ Π·Π°ΡΠΈΡΠ°ΡΡ Π΅Π³ΠΎ ΠΎΡ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ, Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ Β«ΠΏΠ΅ΡΠΎΡΠ½ΠΈΡΡΒ» Π²Π½ΡΡΡΠΈ Β«ΠΏΠ΅ΡΠΎΡΠ½ΠΈΡΡΒ» Java π
Π‘ ΡΡΠΈΠΌΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ ΠΌΡ ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΠΈΡΡ, ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Ρ ΡΠΈΡΡΠ΅ΠΌΡ Π»ΠΈΡΠ΅Π½Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ Java/Java FX ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ β C3. Π ΡΠ°ΠΊ ΡΠΎΠ΄ΠΈΠ»ΡΡ Stringer.
Π’Π΅ΠΏΠ΅ΡΡ Π²Π΅ΡΠ½Π΅ΠΌΡΡ ΠΊ ΡΠ΅Π°Π»ΡΠ½ΠΎΡΡΠΈ. ΠΠΎΠ»ΡΡΠ°Ρ ΡΠ°ΡΡΡ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΊΠΎΡΠΎΡΡΡ Ρ ΠΎΡΠ΅Π»ΠΈ Π±Ρ Π·Π°ΡΠΈΡΠ°ΡΡ ΡΠ°ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΈΡ Java-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ Android) Π·Π°Π²ΡΠ·Π°Π½Π° Π½Π° ΡΡΡΠΎΠΊΠΈβ¦ ΠΡ ΡΠΆ ΡΡΠΈ java.lang.String’s.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ. Π£ Π½Π°Ρ Π΅ΡΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Ρ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ-ΡΠ΅ΡΡΡΡΠ° Π΄Π°Π½Π½ΡΠ΅ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅, ΠΏΠ°ΡΡΠΈΡ ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΠΈΡ
ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΠ»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ-ΠΏΡΠ»Ρ Java ΠΊΠ»Π°ΡΡΠ° ΠΈ Π΄Π»Ρ Π½Π΅Π³ΠΎ Π½Π΅ ΡΠΎΡΡΠ°Π²ΠΈΡ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ ΡΡΡΠ΄Π° ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ-ΠΊΠ»ΠΎΠ½.
ΠΠ±ΡΡΠ½ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π΄Π»Ρ Π·Π°ΡΠΈΡΡ ΠΎΡ ΡΡΠΈΡ
Π°ΡΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠ²ΠΎΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΡΠΎΠΊ ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΎΡΠ°ΠΌΠΈ Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΡΡΠΈΡ
ΡΡΠ½ΠΊΡΠΈΠΉ.
Π€ΡΠ°Π³ΠΌΠ΅Π½Ρ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ class-ΡΠ°ΠΉΠ»Π° ΠΏΠΎΡΠ»Π΅ Π²ΡΡΡΠ°ΠΈΠ²Π°Π½ΠΈΡ Π·Π°ΡΠΈΡΡ:
ΠΠ»ΡΡ ΡΠΏΠΎΠΌΡΠ½ΡΡΠ°Ρ Π²ΡΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠ΅ΡΠΎΡΠ½ΠΈΡΡ: Π·Π°ΡΠΈΡΠ° ΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ reflection, Π·Π°ΡΠΈΡΠ° private-ΠΏΠΎΠ»Π΅ΠΉ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², Π·Π°ΡΠΈΡΠ° final-ΠΏΠΎΠ»Π΅ΠΉ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΎΡ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ.
ΠΡ ΡΡΠΈΡΠ°Π΅ΠΌ, ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΡΠΎΠΊ Π½ΡΠΆΠ½Π° ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ, Π° Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΠΎΡΡΡ Π·Π°ΡΠΈΡΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΡΠ²ΠΎΠΈΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ² ΠΎΡ ΠΊΡΠ°ΠΆΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Stringer ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ Π·Π°ΡΠΈΡΠ΅Π½Π½ΡΡ ΡΡΠ΅Π΄Ρ Π²Π½ΡΡΡΠΈ Java-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π½ΠΎ ΡΡΠ° ΡΠ΅ΠΌΠ° Π΄ΠΎΡΡΠΎΠΉΠ½Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ°β¦
Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΌΡ Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ Stringer Π΄Π»Ρ Android-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
HackWare.ru
ΠΡΠΈΡΠ½ΡΠΉ Ρ Π°ΠΊΠΈΠ½Π³ ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΠ½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠ΅, ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½Π°Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ
ΠΠ°ΠΊ ΠΎΠ±ΡΡΡΡΠΈΡΠΎΠ²Π°ΡΡ JavaScript ΠΊΠΎΠ΄
ΠΡΠΆΠ½ΠΎ Π»ΠΈ ΠΎΠ±ΡΡΡΡΠΈΡΠΎΠ²Π°ΡΡ JavaScript
JavaScript ΠΊΠΎΠ΄ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² Π²Π΅Π± Π±ΡΠ°ΡΠ·Π΅ΡΠ°Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΈ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΈΠΌ Π΄Π»Ρ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΠΈ Π΄ΡΡΠ³ΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ. ΠΡΠ»ΠΈ Π²Ρ Π·Π°Π΄Π°Π»ΠΈΡΡ Π²ΠΎΠΏΡΠΎΡΠΎΠΌ Β«ΠΠ°ΡΠ΅ΠΌ ΠΌΠ½Π΅ ΠΎΠ±ΡΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠΎΠΉ ΠΊΠΎΠ΄ JavaScript?Β», ΡΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΈΡΠΈΠ½, ΠΏΠΎ ΠΊΠΎΡΠΎΡΡΠΌ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ Π·Π°ΡΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΠ±ΡΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ JavaScript ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅!
Π ΡΡΠ°ΡΡΠ΅, ΡΡΡΠ»ΠΊΠ° Π½Π° ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π° Π²ΡΡΠ΅, ΠΎΠ±ΡΡΡΠ½ΡΠ΅ΡΡΡ ΡΠ°Π·Π»ΠΈΡΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΠΈ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΠ΅ΠΉ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. ΠΡΠΎΠΌΠ΅ ΡΠΏΠΎΡΠΎΠ±Π° ΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈ ΠΏΡΠΎΡΡΠΎΡΡ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π² ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ Π²ΠΈΠ΄, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ°ΠΊΠΆΠ΅ ΡΠ°Π·Π»ΠΈΡΠ°Π΅ΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ.
ΠΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠΎΠ΄: ΡΠΊΠ°ΡΠΈΠ²Π°Π΅ΡΡΡ Ρ ΡΠ΅ΡΠ²Π΅ΡΠ° Π±ΡΡΡΡΠ΅Π΅, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π΅Ρ ΠΌΠ΅Π½ΡΡΠΈΠΉ ΡΠ°Π·ΠΌΠ΅Ρ, Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ (ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ) ΡΠ°ΠΊΠ°Ρ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Ρ ΠΊΠΎΠ΄Π° Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠ΅.
ΠΠ±ΡΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠΎΠ΄: ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΠΌΠ΅Π΅Ρ Π±ΠΎΠ»ΡΡΠΈΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΠΈ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΅Π³Π΄Π° ΡΠ²Π»ΡΠ΅ΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΠΌ (Π½Π° Π΄Π΅ΡΡΡΠΊΠΈ ΠΏΡΠΎΡΠ΅Π½ΡΠΎΠ²), ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΊΡΠΎΠΌΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΡΠΎΠΏΡΡΡΡΠ²ΡΡΡΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΊΠΎΠ΄Π°.
ΠΡΠ°ΠΊ, ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠΎΠ΄: Π»Π΅Π³ΠΊΠΎ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π² ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΡΠΎΡΠΌΡ, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π½Π΅ ΠΏΠ°Π΄Π°Π΅Ρ.
ΠΠ±ΡΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠΎΠ΄: (ΠΎΡΠ΅Π½Ρ) ΡΡΡΠ΄Π½ΠΎ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π² ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΡΠΎΡΠΌΡ, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΊΠΎΠ΄Π° ΠΏΠ°Π΄Π°Π΅Ρ. Π ΠΎΠ±ΡΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ°ΠΌΠΎΠ·Π°ΡΠΈΡΡ ΠΈ Π·Π°ΡΠΈΡΡ ΠΎΡ ΠΎΡΠ»Π°Π΄ΠΊΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ Π±Π΅ΡΡΠΌΡΡΠ»Π΅Π½Π½ΡΠ΅ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΡ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΈΠ»ΡΠ½ΠΎ ΡΡΠ»ΠΎΠΆΠ½ΡΡ Π΅Π³ΠΎ Π°Π½Π°Π»ΠΈΠ·.
ΠΡΠ²ΠΎΠ΄: ΠΎΠ±ΡΡΡΡΠΈΡΡΠΉΡΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΡ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π·Π°ΡΠΈΡΠΈΡΡ. Π’ΠΎ Π΅ΡΡΡ ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ» ΠΎΠ±ΡΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄, Π½ΠΎ Π½Π΅Ρ ΡΠΌΡΡΠ»Π° ΠΎΠ±ΡΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ JavaScript Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈ ΡΠ°ΠΊ ΠΎΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½Ρ Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π»Ρ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΠΈ JavaScript
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Π±ΡΠ΄ΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΈ ΡΠΏΠΎΡΠΎΠ±Ρ Π·Π°ΡΠΈΡΡ ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ JavaScript ΡΠΊΠΎΠ΄Π°.
Π€ΡΠ½ΠΊΡΠΈΠΈ btoa ΠΈ atob
Π ΠΏΡΠΎΡΡΡΡ ΡΠ»ΡΡΠ°Π΅Π² Π΄Π»Ρ Π·Π°ΡΠΈΡΡ ΠΎΡ ΠΏΠ°ΡΡΠ΅ΡΠΎΠ² Π½Π΅ Π½ΡΠΆΠ½Ρ Π³ΡΠΎΠΌΠΎΠ·Π΄ΠΊΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΠΈ ΠΈ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ Β«ΡΠΏΡΡΡΠ°ΡΡΒ» Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΡΠΎΠΊΠΈ.
Π§ΡΠΎΠ±Ρ Π±ΡΠ»ΠΎ ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΠΏΡΠΈΠ²Π΅Π΄Ρ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈΠΌΠ΅Ρ. ΠΠΎΠΉ ΡΠ°ΠΉΡ kali.tools ΡΡΠ°Π»ΠΈ ΠΏΡΠΎΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π° Π΄ΡΡΠ³ΠΎΠΌ Π΄ΠΎΠΌΠ΅Π½Π΅, Ρ. Π΅. Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ°ΠΉΡΠ° ΠΈ Π² Π½ΡΠΌ Π·Π°ΠΌΠ΅Π½Π΅Π½Ρ Π²ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΡΡΠΆΠΎΠΉ Π΄ΠΎΠΌΠ΅Π½, ΡΡΠΎΠ±Ρ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π΅ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ°ΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΎΡΡΠ°Π²Π°Π»ΡΡ Π½Π° ΡΡΠΎΠΌ ΠΏΠΎΡΡΠΎΡΠΎΠ½Π½Π΅ΠΌ ΡΠ°ΠΉΡΠ΅.
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠ°ΠΉΡ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π»ΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ, Π²ΠΌΠ΅ΡΡΠ΅ ΡΠΎ Π²ΡΠ΅ΠΌΠΈ ΡΠΊΡΠΈΠΏΡΠ°ΠΌΠΈ, ΡΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΉ ΠΊΠΎΠ΄:
ΠΡΠΎΡ ΠΊΠΎΠ΄ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, Π½Π° ΠΊΠ°ΠΊΠΎΠΌ Π΄ΠΎΠΌΠ΅Π½Π΅ ΠΎΡΠΊΡΡΡΠ° ΡΡΡΠ°Π½ΠΈΡΠ°, ΠΈ Π΅ΡΠ»ΠΈ ΡΡΠ° ΡΡΡΠ°Π½ΠΈΡΠ° Π½Π΅ Π½Π° Π΄ΠΎΠΌΠ΅Π½Π΅ kali.tools, ΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π½Π° https://kali.tools.
ΠΡΠΎΠ±Π»Π΅ΠΌΠ° Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΏΡΠΈ ΠΏΡΠΎΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π²ΡΠ΅ ΡΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΡ kali.tools Π·Π°ΠΌΠ΅Π½ΡΡΡΡΡ Π½Π° Π§Π£ΠΠΠ_ΠΠΠΠΠ.ru, ΠΈ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΊΠΎΠ΄ ΠΏΡΠ΅Π²ΡΠ°ΡΠ°Π»ΡΡ Π²:
ΠΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΡΡΡΠΈΡΠΎΠ²Π°ΡΡ (Π½ΠΎ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ!). ΠΠΎ Π΅ΡΡ ΠΏΡΠΎΡΠ΅ ΡΠΏΡΡΡΠ°ΡΡ ΡΡΡΠΎΠΊΡ Β«kali.toolsΒ» Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ btoa ΠΈ atob.
Π€ΡΠ½ΠΊΡΠΈΠΈ btoa ΠΈ atob ΡΠ²Π»ΡΡΡΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ JavaScript ΠΈ Π²ΡΠ΅Π³Π΄Π° Π΄ΠΎΡΡΡΠΏΠ½Ρ.
Π€ΡΠ½ΠΊΡΠΈΡ btoa ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΡ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ ΡΡΡΠΎΠΊΡ Π² Π½Π°Π±ΠΎΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² (ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ Base64), Π° ΡΡΠ½ΠΊΡΠΈΡ atob Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΎΠ±ΡΠ°ΡΠ½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ.
ΠΡΠΈΠ½ΡΠΈΠΏ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π² Π΄Π²ΡΡ ΡΡΡΠΎΠΊΠ°Ρ :
ΠΡΠ°ΠΊ, ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, Π²ΠΎ ΡΡΠΎ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΡΡΡ ΡΡΡΠΎΠΊΠ° Β«https://kali.toolsΒ»:
Π’Π΅ΠΏΠ΅ΡΡ Π² ΠΌΠΎΡΠΌ ΠΏΡΠΎΡΡΠΎΠΌ ΠΊΠΎΠ΄Π΅ Π΄Π΅Π»Π°Π΅ΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ atob ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ:
ΠΠ°Π½Π½ΡΠ΅ ΠΊΠΎΠ΄ Π΄Π΅Π»Π°Π΅Ρ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠΎ, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ β ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ Π΄ΠΎΠΌΠ΅Π½Π΅ ΡΠ°ΠΉΡ Π±ΡΠ» ΠΎΡΠΊΡΡΡ ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ Π΅ΡΠ»ΠΈ ΡΡΠΎ Π½Π΅ kali.tools, ΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΡΠ΅Π΄ΠΈΡΠ΅ΠΊΡ Π½Π° kali.tools. ΠΡΠΈ ΡΡΠΎΠΌ ΠΏΡΠΈ ΠΏΡΠΎΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ°ΠΉΡΠ°, ΠΏΠ°ΡΡΠ΅ΡΡ Π½Π΅ Π²ΠΈΠ΄ΡΡ ΡΡΡΠΎΠΊΡ kali.tools ΠΈ Π½Π΅ Π΄Π΅Π»Π°ΡΡ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΡΠΎΠΌ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ΅ ΠΊΠΎΠ΄Π°.
JavaScript Obfuscator
JavaScript Obfuscator β ΡΡΠΎ ΠΌΠΎΡΠ½Π΅ΠΉΡΠΈΠΉ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΎΡ Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΠΌ ΠΎΠΏΡΠΈΠΉ. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ JavaScript Obfuscator Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ ΠΊΠΎΠ΄, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΡΠ΄Π½ΠΎ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ JavaScript Obfuscator ΠΌΠΎΠΆΠ΅Ρ Π²ΡΡΡΠΎΠΈΡΡ Π·Π°ΡΠΈΡΡ ΠΎΡ ΠΎΡΠ»Π°Π΄ΠΊΠΈ (ΠΏΡΠΈ ΠΎΡΠΊΡΡΡΠΈΠΈ ΠΏΠ°Π½Π΅Π»ΠΈ Β«ΠΡΠ»Π°Π΄ΠΊΠ°Β» Π² ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°Ρ Π²Π΅Π±-ΠΌΠ°ΡΡΠ΅ΡΠ° Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅, Π±ΡΠ°ΡΠ·Π΅Ρ Π±ΡΠ΄Π΅Ρ Π·Π°Π²ΠΈΡΠ°ΡΡ), ΡΠ°ΠΌΠΎΠ·Π°ΡΠΈΡΡ ΠΊΠΎΠ΄Π° (Π²ΡΡΠ°Π²ΠΊΠ° Π±Π΅ΡΡΠΌΡΡΠ»Π΅Π½Π½ΡΡ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠΎΠ² ΠΈ ΠΏΡ.). Π£ JavaScript Obfuscator ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠΎΠ½ΠΊΠΈΠΉ ΠΎΠΏΡΠΈΠΉ ΠΏΠΎΠ΄ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΠΈ.
ΠΠ°Π½Π½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΈΠΌΠ΅Π΅Ρ ΠΊΠ°ΠΊ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΡΠ°ΠΊ ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ.
JavaScript Obfuscator ΠΎΠ½Π»Π°ΠΉΠ½
ΠΠΌΠ΅ΡΡΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ½Π»Π°ΠΉΠ½ ΡΠ΅ΡΠ²ΠΈΡ ΠΎΡ Π°Π²ΡΠΎΡΠΎΠ², ΠΎΠ½ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ: https://obfuscator.io/
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° JavaScript Obfuscator
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π² Kali Linux
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π² BlackArch
ΠΠ°ΠΊ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ JavaScript Obfuscator
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π²Π΅Π± ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° JavaScript Obfuscator Π² Kali Linux
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π²Π΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ http://localhost:3000/
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π²Π΅Π± ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° JavaScript Obfuscator Π² BlackArch
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π²Π΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ http://localhost:3000/
ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΠΏΡΠΈΠΉ ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ Π·Π°ΠΏΡΡΠΊΠ° JavaScript Obfuscator Π²Ρ Π½Π°ΠΉΠ΄ΡΡΠ΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ https://kali.tools/?p=5621
Π§ΡΠΎΠ±Ρ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΠΎΠ±ΡΡΡΡΠΈΡΠΎΠ²Π°ΡΡ JavaScript ΠΊΠΎΠ΄ Π² ΡΠ°ΠΉΠ»Π΅ script.js:
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΠΎΠΏΡΠΈΡΠΌΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΊΠΎΠ΄:
JSFuck
JSFuck ΡΡΠΎ ΠΎΡΠ΅Π½Ρ Π½Π΅ΠΎΠ±ΡΡΠ½ΡΠΉ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΎΡ, Π»ΡΠ±ΠΎΠΉ JavaScript ΠΊΠΎΠ΄ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ Π·Π°ΠΏΠΈΡΡΡ Π²ΡΠ΅Π³ΠΎ ΠΈΠ· ΡΠ΅ΡΡΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², Π° ΠΈΠΌΠ΅Π½Π½ΠΎ []()!+
Π’Π°ΠΊΠ°Ρ Π·Π°ΠΏΠΈΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ ΡΡΠΏΠΈΠΊ ΡΠΈΠ»ΡΠ½Π΅Π΅, ΡΠ΅ΠΌ Π²ΡΠ²ΠΎΠ΄ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ Π²ΡΡΠ΅ JavaScript Obfuscator. ΠΠΎ, Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅, ΠΎΠ±ΡΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½ ΠΊ ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ Π²ΠΈΠ΄Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠΌ JStillery.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° JSFuck
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π² Kali Linux
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ JSFuck Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ http://localhost:8181/
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π² BlackArch
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π² Windows
ΠΡΠΊΡΠΎΠΉΡΠ΅ Π² Π²Π΅Π±-Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ ΡΠ°ΠΉΠ» index.html ΠΈΡ Π°ΡΡ ΠΈΠ²Π°.
ΠΠ΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΏΠΎΡΠΎΠ±Π° ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ, Π² ΡΠ°ΠΉΠ»Π΅ index.html ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΡΡΡΠΎΠΊΡ
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π²Π²ΠΎΠ΄ΠΈΡΡ Π΄Π»Ρ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΠΈ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ, Π½ΠΎ ΠΈ Π±ΠΎΠ»ΡΡΠΈΠ΅ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΡ ΠΊΠΎΠ΄Π°.
Π‘ΠΎΠ³Π»Π°ΡΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΠΎΡΠ΅Π½Ρ Π½Π΅ΠΎΠ±ΡΡΠ½ΠΎ! ΠΠΎ ΡΡΠΎ Π½Π΅ Π²ΡΡ! ΠΠ²ΡΠΎΡ JSFuck ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΠ» ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π½Π΅ΡΠ΅Π°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π·ΡΡΠ²Π°ΡΡ ΠΌΠΎΠ·Π³:
ΠΡΠΈ ΠΊΡΠ°ΠΉΠ½Π΅ Π·Π°Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ Π±ΡΠ΄ΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Ρ Π² ΠΊΠΎΠ½ΡΠ΅ ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΈΠΌΠ΅ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ (ΡΠ΅ΠΌ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅) Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
ΠΠ½Π»Π°ΠΉΠ½ ΡΠ΅ΡΠ²ΠΈΡ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΠΈ ΠΊΠΎΠ΄Π°
ΠΠΎΠ»ΡΡΠ°Π΅ΠΌΡΠΉ ΠΊΠΎΠ΄ ΠΏΠΎ ΡΡΠΎΠΉΠΊΠΎΡΡΠΈ ΠΊ Π΄Π΅ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ»Π°Π±ΡΠΌ ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΄Π΅ΠΎΠ±ΡΡΡΡΠΈΡΠΎΠ²Π°Π½ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ, ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΡΠΌΠΈ Π² ΡΡΠ°ΡΡΠ΅ Β«ΠΠ΅ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΡ JavaScript ΠΊΠΎΠ΄Π°Β».
ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π° Π΄Π»Ρ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΠΈ:
ΠΡΠ΅ ΠΎΠ½Π»Π°ΠΉΠ½ ΡΠ΅ΡΠ²ΠΈΡΡ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΠΈ JavaScript
UglifyJS
ΠΠ½ΡΡΡΡΠΌΠ΅Π½Ρ UglifyJS ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ Ρ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΠΊΠΎΠ΄Π° JavaScript.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° UglifyJS
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π² Kali Linux
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π² BlackArch
ΠΡΠΈΠΌΠ΅Ρ Π·Π°ΠΏΡΡΠΊΠ° (Π΄Π»Ρ ΡΠΆΠ°ΡΠΈΡ ΠΊΠΎΠ΄Π° Π² ΡΠ°ΠΉΠ»Π΅ redir.js):
ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°:
ΠΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°:
Π£ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠΏΡΠΈΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ, ΠΏΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ Π²Ρ Π½Π°ΠΉΠ΄ΡΡΠ΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ https://kali.tools/?p=5594
slimit ΠΈ python-jsmin
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ slimit ΠΈ python-jsmin ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΠΌΠΎΠ΄ΡΠ»ΠΈ Python Π΄Π»Ρ ΡΠΆΠ°ΡΠΈΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° JavaScript.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° slimit
Π Kali Linux:
Π BlackArch:
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° python-jsmin Π² BlackArch:
Π‘Π°ΠΌΠ°Ρ ΡΠ»ΠΎΠΆΠ½Π°Ρ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΡ JavaScript
Π― ΡΠΆΠ΅ ΡΠΏΠΎΠΌΠΈΠ½Π°Π», ΡΡΠΎ Π°Π²ΡΠΎΡ JSFuck ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΠ» ΡΠ°ΠΌΡΠ΅ Π½Π΅ΠΎΠ±ΡΡΠ½ΡΠ΅ ΡΠΎΡΠΌΡ ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ JavaScript, ΠΈΡ ΡΠΏΠΈΡΠΎΠΊ Π²Ρ Π½Π°ΠΉΠ΄ΡΡΠ΅ Π½Π° ΡΠ°ΠΉΡΠ΅ http://aem1k.com/. ΠΠΎΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π½ΠΈΡ :
Π ΠΏΡΠΈΠΌΠ΅ΡΡ, ΠΊΠΎΠ΄, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ ΡΠ°ΠΉΡΠΊΠΈΠΌΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ:
ΠΠΎΠ΄, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΡΠΊΠΎΠ²:
ΠΡΠΎ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ Π² ΡΠ΅Π³ΠΈ ΠΈ ΠΎΡΠΊΡΡΡΡ Π² Π²Π΅Π±-Π±ΡΠ°ΡΠ·Π΅ΡΠ΅.
Π ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²Ρ Π½Π΅ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΡΠ°ΡΡΡ JavaScript ΠΊΠΎΠ΄ ΠΊΠΎΠΏΠΈΠΏΠ°ΡΡΠΎΠΉ!
ΠΠ±ΡΡΡΠΊΠ°ΡΠΈΡ JavaScript
Π ΡΡΠ°ΡΡΠ΅ ΡΠΎΠ±ΡΠ°Π½Ρ Π²ΡΠ΅ΠΌ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈ ΠΏΡΠ΅Π΄Π΅Π»ΡΠ½ΠΎ ΠΈΠ·Π²ΡΠ°ΡΠ΅Π½Π½ΡΠ΅. ΠΡΡ ΡΡΠ°ΡΡΡ Ρ ΡΠ΅ΡΠΈΠ» Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΏΠΎΡΠ»Π΅ Π½Π΅Π΄Π°Π²Π½Π΅Π³ΠΎ ΠΏΡΠΎΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΡΡΠ° Π² Π±Π»ΠΎΠ³Π΅ Badass JavaScript ΠΈ ΡΠ΅ΡΠΈΠ» Π΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ²ΠΎΠΈΠΌΠΈ Π½Π°Ρ ΠΎΠ΄ΠΊΠ°ΠΌΠΈ.
ΠΠ΅ΡΠ²ΡΠΉ ΡΠΏΠΎΡΠΎΠ±
ΠΠ½ Π²ΡΠ΅ΠΌ ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ β ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΡ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°ΡΠΎΡΠ°ΠΌΠΈ ΡΠ°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ JS Packer, JSmin, YUI Compressor, Closure compiler ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΠΏΡΠ³ΡΠ³Π»ΠΈΡΡ Β«JavaScript ObfuscatorΒ» ΠΈ Π½Π°ΠΉΠ΄Π΅ΡΡΡ Π΅ΡΡ ΡΡΠΎ ΡΡΡΠΊ ΡΠ°Π·Π½ΡΡ
ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΎΡΠΎΠ².
ΠΠ½ΠΈ ΠΏΡΠ΅Π²ΡΠ°ΡΠ°ΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄
Π ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΡΠ°ΠΊΠΎΠΉ Π²ΠΈΠ΄:
ΠΠΎ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΡΡΠΎΠΈΡ Π΅Π³ΠΎ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ jsbeautifier.org Π»ΠΈΠ±ΠΎ ΠΏΡΠΎΡΡΠΎ ΡΠ±ΡΠ°ΡΡ eval ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄, ΠΌΠ½ΠΎΠ³ΠΎΠ΅ ΠΏΠΎΡΠ΅ΡΡΠ΅ΠΌ, Π½ΠΎ ΡΠΌΡΡΠ» ΠΊΠΎΠ΄Π° Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΠΌ. ΠΡ ΠΈ Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π²Π·Π³Π»ΡΠ΄Π° ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ ΠΏΠ΅ΡΠ΅Π΄ Π½Π°ΠΌΠΈ JavaScript.
ΠΡΠ΅ ΡΡΠΎ Π±ΡΠ»ΠΈ ΡΠ²Π΅ΡΠΎΡΠΊΠΈ ΠΏΠΎΠ΄ ΠΊΠ°ΡΠΎΠΌ ΠΆΠ΅ΡΡΠΊΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΠΈ.
Π‘ΠΏΠΎΡΠΎΠ± Π²ΡΠΎΡΠΎΠΉ
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π΄ΠΎ Π½Π΅ΡΠ·Π½Π°Π²Π°Π΅ΠΌΠΎΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΡ Π½Π°Ρ ΠΌΠΈΠ·Π΅ΡΠ½ΡΠΉ ΡΠΊΡΠΈΠΏΡ:
alert(0)
ΠΠ»ΠΈ Π²ΠΎΡ Π² ΡΠ°ΠΊΠΎΠΉ (ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈΠ±ΠΎ Ρ
Π°Π±ΡΠ°ΠΏΠ°ΡΡΠ΅Ρ):
οΎΟοΎοΎ= /ο½ο½Β΄οΌοΎ
Π’ΡΡ Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΠ°Π·Π° ΠΈ Π½Π΅ ΡΠΊΠ°ΠΆΠ΅ΡΡ, ΡΡΠΎ ΠΏΠ΅ΡΠ΅Π΄ Π½Π°ΠΌΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΉ JavaScript.
Π’ΡΠ»Π·Π° Π΄Π΅Π»Π°ΡΡΠ°Ρ ΠΊΠΎΠ΄ Π²ΠΈΠ΄Π° ΠΎΠ΄ΠΈΠ½, ΠΊΠΎΠ΄ Π²ΠΈΠ΄Π° Π΄Π²Π°. Vladson Π½Π°ΡΠ΅Π» Π΅ΡΡ ΠΎΠ΄Π½Ρ ΡΡΠ»Π·Ρ jjencode
ΠΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΠΎΡΠΎΠ±Π° Π΄Π²Π°
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ _/_ = 3/3 = 1
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΏΠ΅ΡΠ²Π°Ρ ΡΡΡΠΎΠΊΠ° ΡΡΠ°Π½Π΅Ρ ($ = [] [«s» + «o»+ «r»+ «t» ] )()
($=[][«sort»])()
ΠΠ΄Π΅ΠΌ Π΄Π΅Π»ΡΡΠ΅
[__[_/_]+__[_+
Π‘ΡΡΠΎΠΊΠ° ΠΏΡΠ΅Π²ΡΠ°ΡΠ°Π΅ΡΡΡβ¦
[__[_/_]+__[_+
ΠΡΠ΅Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π²
[ «a» + «l» + «e» + «r» + «t» ](1)
Π ΠΊΠΎΠ½ΡΠ΅ ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ($=[][«sort»])()[«alert»](1)
Π Π°Π·ΠΎΠ±ΡΡΠΌ ΠΏΠΎ ΡΠ°ΡΡΡΠΌ
a = [] // Π‘ΠΎΠ·Π΄Π°Π΅Ρ ΠΌΠ°ΡΡΠΈΠ²
b = a[«sort»] // ΠΠΎΠ»ΡΡΠ°Π΅Ρ ΡΡΡΠ»ΠΊΡ Π½Π° ΠΌΠ΅ΡΠΎΠ΄ sort
c = b() // ΠΡΠΏΠΎΠ»ΡΠ΅Ρ ΠΌΠ΅ΡΠΎΠ΄ Π²Π½Π΅ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° ΠΌΠ°ΡΡΠΈΠ²Π° Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΡΡΠ»ΠΊΠΈ Π½Π° window
d = c[«alert»] // ΠΠΎΠ»ΡΡΠ°Π΅Ρ ΡΡΡΠ»ΠΊΡ Π½Π° window.alert
d(1) // ΠΡΠΏΠΎΠ»Π½ΡΠ΅Ρ window.alert Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠΌ 1
ΠΡΠΎ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΠΈΠ· ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΎΡΠΎΠ² ΡΠ°ΠΊ Π½Π΅ ΡΠΌΠΎΠΆΠ΅Ρ.
Π‘ΠΏΠΎΡΠΎΠ± ΡΡΠ΅ΡΠΈΠΉ
ΠΠ΅ΡΠ²ΡΠΉ ΡΠΏΠΎΡΠΎΠ± Π΄Π΅Π»Π°Π» ΠΊΠΎΠ΄ ΠΏΠΎΡ ΠΎΠΆΠΈΠΌ Π½Π° JavaScript, Π²ΡΠΎΡΠΎΠΉ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π½Π΅ ΠΏΠΎΡ ΠΎΠΆΠΈΠΌ, Π° ΡΡΠ΅ΡΠΈΠΉ ΡΠ΄Π΅Π»Π°Π΅Ρ ΠΊΠΎΠ΄ Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡΠΌ.
ΠΠΎΡΠΎΠ²ΡΡ
ΡΠ΅ΡΠ΅Π½ΠΈΠΉ Π½Π΅ Π²ΠΈΠ΄Π΅Π», ΠΊΠΎΠ½ΡΠ΅ΠΏΡ, ΠΏΠΎΠ΄ΡΠΌΠΎΡΡΠ΅Π½Π½ΡΠΉ Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· Π²ΠΈΠ΄Π΅ΠΎ JS ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΉ.
ΠΠΎΠ΄ Π±ΡΠ΄Π΅Ρ ΡΠΎΡΡΠΎΡΡΡ ΠΈΠ· Π΄Π²ΡΡ
ΡΠ°ΡΡΠ΅ΠΉ: Π²ΠΈΠ΄ΠΈΠΌΠ°Ρ ΡΠ΅ΡΡΡ β ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠ΅ Π²ΡΡΠ΅ Π΄Π»Ρ Π΅Ρ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΠΈ ΠΈ Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΠ°Ρ ΡΠ°ΡΡΡ.
ΠΡΠ»ΠΈ Ρ Π²ΠΈΠ΄ΠΈΠΌΠΎΠΉ Π²ΡΠ΅ ΡΡΠ½ΠΎ, ΡΠΎ ΡΠ΅ΠΊΡΠ΅Ρ Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΠΎΠΉ Π²ΠΎΡ Π² ΡΠ΅ΠΌ: ΠΠΌΠ΅ΡΡΠΈΠΉΡΡ Β«ΠΏΠ»ΠΎΡ
ΠΎΠΉ ΠΊΠΎΠ΄Β» (ΠΈΠ½Π°ΡΠ΅ Π·Π°ΡΠ΅ΠΌ Π΅Π³ΠΎ ΠΏΡΡΡΠ°ΡΡ) ΠΌΡ ΠΏΡΠΎΠΏΡΡΠΊΠ°Π΅ΠΌ ΡΠ΅ΡΠ΅Π· Π½Π°Ρ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΎΡ-ΠΈΠ·ΡΠ΅Π·Π°ΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π²ΡΠ°ΡΠ°Π΅Ρ Π²ΠΈΠ΄ΠΈΠΌΡΠΉ ΡΠΊΡΠΈΠΏΡ Π² Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡΠΉ Ρ.Π΅. Π² ΡΡΡΠΎΠΊΡ ΡΠΎΡΡΠΎΡΡΡΡ ΠΈΠ· Π·Π½Π°ΠΊΠΎΠ² ΡΠ°Π±ΡΠ»ΡΡΠΈΠΈ (Π±ΠΈΡ 1) ΠΈ ΠΏΡΠΎΠ±Π΅Π»ΠΎΠ² (Π±ΠΈΡ 0).
Π ΠΈΡΠΎΠ³Π΅ ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠΌ Π² 8 ΡΠ°Π· Π±ΠΎΠ»ΡΡΠ΅ ΠΊΠΎΠ΄Π° ΡΠ΅ΠΌ ΠΈΠΌΠ΅Π»ΠΈ. ΠΠΈΠ΄ΠΈΠΌΠ°Ρ ΡΠ°ΡΡΡ Π±ΡΠ΄Π΅Ρ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°ΡΡ Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡΡ ΡΠ°ΡΡΡ ΠΈ Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ: Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΡΠ΅Ρ Π±ΠΈΡΡ Π² ΡΠΈΡΠ»ΠΎ, Π° ΡΠΈΡΠ»ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π΅Π»Π°Π΅Ρ Π² ΡΠΈΠΌΠ²ΠΎΠ» String.fromCharCode() Π½Ρ Π° Π΄Π°Π»ΡΡΠ΅ eval
Π ΠΊΠΎΠ½ΡΠ΅ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ ΡΡΠΎ-ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ (Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡΡ ΡΠ°ΡΡΡ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠΊΡΡΠ²Π°ΡΡ Π² ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ΅)
decodeAndEval(document.getElementById(«evilCode»).innerHTML);
ΠΡΠ΄Ρ ΡΠ°Π΄ ΠΎΡΠ²Π΅ΡΠΈΡΡ Π½Π° Π²Π°ΡΠΈ Π²ΠΎΠΏΡΠΎΡΡ ΠΈ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΠΈ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠ΅ Π²Π°ΠΌ.
PS ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ, ΠΈΠ±ΠΎ Ρ Π°Π±ΡΠ°ΠΏΠ°ΡΡΠ΅ΡΒ©, ΡΡΡΠ»ΠΊΠΈ Π½Π° ΡΡΠ»Π·Ρ ΠΈΠΌΠ΅ΡΡΡΡ β Π² ΡΠ»ΡΡΠ°Π΅ ΡΠ΅Π³ΠΎ ΡΠ΄Π΅Π»Π°ΠΉΡΠ΅ ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄.
UPD Π ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ Π΅ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· ΠΏΠΈΡΠ°Π»ΠΈ ΠΏΡΠΎ ΡΠΏΠΎΡΠΎΠ± ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΠΈ Π² png ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅
X-files Π² Java: ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΡ ΠΈ Π²ΠΈΠ΄Ρ ΡΠΈΡΡΠ°ΡΠΎΡΠΎΠ²
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΠΈ
ΠΠ΅ΡΠ²ΡΠΉ Π²ΠΈΠ΄ ΡΠΈΡΡΠ°ΡΠΎΡΠΎΠ² ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ ΡΡΡΡΠΊΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²ΡΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ² ΠΈΠ»ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ°. ΠΡΠΈ ΡΡΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ² ΠΈΠΌΠ΅Π΅Ρ ΠΌΠ΅ΡΡΠΎ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ ΠΊΠ°ΠΊ Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠ°ΠΊ ΠΈ Ρ Java Π±Π°ΠΉΡ-ΠΊΠΎΠ΄ΠΎΠΌ. Π ΡΠ»ΡΡΠ°Π΅ Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Π±Π°ΠΉΡΠΊΠΎΠ΄Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΡΠΈΠ»ΠΈΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ ΠΏΠ°ΠΏΠΊΡ ΡΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ Π»ΠΈΠ±ΠΎ jar-ΡΠ°ΠΉΠ».
Π Π²ΠΎΡ Π΄ΠΎΠ±ΠΈΡΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ Π΄Π°ΠΆΠ΅ ΠΏΡΠΎΡΡΡΠΌ ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³ΠΎΠΌ Π² IDE. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π²ΡΠΌΡ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΡΡ ΠΏΠΎΠ½ΡΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ:
Π² ΡΠ»Π΅Π΄ΡΡΡΡΡ Π½Π΅ΠΏΠΎΠ½ΡΡΠ½ΡΡ ΠΏΠΈΡΠ°Π½ΠΈΠ½Ρ:
ΠΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ java-ΠΊΠ»Π°ΡΡΠΎΠ² ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΡ ΡΠ°Π½ΡΡΡ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΡΠ΄Π°Π»ΡΠ½Π½ΠΎΠΉ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠΎ-ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ javac ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π½ΠΎΠΌΠ΅ΡΠ°Ρ ΡΡΡΠΎΠΊ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΈ ΡΠ°ΠΌΠΎΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅, Π° ΠΈΠΌΠ΅Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π½Π΅ ΡΠΎΡ ΡΠ°Π½ΡΡΡΡΡ.
ΠΡ, Π½Π°Π²Π΅ΡΠ½ΠΎΠ΅, ΡΠΆΠ΅ Π΄ΠΎΠ³Π°Π΄Π°Π»ΠΈΡΡ: ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ Π²ΡΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ, ΠΎΠ±ΡΠ΅Π΄Π΅Π½ΡΠ½Π½ΡΠ΅ Π²ΠΌΠ΅ΡΡΠ΅, β ΡΡΠΎ ΡΠ°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠΈΡΡΠΎΠ²ΠΊΠΈ. ΠΠ½ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ Π·Π°ΡΡΡΠ΄Π½ΡΠ΅Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π²Π·Π»ΠΎΠΌΡΠΈΠΊΠΎΠΌ, Π½ΠΎ Π»ΠΎΠ³ΠΈΠΊΠ° ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΡΠΊΡΡΠ²Π°Π΅ΡΡΡ.
ΠΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΠΈ
ΠΡΠΎΡΠΎΠΉ Π²ΠΈΠ΄ ΡΠΈΡΡΠ°ΡΠΎΡΠΎΠ² ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ Ρ ΠΎΠ΄ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ (flow obfuscation). Π§Π°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ Β«ΡΡΡΠ°Π΄Π°ΡΡΒ» ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π²ΡΠ±ΠΎΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, if ΠΈ switch) ΠΈ ΡΠΈΠΊΠ»ΠΎΠ² (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, for ΠΈ while). ΠΠ°ΠΉΡΠΊΠΎΠ΄ ΡΡΠ°ΡΠ°ΡΡΡΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΎΠ½ Π½Π΅ ΠΈΠΌΠ΅Π» ΠΏΡΡΠΌΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ² Π² ΡΠ·ΡΠΊΠ΅ Java, ΡΡΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠ»ΠΎΠΆΠ½ΡΠ΅Ρ ΡΠ°Π±ΠΎΡΡ Π²Π·Π»ΠΎΠΌΡΠΈΠΊΠΎΠ².
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΡΡΠ΅ΡΠΈΠΉ Π²ΠΈΠ΄ ΡΠΈΡΡΠ°ΡΠΎΡΠΎΠ² ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ (structural obfuscators). ΠΠΎΠ±ΠΈΡΡΡΡ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠ² Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ². ΠΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°Π·Π±ΠΈΠ΅Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠΎΠ² Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΡΡΠ΅ΠΉ. ΠΡΡΠ°ΡΠΈ, ΡΠ°Π·Π±ΠΈΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠ°ΡΡΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΈ Π΄Π»Ρ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ². Π Π΄ΠΎΠ±Π°Π²ΠΎΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΡΡΡΠΎΠΊΠΎΠ²ΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , ΡΡΠΎΠ± ΡΠΆΠ΅ Π½Π°Π²Π΅ΡΠ½ΡΠΊΠ° Π²ΡΠ΅Ρ Π·Π°ΠΏΡΡΠ°ΡΡ.
Π¨ΠΈΡΡΠ°ΡΠΎΡΡ ΡΡΡΡΠΊΡΡΡ Π΄Π°Π½Π½ΡΡ β Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π½Π°Π΄ΡΠΆΠ½ΡΠΉ Π²ΠΈΠ΄ ΡΠΈΡΡΠ°ΡΠΎΡΠΎΠ². ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΠΎΡΠΎΠ³ΠΎ ΠΈ ΡΡΠ΅ΡΡΠ΅Π³ΠΎ ΡΠΏΠΎΡΠΎΠ±Π° ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ Π²ΠΌΠ΅ΡΡΠ΅ Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ ΡΡΠ»ΠΎΠΆΠ½ΡΠ΅Ρ ΠΊΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΡΠΎ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΌ.
ΠΠ° Π·Π°ΠΌΠ΅ΡΠΊΡ
ΠΡΡΠ°ΡΠΈ, ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΡ Π»ΡΠ±ΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΊΡΠ΅ΡΠ½ΡΠ΅ ΡΠ»ΡΠΆΠ±Ρ, Π½ΠΎ ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΠ°Π·Π°Π»ΠΎΡΡ Π±Ρ, Π° ΠΈΠΌ Π·Π°ΡΠ΅ΠΌ? ΠΡΠΎΡΡΠΎ jar-ΡΠ°ΠΉΠ» ΠΏΠΎΡΠ»Π΅ ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΠΈ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΌΠ΅Π½ΡΡΠ΅ Π² ΡΠ°Π·ΠΌΠ΅ΡΠ΅, Π²Π΅Π΄Ρ Π΄Π»ΠΈΠ½Π½ΡΡ ΠΈΠΌΡΠ½ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π² Π½ΡΠΌ Π½Π΅Ρ.
Π ΡΠ΅ΠΌ Π΅ΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½Π° ΠΎΠ±ΡΡΡΠΊΠ°ΡΠΈΡ? ΠΠΈΡΠΈΡΠ΅ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ !