ΠΠ°ΠΊ Π²ΡΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
ΠΡΠΊΡΡΠ²Π°Π΅ΠΌ, ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΡΠ΅ΠΌ ΠΈ Π·Π°ΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°Π΅ΠΌ Android-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ ΡΡΠ°ΡΡΠΈ
ΠΠ½ΠΎΠ³Π΄Π° Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° Android ΡΠ΅ΠΌ-ΡΠΎ Π½Π΅ ΡΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ Π½Π°Π·ΠΎΠΉΠ»ΠΈΠ²ΡΡ ΡΠ΅ΠΊΠ»Π°ΠΌΡ. Π ΡΠΎ Π±ΡΠ²Π°Π΅Ρ ΠΈ ΡΠ°ΠΊ β Π²ΡΠ΅ΠΌ Ρ ΠΎΡΠΎΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, Π΄Π° ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ Π² Π½Π΅ΠΉ ΠΈΠ»ΠΈ ΠΊΡΠΈΠ²ΠΎΠΉ, ΠΈΠ»ΠΈ Π²ΠΎΠ²ΡΠ΅ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ. ΠΠ»ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΡΠΈΠ°Π»ΡΠ½Π°Ρ, Π° ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠΎΠ»Π½ΡΡ Π²Π΅ΡΡΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π½Π΅Ρ. ΠΠ°ΠΊ ΠΆΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠΈΡΡΠ°ΡΠΈΡ?
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡ ΠΏΠ°ΠΊΠ΅Ρ APK Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π΅Π³ΠΎ Π²Π½ΡΡΡΠ΅Π½Π½ΡΡ ΡΡΡΡΠΊΡΡΡΡ, Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΡΠ΅ΠΌ ΠΈ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ Π²Π½Π΅ΡΡΠΈ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠ½Π΅ΡΡΠΈ Π½Π°ΠΌ ΡΡ ΠΈΠ»ΠΈ ΠΈΠ½ΡΡ Π²ΡΠ³ΠΎΠ΄Ρ.
Π§ΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ Π²ΡΠ΅ ΡΡΠΎ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ, ΠΏΠΎΡΡΠ΅Π±ΡΡΡΡΡ Ρ ΠΎΡΡ Π±Ρ Π½Π°ΡΠ°Π»ΡΠ½ΡΠ΅ Π·Π½Π°Π½ΠΈΡ ΡΠ·ΡΠΊΠ° Java, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΠΈΡΡΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ Android, ΠΈ ΡΠ·ΡΠΊΠ° XML, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² Android ΠΏΠΎΠ²ΡΠ΅ΠΌΠ΅ΡΡΠ½ΠΎ β ΠΎΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ Π΅Π³ΠΎ ΠΏΡΠ°Π² Π΄ΠΎΡΡΡΠΏΠ° Π΄ΠΎ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΡΡΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ Π²ΡΠ²Π΅Π΄Π΅Π½Ρ Π½Π° ΡΠΊΡΠ°Π½. Π’Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΡΠΌΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΡΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΡΠΌ ΡΠΎΡΡΠΎΠΌ.
ΠΡΠ°ΠΊ, ΡΡΠΎ ΠΆΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΏΠ°ΠΊΠ΅Ρ APK, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ Π²Π΅ΡΡ ΡΠΎΡΡ Π΄Π»Ρ Android?
ΠΠ΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
Π ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ Ρ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΎΠ΄Π½Π°ΠΊΠΎ Π΅ΡΠ»ΠΈ Π² Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π²Π½ΠΎΡΠΈΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΡΡΠ΅Π·Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π² ΠΊΠΎΠ΄Π΅ smali Π±ΡΠ΄Π΅Ρ Π³ΠΎΡΠ°Π·Π΄ΠΎ ΡΠ»ΠΎΠΆΠ½Π΅Π΅. Π ΡΡΠ°ΡΡΡΡ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄ dex Π² Java-ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ Ρ ΠΎΡΡ ΠΈ Π½Π΅ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΠΌ ΠΈ Π½Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌΡΠΌ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ, Π½ΠΎ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ Π»Π΅Π³ΠΊΠΈΠΌ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ Π»ΠΎΠ³ΠΈΠΊΠΈ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π§ΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ, Π½Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΡΡΡΡ Π΄Π²Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°:
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠ°ΠΊ. Π‘Π½Π°ΡΠ°Π»Π° Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ dex2jar, ΡΠΊΠ°Π·ΡΠ²Π°Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΏΡΡΡ Π΄ΠΎ apk-ΠΏΠ°ΠΊΠ΅ΡΠ°:
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΠΏΠΎΡΠ²ΠΈΡΡΡ Java-ΠΏΠ°ΠΊΠ΅Ρ mail.jar, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΊΡΡΡΡ Π² jd-gui Π΄Π»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Java-ΠΊΠΎΠ΄Π°.
Π£ΡΡΡΠΎΠΉΡΡΠ²ΠΎ APK-ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΠΈ ΠΈΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠ°ΠΊΠ΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Android, ΠΏΠΎ ΡΡΡΠΈ, ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΡΠ½ΡΠΌ ZIP-ΡΠ°ΠΉΠ»ΠΎΠΌ, Π΄Π»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΠΈ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ. ΠΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ Π°ΡΡ ΠΈΠ²Π°ΡΠΎΡ β 7zip Π΄Π»Ρ Windows ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΡΠΉ unzip Π² Linux. ΠΠΎ ΡΡΠΎ ΡΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ ΠΎΠ±Π΅ΡΡΠΊΠΈ. Π ΡΡΠΎ Π²Π½ΡΡΡΠΈ? ΠΠ½ΡΡΡΠΈ ΠΆΠ΅ Ρ Π½Π°Ρ Π² ΠΎΠ±ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ°ΠΊΠ°Ρ ΡΡΡΡΠΊΡΡΡΠ°:
ΠΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ Π΅ΡΡΡ Π΅ΡΠ»ΠΈ Π½Π΅ Π²ΠΎ Π²ΡΠ΅Ρ , ΡΠΎ, ΠΏΠΎΠΆΠ°Π»ΡΠΉ, Π² Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎΠΌ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ APK. ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΠΎΠΈΡ ΡΠΏΠΎΠΌΡΠ½ΡΡΡ Π΅ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½Π΅ ΡΡΠΎΠ»Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²/ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ²:
ΠΡΠΎΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΠΈ ΠΈΠ³Ρ, ΠΏΠΎΠΌΠ΅ΡΠ°Ρ ΡΡΠ΄Π° Π΄Π²ΠΈΠΆΠΎΠΊ ΠΈΠ³ΡΡ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π½Π° C/C++, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠ·Π΄Π°ΡΠ΅Π»ΠΈ Π²ΡΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Google Chrome). Π‘ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΠΌ ΡΠ°Π·ΠΎΠ±ΡΠ°Π»ΠΈΡΡ. ΠΠΎ ΠΊΠ°ΠΊ ΠΆΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ°ΠΌ ΡΠ°ΠΉΠ» ΠΏΠ°ΠΊΠ΅ΡΠ° ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΡΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ? ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π±Π΅Π· ΡΡΡΠ° Ρ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π·Π°Π±ΡΠ°ΡΡ ΡΠ°ΠΉΠ»Ρ APK Π½Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΌ (ΠΎΠ½ΠΈ Π»Π΅ΠΆΠ°Ρ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ /data/app), Π° ΡΡΡΠΈΡΡ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΡΠ΅Π»Π΅ΡΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎ, ΠΈΠΌΠ΅Π΅ΡΡΡ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΡΡΠΈ ΡΠΏΠΎΡΠΎΠ±Π° ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ°ΠΉΠ» ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ:
ΠΠ°ΠΊΠΎΠΉ ΠΈΠ· Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ β Π΄Π΅Π»ΠΎ Π²ΠΊΡΡΠ°; ΠΌΡ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠΏΠΈΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Real APK Leecher, ΡΠ΅ΠΌ Π±ΠΎΠ»Π΅Π΅ ΡΡΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ ΠΎΠ½ Π½Π° Java ΠΈ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, ΡΠ°Π±ΠΎΡΠ°ΡΡ Π±ΡΠ΄Π΅Ρ Ρ ΠΎΡΡ Π² Π²ΠΈΠ½Π΄Π΅, Ρ ΠΎΡΡ Π² Π½ΠΈΠΊΡΠ°Ρ .
ΠΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΡ ΡΡΠΈ ΠΏΠΎΠ»Ρ: Email, Password ΠΈ Device ID β ΠΈ Π²ΡΠ±ΡΠ°ΡΡ ΡΠ·ΡΠΊ. ΠΠ΅ΡΠ²ΡΠ΅ Π΄Π²Π° β e-mail ΠΈ ΠΏΠ°ΡΠΎΠ»Ρ ΡΠ²ΠΎΠ΅Π³ΠΎ Π³ΡΠ³Π»ΠΎΠ°ΠΊΠΊΠ°ΡΠ½ΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π΅. Π’ΡΠ΅ΡΠΈΠΉ ΠΆΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΠΈ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ, Π½Π°Π±ΡΠ°Π² Π½Π° Π½ΠΎΠΌΠ΅ΡΠΎΠ½Π°Π±ΠΈΡΠ°ΡΠ΅Π»Π΅ ΠΊΠΎΠ΄ ##8255## ΠΈ Π·Π°ΡΠ΅ΠΌ Π½Π°ΠΉΠ΄Ρ ΡΡΡΠΎΠΊΡ Device ID. ΠΡΠΈ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π½Π°Π΄ΠΎ Π²Π²Π΅ΡΡΠΈ ΡΠΎΠ»ΡΠΊΠΎ ID Π±Π΅Π· ΠΏΡΠ΅ΡΠΈΠΊΡΠ° android-.

