• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    关于使用python反编译apk签名出包的问题

    demo实现脚本下载

    安装工具

    需要python3,apktool.jar,apktool

    1.用apktool进行反编译

    cmd = 'apktool d -f '+apkPath+' -o '+outPath

    2.修改需要配置的参数值

    说明:如果是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')

    3.修改应用名字

    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")

    4.修改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)

    5.删除签名回编译

    cmd = 'apktool b -f '+outPath

    6.创建证书

    def createzu():
     cmd = 'keytool -genkey -alias jayoux.keystore -keyalg RSA -validity 20000 -keystore jayoux.keystore'
     print('-------- 创建证书--------')
     os.system(cmd)

    到此这篇关于使用python反编译apk签名出包的文章就介绍到这了,更多相关python反编译apk内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    您可能感兴趣的文章:
    • PyInstaller将Python文件打包为exe后如何反编译(破解源码)以及防止反编译
    • python 反编译exe文件为py文件的实例代码
    • python反编译学习之字节码详解
    • Python使用dis模块把Python反编译为字节码的用法详解
    • Python3加密解密库Crypto的RSA加解密和签名/验签实现方法实例
    • PYTHON实现SIGN签名的过程解析
    • Python下实现的RSA加密/解密及签名/验证功能示例
    上一篇:pandas 使用insert插入一列
    下一篇:python用pyecharts实现地图数据可视化
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    关于使用python反编译apk签名出包的问题 关于,使用,python,反,编译,