ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄

Как ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ исходный ΠΊΠΎΠ΄ прилоТСния Android

Π‘ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ Π΄Π½Π΅ΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для Android становится всС большС ΠΈ большС. ΠœΠΈΠ»Π»ΠΈΠΎΠ½Ρ‹ интСрСсных ΠΈΠ³Ρ€ ΠΈ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² Play Market. ВсС ΠΎΠ½ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ интСрфСйс ΠΈ ΡΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ с поставлСнной Π·Π°Π΄Π°Ρ‡Π΅ΠΉ. Π‘Π΅Π· Π½ΠΈΡ… слоТно ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ соврСмСнный ΠΌΠΈΡ€ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ. Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π° Π½Π° людСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ цСнят Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» ΠΈ внСшний Π²ΠΈΠ΄ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π° Π΅Ρ‰Π΅ ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‚ΡΡ ΠΈΡ… Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΌ устройством.

Если Π’Π°ΠΌ ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ Π±Ρ‹Π»ΠΎ интСрСсно, Ρ‡Ρ‚ΠΎ находится Β«ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡ‚ΠΎΠΌΒ» любимого прилоТСния, ΠΈ Π²Ρ‹ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ смыслитС Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ β€” эта ΡΡ‚Π°Ρ‚ΡŒΡ для Вас. ΠœΡ‹ расскаТСм, ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ исходный ΠΊΠΎΠ΄ прилоТСния Android прямо Π½Π° вашСм Π³Π°Π΄ΠΆΠ΅Ρ‚Π΅. ΠŸΠΎΠ΅Ρ…Π°Π»ΠΈ!

ΠžΠ±Ρ‰ΠΈΠ΅ свСдСния

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ для ОБ Android, ΠΊΠ°ΠΊ ΠΈ большая Ρ‡Π°ΡΡ‚ΡŒ самой ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы, написаны Π½Π° языкС программирования Java. А это Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ посмотрСв Π² исходный ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Android, ΠΌΡ‹, скорСС всСго, ΡƒΠ²ΠΈΠ΄ΠΈΠΌ Java ΠΊΠΎΠ΄ с использованиСм Android SDK (которая Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя инструмСнты ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Android). ΠŸΠΎΠ²Ρ‚ΠΎΡ€ΡŽΡΡŒ: Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ исходный ΠΊΠΎΠ΄ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π½ΡƒΠΆΠ½ΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ знания Java ΠΈ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Android.

Как ΡƒΠ·Π½Π°Ρ‚ΡŒ исходный ΠΊΠΎΠ΄ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Android?

Для Π½Π°Ρ‡Π°Π»Π° скачайтС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, исходный ΠΊΠΎΠ΄ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Вас заинтСрСсовал. Π—Π°Ρ‚Π΅ΠΌ Π·Π°ΠΉΠ΄ΠΈΡ‚Π΅ Π² Play Market ΠΈ скачайтС ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Show Java. ИмСнно ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. Установили? ΠžΡ‚Π»ΠΈΡ‡Π½ΠΎ, Π° Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ ΠΊ самому интСрСсному β€” ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΡŽ исходного ΠΊΠΎΠ΄Π° Android ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ЗапускаСм Show Java.

ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄

Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π½ΡƒΠΆΠ½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ· установлСнных, ΠΈΠ»ΠΈ Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ Π΅Π³ΠΎ Π½Π° SD ΠΊΠ°Ρ€Ρ‚Π΅. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ дСкомпилятор. Π― ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π²Ρ‹Π±ΠΈΡ€Π°ΡŽ CRF. Если Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ β€” ΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ JaDX.

НачнСтся дСкомпиляция ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π½ΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя. Π§Π΅ΠΌ большС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ β€” Ρ‚Π΅ΠΌ дольшС дСкомпилятор Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΡΡ‚Π°Π²Π°Ρ‚ΡŒ исходныС ΠΊΠΎΠ΄Ρ‹. Пока Π²Ρ‹ ΠΆΠ΄Π΅Ρ‚Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°, ΠΏΠΎΡ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΎ пСрспСктивных языках программирования.

По Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡŽ процСсса Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ список ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² с исходниками Android прилоТСния. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, это Π½Π΅ 100% копия ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ писали Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ этого прилоТСния. Но основная Π»ΠΎΠ³ΠΈΠΊΠ° сохраняСтся, Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒ Π½Π΅ слоТно. Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ с исходниками? Π§Ρ‚ΠΎ ΡƒΠ³ΠΎΠ΄Π½ΠΎ. Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅, Ρ€Π°Π·Π±ΠΈΡ€Π°ΠΉΡ‚Π΅, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π’Π°ΠΌ Π±ΡƒΠ΄ΡƒΡ‚ интСрСсны Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Β«Ρ„ΠΈΡ‡ΠΈΒ» ΠΈΠ»ΠΈ особСнности Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Если Π²Ρ‹ нашли ΠΎΡˆΠΈΠ±ΠΊΡƒ, поТалуйста, Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚Π΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ тСкста ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Ctrl+Enter.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠœΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ исходного ΠΊΠΎΠ΄Π° android-прилоТСния с использованиСм apk-Ρ„Π°ΠΉΠ»Π°

Π’Π°ΠΊ ΡƒΠΆ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для чтСния комиксов ΠΈ ΠΌΠ°Π½Π³ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ Π½Π° своСм android-смартфонС, послС обновлСния стало ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ€Π΅ΠΊΠ»Π°ΠΌΡƒ Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π³Π»Π°Π²Ρ‹ комикса. Π”Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Ρƒ Π»Π΅Ρ‚ Π½Π°Π·Π°Π΄ Π±Ρ‹Π»ΠΎ доступно Π½Π° Google Play (платная вСрсия ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΈ Π±Ρ‹Π»Π° ΠΌΠ½ΠΎΠΉ ΠΊΡƒΠΏΠ»Π΅Π½Π°), Π½ΠΎ Π±Ρ‹Π»ΠΎ ΡƒΠ΄Π°Π»Π΅Π½ΠΎ Π² силу Β«Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΡ авторских ΠΏΡ€Π°Π²Β», послС Ρ‡Π΅Π³ΠΎ ΡƒΡˆΠ»ΠΎ Π² подпольС ΠΈ стало распространятся Ρ‡Π΅Ρ€Π΅Π· сайт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°. Π£Π²Ρ‹, достойных Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ² этому ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ Π½Π° android ΠΈ iOS я Π½Π΅ нашСл, Π½ΠΎ ΠΈ ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ€Π΅ΠΊΠ»Π°ΠΌΡƒ особо Π½Π΅ Π±Ρ‹Π»ΠΎ ТСлания, Ρ‚Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅ я ΡƒΠΆΠ΅ ΠΏΠΎΠΊΡƒΠΏΠ°Π» Π²Π΅Ρ€ΡΠΈΡŽ Π±Π΅Π· Ρ€Π΅ΠΊΠ»Π°ΠΌΡ‹. Π‘Π°ΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΏΠΎΡ‡Π΅ΠΌΡƒ-Ρ‚ΠΎ Π½Π΅ сдСлал возмоТности ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π΅Π΅, Π° Π½Π° ΠΏΡ€ΠΎΡΡŒΠ±Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΡƒΡŽ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π½Π΅ отозвался. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ ΠΈΡΠΊΠ°Ρ‚ΡŒ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π΅Π΅ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ. ΠŸΠ΅Ρ€Π²ΠΎΠ΅, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΡˆΠ»ΠΎ Π² Π³ΠΎΠ»ΠΎΠ²Ρƒ, это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ android-прилоТСния ΠΏΠΈΡˆΡƒΡ‚ΡΡ Π½Π° java, Π° Π·Π½Π°Ρ‡ΠΈΡ‚ Π΅ΡΡ‚ΡŒ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π°Π²Ρ‚ΠΎΡ€ Π½Π΅ обфусцировал своС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. НСмного ΠΏΠΎΠ΄ΡƒΠΌΠ°Π², я приступил ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅.

Для Π½Π°Ρ‡Π°Π»Π° Π±Ρ‹Π» Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½ сам apk-Ρ„Π°ΠΉΠ» прилоТСния. Π—Π°Ρ‚Π΅ΠΌ Π½Π΅Π΄ΠΎΠ»Π³ΠΈΠΉ поиск ΠΏΠΎ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Ρƒ ΠΏΡ€ΠΈΠ²Π΅Π» мСня Π½Π° сайт http://www.decompileandroid.com/. Π‘ Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ apk-Ρ„Π°ΠΉΠ» с ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈ Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½Π°Π±ΠΎΡ€ исходников. Π£Π²Ρ‹, дСкомпиляция Π² java-классы происходит Π½Π΅ совсСм идСально ΠΈ поэтому Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ сам ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ прилоТСния Π² IDE(Idea) Ρƒ мСня Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ, Π½ΠΎ это ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ саму структуру ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ ΠΎΠ½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. ПослС провСдСния Π°Π½Π°Π»ΠΈΠ·Π°, Π±Ρ‹Π»ΠΎ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ Π΄Π²Π° пСрспСктивных ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π² классС BaseReaderFragment.java – placeAdViewIfNeeded ΠΈ removeAdViewIfNeeded.