Π₯Π°ΠΊΠ΅Ρ #170. ΠΠ°Π»Π²Π°ΡΡ Π΄Π»Ρ OS X
ΠΠΎΡΠ»Π΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ Π½Π΅ΡΠ΅Π΄ΠΊΠΎ Π²ΡΡΠΊΠ°ΠΊΠΈΠ²Π°Π΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Β«Error while connecting to serverΒ». ΠΠ½ΠΎ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΊ Google Play, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠΌΠ΅Π»ΠΎ Π΅Π³ΠΎ ΠΈΠ³Π½ΠΎΡΠΈΡΡΠΉ ΠΈ ΠΈΡΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΡΡΠΈΠ΅ ΡΠ΅Π±Ρ ΠΏΠ°ΠΊΠ΅ΡΡ.
ΠΡΠΎΡΠΌΠΎΡΡ ΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΡ
ΠΠΎΠΏΡΡΡΠΈΠΌ, ΡΡ Π½Π°ΡΠ΅Π» ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΡΡΠΈΠΉ ΡΠ΅Π±Ρ ΠΏΠ°ΠΊΠ΅Ρ, ΡΠΊΠ°ΡΠ°Π», ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²Π°Π»β¦ ΠΈ ΠΏΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ΅ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ XML-ΡΠ°ΠΉΠ»Π° Ρ ΡΠ΄ΠΈΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ», ΡΡΠΎ ΡΠ°ΠΉΠ» Π½Π΅ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ. Π§Π΅ΠΌ ΠΆΠ΅ Π΅Π³ΠΎ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΠΊΠ°ΠΊ Π²ΠΎΠΎΠ±ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΏΠ°ΠΊΠ΅ΡΠ°ΠΌΠΈ? ΠΠ΅ΡΠΆΠ΅Π»ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΠ°Π²ΠΈΡΡ SDK? ΠΠ΅Ρ, SDK ΡΡΠ°Π²ΠΈΡΡ Π²ΠΎΠ²ΡΠ΅ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ. ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π΄Π»Ρ Π²ΡΠ΅Ρ ΡΠ°Π³ΠΎΠ² ΠΏΠΎ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠ΅, ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΈ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² APK Π½ΡΠΆΠ½Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ:
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΠ΅ ΡΡΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈ ΠΏΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΡΡΠΈ, Π½ΠΎ ΡΡΠΎ Π½Π΅ΡΠ΄ΠΎΠ±Π½ΠΎ, ΠΏΠΎΡΡΠΎΠΌΡ Π»ΡΡΡΠ΅ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠΌ ΡΠΎΡΡΠΎΠΌ, ΠΏΠΎΡΡΡΠΎΠ΅Π½Π½ΡΠΌ Π½Π° ΠΈΡ ΠΎΡΠ½ΠΎΠ²Π΅. ΠΡΠ»ΠΈ ΡΡ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΡ Π² Linux ΠΈΠ»ΠΈ Mac OS X, ΡΠΎ ΡΡΡ Π΅ΡΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ apktool. ΠΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°ΡΡ ΡΠ΅ΡΡΡΡΡ Π² ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΠΉ Π²ΠΈΠ΄ (Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ Π±ΠΈΠ½Π°ΡΠ½ΡΠ΅ XML- ΠΈ arsc-ΡΠ°ΠΉΠ»Ρ), ΠΏΠ΅ΡΠ΅ΡΠΎΠ±ΠΈΡΠ°ΡΡ ΠΏΠ°ΠΊΠ΅Ρ Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΠΌΠΈ ΡΠ΅ΡΡΡΡΠ°ΠΌΠΈ, Π½ΠΎ Π½Π΅ ΡΠΌΠ΅Π΅Ρ ΠΏΠΎΠ΄ΠΏΠΈΡΡΠ²Π°ΡΡ ΠΏΠ°ΠΊΠ΅ΡΡ, ΡΠ°ΠΊ ΡΡΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΡΠΈΠ»ΠΈΡΡ signer ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π²ΡΡΡΠ½ΡΡ. ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ ΡΡΠΎ ΡΡΠΈΠ»ΠΈΡΠ° Π½Π°ΠΏΠΈΡΠ°Π½Π° Π½Π° Java, Π΅Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π½Π΅ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°. Π‘Π½Π°ΡΠ°Π»Π° ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ°ΠΌ jar-ΡΠ°ΠΉΠ»:
ΠΠ°Π»Π΅Π΅ Π½Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΡΠΊΡΠΈΠΏΡ-ΠΎΠ±Π²ΡΠ·ΠΊΠ° Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° apktool (ΠΎΠ½, ΠΊΡΡΠ°ΡΠΈ, Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΈ Π΄Π»Ρ Windows), Π²ΠΊΠ»ΡΡΠ°ΡΡΠΈΠΉ Π² ΡΠ΅Π±Ρ Π΅ΡΠ΅ ΠΈ ΡΡΠΈΠ»ΠΈΡΡ aapt, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ Π΄Π»Ρ Π·Π°ΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ°:
ΠΠ°Π»Π΅Π΅ ΠΏΡΠΎΡΡΠΎ ΡΠ²Π°Π»ΠΈΠ²Π°Π΅ΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΎΠ±ΠΎΠΈΡ Π°ΡΡ ΠΈΠ²ΠΎΠ² Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³
ΠΡΠ»ΠΈ ΠΆΠ΅ ΡΡ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΡ Π² Windows, ΡΠΎ Π΄Π»Ρ Π½Π΅Π΅ Π΅ΡΡΡ ΠΏΡΠ΅Π²ΠΎΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌVirtuous Ten Studio, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°ΠΊΠΆΠ΅ Π°ΠΊΠΊΡΠΌΡΠ»ΠΈΡΡΠ΅Ρ Π² ΡΠ΅Π±Π΅ Π²ΡΠ΅ ΡΡΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ (Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠ°ΠΌ apktool), Π½ΠΎ Π²ΠΌΠ΅ΡΡΠΎ CLI-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈΠ½ΡΡΠΈΡΠΈΠ²Π½ΠΎ ΠΏΠΎΠ½ΡΡΠ½ΡΠΉ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΠΎ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠ΅, Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠ»ΠΈΠΊΠΎΠ². ΠΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΡΡΠΎΡ Donation-ware, ΡΠΎ Π΅ΡΡΡ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ ΠΎΠΊΠΎΡΠΊΠΈ Ρ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π»ΠΈΡΠ΅Π½Π·ΠΈΡ, Π½ΠΎ ΡΡΠΎ, Π² ΠΊΠΎΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠΎΠ², ΠΌΠΎΠΆΠ½ΠΎ ΠΈ ΠΏΠΎΡΠ΅ΡΠΏΠ΅ΡΡ. ΠΠΏΠΈΡΡΠ²Π°ΡΡ Π΅Π³ΠΎ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ ΡΠΌΡΡΠ»Π°, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠΈΠ½ΡΡ. Π Π²ΠΎΡ apktool, Π²ΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅ Π΅Π³ΠΎ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΠΎΠΉ ΠΏΡΠΈΡΠΎΠ΄Ρ, ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΠ±ΡΡΠ΄ΠΈΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅.

Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΎΠΏΡΠΈΠΈ apktool. ΠΡΠ»ΠΈ Π²ΠΊΡΠ°ΡΡΠ΅, ΡΠΎ ΠΈΠΌΠ΅ΡΡΡΡ ΡΡΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ: d (decode), b (build) ΠΈ if (install framework). ΠΡΠ»ΠΈ Ρ ΠΏΠ΅ΡΠ²ΡΠΌΠΈ Π΄Π²ΡΠΌΡ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ Π²ΡΠ΅ ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΡΠΎ ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΡΡΠ΅ΡΡΡ, ΡΡΠ»ΠΎΠ²Π½ΡΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ? ΠΠ½Π° ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°Π΅Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ UI-ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ Π² ΡΠ΅Ρ ΡΠ»ΡΡΠ°ΡΡ , ΠΊΠΎΠ³Π΄Π° ΡΡ ΠΏΡΠ΅ΠΏΠ°ΡΠΈΡΡΠ΅ΡΡ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ ΠΏΠ°ΠΊΠ΅Ρ.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠ΅ ΠΎΠΏΡΠΈΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ apktool ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ, Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΎΠ΄Π½Ρ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ ΠΏΡΡΡ Π΄ΠΎ APK, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ mail ΠΏΠΎΡΠ²ΡΡΡΡ Π²ΡΠ΅ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½Π½ΡΠ΅ ΠΈ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΏΠ°ΠΊΠ΅ΡΠ°.
ΠΡΠ΅ΠΏΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅. ΠΡΠΊΠ»ΡΡΠ°Π΅ΠΌ ΡΠ΅ΠΊΠ»Π°ΠΌΡ
Π’Π΅ΠΎΡΠΈΡ β ΡΡΠΎ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, Ρ ΠΎΡΠΎΡΠΎ, Π½ΠΎ Π·Π°ΡΠ΅ΠΌ ΠΎΠ½Π° Π½ΡΠΆΠ½Π°, Π΅ΡΠ»ΠΈ ΠΌΡ Π½Π΅ Π·Π½Π°Π΅ΠΌ, ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ Ρ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½ΡΠΌ ΠΏΠ°ΠΊΠ΅ΡΠΎΠΌ? ΠΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΡΠ΅ΠΎΡΠΈΡ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠΉ Π΄Π»Ρ ΡΠ΅Π±Ρ, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΡΠ΅ΠΌ ΠΊΠ°ΠΊΡΡ-Π½ΠΈΠ±ΡΠ΄Ρ ΡΠΎΡΡΠΈΠ½Ρ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΎΠ½Π° Π½Π΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π»Π° Π½Π°ΠΌ ΡΠ΅ΠΊΠ»Π°ΠΌΡ. ΠΠ»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΏΡΡΡΡ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Virtual Torch β Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΉ ΡΠ°ΠΊΠ΅Π». ΠΠ»Ρ Π½Π°Ρ ΡΡΠ° ΡΠΎΡΡΠΈΠ½Π° ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½Π° ΠΏΠΎΠ΄ Π·Π°Π²ΡΠ·ΠΊΡ Π½Π°Π±ΠΈΡΠ° ΡΠ°Π·Π΄ΡΠ°ΠΆΠ°ΡΡΠ΅ΠΉ ΡΠ΅ΠΊΠ»Π°ΠΌΠΎΠΉ ΠΈ ΠΊ ΡΠΎΠΌΡ ΠΆΠ΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΠ°, ΡΡΠΎΠ±Ρ Π½Π΅ ΠΏΠΎΡΠ΅ΡΡΡΡΡΡ Π² Π΄Π΅Π±ΡΡΡ ΠΊΠΎΠ΄Π°.

ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ com.kauf.particle.virtualtorch ΠΏΠΎΡΠ²ΠΈΡΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠ΅ Π΄Π΅ΡΠ΅Π²ΠΎ, ΠΏΠΎΡ ΠΎΠΆΠ΅Π΅ Π½Π° ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠ΅ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅, Π½ΠΎ Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠΌ smali Π²ΠΌΠ΅ΡΡΠΎ dex-ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ ΡΠ°ΠΉΠ»ΠΎΠΌ apktool.yml. ΠΠ΅ΡΠ²ΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π΄ΠΈΠ·Π°ΡΡΠ΅ΠΌΠ±Π»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ dex-ΡΠ°ΠΉΠ»Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π²ΡΠΎΡΠΎΠΉ β ΡΠ»ΡΠΆΠ΅Π±Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ apktool Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ° ΠΎΠ±ΡΠ°ΡΠ½ΠΎ.
ΠΠ΅ΡΠ²ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ, ΠΊΡΠ΄Π° ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π·Π°Π³Π»ΡΠ½ΡΡΡ, β ΡΡΠΎ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ ΠΆΠ΅, AndroidManifest.xml. Π Π·Π΄Π΅ΡΡ ΠΌΡ ΡΡΠ°Π·Ρ Π²ΡΡΡΠ΅ΡΠ°Π΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΡΡΠΎΠΊΡ:
ΠΠ΅ΡΡΡΠ΄Π½ΠΎ Π΄ΠΎΠ³Π°Π΄Π°ΡΡΡΡ, ΡΡΠΎ ΠΎΠ½Π° ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡΠΈΠΉ Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ-ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ. ΠΠΎ ΡΡΡΠΈ, Π΅ΡΠ»ΠΈ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΏΡΠΎΡΡΠΎ ΠΈΠ·Π±Π°Π²ΠΈΡΡΡΡ ΠΎΡ ΡΠ΅ΠΊΠ»Π°ΠΌΡ, Π½Π°ΠΌ, ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΡΠ΅ΡΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ. ΠΠΎΠΏΡΡΠ°Π΅ΠΌΡΡ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ. Π£Π΄Π°Π»ΡΠ΅ΠΌ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ ΡΡΡΠΎΠΊΡ ΠΈ ΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΡΠΎΠ±ΡΠ°ΡΡ ΡΠΎΡΡΠΈΠ½Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ apktool:
Π ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ com.kauf.particle.virtualtorch/build/ ΠΏΠΎΡΠ²ΠΈΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠΈΠΉ APK-ΡΠ°ΠΉΠ». ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΅Π³ΠΎ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠΈΡΡΠΎΠ²ΠΎΠΉ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΡ ΡΡΠΌΠΌ ΡΠ°ΠΉΠ»ΠΎΠ² (Π² Π½Π΅ΠΌ ΠΏΡΠΎΡΡΠΎ Π½Π΅Ρ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° META-INF/). ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°ΡΡ ΠΏΠ°ΠΊΠ΅Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΈΠ»ΠΈΡΡ apk-signer. ΠΠ°ΠΏΡΡΡΠΈΠ»ΠΈ. ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π΄Π²ΡΡ Π²ΠΊΠ»Π°Π΄ΠΎΠΊ β Π½Π° ΠΏΠ΅ΡΠ²ΠΎΠΉ (Key Generator) ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΊΠ»ΡΡΠΈ, Π½Π° Π²ΡΠΎΡΠΎΠΉ (APK Signer) ΠΏΠΎΠ΄ΠΏΠΈΡΡΠ²Π°Π΅ΠΌ. Π§ΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ Π½Π°Ρ ΠΏΡΠΈΠ²Π°ΡΠ½ΡΠΉ ΠΊΠ»ΡΡ, Π·Π°ΠΏΠΎΠ»Π½ΡΠ΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΏΠΎΠ»Ρ:
ΠΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠΎΠ»Ρ, Π² ΠΎΠ±ΡΠ΅ΠΌ-ΡΠΎ, Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½Ρ β Π½ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΡ Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄Π½ΠΎ.

