Python 官方文档:入门教程 => 点击学习
本篇文章为大家展示了怎么在python中使用反编译apk签名出包,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。安装工具需要python3,apktool.jar,apktool用apktool进行反
本篇文章为大家展示了怎么在python中使用反编译apk签名出包,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
安装工具
需要python3,apktool.jar,apktool
用apktool进行反编译
cmd = 'apktool d -f '+apkPath+' -o '+outPath
修改需要配置的参数值
说明:如果是AndroidManifest.xml,注意在 parse 前 一定要设置namespace, 不然就会出现 ns0:name错误, 而不是预期的 android:name,设置namespace的方法 ET.reGISter_namespace('android', "Http://schemas.android.com/apk/res/android")
curPath = (apktoolPath+'/ihdrm202103161405apk/') tree = ET.parse(curPath + 'AndroidManifest.xml') #打开xml root = tree.getroot() #找到manifest的根文件 print(root.tag) #我们输出一下就知道root目录就是manifest目录 print(root.attrib) #输出一下root目录的成员 #获取package versionName = root.get('package') #修改 root.set('package', 'com.youxi.jiayou') #获取application目录 application = root.find('application') #遍历所有meta-data for item in application.iter('meta-data'): name = item.attrib.get(SPACE +'name') value = item.attrib.get(SPACE +'value')
修改应用名字
def appnamechang(): print('--------修改应用名字完成--------') tree = read_xml(in_path) text_nodes = get_node_by_keyvalue(find_nodes(tree, "string"), {"name": "app_name"}) change_node_text(text_nodes, "霸道传奇")# write_xml(tree, "./strings的绝对路径.xml") write_xml(tree,apktoolPath+"/ihdrm202103161405apk/res/values/strings.xml")
修改icon图标
source_path = (apktoolPath+'/icon')target_path = (apktoolPath+'/ihdrm202103161405apk/res')def copy_search_file(): print('--------修改icon成功--------') '''将一个目录下的全部文件和目录,完整地<拷贝并覆盖>到另一个目录''' # source_path 源目录 # target_path 目标目录 if not (os.path.isdir(source_path) and os.path.isdir(target_path)): return for a in os.walk(source_path):# #创建目录 for d in a[1]: dir_path = os.path.join(a[0].replace(source_path,target_path),d) if not os.path.isdir(dir_path): os.makedirs(dir_path) #拷贝文件 for p in a[2]: dep_path = os.path.join(a[0],p) arr_path = os.path.join(a[0].replace(source_path,target_path),p) shutil.copy(dep_path,arr_path)
删除签名回编译
cmd = 'apktool b -f '+outPath
创建证书
def createzu(): cmd = 'keytool -genkey -alias jayoux.keystore -keyalg RSA -validity 20000 -keystore jayoux.keystore' print('-------- 创建证书--------') os.system(cmd)
上述内容就是怎么在Python中使用反编译apk签名出包,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程网Python频道。
--结束END--
本文标题: 怎么在python中使用反编译apk签名出包
本文链接: https://lsjlt.com/news/268485.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0