Код ΠΌΠ΅Ρ‚ΠΎΠ΄Π° placeAdViewIfNeeded:

Π‘Π°ΠΌΠΎΠ΅ простоС, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΡˆΠ»ΠΎ Π½Π° ΡƒΠΌ послС чтСния ΠΊΠΎΠ΄Π°, это ΡƒΠ±Ρ€Π°Ρ‚ΡŒ всС лишнСС, ΠΈ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ лишь Π²Ρ‹Π·ΠΎΠ² return;

Но, ΠΊΠ°ΠΊ ΡƒΠΆΠ΅ Π±Ρ‹Π»ΠΎ сказано, Π΄Π°ΠΆΠ΅ Ссли Π±Ρ‹ я ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ» Π² java-классС Ρ‡Ρ‚ΠΎ-Π»ΠΈΠ±ΠΎ, я Π±Ρ‹ Π½Π΅ смог Π² ΠΈΡ‚ΠΎΠ³Π΅ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² IDE. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ ΠΈΡΠΊΠ°Ρ‚ΡŒ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρƒ. Оказалось, Ρ‡Ρ‚ΠΎ smali-Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ Π² процСссС дСкомпиляции, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Ρ‚Π°ΠΊΠΆΠ΅ послС внСсСния Π½ΡƒΠΆΠ½Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, вновь ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π£Π²Ρ‹, сайт, Ρ‡Ρ‚ΠΎ Π±Ρ‹Π» ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ Π²Ρ‹ΡˆΠ΅, позволял лишь ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ исходники, Π½ΠΎ Π½Π΅ ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ ΠΈΡΠΊΠ°Ρ‚ΡŒ способы ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ.
Π‘Ρ‹Π»Π° Π½Π°ΠΉΠ΄Π΅Π½Π° ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° ApkTools, которая позволяла Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ apk-Ρ„Π°ΠΉΠ»Ρ‹. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»Π°ΡΡŒ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° aapt.exe, которая Π±Ρ‹Π»Π° взята ΠΌΠ½ΠΎΠΉ ΠΈΠ· стандартного SDK ΠΏΠΎΠ΄ Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ Π² ΠΏΠ°ΠΏΠΊΠ΅ android-sdk\build-tools\20.0.0.

Для удобства Π²Ρ‹Π·ΠΎΠ²Π° ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ ΠΈΠ· ΠΏΠΎΠ΄ windows Π±Ρ‹Π» создан скрипт apktool.bat:

Для дСкомпиляции прилоТСния Π±Ρ‹Π»ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

ПослС Ρ‡Π΅Π³ΠΎ, Π² ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… исходниках Π±Ρ‹Π» Π½Π°ΠΉΠ΄Π΅Π½ Ρ„Π°ΠΉΠ» BaseReaderFragment.smali ΠΈ Π½ΡƒΠΆΠ½Ρ‹Π΅ Π½Π°ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π±Ρ‹Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π”Π°Π»Π΅Π΅ ΠΏΡ€ΠΈΡˆΠ»Π° ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ сборки apk-Ρ„Π°ΠΉΠ»Π° ΠΈΠ· исходников.

Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ это ΠΌΠΎΠΆΠ½ΠΎ cΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

Но это Π΅Ρ‰Π΅ Π½Π΅ всС. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ, Π΅Π³ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ подписью. Π‘Π°ΠΌΡ‹ΠΉ простой способ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это – это ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Π°Ρ€Ρ…ΠΈΠ² Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ находится ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° для подписи ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π΅ сСртификаты ΠΊ Π½Π΅ΠΉ.

РаспаковываСм Π°Ρ€Ρ…ΠΈΠ², выполняСм ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ apk-Ρ„Π°ΠΉΠ» ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Π½Π° Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ нашС ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Однако Π² процСссС тСстирования ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ оказалось, Ρ‡Ρ‚ΠΎ объявлСния большС Π½Π΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ, ΠΎΠ΄Π½Π°ΠΊΠΎ сама страница для ΠΈΡ… ΠΏΠΎΠΊΠ°Π·Π° создаСтся, Ρ‡Ρ‚ΠΎ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ приятно. Π‘Π½ΠΎΠ²Π° Π±Ρ‹Π» ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ ΠΊΠΎΠ΄ прилоТСния, Π½Π°ΠΉΠ΄Π΅Π½ класс BaseSeamlessReaderFragment, Π° Π² Π½Π΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ appendPages.