WARNING
Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ apk-signer, ΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Android SDK ΠΈ ΡΠΊΠ°Π·Π°ΡΡ ΠΏΠΎΠ»Π½ΡΠΉ ΠΏΡΡΡ Π΄ΠΎ Π½Π΅Π³ΠΎ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π° ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π² ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ΅Π»ΡΡ . ΠΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡ, Π½ΠΈ Π°Π²ΡΠΎΡ Π½Π΅ Π½Π΅ΡΡΡ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΡΡΠΈ Π·Π° Π»ΡΠ±ΠΎΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΉ Π²ΡΠ΅Π΄, ΠΏΡΠΈΡΠΈΠ½Π΅Π½Π½ΡΠΉ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π°ΠΌΠΈ Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠΈ.
Π’Π΅ΠΏΠ΅ΡΡ ΡΡΠΈΠΌ ΠΊΠ»ΡΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°ΡΡ APK. ΠΠ° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ APK Signer Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ°ΠΉΠ», Π²Π²ΠΎΠ΄ΠΈΠΌ ΠΏΠ°ΡΠΎΠ»Ρ, Π°Π»ΠΈΠ°Ρ ΠΊΠ»ΡΡΠ° ΠΈ ΠΏΠ°ΡΠΎΠ»Ρ ΠΊ Π½Π΅ΠΌΡ, Π·Π°ΡΠ΅ΠΌ Π½Π°Ρ ΠΎΠ΄ΠΈΠΌ ΡΠ°ΠΉΠ» APK ΠΈ ΡΠΌΠ΅Π»ΠΎ ΠΆΠΌΠ΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΡ Β«SignΒ». ΠΡΠ»ΠΈ Π²ΡΠ΅ ΠΏΡΠΎΠΉΠ΄Π΅Ρ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ, ΠΏΠ°ΠΊΠ΅Ρ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½.
Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π»ΠΈ ΠΏΠ°ΠΊΠ΅Ρ Π½Π°ΡΠΈΠΌ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΊΠ»ΡΡΠΎΠΌ, ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ²Π°ΡΡ Ρ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, Π° ΡΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ ΠΏΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ΅ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΡΠΎΡΡΠΈΠ½Ρ ΡΠ΅ΡΠ΅Π· ΠΌΠ°ΡΠΊΠ΅Ρ ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΠΎΡΠΈΠ±ΠΊΡ.
Π¦ΠΈΡΡΠΎΠ²Π°Ρ ΠΏΠΎΠ΄ΠΏΠΈΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ° ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎΡΠΎΠ½Π½Π΅ΠΌΡ ΡΠΎΡΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ Π΅ΡΠ»ΠΈ ΡΡ Π·Π°Π½ΠΈΠΌΠ°Π΅ΡΡΡΡ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³ /system/app/, ΡΠΎ ΠΏΠΎΠ΄ΠΏΠΈΡΡΠ²Π°ΡΡ ΠΈΡ Π½Π΅ Π½ΡΠΆΠ½ΠΎ.
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΡΠΊΠΈΠ΄ΡΠ²Π°Π΅ΠΌ ΠΏΠ°ΠΊΠ΅Ρ Π½Π° ΡΠΌΠ°ΡΡΡΠΎΠ½, ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ. ΠΡΠ°Π»Ρ, ΡΠ΅ΠΊΠ»Π°ΠΌΠ° ΠΏΡΠΎΠΏΠ°Π»Π°! ΠΠΌΠ΅ΡΡΠΎ Π½Π΅Π΅, ΠΎΠ΄Π½Π°ΠΊΠΎ, ΠΏΠΎΡΠ²ΠΈΠ»ΠΎΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΡΡΠΎ Ρ Π½Π°Ρ Π½Π΅Ρ ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ° ΠΈΠ»ΠΈ ΠΎΡΡΡΡΡΡΠ²ΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ. ΠΠΎ ΠΈΠ΄Π΅Π΅, ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠ³Π»ΠΎ Π±Ρ ΠΈ Ρ Π²Π°ΡΠΈΡΡ, Π½ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°Π·Π΄ΡΠ°ΠΆΠ°ΡΡΠ΅, Π΄Π° ΠΈ, Π΅ΡΠ»ΠΈ ΡΠ΅ΡΡΠ½ΠΎ, Π½Π°ΠΌ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠ²Π΅Π·Π»ΠΎ Ρ ΡΡΠΏΡΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ. ΠΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½Π½Π°Ρ ΡΠΎΡΡΠΈΠ½Π°, ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, ΡΡΠΎΡΠ½ΠΈΡ ΡΠ²ΠΎΠΈ ΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡΠΈΡ ΠΈΠ»ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΈΡ Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ-ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΈ Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΎΡΡΠΎ ΠΎΡΠΊΠ°ΠΆΠ΅ΡΡΡ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ. ΠΠ°ΠΊ Π±ΡΡΡ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅? ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΏΡΠ°Π²ΠΈΡΡ ΠΊΠΎΠ΄.
ΠΠ±ΡΡΠ½ΠΎ Π°Π²ΡΠΎΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΡΠ΅ΠΊΠ»Π°ΠΌΡ ΠΈ Π²ΡΠ·ΡΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΡΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ² Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π΅Π³ΠΎ Β«Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠ΅ΠΉΒ» (ΡΠΏΡΠΎΡΠ΅Π½Π½ΠΎ Π³ΠΎΠ²ΠΎΡΡ, ΡΠΊΡΠ°Π½ΠΎΠ² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ). ΠΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ Π½Π°ΠΉΡΠΈ ΡΡΠΈ ΠΊΠ»Π°ΡΡΡ. ΠΠ΄Π΅ΠΌ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³ smali, Π΄Π°Π»Π΅Π΅ com (Π² org Π»Π΅ΠΆΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡΠΊΡΡΡΠ°Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° cocos2d), Π΄Π°Π»Π΅Π΅ kauf (ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡΠ΄Π°, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΡΠΎ ΠΈΠΌΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΈ ΡΠ°ΠΌ Π»Π΅ΠΆΠΈΡ Π²Π΅ΡΡ Π΅Π³ΠΎ ΠΊΠΎΠ΄) β ΠΈ Π²ΠΎΡ ΠΎΠ½, ΠΊΠ°ΡΠ°Π»ΠΎΠ³ marketing. ΠΠ½ΡΡΡΠΈ Π½Π°Ρ ΠΎΠ΄ΠΈΠΌ ΠΊΡΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ smali. ΠΡΠΎ ΠΊΠ»Π°ΡΡΡ, ΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΡΠ΅Π»Π΅Π½ ΠΈΠ· Π½ΠΈΡ ΠΊΠ»Π°ΡΡ Ad.smali, ΠΏΠΎ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½Π΅ΡΡΡΠ΄Π½ΠΎ Π΄ΠΎΠ³Π°Π΄Π°ΡΡΡΡ, ΡΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ½ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠ΅ΠΊΠ»Π°ΠΌΡ.
ΠΡ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π»ΠΎΠ³ΠΈΠΊΡ Π΅Π³ΠΎ ΡΠ°Π±ΠΎΡΡ, Π½ΠΎ Π³ΠΎΡΠ°Π·Π΄ΠΎ ΠΏΡΠΎΡΠ΅ Π±ΡΠ΄Π΅Ρ ΡΡΠΏΠΎ ΡΠ±ΡΠ°ΡΡ Π²ΡΠ·ΠΎΠ²Ρ Π»ΡΠ±ΡΡ Π΅Π³ΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΈΠ· ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠΎΡΡΠΎΠΌΡ Π²ΡΡ ΠΎΠ΄ΠΈΠΌ ΠΈΠ· ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° marketing ΠΈ ΠΈΠ΄Π΅ΠΌ Π² ΡΠΎΡΠ΅Π΄Π½ΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ particle, Π° Π·Π°ΡΠ΅ΠΌ Π² virtualtorch. ΠΡΠΎΠ±ΠΎΠ³ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΡ Π·Π΄Π΅ΡΡ Π·Π°ΡΠ»ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ°ΠΉΠ» MainActivity.smali. ΠΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ Π΄Π»Ρ Android ΠΊΠ»Π°ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Android SDK ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠΎΡΠΊΠΈ Π²Ρ ΠΎΠ΄Π° Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (Π°Π½Π°Π»ΠΎΠ³ ΡΡΠ½ΠΊΡΠΈΠΈ main Π² Π‘ΠΈ). ΠΡΠΊΡΡΠ²Π°Π΅ΠΌ ΡΠ°ΠΉΠ» Π½Π° ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅.
ΠΠ½ΡΡΡΠΈ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΠΊΠΎΠ΄ smali (ΠΌΠ΅ΡΡΠ½ΡΠΉ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅Ρ). ΠΠ½ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π·Π°ΠΏΡΡΠ°Π½Π½ΡΠΉ ΠΈ ΡΡΡΠ΄Π½ΡΠΉ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ Π² ΡΠΈΠ»Ρ ΡΠ²ΠΎΠ΅ΠΉ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΠΎΠΉ ΠΏΡΠΈΡΠΎΠ΄Ρ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ Π½Π΅ Π±ΡΠ΄Π΅ΠΌ Π΅Π³ΠΎ ΠΈΠ·ΡΡΠ°ΡΡ, Π° ΠΏΡΠΎΡΡΠΎ Π½Π°ΠΉΠ΄Π΅ΠΌ Π²ΡΠ΅ ΡΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠ° Ad Π² ΠΊΠΎΠ΄Π΅ ΠΈ Π·Π°ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΡΠ΅ΠΌ ΠΈΡ . ΠΠ±ΠΈΠ²Π°Π΅ΠΌ ΡΡΡΠΎΠΊΡ Β«AdΒ» Π² ΠΏΠΎΠΈΡΠΊΠ΅ ΠΈ ΠΏΠΎΠΏΠ°Π΄Π°Π΅ΠΌ Π½Π° ΡΡΡΠΎΠΊΡ 25:
ΠΠ΄Π΅ΡΡ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΏΠΎΠ»Π΅ ad Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΊΠ»Π°ΡΡΠ° Ad. ΠΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΡΠ΅ΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π·Π½Π°ΠΊΠ° ### ΠΏΠ΅ΡΠ΅Π΄ ΡΡΡΠΎΠΊΠΎΠΉ. ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ ΠΏΠΎΠΈΡΠΊ. Π‘ΡΡΠΎΠΊΠ° 423:
ΠΠ΄Π΅ΡΡ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ°. ΠΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΡΠ΅ΠΌ. ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ ΠΏΠΎΠΈΡΠΊ ΠΈ Π½Π°Ρ ΠΎΠ΄ΠΈΠΌ Π² ΡΡΡΠΎΠΊΠ°Ρ 433, 435, 466, 468, 738, 740, 800 ΠΈ 802 ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌ ΠΊΠ»Π°ΡΡΠ° Ad. ΠΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΡΠ΅ΠΌ. ΠΡΠΎΠ΄Π΅ Π²ΡΠ΅. Π‘ΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌ. Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠ°ΠΊΠ΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ±ΡΠ°ΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π΅Π³ΠΎ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ ΠΈ Π½Π°Π»ΠΈΡΠΈΠ΅ ΡΠ΅ΠΊΠ»Π°ΠΌΡ. ΠΠ»Ρ ΡΠΈΡΡΠΎΡΡ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌ ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ ΠΈΠ· AndroidManifest.xml ΡΡΡΠΎΠΊΡ, ΡΠΎΠ±ΠΈΡΠ°Π΅ΠΌ ΠΏΠ°ΠΊΠ΅Ρ, ΠΏΠΎΠ΄ΠΏΠΈΡΡΠ²Π°Π΅ΠΌ ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ.


