script.py 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  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. def add_super_invoke(decompileDir):
  10. goal_file = os.path.join(decompileDir,'smali_classes2/com/bohaoo/dlby/coolpad/MyApplication.smali')
  11. print(os.path.isfile(goal_file))
  12. if os.path.isfile(goal_file):
  13. logging.info('method_proceed: '+'goal_file')
  14. print(goal_file)
  15. with open(goal_file,'r+') as f:
  16. cont = f.read()
  17. change_str = '.method public onCreate()V'
  18. str = '.method public onCreate()V\n' \
  19. 'invoke-super {p0}, Lcom/kf/framework/KFApplication;->onCreate()V'
  20. cont = cont.replace(change_str,str)
  21. logging.info('replace_str: '+cont)
  22. with open(goal_file,'w+') as tf:
  23. tf.write(cont)
  24. def replace_permission_tips(decompileDir):
  25. goal_file = os.path.join(decompileDir,'smali_classes2/com/bohaoo/dlby/coolpad/AppActivity.smali')
  26. print(os.path.isfile(goal_file))
  27. if os.path.isfile(goal_file):
  28. logging.info('method_proceed: '+'goal_file')
  29. print(goal_file)
  30. with open(goal_file,'r+') as f:
  31. cont = f.read()
  32. print(cont)
  33. change_str = "\u672a\u80fd\u83b7\u53d6\u5230\u5bf9\u5e94\u6743\u9650"
  34. str = ""
  35. cont = cont.replace(change_str,str)
  36. with open(goal_file,'w+') as tf:
  37. tf.write(cont)
  38. def script_last(SDK, decompileDir, channelSdkInfo, new_game_channel_info, gameInfo):
  39. # logging.info('------------SDK:'+SDK)
  40. # logging.info('------------decompileDir:'+decompileDir)
  41. # logging.info('------------channelSdkInfo:'+str(channelSdkInfo))
  42. # logging.info('------------new_game_channel_info:'+str(new_game_channel_info))
  43. # logging.info('------------gameInfo:'+str(gameInfo))
  44. # logging.info("------rm baidu smali------")
  45. # restdir = decompileDir+"/"+"smali_classes2/com/baidu/gamesdk"
  46. # if os.path.exists(restdir):
  47. # shutil.rmtree(restdir)
  48. # s3 = decompileDir + "/smali_classes3"
  49. logging.info('------------channelSdkInfo:' + str(channelSdkInfo))
  50. if channelSdkInfo['id'] == '549':
  51. add_super_invoke(decompileDir)
  52. replace_life_method(decompileDir)
  53. replace_permission_tips(decompileDir)
  54. def replace_life_method(extract_dir):
  55. goal_file = os.path.join(extract_dir,'smali_classes2/org/cocos2dx/javascript/AppActivity.smali')
  56. print(os.path.isfile(goal_file))
  57. if os.path.isfile(goal_file):
  58. logging.info('method_proceed: '+'goal_file')
  59. print(goal_file)
  60. with open(goal_file,'r+') as f:
  61. cont = f.read()
  62. change_str = '.method protected onResume()V'
  63. str = '.method public onResume()V\n' \
  64. 'invoke-static {}, Lcom/kf/framework/SDKPluginWrapper;->onResume()V'
  65. cont = cont.replace(change_str,str)
  66. change_str_1 = '.method protected onPause()V'
  67. str_1 = '.method public onPause()V\n' \
  68. 'invoke-static {}, Lcom/kf/framework/SDKPluginWrapper;->onPause()V'
  69. cont = cont.replace(change_str_1,str_1)
  70. logging.info('replace_str: '+cont)
  71. with open(goal_file,'w+') as tf:
  72. tf.write(cont)
  73. if __name__ == '__main__':
  74. replace_permission_tips("C:\\Users\\Administrator\\Desktop\\gege")