Π’ Π½Π΅ΠΌ Π±Ρ‹Π»ΠΎ Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ строчка:

создаСт Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ страницу, ΠΏΠΎΠΌΠΈΠΌΠΎ Ρ‚Π΅Ρ…, Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π² Π³Π»Π°Π²Π΅ ΠΌΠ°Π½Π³ΠΈ, с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠΌ Π·Π° ΠΏΠΎΠΊΠ°Π· объявлСний. Π‘Ρ‹Π»ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ эту строчку ΠΈ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚. Π‘Π½ΠΎΠ²Π° заглядываСм Π² Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΉ smali-Ρ„Π°ΠΉΠ»(BaseSeamlessReaderFragment$4) ΠΈ удаляСм строчку:

Π‘Π½ΠΎΠ²Π° ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠΌ сборку apk-Ρ„Π°ΠΉΠ»Π° ΠΈΠ· исходников ΠΈ подписываСм нашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ПослС установки ΠΈ тСстирования прилоТСния экран с Ρ€Π΅ΠΊΠ»Π°ΠΌΠΎΠΉ ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ исчСз, Ρ‡Ρ‚ΠΎ ΠΈ Π±Ρ‹Π»ΠΎ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΉ Ρ†Π΅Π»ΡŒΡŽ.

Π”Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π² случаС нСобходимости ΠΌΠΎΠΆΠ½ΠΎ довольно просто ΠΈ быстро ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ android-прилоТСния, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² Π½ΠΈΡ… Π½Π΅Π΄ΠΎΡΡ‚Π°ΡŽΡ‰ΠΈΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» ΠΈΠ»ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ возмоТности Π² Ρ‚Π΅Ρ… ситуациях, ΠΊΠΎΠ³Π΄Π° доступа ΠΊ исходникам Π½Π΅Ρ‚. НадСюсь ΠΎΠ½ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ людям, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΏΠ°Π»ΠΈ Π² ΠΏΠΎΡ…ΠΎΠΆΡƒΡŽ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ ΠΈ Π½Π΅ хотят мирится с Π½Π΅ΠΉ, Π½Π°ΠΉΡ‚ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ВскрываСм, ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅ΠΌ ΠΈ Π·Π°ΠΏΠ°ΠΊΠΎΠ²Ρ‹Π²Π°Π΅ΠΌ 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-.

ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ Настройка Real APK Leecher

Π₯Π°ΠΊΠ΅Ρ€ #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, вслСдствиС Π΅Π³ΠΎ консольной ΠΏΡ€ΠΈΡ€ΠΎΠ΄Ρ‹, слСдуСт ΠΎΠ±ΡΡƒΠ΄ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅.

ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ Π˜ΠΌΠΏΠΎΡ€Ρ‚ APK Π² Virtuous Ten Studio

Рассмотрим ΠΎΠΏΡ†ΠΈΠΈ apktool. Если Π²ΠΊΡ€Π°Ρ‚Ρ†Π΅, Ρ‚ΠΎ ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ Ρ‚Ρ€ΠΈ основныС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹: d (decode), b (build) ΠΈ if (install framework). Если с ΠΏΠ΅Ρ€Π²Ρ‹ΠΌΠΈ двумя ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ всС понятно, Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Ρ‚Ρ€Π΅Ρ‚ΡŒΡ, условный ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€? Она распаковываСт ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ UI-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ‚Π΅Ρ… случаях, ΠΊΠΎΠ³Π΄Π° Ρ‚Ρ‹ ΠΏΡ€Π΅ΠΏΠ°Ρ€ΠΈΡ€ΡƒΠ΅ΡˆΡŒ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ систСмный ΠΏΠ°ΠΊΠ΅Ρ‚.

Рассмотрим Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ интСрСсныС ΠΎΠΏΡ†ΠΈΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ apktool ΠΎΡ‡Π΅Π½ΡŒ просто, для этого достаточно ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎΠ΄Π½Ρƒ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ ΠΏΡƒΡ‚ΡŒ Π΄ΠΎ APK, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

