script.py 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. # coding:utf8
  2. __author__ = '哥哥捕鱼酷派'
  3. import os
  4. import logging
  5. import xml.dom.minidom
  6. import re
  7. import shutil
  8. import glob
  9. import gw_data_center
  10. def script_init(SDK, decompileDir, channelSdkInfo, new_game_channel_info, gameInfo):
  11. gw_data_center.pack_small = False
  12. def script_last(SDK, decompileDir, channelSdkInfo, new_game_channel_info, gameInfo):
  13. logging.info('------------channelSdkInfo:' + str(channelSdkInfo))
  14. if channelSdkInfo['id'] == '549':
  15. add_super_invoke(decompileDir)
  16. replace_life_method(decompileDir)
  17. replace_permission_tips(decompileDir)
  18. def add_super_invoke(decompileDir):
  19. goal_file = os.path.join(decompileDir, 'smali_classes2/com/bohaoo/dlby/coolpad/MyApplication.smali')
  20. print(os.path.isfile(goal_file))
  21. if os.path.isfile(goal_file):
  22. logging.info('method_proceed: ' + 'goal_file')
  23. print(goal_file)
  24. with open(goal_file, 'r+') as f:
  25. cont = f.read()
  26. change_str = '.method public onCreate()V'
  27. str = '.method public onCreate()V\n' \
  28. 'invoke-super {p0}, Lcom/kf/framework/KFApplication;->onCreate()V'
  29. cont = cont.replace(change_str, str)
  30. logging.info('replace_str: ' + cont)
  31. with open(goal_file, 'w+') as tf:
  32. tf.write(cont)
  33. def replace_permission_tips(decompileDir):
  34. goal_file = os.path.join(decompileDir, 'smali_classes2/com/bohaoo/dlby/coolpad/AppActivity.smali')
  35. print(os.path.isfile(goal_file))
  36. if os.path.isfile(goal_file):
  37. logging.info('method_proceed: ' + 'goal_file')
  38. print(goal_file)
  39. with open(goal_file, 'r+') as f:
  40. cont = f.read()
  41. print(cont)
  42. change_str = "\u672a\u80fd\u83b7\u53d6\u5230\u5bf9\u5e94\u6743\u9650"
  43. str = ""
  44. cont = cont.replace(change_str, str)
  45. with open(goal_file, 'w+') as tf:
  46. tf.write(cont)
  47. def replace_life_method(extract_dir):
  48. goal_file = os.path.join(extract_dir, 'smali_classes2/org/cocos2dx/javascript/AppActivity.smali')
  49. print(os.path.isfile(goal_file))
  50. if os.path.isfile(goal_file):
  51. logging.info('method_proceed: ' + 'goal_file')
  52. print(goal_file)
  53. with open(goal_file, 'r+') as f:
  54. cont = f.read()
  55. change_str = '.method protected onResume()V'
  56. str = '.method public onResume()V\n' \
  57. 'invoke-static {}, Lcom/kf/framework/SDKPluginWrapper;->onResume()V'
  58. cont = cont.replace(change_str, str)
  59. change_str_1 = '.method protected onPause()V'
  60. str_1 = '.method public onPause()V\n' \
  61. 'invoke-static {}, Lcom/kf/framework/SDKPluginWrapper;->onPause()V'
  62. cont = cont.replace(change_str_1, str_1)
  63. logging.info('replace_str: ' + cont)
  64. with open(goal_file, 'w+') as tf:
  65. tf.write(cont)
  66. if __name__ == '__main__':
  67. replace_permission_tips("C:\\Users\\Administrator\\Desktop\\gege")