| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- # coding:utf8
- __author__ = 'Snow'
- import os
- import logging
- import xml.dom.minidom
- import re
- import shutil
- import glob
- import distutils
- import gw_data_center
- import gw_file_system
- def script_init(workspace_sdk_dir, extract_dir, channel_sdk_info, new_game_channel_info, game_info):
- sdk_id = channel_sdk_info['id']
- # gw_data_center.pack_small = False
- logging.info('script_init: ' + str(channel_sdk_info))
- def script_first(SDK, decompileDir, channelSdkInfo, new_game_channel_info, gameInfo):
- return
- logging.info("-----debug exec first func-----")
- # game_apk = os.path.join(decompileDir, "game.apk")
- game_apk = decompileDir + "/../game.apk"
- if os.path.exists(game_apk):
- # A3AEECD8
- gw_file_system.delete_apk_file_by_aapt(game_apk, "assets/39285EFA.dex")
- gw_file_system.delete_apk_file_by_aapt(game_apk, "assets/A3AEECD8.dex")
- logging.info("-----debug-----")
- def script(SDK, decompileDir, channelSdkInfo, new_game_channel_info, gameInfo):
- # s3 = decompileDir + "/smali_classes3"
- # A3AEECD8.dex
- return
- dex = decompileDir + "../39285EFA.dex"
- asserts = os.path.join(decompileDir, "assets/39285EFA.dex")
- if os.path.exists(asserts) and os.path.exists(os.path.join(dex)):
- distutils.dir_util.copy_tree(dex, asserts)
- dex = decompileDir + "../A3AEECD8.dex"
- asserts = os.path.join(decompileDir, "assets/A3AEECD8.dex")
- if os.path.exists(asserts) and os.path.exists(os.path.join(dex)):
- distutils.dir_util.copy_tree(dex, asserts)
- def script_last(SDK, decompileDir, channelSdkInfo, new_game_channel_info, gameInfo):
- logging.info('------------channelSdkInfo:' + str(channelSdkInfo))
- if channelSdkInfo['id'] == '549':
- del_qihoo(decompileDir)
- add_openFloatWindow_method(decompileDir)
- def del_qihoo(decompileDir):
- qihoo = os.path.join(decompileDir, 'smali_classes3/com/qihoo')
- if os.path.exists(qihoo):
- shutil.rmtree(qihoo)
- def add_openFloatWindow_method(decompileDir):
- r_file_path = 'smali_classes4/com/qihoo/gamecenter/sdk/matrix/Matrix.smali'
- src_file = os.path.join(decompileDir, r_file_path)
- print(src_file)
- if os.path.exists(src_file):
- with open(src_file, 'r+') as f:
- lines = f.readlines()
- method = '.method public static openFloatWindow(Landroid/app/Activity;)V\n'
- if method not in lines:
- method = ['.method public static openFloatWindow(Landroid/app/Activity;)V\n',
- ' .locals 0\n',
- ' return-void\n',
- '.end method']
- for l in method:
- lines.append(l)
- with open(src_file, 'w+') as fl:
- fl.write(''.join(lines))
- if __name__ == '__main__':
- del_qihoo("C:\\Users\\Administrator\\Desktop\\wlwz")
|