ПослС этого Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ mail появятся всС ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½Π½Ρ‹Π΅ ΠΈ дизассСмблированныС Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΠ°ΠΊΠ΅Ρ‚Π°.

ΠŸΡ€Π΅ΠΏΠ°Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ Ρ€Π΅ΠΊΠ»Π°ΠΌΡƒ

ВСория β€” это, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, Ρ…ΠΎΡ€ΠΎΡˆΠΎ, Π½ΠΎ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½Π° Π½ΡƒΠΆΠ½Π°, Ссли ΠΌΡ‹ Π½Π΅ Π·Π½Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ с распакованным ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠΌ? ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΎΡ€ΠΈΡŽ с пользой для сСбя, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅ΠΌ ΠΊΠ°ΠΊΡƒΡŽ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ софтину Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½Π° Π½Π΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π»Π° Π½Π°ΠΌ Ρ€Π΅ΠΊΠ»Π°ΠΌΡƒ. Для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΏΡƒΡΡ‚ΡŒ это Π±ΡƒΠ΄Π΅Ρ‚ Virtual Torch β€” Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΊΠ΅Π». Для нас эта софтина ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ‚ идСально, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° ΠΏΠΎΠ΄ завязку Π½Π°Π±ΠΈΡ‚Π° Ρ€Π°Π·Π΄Ρ€Π°ΠΆΠ°ΡŽΡ‰Π΅ΠΉ Ρ€Π΅ΠΊΠ»Π°ΠΌΠΎΠΉ ΠΈ ΠΊ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ достаточно проста, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒΡΡ Π² дСбрях ΠΊΠΎΠ΄Π°.

ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ Поиск ΠΊΠΎΠ΄Π° Ρ€Π΅ΠΊΠ»Π°ΠΌΡ‹ Π² jd-gui

ПослС этого Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ 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) подписываСм. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ наш ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡, заполняСм ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ поля:

ΠžΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ поля, Π² ΠΎΠ±Ρ‰Π΅ΠΌ-Ρ‚ΠΎ, Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ β€” Π½ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ хотя Π±Ρ‹ ΠΎΠ΄Π½ΠΎ.

ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ»ΡŽΡ‡Π° Π² 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. Однако, имСя Π±Π°Π·ΠΎΠ²Ρ‹Π΅ знания, Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π²ΠΎ всСм этом β€” лишь вопрос Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Как ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для Android

Russian (Pусский) translation by Ilya Nikov (you can also view the original English article)

ΠžΠ±Ρ‰Π΅ΠΈΠ·Π²Π΅ΡΡ‚Π½ΠΎ, Ρ‡Ρ‚ΠΎ прилоТСния для Android Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡŽΡ‚ΡΡ Π² Π²ΠΈΠ΄Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Android Application, ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² APK для краткости. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ людСй смотрит Π½Π° APK ΠΊΠ°ΠΊ Ρ‡Π΅Ρ€Π½Ρ‹ΠΉ ящик ΠΈ понятия Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚, ΠΊΠ°ΠΊ ΠΎΠ½ΠΎ создано ΠΈΠ»ΠΈ Ρ‡Ρ‚ΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π½Π΅Π³ΠΎ. Π”Π°ΠΆΠ΅ Ρƒ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π΅ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ повСрхностноС ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π°Π½Π°Ρ‚ΠΎΠΌΠΈΠΈ APK. Π’ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… срСдах Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Android Studio, трСбуСтся всСго ΠΎΠ΄ΠΈΠ½ Ρ‰Π΅Π»Ρ‡ΠΎΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Android Π² APK.

Π’ этом ΡƒΡ€ΠΎΠΊΠ΅ ΠΌΡ‹ рассмотрим ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для Android. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, ΠΌΡ‹ собираСмся ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ APK ΠΈ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π΅Π³ΠΎ содСрТимоС. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ APK являСтся Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΌ Ρ„Π°ΠΉΠ»ΠΎΠΌ, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния машинами, я Ρ‚Π°ΠΊΠΆΠ΅ расскаТу Π²Π°ΠΌ ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… инструмСнтах, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° Π΅Π³ΠΎ содСрТимого Π² Π±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±ΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ.

ΠŸΡ€Π΅Π΄ΠΏΠΎΡΡ‹Π»ΠΊΠΈ

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ:

1. Π—Π°Ρ‡Π΅ΠΌ Π·Π°Π³Π»ΡΠ΄Ρ‹Π²Π°Ρ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€ΡŒ Π² APK?

