Код магнитолы

Оппозиция в России ?

Россия и Украина

Мысли в слух...

JS - телефон

Java - это...интересно

Hello, Android!

Assembler...м-м-э

Российская...власть ?

JavaScript

Создаём сайт

Любимые сериалы

Гостевая

Forex - графики

Комментарии_DOM


Не будем оригинальничать и пойдём "своим" путём.
Это не моё ноу-хау, это творческая доработка того, что ракопано в сети. Всю декомпиляцию/рекомпиляцию мы проведём на основе приложения file_transfer_pro_1.0.1.apk, которое для удобства переименуем в ftp.apk.
Для работы мы выберем произвольное место и создадим рабочий каталог:
        [Apk] 
            |_ftp.apk
            |_apk_d.bat
            |_apk_b.bat
            |_apktool.bat
            |_apktool.jar
Кроме будущей "жертвы", мы поместим туда следующие файлы:

apk_d.bat - запуск этого файла приведёт к декомпиляции приложения. Процесс это немгновенный, поэтому дождитесь предложения - нажать, для продолжения, любую клавишу:
  @echo off
  set apktool=disk:/Apk/apktool.bat   
  call %apktool% d ftp.apk 
  pause
После удачной декомпиляции в нашем каталоге появится под-каталог ftp:
  [Apk] 
      |_[ftp]
      |      |_[assets]
      |      |_[original]
      |      |_[res]
      |      |_[smali]
      |      |_AndroidManifest.xml
      |      |_apktool.yml  
      |_ftp.apk
      ....    
Из AndroidManifest-та мы удалим:
uses-permission android:name="android.permission.WAKE_LOCK" - это разрешение на работу при выключеном экране смартфона (режим сна).
Затем пройдём по пути res-->values-->strings.xml и руссифицируем текст в последнем файле. Здесь надо быть особенно внимательным: если текст на кирилице будет длиннее английского варианта, то место под текст придётся увеличивать, пройдя по пути res-->layout-->....

apk_b.bat - запуск эого файла приведёт к компиляции отредактированного приложения:
  @echo off 
  set apktool=disk:/Apk/apktool.bat   
  call %apktool% b ftp
  pause
После удачного срабатывания этого файла в каталоге ftp появяться два новых:
  [Apk]  
      |_[ftp]
      |     |_[assets]
            |_[build]
            |_[dist]
                    |_ftp.apk
      ....    
Именно в каталоге dist будет находится вновь откомпелированое приложение.

apktool.bat - этот файл организует декомпиляцию/рекомпиляцию приложения:
  @echo off
  setlocal
  set BASENAME=apktool_
  chcp 65001 2>nul >nul

  :: находим jar-файл 
  setlocal EnableDelayedExpansion
  pushd "%~dp0"
  if exist apktool.jar 
  (
    set BASENAME=apktool
    goto skipversioned
  )
  set max=0
  for /f "tokens=1* delims=-_.0" %%A in ('dir /b /a-d %BASENAME%*.jar') do if %%~B gtr !max! set max=%%~nB
  :skipversioned
  popd
  setlocal DisableDelayedExpansion

  :: если найдено приложение и jar-файл - занимаемся декомпиляцией/рекомпиляцией
  if "%~1"=="" goto load
  if not "%~2"=="" goto load
  set ATTR=%~a1
  if "%ATTR:~0,1%"=="d" 
  (
    :: рекомпилируем
    set fastCommand=b
  )
  if "%ATTR:~0,1%"=="-" if "%~x1"==".apk" 
  (
    :: распаковываем apk-файл
    set fastCommand=d
  )

  :load
  java -jar -Duser.language=en -Dfile.encoding=UTF8 "%~dp0%BASENAME%%max%.jar" %fastCommand% %*

  :: делаем паузу
  for /f "tokens=2" %%# in ("%cmdcmdline%") do if /i "%%#" equ "/c" pause

и apktool.jar. Последний компонент можно скачать здесь.
Полученое приложение необходимо подписать. Ссылку на архив с программой - смотри выше.
***
Несколько советов. Не пытайтесь сразу использовать в работе самые последние версии инструментов. Я работаю с Windous XP SP3 и Jdk1.7.0_10. Но все ошибки исчезли, когда я переключился на apktool_2.0.0-Beta7.jar, а это не самая свежая версия apk-инструмента.
Вполне возможно, что приложение было не самым новым.
И ещё один момент - для начала, не беритесь за приложение более 500 kbyte.

...назад