ΠΠΏ-ΠΏΠ°! Π Π΅ΠΊΠ»Π°ΠΌΠ° ΠΏΡΠΎΠΏΠ°Π»Π° ΡΠΎΠ»ΡΠΊΠΎ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π½ΠΎ ΠΎΡΡΠ°Π»Π°ΡΡ Π² Π³Π»Π°Π²Π½ΠΎΠΌ ΠΌΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ, ΠΊΠΎΠ³Π΄Π° Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΡΠΎΡΡΠΈΠ½Ρ. Π’Π°ΠΊ, ΠΏΠΎΠ΄ΠΎΠΆΠ΄ΠΈΡΠ΅, Π½ΠΎ Π²Π΅Π΄Ρ ΡΠΎΡΠΊΠ° Π²Ρ ΠΎΠ΄Π° β ΡΡΠΎ ΠΊΠ»Π°ΡΡ MainActivity, Π° ΡΠ΅ΠΊΠ»Π°ΠΌΠ° ΠΏΡΠΎΠΏΠ°Π»Π° Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π½ΠΎ ΠΎΡΡΠ°Π»Π°ΡΡ Π² Π³Π»Π°Π²Π½ΠΎΠΌ ΠΌΠ΅Π½Ρ, Π·Π½Π°ΡΠΈΡ, ΡΠΎΡΠΊΠ° Π²Ρ ΠΎΠ΄Π° Π΄ΡΡΠ³Π°Ρ? Π§ΡΠΎΠ±Ρ Π²ΡΡΠ²ΠΈΡΡ ΠΈΡΡΠΈΠ½Π½ΡΡ ΡΠΎΡΠΊΡ Π²Ρ ΠΎΠ΄Π°, Π²Π½ΠΎΠ²Ρ ΠΎΡΠΊΡΡΠ²Π°Π΅ΠΌ ΡΠ°ΠΉΠ» AndroidManifest.xml. Π Π΄Π°, Π² Π½Π΅ΠΌ Π΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ:
ΠΠ½ΠΈ Π³ΠΎΠ²ΠΎΡΡΡ Π½Π°ΠΌ (ΠΈ, ΡΡΠΎ Π²Π°ΠΆΠ½Π΅Π΅, Π°Π½Π΄ΡΠΎΠΈΠ΄Ρ) ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ Start Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ Π·Π°ΠΏΡΡΠ΅Π½Π° Π² ΠΎΡΠ²Π΅Ρ Π½Π° Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΈΠ½ΡΠ΅Π½ΡΠ° (ΡΠΎΠ±ΡΡΠΈΡ) android.intent.action.MAIN ΠΈΠ· ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ android.intent.category.LAUNCHER. ΠΡΠΎ ΡΠΎΠ±ΡΡΠΈΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ ΠΏΡΠΈ ΡΠ°ΠΏΠ΅ Π½Π° ΠΈΠΊΠΎΠ½ΠΊΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² Π»Π°Π½ΡΠ΅ΡΠ΅, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ½ΠΎ ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠΎΡΠΊΡ Π²Ρ ΠΎΠ΄Π°, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΊΠ»Π°ΡΡ Start. Π‘ΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ ΡΠ½Π°ΡΠ°Π»Π° Π½Π°ΠΏΠΈΡΠ°Π» ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±Π΅Π· Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Ρ, ΡΠΎΡΠΊΠΎΠΉ Π²Ρ ΠΎΠ΄Π° Π² ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ» ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ MainActivity, Π° Π·Π°ΡΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΠ» Π½ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ (Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ), ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π΅ ΠΌΠ΅Π½Ρ ΠΈ ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠ΅ Π² ΠΊΠ»Π°ΡΡΠ΅ Start, ΠΈ Π²ΡΡΡΠ½ΡΡ ΡΠ΄Π΅Π»Π°Π» Π΅Π³ΠΎ ΡΠΎΡΠΊΠΎΠΉ Π²Ρ ΠΎΠ΄Π°.
ΠΡΠΊΡΡΠ²Π°Π΅ΠΌ ΡΠ°ΠΉΠ» Start.smali ΠΈ Π²Π½ΠΎΠ²Ρ ΠΈΡΠ΅ΠΌ ΡΡΡΠΎΠΊΡ Β«AdΒ», Π½Π°Ρ ΠΎΠ΄ΠΈΠΌ Π² ΡΡΡΠΎΠΊΠ°Ρ 153 ΠΈ 155 ΡΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ° FirstAd. ΠΠ½ ΡΠΎΠΆΠ΅ Π΅ΡΡΡ Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠ°Ρ ΠΈ, ΡΡΠ΄Ρ ΠΏΠΎ Π½Π°Π·Π²Π°Π½ΠΈΡ, ΠΊΠ°ΠΊ ΡΠ°Π· ΠΈ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° ΠΏΠΎΠΊΠ°Π· ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΉ Π½Π° Π³Π»Π°Π²Π½ΠΎΠΌ ΡΠΊΡΠ°Π½Π΅. Π‘ΠΌΠΎΡΡΠΈΠΌ Π΄Π°Π»ΡΡΠ΅, ΠΈΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΠΊΠ»Π°ΡΡΠ° FirstAd ΠΈ ΠΈΠ½ΡΠ΅Π½ΡΠ°, ΠΏΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΡ ΠΈΠΌΠ΅ΡΡΠ΅Π³ΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΊ ΡΡΠΎΠΌΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ, Π° Π΄Π°Π»ΡΡΠ΅ ΠΌΠ΅ΡΠΊΠ° cond_10, ΡΡΠ»ΠΎΠ²Π½ΡΠΉ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π½Π° ΠΊΠΎΡΠΎΡΡΡ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π°ΠΊΠΊΡΡΠ°Ρ ΠΏΠ΅ΡΠ΅Π΄ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΠΊΠ»Π°ΡΡΠ°:
Π‘ΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΊΠ°ΠΊΠΈΠΌ-ΡΠΎ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ, Π½ΡΠΆΠ½ΠΎ Π»ΠΈ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠ΅ΠΊΠ»Π°ΠΌΡ Π½Π° Π³Π»Π°Π²Π½ΠΎΠΌ ΡΠΊΡΠ°Π½Π΅, ΠΈ, Π΅ΡΠ»ΠΈ Π½Π΅Ρ, ΠΏΠ΅ΡΠ΅ΡΠΊΠ°ΠΊΠΈΠ²Π°Π΅Ρ ΡΡΠ°Π·Ρ Π½Π° cond_10. ΠΠΊ, ΡΠΏΡΠΎΡΡΠΈΠΌ Π΅ΠΉ Π·Π°Π΄Π°ΡΡ ΠΈ Π·Π°ΠΌΠ΅Π½ΠΈΠΌ ΡΡΠ»ΠΎΠ²Π½ΡΠΉ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π½Π° Π±Π΅Π·ΡΡΠ»ΠΎΠ²Π½ΡΠΉ:
ΠΠΎΠ»ΡΡΠ΅ ΡΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠΉ FirstAd Π² ΠΊΠΎΠ΄Π΅ Π½Π΅Ρ, ΠΏΠΎΡΡΠΎΠΌΡ Π·Π°ΠΊΡΡΠ²Π°Π΅ΠΌ ΡΠ°ΠΉΠ» ΠΈ Π²Π½ΠΎΠ²Ρ ΡΠΎΠ±ΠΈΡΠ°Π΅ΠΌ Π½Π°Ρ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΉ ΡΠ°ΠΊΠ΅Π» Ρ ΠΏΠΎΠΌΠΎΡΡΡ apktool. ΠΠΎΠΏΠΈΡΡΠ΅ΠΌ Π½Π° ΡΠΌΠ°ΡΡΡΠΎΠ½, ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ, Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ. ΠΡΠ°Π»Ρ, Π²ΡΡ ΡΠ΅ΠΊΠ»Π°ΠΌΠ° ΠΈΡΡΠ΅Π·Π»Π°, Ρ ΡΠ΅ΠΌ Π½Π°Ρ Π²ΡΠ΅Ρ ΠΈ ΠΏΠΎΠ·Π΄ΡΠ°Π²Π»ΡΠ΅ΠΌ.
ΠΡΠΎΠ³ΠΈ
ΠΡΠ° ΡΡΠ°ΡΡΡ Π»ΠΈΡΡ ΠΊΡΠ°ΡΠΊΠΎΠ΅ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΌΠ΅ΡΠΎΠ΄Ρ Π²ΡΠΊΡΡΡΠΈΡ ΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Android-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΠ° ΠΊΠ°Π΄ΡΠΎΠΌ ΠΎΡΡΠ°Π»ΠΈΡΡ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π²ΠΎΠΏΡΠΎΡΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΡΠ½ΡΡΠΈΠ΅ Π·Π°ΡΠΈΡΡ, ΡΠ°Π·Π±ΠΎΡ ΠΎΠ±ΡΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ ΠΈ Π·Π°ΠΌΠ΅Π½Π° ΡΠ΅ΡΡΡΡΠΎΠ² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Android NDK. ΠΠ΄Π½Π°ΠΊΠΎ, ΠΈΠΌΠ΅Ρ Π±Π°Π·ΠΎΠ²ΡΠ΅ Π·Π½Π°Π½ΠΈΡ, ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌ ΡΡΠΎΠΌ β Π»ΠΈΡΡ Π²ΠΎΠΏΡΠΎΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
ΠΊΠ°ΠΊ Π²ΡΠΈΡΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» Π² ΡΠΊΠ·Π΅ΡΠ½ΠΈΠΊ? Π² C# (VS 2008)
Ρ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡ. ΠΎΠ½ ΡΠ΅ΠΉΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ», ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅ Ρ ΡΠΊΠ·Π΅ΡΠ½ΠΈΠΊΠΎΠΌ. Π½Π΅ Ρ ΠΎΡΡ ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΌΠΎΠ³Π»ΠΈ ΡΠ°ΠΊ ΠΏΡΠΎΡΡΠΎ Π΅Π³ΠΎ Π±ΡΠ°ΡΡ ΠΈ Π΄Π΅Π»Π°ΡΡ Ρ Π½ΠΈΠΌ ΡΡΠΎ Ρ ΠΎΡΡΡ. Π»ΡΡΡΠ΅ Π±Ρ Π΅ΡΠ»ΠΈ ΠΎΠ½ Π±ΡΠ» Π²Π½ΡΡΡΠΈ ΡΠΊΠ·Π΅ΡΠ½ΠΈΠΊΠ°. Π»ΠΈΠ±ΠΎ ΠΊΠ°ΠΊ-ΡΠΎ Π·Π°ΡΠΈΡΠ΅Π½.
37 ΠΎΡΠ²Π΅ΡΠΎΠ²
ΠΡΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ ΡΡΡΠΎΠΊΠΈ, ΡΠΎ:
Π Π΅ΡΠ»ΠΈ ΠΏΠΎ-ΡΠ΅ΡΡΠ΅Π·Π½Π΅ΠΉ, ΡΠΎ:
http://support.microsoft.com/kb/84062
ΠΡΡΠ»Ρ ΡΠ°ΠΊΠ°Ρ:
Π₯Π΅Π΄Π΅Ρ exe’ΡΠ½ΠΈΠΊΠ° ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° int’ΠΎΠ², ΠΏΠΎ ΠΊΠΎΡΠΎΡΡΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡΠΈΡΠ»ΠΈΡΡ ΠΊΠΎΠ½Π΅Ρ ΡΠ°ΠΉΠ»Π°. Π Π΄Π°Π»Π΅Π΅ ΠΏΡΠΎΡΠ΅ΡΡΡ ΡΠΎ, ΡΡΠΎ ΠΏΠΎΡΠ»Π΅ Π½Π΅Π³ΠΎ.
ΠΠΎΠ΄ MS-DOS ΡΠ°ΠΉΠ» ΠΏΡΠΈΠΊΠ»Π΅ΠΈΠ²Π°Π»ΠΈ ΡΠ°ΠΊ:
Π’ΠΎΠ»ΡΠΊΠΎ Π²ΠΎΡ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΠΎ Π»ΠΈ ΡΡΠΎ ΠΊ c#.
Resgen.exe resourse.txt Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΉ ΠΈΠ»ΠΈ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ, ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ ΠΈΠ»ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ½ΡΠΌ ΡΠ°ΠΉΠ»ΠΎΠΌ
ΡΠΎ, ΡΡΠΎ Π²ΡΠ΄Π°Π΅ΡΡΡ ΡΡΡΠΎΠΊΠ° Resgen.exe resourse.txt Π½Π°Π²Π΅ΡΠ½ΠΎΠ΅ Π³ΠΎΠ²ΠΎΡΠΈΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ bat-Π½ΠΈΠΊ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ. Π½ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ Resgen.exe
ΠΠ°ΠΊ Π²Π°ΡΠΈΠ°Π½Ρ: ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ°ΠΉΠ»Π°.
49ΠΊΠ±.
ΠΡΠΎΡΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅: ResXtoResources.exe
ΠΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ Π½Π°Π±ΠΈΡΠ°ΡΡ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ:
using System;
using System.Resources;
namespace ResDemo
<
class MainClass
<
public static void Main(string[] args)
<
ResourceWriter rw = new ResourceWriter(«demo.resx»);//Π±ΡΠ΄Π΅Ρ Π² ΠΏΠ°ΠΏΠΊΠ΅ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ
rw.AddResource( «Title», «Professional C#» );
rw.AddResource( «Chapter», «Localization» );
rw.AddResource( «Author», «Christian Nagel» );
rw.AddResource( «Publisher», «Wrox Press» );
rw.Close();
Console.WriteLine(«Hello World!»);
>
>
>
ΠΠ·ΡΡΠΎ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π΅Π»Π°Π½ΠΎ ΠΎΡΡΡΠ΄Π°:
ΠΠ»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΠΈ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ, Π»ΠΈΠ±ΠΎ ΠΊΠΎΠ³Π΄Π° Π½Π°Π΄ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π³ΡΡΠΏΠΏΠ° ΠΈΠ· ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ² ΠΈ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅ΡΠΎΠ²/ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΠΈΠΊΠΎΠ² ΡΡΠΎΡ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΌ (ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΡΡΡΡΠ½ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ²)!
ΠΠ΄Π½Π°ΠΊΠΎ ΡΠΎΠΏΠΈΠΊ-ΡΡΠ°ΡΡΠ΅ΡΡ ΠΏΡΠΎΡΠ΅ ΠΈ ΡΠ΄ΠΎΠ±Π½Π΅Π΅ Π·Π°ΡΠ·Π°ΡΡ ΡΡΠ΅Π΄ΡΡΠ²Π°, ΠΊΠΎΡΠΎΡΡΠ΅ Π΅ΡΡΡ Π² Visual Studio, ΡΠ΅ΠΌ Π³Π΅Π½Π΅ΡΠΈΡΡ ΡΠ΅ΡΡΡΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π²ΡΡΡΠ½ΡΡ.
P.S. ΠΏΡΠΎ ResourceWriter Π½Π΅ Π·Π½Π°Π», ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ Π² ΠΊΠ°ΠΊΠΈΡ
ΡΠ»ΡΡΠ°ΡΡ
ΡΠ΅ΡΡΡΡΡ Π½Π°Π΄ΠΎ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅? =)
ΠΠ° ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ Π»ΠΎΠ²ΠΈΡΠ΅ ΠΏΠ»ΡΡ =)
ΠΠ°ΡΠΈΠ°Π½Ρ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ
ΠΏΠ°ΠΏΠΎΠΊ Π΄Π»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π΅ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ?
http://habrahabr.ru/blogs/development/70922/
Π£ ΠΌΠ΅Π½Ρ ΡΠ°Π½ΡΡΠ΅ Π±ΡΠ»ΠΎ ΡΠ°ΠΊ:
Π½Π΅ Π·Π½Π°Ρ, ΡΠΎ Π»ΠΈ Ρ ΡΡΠΏΠ»Ρ ΡΠΎ Π»ΠΈ ΡΡΠΎ. Π½ΠΎ Π½Π΅ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ Ρ ΠΌΠ΅Π½Ρ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠ΅ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ π
Ρ ΠΌΠ΅Π½Ρ ΡΡΠΎ Π½Π΅ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ
using System.Resources;
using System.Reflection;
using System.Threading;
Π½ΠΎ Π½Π΅ ΠΏΠΎΠ½ΡΡΠ½ΠΎ, Π³Π΄Π΅ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡ ΡΡΠΎΡ ΡΠ°ΠΉΠ». Ρ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΠ» Π² ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ ΡΠ°ΠΉΠ»Π΅ ΡΠ°ΠΌ ΡΠ°ΠΉΠ» ΡΠ΅ΡΡΡΡΠΎΠ² ΠΈ Π±Π°ΡΠ½ΠΈΠΊ Π° Π² Π±Π°ΡΠ½ΠΈΠΊΠ΅ ΠΏΡΠΎΠΏΠΈΡΠ°Π»:
csc /res:resource.resources Program.cs
Ρ ΠΌΠ΅Π½Ρ Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΉΠ»ΠΎΠ² cs Π² ΠΏΠ°ΠΏΠΊΠ΅. Ρ ΠΏΡΠΎΠ±ΠΎΠ²Π°Π» ΠΏΡΠΎΠΏΠΈΡΡΠ²Π°ΡΡ ΠΏΠΎ ΡΠ°Π·Π½ΡΠ΅. ΠΏΡΠΎΠ±ΠΎΠ²Π°Π» Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π±Π°ΡΠ½ΠΈΠΊ ΠΈΠ· ΠΏΠ°ΠΏΠΊΠΈ Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ. ΠΈΠ· ΠΏΠ°ΠΏΠΊΠΈ Debug Π΅ΡΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠΊΡΠ΄Π°-ΡΠΎ.
Π½ΠΎ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ Π²ΡΠ΄Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ
Π’ΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, ΡΠΎΠ»ΡΠΊΠΎ Π½Π° Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠΌ:
Π Π½Π°Π·Π²Π°Π½ΠΈΠΈ ΡΠ°ΠΉΠ»Π° ΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠ°Ρ ΡΠΎΠΆΠ΅ ΠΏΠΎΠΌΠ΅Π½ΡΡΡ.
ΠΠΎΠ΄ MonoDevelop 2.0 ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΠ»ΠΎΡΡ, ΠΎΠ΄Π½Π°ΠΊΠΎ, ΡΠ°ΠΌ ΡΠΆΠ΅ ΡΠ²ΠΎΡ ΠΎΡΠΈΠ±ΠΊΠ°:
ΠΡΠΎ Π³ΠΎΠ²ΠΎΡΠΈΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΏΡΠΎΡΠΈΠ»Ρ 2.*
Π’.Π΅. ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ mcs, Π° gmcs.
p.s. man mcs
using System;
using System.Resources;
using System.Reflection;
namespace ResDemo
<
class MainClass
<
public static void Main(string[] args)
<
ResourceManager rm;
Assembly assembly = Assembly.GetExecutingAssembly();
rm = new ResourceManager( «demo.en-US», assembly );
Console.WriteLine(rm.GetString(«Author»));
>
>
>
Π΅ΡΠ»ΠΈ Π½Π΅ ΠΎΡΠ²Π΅ΡΠΈΡΠ΅, ΠΈΠ»ΠΈ ΠΎΡΠ²Π΅Ρ Π±ΡΠ΄Π΅Ρ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΌ, ΡΠΎΠ³Π΄Π° Π±ΡΠ΄Ρ ΡΠΆΠ΅ Π΄Π°Π»ΡΡΠ΅ Ρ ΡΠ΅ΡΡΡΡΠ°ΠΌΠΈ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡΡΡ.
ΠΡΠ²Π΅Ρ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠΉ, ΡΠΎΠ»ΡΠΊΠΎ Π±Π΅Π· ΡΠ΅ΡΡΡΡΠΎΠ² Π½Π΅ ΠΎΠ±ΠΎΠΉΡΠΈΡΡ.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° β1. ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ ΡΠ°ΠΉΠ»Π° ΡΠ΅ΡΡΡΡΠΎΠ².:
using System;
using System.Resources;
using System.IO;
namespace ResDemo
<
class MainClass
<
public static void Main(string[] args)
<
string[] file_content=new string[300];
file_content=File.ReadAllLines(«base.txt»);
ResourceWriter rw = new ResourceWriter(«demo.en-US.resources»);//Π±ΡΠ΄Π΅Ρ Π² ΠΏΠ°ΠΏΠΊΠ΅ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ
rw.AddResource(«Title»,file_content);//ΡΠΌ.Π΄Π°Π»Π΅Π΅.
rw.Close();
base.txt Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ, ΠΈ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΏΠ°ΠΏΠΊΠ΅ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ:
ΠΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌ ΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ β1.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° β2. Π§ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ· ΡΠ°ΠΉΠ»Π° ΡΠ΅ΡΡΡΡΠΎΠ².:
using System;
using System.Resources;
using System.Reflection;
namespace ResDemo
<
class MainClass
<
public static void Main(string[] args)
<
string[] file_content=new string[300];
ResourceManager rm;
Assembly assembly = Assembly.GetExecutingAssembly();
rm = new ResourceManager( «demo.en-US», assembly );
file_content=(string[])rm.GetObject(«Title»);
Console.WriteLine(file_content[0]);
>
>
>
ΠΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌ demo.en-US.resources Π² ΠΏΠ°ΠΏΠΊΡ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ β2.
ΠΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ Main.exe, Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΡΡΡΠΎΠΊΠ° ΠΈΠ· base.txt.
ΠΠΌΠ΅Π½Π° ΡΠ΅ΡΡΡΡΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ:
Ρ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡ. ΠΎΠ½ ΡΠ΅ΠΉΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ», ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅ Ρ ΡΠΊΠ·Π΅ΡΠ½ΠΈΠΊΠΎΠΌ. Π½Π΅ Ρ ΠΎΡΡ ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΌΠΎΠ³Π»ΠΈ ΡΠ°ΠΊ ΠΏΡΠΎΡΡΠΎ Π΅Π³ΠΎ Π±ΡΠ°ΡΡ ΠΈ Π΄Π΅Π»Π°ΡΡ Ρ Π½ΠΈΠΌ ΡΡΠΎ Ρ ΠΎΡΡΡ. Π»ΡΡΡΠ΅ Π±Ρ Π΅ΡΠ»ΠΈ ΠΎΠ½ Π±ΡΠ» Π²Π½ΡΡΡΠΈ ΡΠΊΠ·Π΅ΡΠ½ΠΈΠΊΠ°. Π»ΠΈΠ±ΠΎ ΠΊΠ°ΠΊ-ΡΠΎ Π·Π°ΡΠΈΡΠ΅Π½.
ΠΠΎΡ Π²Ρ ΡΠ°Π·Π²Π΅Π»ΠΈ ΡΡΡ Π±Π°Π»Π°Π³Π°Π½.
1) ΠΠ°Ρ
ΠΎΠ΄ΠΈΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Properties Π² Π΄Π΅ΡΠ΅Π²Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°
2) Π’ΡΠΊΠ°Π΅ΠΌ Π΄Π²Π°ΠΆΠ΄Ρ Π½Π° Resources.resx
3) ΠΡΠ±Π΅ΡΠ°Π΅ΠΌ Π² ΠΌΠ΅Π½Ρ Add Resource ΠΎΠΏΡΠΈΡ Add Existing File.
4) ΠΠ°Ρ
ΠΎΠ΄ΠΈΠΌ txt ΡΠ°ΠΉΠ», Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ sample.txt (Ρ
ΠΎΡΠΎΡΠΎ Π΅Π³ΠΎ Π±Ρ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΠΏΡΠΎΠ΅ΠΊΡ)
5) VS Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠΎΠ΄ Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΡΠΎΠ³ΠΎ ΡΠ΅ΡΡΡΡΠ°.
Π ΠΊΠΎΠ΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ ΡΠ΅ΡΡΡΡΡ ΡΠ΅ΡΠ΅Π· ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ (sample) ΡΠ»Π΅Π½ ΠΊΠ»Π°ΡΡΠ° MyProject.Properties.Resources.
Π.Π«. Π #D3.0 Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ.
using System;
using System.Resources;
using System.Text;
using System.Reflection;
namespace BaseReader
<
class MainClass
<
public static void Main(string[] args)
<
Assembly a = Assembly.GetExecutingAssembly();
byte[] txtStream = new byte[32];
a.GetManifestResourceStream(«base.txt»).Read(txtStream,0,32);//ΡΠΈΡΠ°Π΅ΠΌ 32 Π±Π°ΠΉΡΠ° ΠΈΠ· base.txt.
string s = System.Text.Encoding.UTF8.GetString(txtStream);//ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΠΌ Π² ΡΡΡΠΎΠΊΡ.
Console.WriteLine(s);
>
>
>
ΠΠ΅ΡΠ΅Π΄ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠ΅ΠΉ base.txt ΠΏΠΎΠΌΠ΅ΡΠΈΡΡ ΠΊΠ°ΠΊ «embed as source».
Π MonoDevelop 2.0 ΡΠ°ΠΊ Π½Π΅ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ.
Π ΡΠ°ΠΊΠΆΠ΅, Π²ΠΈΠ΄ΠΈΠΌΠΎ, Π² VS 2008, Ρ ΡΠΎΠΏΠΈΠΊ-ΡΡΠ°ΡΡΠ΅ΡΠ°.
ΠΠΎΡ Π²Ρ ΡΠ°Π·Π²Π΅Π»ΠΈ ΡΡΡ Π±Π°Π»Π°Π³Π°Π½.
1) ΠΠ°Ρ
ΠΎΠ΄ΠΈΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Properties Π² Π΄Π΅ΡΠ΅Π²Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°
2) Π’ΡΠΊΠ°Π΅ΠΌ Π΄Π²Π°ΠΆΠ΄Ρ Π½Π° Resources.resx
3) ΠΡΠ±Π΅ΡΠ°Π΅ΠΌ Π² ΠΌΠ΅Π½Ρ Add Resource ΠΎΠΏΡΠΈΡ Add Existing File.
4) ΠΠ°Ρ
ΠΎΠ΄ΠΈΠΌ txt ΡΠ°ΠΉΠ», Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ sample.txt (Ρ
ΠΎΡΠΎΡΠΎ Π΅Π³ΠΎ Π±Ρ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΠΏΡΠΎΠ΅ΠΊΡ)
5) VS Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠΎΠ΄ Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΡΠΎΠ³ΠΎ ΡΠ΅ΡΡΡΡΠ°.
Π ΠΊΠΎΠ΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ ΡΠ΅ΡΡΡΡΡ ΡΠ΅ΡΠ΅Π· ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ (sample) ΡΠ»Π΅Π½ ΠΊΠ»Π°ΡΡΠ° MyProject.Properties.Resources.
using System.Resources;
using System.Reflection;
using System.Threading;
ΠΠ°Π²ΠΈΡΠΈΡ ΠΎΡ Π·Π°Π΄Π°ΡΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΈΠ½ΠΈ-ΠΈΠ³ΡΡ (Eufloria) ΠΊΡΡΡ ΡΠ΅ΠΊΡΡΡΡ ΠΈ Π·Π²ΡΠΊΠΎΠ² Π² ΡΠ΅ΡΡΡΡΠ°Ρ Π΄Π΅ΡΠΆΠ°Ρ.
ΠΠ²ΡΠΎΡ, ΡΠΎΠ²Π΅ΡΡΡ ΡΠ°ΠΉΠ»ΠΈΠΊ Π΄Π΅ΡΠΆΠ°ΡΡ Π² zip Ρ Π½ΡΠ»Π΅Π²ΡΠΌ ΡΠΆΠ°ΡΠΈΠ΅ΠΌ (Π΅ΡΠ»ΠΈ ΠΊΡΠΈΡΠΈΡΠ½Π° ΡΠΊΠΎΡΠΎΡΡΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ΅ΡΡΡΡΡ). Π‘Π°ΠΌΠΎΠ΅ ΠΎΠ½ΠΎ, ΡΡΠΎ Π±Ρ ΠΏΠΎΠ΄Π°Π»ΡΡΠ΅ ΠΎΡ Π³Π»Π°Π· Π»ΡΠ±ΠΎΠΏΡΡΠ½ΡΡ , Π·Π°ΠΏΠ°ΡΠΎΠ»ΠΈΡΡ Π°ΡΡ ΠΈΠ².
Π²ΡΠ΅ ΡΠ°ΠΊΠΈ Π·Π°ΠΏΠΈΡ Π°Π» Π²ΡΠ΅ Π² ΡΠ΅ΡΡΡΡΡ. Π²ΡΠΎΠ΄Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ. Π·Π°ΡΠΎ ΡΠ΅ΠΏΠ΅ΡΡ Π²ΠΌΠ΅ΡΡΠΎ ΠΏΠ°ΠΏΠΊΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΉΠ». ΠΌΠ½Π΅ ΠΊΠ°ΠΆΠ΅ΡΡΡ ΡΡΠΎ ΡΠ΄ΠΎΠ±Π½Π΅Π΅ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ.
ΠΠ°ΠΊ Π²ΡΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΠ΅ΡΠ°ΡΠ°Π΅Ρ ΡΠ°ΡΡΠ΅ΡΡ/ΠΎΡΡΠ΅ΡΡ ΠΏΠΎ doc»ΠΎΠ²ΡΠΊΠΈΠΌ ΡΠ°Π±Π»ΠΎΠ½Π°ΠΌ. ΠΠ°Π³ΡΡΠΆΠ°Π΅Ρ ΡΡΠΈ ΡΠ°Π±Π»ΠΎΠ½Ρ ΠΈΠ·Π²Π½Π΅. ΠΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ «Π²ΡΠΈΡΡ» ΡΡΠΈ ΡΠ°Π±Π»ΠΎΠ½Ρ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎΡΡΠ°Π²Π»ΡΡΡ Π΅Π΅ΠΎΠ΄Π½ΠΈΠΌ ΡΠΊΠ·Π΅ΡΠ½ΠΈΠΊΠΎΠΌ, Π±Π΅Π· Π΄ΠΎΠΏ.ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ²?

MBo Β© ( 2008-08-26 07:31 ) [1]
Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΏΠ°ΠΊΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊ Π±ΠΈΠ½Π°ΡΠ½ΠΈΠΊΠΈ Π² ΡΠ΅ΡΡΡΡΡ (brcc32.exe)

Strungout ( 2008-08-26 08:03 ) [2]
Bad character in source input

MBo Β© ( 2008-08-26 08:30 ) [3]
ΠΏΡΠΈΠΌΠ΅Ρ: ΡΠΎΠ·Π΄Π°Ρ ΡΠ°ΠΉΠ» myf.rc
ΠΏΠΈΡΡ Π² Π½Π΅ΠΌ ΡΡΡΠΎΠΊΡ
MYFNT RT_RCDATA «marlett.ttf»
ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΡ brcc32 myf.rc
ΠΏΠΎΠ»ΡΡΠ°Ρ myf.res, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΡΡΠΈΡΡ
Res := TResourceStream.Create(hInstance, «MYFNT», Pchar(«RT_RCDATA»));
ΠΈ Ρ.Π΄.