МногиС люди Π΄Π΅Π»Π°ΡŽΡ‚ это ΠΈΠ· чистого Π»ΡŽΠ±ΠΎΠΏΡ‹Ρ‚ΡΡ‚Π²Π°. Π”Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ прямого доступа ΠΊ изобраТСниям, Π·Π²ΡƒΠΊΠ°ΠΌ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌ Π°ΠΊΡ‚ΠΈΠ²Π°ΠΌ своих Π»ΡŽΠ±ΠΈΠΌΡ‹Ρ… ΠΈΠ³Ρ€ ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Однако Π΅ΡΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½Ρ‹Π΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π²Ρ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΈ Π±Ρ‹ Π·Π°Π³Π»ΡΠ½ΡƒΡ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€ΡŒ APK.

ΠžΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅

Если Π²Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°Ρ‡Π°Π»ΠΈ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для Android, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΌΠ½ΠΎΠ³ΠΎΠΌΡƒ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ, просматривая APK-Ρ„Π°ΠΉΠ»Ρ‹ популярных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, созданных профСссионалами. НапримСр, просмотрСв Ρ„Π°ΠΉΠ»Ρ‹ ΠΌΠ°ΠΊΠ΅Ρ‚Π° XML прилоТСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ…ΠΎΡ€ΠΎΡˆΠΎ смотрятся Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ€Π°Π·ΠΌΠ΅Ρ€Π°Ρ… экрана, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ свои собствСнныС Π½Π°Π²Ρ‹ΠΊΠΈ создания ΠΌΠ°ΠΊΠ΅Ρ‚Π°.

Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Π΅ ΠΈΠ· Π½Π΅Π½Π°Π΄Π΅ΠΆΠ½Ρ‹Ρ… источников, ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ врСдоносный ΠΊΠΎΠ΄. Если Π²Ρ‹ ΡƒΠΆΠ΅ ΡΠ²Π»ΡΠ΅Ρ‚Π΅ΡΡŒ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹ΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π² Ρ‚Π°ΠΊΠΈΠ΅ прилоТСния, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΈΡ… ΠΊΠΎΠ΄, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π΄Π΅Π»Π°ΡŽΡ‚ ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡ‚ΠΎΠΌ.

2. Как создаСтся APK?

НС Ρ‚Π°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΈΠ· APK Π±Π΅Π· Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ понимания Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½ создаСтся. ЀактичСски, Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½Ρ‹Π΅ инструмСнты, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ для Π°Π½Π°Π»ΠΈΠ·Π° APK, Ρ‚Π°ΠΊΠΆΠ΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ инструмСнтами, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ для Π΅Π³ΠΎ создания.

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ Android состоят Π² основном ΠΈΠ· исходного ΠΊΠΎΠ΄Π° Java, XML-ΠΌΠ°ΠΊΠ΅Ρ‚ΠΎΠ², ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… XML ΠΈ Π°ΠΊΡ‚ΠΈΠ²ΠΎΠ², Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ изобраТСния, Π²ΠΈΠ΄Π΅ΠΎ ΠΈ Π·Π²ΡƒΠΊΠΈ. ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ опСрационная систСма Android смоТСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ всС эти Ρ„Π°ΠΉΠ»Ρ‹, ΠΈΡ… Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Π² Ρ„ΠΎΡ€ΠΌΡƒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΎΠ½Π° ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚. Π­Ρ‚ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя мноТСство ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ процСссом сборки Android. ΠšΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ процСсса сборки являСтся APK ΠΈΠ»ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для Android.

Π’ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… Android Studio Android-ΠΏΠ»Π°Π³ΠΈΠ½ для Gradle ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ всС ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ процСсса сборки.

Одной ΠΈΠ· ΠΏΠ΅Ρ€Π²Ρ‹Ρ… Π²Π°ΠΆΠ½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ являСтся созданиС Ρ„Π°ΠΉΠ»Π° с ΠΈΠΌΠ΅Π½Π΅ΠΌ R.java. Π­Ρ‚ΠΎ Ρ„Π°ΠΉΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ доступ ΠΊ ΠΌΠ°ΠΊΠ΅Ρ‚Ρƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ рСсурсам Π² своСм Java-ΠΊΠΎΠ΄Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ числовых констант. Для создания Ρ„Π°ΠΉΠ»Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ инструмСнт ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ aapt, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΌ для Android Asset Packaging Tool. Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ всС рСсурсы XML вмСстС с Ρ„Π°ΠΉΠ»ΠΎΠΌ манифСста ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚.

