| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- # coding:utf8
- __author__ = 'dong'
- import os
- import logging
- import xml.dom.minidom
- import re
- import shutil
- import glob
- lines = ['invoke-virtual {v0}, Lcom/kf/framework/KFApplication;->onCreate()V']
- def script_last(SDK, decompileDir, channelSdkInfo, new_game_channel_info, gameInfo):
- # logging.info('------------SDK:'+SDK)
- # logging.info('------------decompileDir:'+decompileDir)
- # logging.info('------------channelSdkInfo:'+str(channelSdkInfo))
- # logging.info('------------new_game_channel_info:'+str(new_game_channel_info))
- # logging.info('------------gameInfo:'+str(gameInfo))
- # logging.info("------rm baidu smali------")
- # restdir = decompileDir+"/"+"smali_classes2/com/baidu/gamesdk"
- # if os.path.exists(restdir):
- # shutil.rmtree(restdir)
- # s3 = decompileDir + "/smali_classes3"
- logging.info('------------channelSdkInfo:' + str(channelSdkInfo))
- logging.info('------------channelSDKName:' + channelSdkInfo['SDKName'])
- # 小绵羊
- if (channelSdkInfo['SDKName'] == 'reversefor360'):
- logging.info('------------channelSdkID:' + channelSdkInfo['id'])
- replace_kf_application(decompileDir)
- def replace_kf_application(extract_dir):
- goal_file_list = glob.glob(os.path.join(extract_dir, 'smali*/com/shenghe/wzcq/qihoo/HTApplication.smali'))
- if len(goal_file_list) == 0:
- logging.info("goal_file is null")
- return
- goal_file = goal_file_list[0]
- print(os.path.isfile(goal_file))
- if os.path.isfile(goal_file):
- logging.info('method_proceed: ' + 'goal_file')
- print(goal_file)
- with open(goal_file, 'r+') as f:
- cont = f.read()
- for line in lines:
- change_line = line.replace('Lcom/kf/framework/KFApplication',
- 'Landroid/app/Application')
- cont = cont.replace(line, change_line)
- logging.info('replace_str: ' + cont)
- with open(goal_file, 'w+') as tf:
- tf.write(cont)
- if __name__ == '__main__':
- replace_kf_application("D://work//yxmy")
|