下载地址:https://github.com/miqt/PythonLearn/tree/master/apkdump/dist
下载即用,不需要配置任何环境,我已经编译成了exe可执行文件。
从手机利用adb命令导出apk的小工具 使用方法:
- 手机打开目标应用
- 双击exe文件,等待导出
实现源码:
import os
import re
def run_silently(cmd: str) -> str:
"""返回系统命令的执行结果"""
with os.popen(cmd) as fp:
bf = fp._stream.buffer.read()
try:
return bf.decode().strip()
except UnicodeDecodeError:
return bf.decode('gbk').strip()
print('APK DUMP TOOL START!')
print('https://github.com/miqt')
res = run_silently("adb shell dumpsys activity top")
activitys = re.findall(r'(ACTIVITY\s)(.*?)(/)(.*?)(\s.*?pid=)([0-9]+)', res, 0)
print('---------------------CURRENT_TASK--------------------------')
for item in activitys:
package = item[1]
activity = item[3]
pid = item[5]
print(package, activity, pid)
print('-----------------------------------------------------------')
toppackage = activitys[activitys.count(activitys) - 1][1]
print('TOP TASK -->', toppackage)
res = run_silently("adb shell pm path " + toppackage)[8:]
print("PATH =", res)
print('-----------------------------------------------------------')
res = run_silently("adb pull " + res + " ./" + toppackage + ".apk")
print(res)
print('-----------------------------------------------------------')
print("DUMP SUCCESS")
os.system('pause')
|