ВсС Ρ„Π°ΠΉΠ»Ρ‹ Java, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ R.java, Π·Π°Ρ‚Π΅ΠΌ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ΡΡ Π² Ρ„Π°ΠΉΠ»Ρ‹ классов с использованиСм компилятора Java. Как Π²Ρ‹ ΡƒΠΆΠ΅ Π·Π½Π°Π΅Ρ‚Π΅, Ρ„Π°ΠΉΠ»Ρ‹ классов состоят ΠΈΠ· Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠΌ выполнСния Java. Однако Android ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ Android runtime (ART), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ для ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… устройств. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ всС Ρ„Π°ΠΉΠ»Ρ‹ классов Π±Ρ‹Π»ΠΈ сгСнСрированы, инструмСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ называСтся dx, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π° Π² Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄ Dalvik, Ρ„ΠΎΡ€ΠΌΠ°Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚ ART.

ПослС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ рСсурсов ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² Java ΠΎΠ½ΠΈ ΠΏΠΎΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π² Ρ„Π°ΠΉΠ» Π°Ρ€Ρ…ΠΈΠ²Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆ Π½Π° Ρ„Π°ΠΉΠ» JAR. Π—Π°Ρ‚Π΅ΠΌ Π°Ρ€Ρ…ΠΈΠ²Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» подписываСтся с использованиСм Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ прилоТСния. Π­Ρ‚ΠΈ Π΄Π²Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠΌ Gradle Π±Π΅Π· использования ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ Π²Π½Π΅ΡˆΠ½ΠΈΡ… инструмСнтов. ΠšΠ»ΡŽΡ‡ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°, ΠΎΠ΄Π½Π°ΠΊΠΎ, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ ΠΈΠ· Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° ΠΊΠ»ΡŽΡ‡Π΅ΠΉ, управляСмого keytool.

НаконСц, c Ρ„Π°ΠΉΠ»ΠΎΠΌ Π°Ρ€Ρ…ΠΈΠ²Π° дСлаСтся нСсколько ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΉ с использованиСм инструмСнта zipalign, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΏΠ°ΠΌΡΡ‚ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ потрСбляСт Π²ΠΎ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹, свСдСна ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΡƒ. На Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π°Ρ€Ρ…ΠΈΠ²Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» являСтся допустимым APK, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой Android.

3. Анализ содСрТания APK

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ Ρ„Π°ΠΉΠ»Ρ‹ APK ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ, Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΎΡ‚ΠΊΡ€ΠΎΠ΅ΠΌ ΠΈΡ… ΠΈ посмотрим Π½Π° Π΅Π³ΠΎ содСрТимоС. Π’ этом ΡƒΡ€ΠΎΠΊΠ΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ APK прилоТСния ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Sample Soft Keyboard, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ устанавливаСтся Π½Π° эмулятор Android. Однако, Ссли Π²Ρ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ физичСскоС устройство, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ‚Π°ΠΊ ΠΆΠ΅ Π»Π΅Π³ΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ APK любого прилоТСния, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²Ρ‹ установили Π½Π° Π½Π΅ΠΌ.

Π¨Π°Π³ 1: ΠŸΠ΅Ρ€Π΅Π½ΠΎΡ APK Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€

Π’Ρ‹Π²ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π²Ρ‹ΡˆΠ΅ выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π¨Π°Π³ 2: Π˜Π·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ содСрТимого APK

ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄

Если Π²Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ Π² APK Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Π·Π½Π°ΠΊΠΎΠΌΡ‹ΠΌΠΈ. Однако, ΠΏΠΎΠΌΠΈΠΌΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² ΠΏΠ°ΠΏΠΊΠ΅ res, Ρ„Π°ΠΉΠ»Ρ‹ находятся Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π±Π΅Π· ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… инструмСнтов.

Π¨Π°Π³ 3: Π Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² XML

Android SDK Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя всС инструмСнты, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для Π°Π½Π°Π»ΠΈΠ·Π° содСрТимого APK. Π’Ρ‹ ΡƒΠ·Π½Π°Π»ΠΈ Ρ€Π°Π½Π΅Π΅, Ρ‡Ρ‚ΠΎ aapt ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ рСсурсов XML Π²ΠΎ врСмя процСсса сборки. Он Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для чтСния большого количСства ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈΠ· APK.

НапримСр, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ†ΠΈΡŽ dump xmltre e для чтСния содСрТимого любого Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ XML-Ρ„Π°ΠΉΠ»Π° Π² APK. Π’ΠΎΡ‚ ΠΊΠ°ΠΊ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΌΠ°ΠΊΠ΅Ρ‚Π° с ΠΈΠΌΠ΅Π½Π΅ΠΌ res/layout/input.xml:

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:

Π­Ρ‚ΠΎ Π½Π΅ XML, Π½ΠΎ благодаря отступу ΠΈ ярлыкам, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ N для пространства ΠΈΠΌΠ΅Π½, E для элСмСнта ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρƒ A, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π² состоянии ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Π³ΠΎ.

Π¨Π°Π³ 4: Π Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° строк

На ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ шагС Π²Ρ‹ Π²ΠΈΠ΄Π΅Π»ΠΈ, Ρ‡Ρ‚ΠΎ Π΄Π΅ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ XML ΠΈΠΌΠ΅Π΅Ρ‚ ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½Ρ‹Π΅ числа вмСсто строк. Π­Ρ‚ΠΈ числа ΡΠ²Π»ΡΡŽΡ‚ΡΡ ссылками Π½Π° строки Π² Ρ„Π°ΠΉΠ»Π΅ с ΠΈΠΌΠ΅Π½Π΅ΠΌ resources.arsc, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдставляСт собой Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ рСсурсов прилоТСния.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ dump resources для aapt для просмотра Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ рСсурсов. Π’ΠΎΡ‚ ΠΊΠ°ΠΊ:

Из Π²Ρ‹Π²ΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ‚ΠΎΡ‡Π½Ρ‹Π΅ значСния строк, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. Π’ΠΎΡ‚ запись для ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½Ρ‹Ρ… чисСл Π² XML:

Π¨Π°Π³ 5: Π Π°Π·Π±ΠΎΡ€ΠΊΠ° Dalvik Bytecode

НаиболСС Π²Π°ΠΆΠ½Ρ‹ΠΌ Ρ„Π°ΠΉΠ»ΠΎΠΌ Π² APK являСтся class.dex. Π­Ρ‚ΠΎ Ρ„Π°ΠΉΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π²ΠΎ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ прилоТСния Android Π²ΠΎ врСмя запуска прилоТСния. Он содСрТит Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄ Dalvik, сгСнСрированный Π²ΠΎ врСмя процСсса сборки.

Π Π°Π·Π±Ρ€Π°Π² этот Ρ„Π°ΠΉΠ», Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ классах Java, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. Для этого Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ инструмСнт, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ dexdump. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ Ρ„Π°ΠΉΠ»Π° dexdump Π² Ρ„Π°ΠΉΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ Π»ΡŽΠ±Ρ‹ΠΌ тСкстовым Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ.

Если Π²Ρ‹ ΠΎΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚Π΅ classes.dasm, Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Ρƒ Π½Π΅Π³ΠΎ Π΅ΡΡ‚ΡŒ сотни строк Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ выглядит Ρ‚Π°ΠΊ:

ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄

ОбъСм ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, доступной Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ XML, мСньшС, Π½ΠΎ Π΄Π°Π΅Ρ‚ Π²Π°ΠΌ прСдставлСниС ΠΎ классах Java, ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Ρ… ΠΈ полях, ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ.

ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ прилоТСния Π°Π½Π΄Ρ€ΠΎΠΈΠ΄

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ этом ΡƒΡ€ΠΎΠΊΠ΅ Π²Ρ‹ ΡƒΠ·Π½Π°Π»ΠΈ, ΠΊΠ°ΠΊ создаСтся APK ΠΈ Ρ‡Ρ‚ΠΎ ΠΎΠ½ содСрТит. Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠ·Π½Π°Π»ΠΈ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ инструмСнты, доступныС Π² Android SDK, для Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠΈ содСрТимого Ρ„Π°ΠΉΠ»ΠΎΠ² APK. Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΎΠ± этих инструмСнтах Π½Π΅ Ρ‚Π°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ, Π½ΠΎ ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ всС ΠΎΠ½ΠΈ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈΡ… ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ с коммСнтариями, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΎ Π½ΠΈΡ… большС.

Если Π²Ρ‹ ΠΈΡ‰Π΅Ρ‚Π΅ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π±ΠΎΠ»Π΅Π΅ простоС Π² использовании, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ популярныС сторонниС инструмСнты, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ dex2jar, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΉ дизассСмблированный ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ JADX, дСкомпилятор, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Java-ΠΊΠΎΠ΄.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *