作者 pandada8987

wukongyou update

正在显示 100 个修改的文件 包含 230 行增加55 行删除

要显示太多修改。

为保证性能只显示 100 of 100+ 个文件。

@@ -10,12 +10,12 @@ @@ -10,12 +10,12 @@
10 <uses-permission android:name="android.permission.WAKE_LOCK" /> 10 <uses-permission android:name="android.permission.WAKE_LOCK" />
11 <!-- 527Agg sdk 权限配置 End --> 11 <!-- 527Agg sdk 权限配置 End -->
12 </permissionConfig> 12 </permissionConfig>
13 - <applicationConfig proxyApplication="com.stss.sdk.Wu27STSSAggApplication"> 13 + <applicationConfig proxyApplication="com.stss.sdk.Wu27AppListener">
14 <!-- 527Agg sdk Application配置 Start --> 14 <!-- 527Agg sdk Application配置 Start -->
15 <activity 15 <activity
16 android:name="com.qnAgg.sdk.qnAggDefault.QnAggGameActivity" 16 android:name="com.qnAgg.sdk.qnAggDefault.QnAggGameActivity"
17 android:configChanges="orientation|keyboardHidden|screenSize" 17 android:configChanges="orientation|keyboardHidden|screenSize"
18 - android:theme="@android:style/Theme.Translucent" ></activity> 18 + android:theme="@android:style/Theme.Translucent" />
19 <activity 19 <activity
20 android:name="com.qnAgg.sdk.permission.PermissionUtils$PermissionActivity" 20 android:name="com.qnAgg.sdk.permission.PermissionUtils$PermissionActivity"
21 android:configChanges="orientation|keyboardHidden|screenSize" 21 android:configChanges="orientation|keyboardHidden|screenSize"
@@ -27,6 +27,9 @@ @@ -27,6 +27,9 @@
27 android:alwaysRetainTaskState="true" 27 android:alwaysRetainTaskState="true"
28 android:configChanges="orientation|keyboardHidden|screenSize" 28 android:configChanges="orientation|keyboardHidden|screenSize"
29 android:theme="@android:style/Theme.Translucent.NoTitleBar"/> 29 android:theme="@android:style/Theme.Translucent.NoTitleBar"/>
  30 + <meta-data
  31 + android:name="STSS_CHANNEL_APPLICATION_CLASS"
  32 + android:value="com.qnAgg.sdk.QnAggApplication" />
30 <!-- 527Agg sdk Application配置 End --> 33 <!-- 527Agg sdk Application配置 End -->
31 </applicationConfig> 34 </applicationConfig>
32 </manifest> 35 </manifest>
不能预览此文件类型
@@ -12,8 +12,8 @@ @@ -12,8 +12,8 @@
12 <operation step="5" type="copyRes" from="root" to="" /> 12 <operation step="5" type="copyRes" from="root" to="" />
13 </operations> 13 </operations>
14 <plugins> 14 <plugins>
15 - <plugin name="com.stss.sdk.Wu27STSSAggUser" type="1" desc="用户登录接口"/>  
16 - <plugin name="com.stss.sdk.Wu27STSSAggPay" type="2" desc="用户支付接口"/> 15 + <plugin name="com.stss.sdk.Wu27User" type="1" desc="用户登录接口"/>
  16 + <plugin name="com.stss.sdk.Wu27Pay" type="2" desc="用户支付接口"/>
17 </plugins> 17 </plugins>
18 <version> 18 <version>
19 <name>1688</name> 19 <name>1688</name>
1 <?xml version="1.0" encoding="utf-8"?> 1 <?xml version="1.0" encoding="utf-8"?>
2 <resources> 2 <resources>
3 - <color name="qnAgg_color_000000">#000000</color>  
4 - <color name="qnAgg_color_ea6e00">#ea6e00</color>  
5 - <color name="qnAgg_color_ff7800">#ff7800</color>  
6 - <color name="qnAgg_color_ffffff">#ffffff</color>  
7 - <color name="qnAgg_gray">#918F92</color>  
8 - <color name="qnAgg_login_btn_color">#E7D2AC</color>  
9 - <dimen name="qnAgg_px_1024">480.00dp</dimen>  
10 - <dimen name="qnAgg_px_105">35.00dp</dimen>  
11 - <dimen name="qnAgg_px_120">40.00dp</dimen>  
12 <dimen name="qnAgg_px_180">60.00dp</dimen> 3 <dimen name="qnAgg_px_180">60.00dp</dimen>
13 - <dimen name="qnAgg_px_3">1.00dp</dimen>  
14 - <dimen name="qnAgg_px_30">10.00dp</dimen>  
15 - <dimen name="qnAgg_px_36">12.00dp</dimen>  
16 - <dimen name="qnAgg_px_390">130.00dp</dimen>  
17 - <dimen name="qnAgg_px_45">15.00dp</dimen> 4 + <dimen name="qnAgg_px_90">30.00dp</dimen>
18 <dimen name="qnAgg_px_60">20.00dp</dimen> 5 <dimen name="qnAgg_px_60">20.00dp</dimen>
  6 + <dimen name="qnAgg_px_45">15.00dp</dimen>
19 <dimen name="qnAgg_px_75">25.00dp</dimen> 7 <dimen name="qnAgg_px_75">25.00dp</dimen>
20 - <dimen name="qnAgg_px_90">30.00dp</dimen>  
21 <dimen name="qnAgg_px_960">320.00dp</dimen> 8 <dimen name="qnAgg_px_960">320.00dp</dimen>
22 - <string name="permission_denied_forever_message">我们需要一些权限您拒绝或系统申请失败,请您手动设置为页面授权,否则该功能无法正常使用!</string>  
23 - <string name="permission_rationale_message">您已拒绝我们的授权申请,请同意授权,否则该功能将无法正常使用!</string>  
24 - <string name="qnAgg_agree">同 意</string>  
25 - <string name="qnAgg_agreement">用户协议</string> 9 + <dimen name="qnAgg_px_1024">480.00dp</dimen>
  10 + <dimen name="qnAgg_px_390">130.00dp</dimen>
  11 + <dimen name="qnAgg_px_120">40.00dp</dimen>
  12 + <dimen name="qnAgg_px_30">10.00dp</dimen>
  13 + <dimen name="qnAgg_px_36">12.00dp</dimen>
  14 + <dimen name="qnAgg_px_105">35.00dp</dimen>
  15 + <dimen name="qnAgg_px_3">1.00dp</dimen>
  16 +
26 <string name="qnAgg_permission_desc">为保证您正常的应用体验,本应用现向你说明以上权限的使用用途。可通过手机系统的隐私设置关闭授权,但会影响部分功能的体验。请阅读并同意《隐私政策》和《用户协议》。点击“同意”即代表您已阅读并了解本应用将要使用的权限情况。</string> 17 <string name="qnAgg_permission_desc">为保证您正常的应用体验,本应用现向你说明以上权限的使用用途。可通过手机系统的隐私设置关闭授权,但会影响部分功能的体验。请阅读并同意《隐私政策》和《用户协议》。点击“同意”即代表您已阅读并了解本应用将要使用的权限情况。</string>
27 <string name="qnAgg_permission_use">本应用可能需要使用以下权限:</string> 18 <string name="qnAgg_permission_use">本应用可能需要使用以下权限:</string>
  19 + <string name="qnAgg_agreement">用户协议</string>
28 <string name="qnAgg_polices">隐私政策</string> 20 <string name="qnAgg_polices">隐私政策</string>
29 - <string name="qnAgg_premission_statement">本app需要如下权限及其使用说明:</string>  
30 - <string name="qnAgg_reject">不同意</string>  
31 - <string name="qnAgg_sure">确 定</string>  
32 <string name="qnAgg_touch_agree">点击"同意"即代表您已阅读并同意上述协议及文件。</string> 21 <string name="qnAgg_touch_agree">点击"同意"即代表您已阅读并同意上述协议及文件。</string>
33 <string name="qnAgg_touch_permission">点击\"同意\"即代表您已阅读并了解本应用将要使用的权限情况。</string> 22 <string name="qnAgg_touch_permission">点击\"同意\"即代表您已阅读并了解本应用将要使用的权限情况。</string>
34 - <style name="qnAgg_ActivityTranslucent">  
35 - <item name="android:background">@android:color/transparent</item>  
36 - <item name="android:colorBackgroundCacheHint">@null</item>  
37 - <item name="android:windowActionBar">false</item>  
38 - <item name="android:windowNoTitle">true</item>  
39 -<!-- <item name="android:statusBarColor">@android:color/transparent</item>-->  
40 - <item name="android:backgroundDimEnabled">false</item>  
41 - <item name="android:windowBackground">@android:color/transparent</item>  
42 - <item name="android:windowContentOverlay">@null</item>  
43 - <item name="android:windowIsTranslucent">true</item>  
44 - <item name="android:windowAnimationStyle">@null</item>  
45 - <item name="android:windowDisablePreview">true</item>  
46 - </style>  
47 - <style name="qnAgg_hw_dialog_anim">  
48 - <item name="android:windowEnterAnimation">@anim/sevencattle_dialog_enter</item>  
49 - <item name="android:windowExitAnimation">@anim/sevencattle_dialog_exit</item> 23 + <string name="qnAgg_reject">不同意</string>
  24 + <string name="qnAgg_agree">同 意</string>
  25 + <string name="qnAgg_sure">确 定</string>
  26 + <string name="qnAgg_premission_statement">本app需要如下权限及其使用说明:</string>
  27 +
  28 + <color name="qnAgg_color_000000">#000000</color>
  29 + <color name="qnAgg_color_ea6e00">#ea6e00</color>
  30 + <color name="qnAgg_color_ffffff">#ffffff</color>
  31 + <color name="qnAgg_gray">#918F92</color>
  32 + <color name="qnAgg_login_btn_color">#E7D2AC</color>
  33 + <color name="qnAgg_color_ff7800">#ff7800</color>
50 34
51 35
52 - </style>  
53 - <style name="qnAgg_hw_full_screen_dialog">  
54 - <item name="android:windowFullscreen">true</item>  
55 - <item name="android:windowNoTitle">true</item>  
56 - <item name="android:windowBackground">@drawable/sevencattle_dialog_background</item>  
57 - <item name="android:windowAnimationStyle">@style/qnAgg_hw_dialog_anim</item>  
58 - </style>  
59 - <style name="qnAgg_layoutStyle_commonActivity">  
60 - <item name="android:layout_width">match_parent</item>  
61 - <item name="android:layout_height">match_parent</item>  
62 - <item name="android:orientation">vertical</item>  
63 - <item name="android:background">@drawable/qnagg_shape_main_dialog</item>  
64 - </style>  
65 <style name="qnAgg_pluginDialogStyle" parent="@android:style/Theme.Dialog"> 36 <style name="qnAgg_pluginDialogStyle" parent="@android:style/Theme.Dialog">
66 <item name="android:windowIsTranslucent">true</item> 37 <item name="android:windowIsTranslucent">true</item>
67 <item name="android:windowNoTitle">true</item> 38 <item name="android:windowNoTitle">true</item>
@@ -74,9 +45,17 @@ @@ -74,9 +45,17 @@
74 <item name="android:windowActionBar">false</item> 45 <item name="android:windowActionBar">false</item>
75 <item name="android:windowFullscreen">true</item> 46 <item name="android:windowFullscreen">true</item>
76 </style> 47 </style>
  48 + <!--部分界面适配,用权重空白界面填充-->
77 <style name="qnAgg_vertical_empty_view"> 49 <style name="qnAgg_vertical_empty_view">
78 <item name="android:layout_width">match_parent</item> 50 <item name="android:layout_width">match_parent</item>
79 <item name="android:layout_height">0dp</item> 51 <item name="android:layout_height">0dp</item>
80 <item name="android:layout_weight">1</item> 52 <item name="android:layout_weight">1</item>
81 </style> 53 </style>
  54 + <style name="qnAgg_layoutStyle_commonActivity">
  55 + <item name="android:layout_width">match_parent</item>
  56 + <item name="android:layout_height">match_parent</item>
  57 + <item name="android:orientation">vertical</item>
  58 + <item name="android:background">@drawable/qnagg_shape_main_dialog</item>
  59 + </style>
  60 +
82 </resources> 61 </resources>
  1 +<resources>
  2 + <string name="permission_rationale_message">您已拒绝我们的授权申请,请同意授权,否则该功能将无法正常使用!</string>
  3 + <string name="permission_denied_forever_message">我们需要一些权限您拒绝或系统申请失败,请您手动设置为页面授权,否则该功能无法正常使用!</string>
  4 +</resources>
  1 +<?xml version="1.0" encoding="utf-8"?>
  2 +<resources>
  3 +
  4 + <style name="qnAgg_ActivityTranslucent">
  5 + <item name="android:background">@android:color/transparent</item>
  6 + <item name="android:colorBackgroundCacheHint">@null</item>
  7 + <item name="android:windowActionBar">false</item>
  8 + <item name="android:windowNoTitle">true</item>
  9 +<!-- <item name="android:statusBarColor">@android:color/transparent</item>-->
  10 + <item name="android:backgroundDimEnabled">false</item>
  11 + <item name="android:windowBackground">@android:color/transparent</item>
  12 + <item name="android:windowContentOverlay">@null</item>
  13 + <item name="android:windowIsTranslucent">true</item>
  14 + <item name="android:windowAnimationStyle">@null</item>
  15 + <item name="android:windowDisablePreview">true</item>
  16 + </style>
  17 +
  18 + <style name="qnAgg_hw_full_screen_dialog">
  19 + <item name="android:windowFullscreen">true</item>
  20 + <item name="android:windowNoTitle">true</item>
  21 + <item name="android:windowBackground">@drawable/sevencattle_dialog_background</item>
  22 + <item name="android:windowAnimationStyle">@style/qnAgg_hw_dialog_anim</item>
  23 + </style>
  24 +
  25 + <style name="qnAgg_hw_dialog_anim">
  26 + <item name="android:windowEnterAnimation">@anim/sevencattle_dialog_enter</item>
  27 + <item name="android:windowExitAnimation">@anim/sevencattle_dialog_exit</item>
  28 +
  29 +
  30 + </style>
  31 +
  32 +</resources>
不能预览此文件类型
@@ -22,5 +22,94 @@ androidNS = 'http://schemas.android.com/apk/res/android' @@ -22,5 +22,94 @@ androidNS = 'http://schemas.android.com/apk/res/android'
22 22
23 23
24 def execute(channel, decompileDir, packageName): 24 def execute(channel, decompileDir, packageName):
  25 + modify_main_activity_smali(decompileDir)
  26 + return 0
  27 +
  28 +def modify_main_activity_smali(decompileDir):
  29 +
  30 + manifestFile = decompileDir + "/AndroidManifest.xml"
  31 + # manifestFile = file_utils.getFullPath(manifestFile)
  32 + ET.register_namespace('android', androidNS)
  33 + key = '{' + androidNS + '}name'
  34 +
  35 + tree = ET.parse(manifestFile)
  36 + root = tree.getroot()
  37 +
  38 + applicationNode = root.find('application')
  39 + if applicationNode is None:
  40 + return
  41 +
  42 + activityNodeLst = applicationNode.findall('activity')
  43 + if activityNodeLst is None:
  44 + return
  45 +
  46 + mainActivityName = ''
  47 + for activityNode in activityNodeLst:
  48 + bMain = False
  49 + intentNodeLst = activityNode.findall('intent-filter')
  50 + if intentNodeLst is None:
  51 + break
  52 + for intentNode in intentNodeLst:
  53 + bFindAction = False
  54 + bFindCategory = False
  55 +
  56 + actionNodeLst = intentNode.findall('action')
  57 + if actionNodeLst is None:
  58 + break
  59 + for actionNode in actionNodeLst:
  60 + if actionNode.attrib[key] == 'android.intent.action.MAIN':
  61 + bFindAction = True
  62 + break
  63 +
  64 + categoryNodeLst = intentNode.findall('category')
  65 + if categoryNodeLst is None:
  66 + break
  67 + for categoryNode in categoryNodeLst:
  68 + if categoryNode.attrib[key] == 'android.intent.category.LAUNCHER':
  69 + bFindCategory = True
  70 + break
  71 +
  72 + if bFindAction and bFindCategory:
  73 + bMain = True
  74 + break
  75 +
  76 + if bMain:
  77 + mainActivityName = activityNode.attrib[key]
  78 + break
  79 +
  80 + if len(mainActivityName) == 0:
  81 + return
  82 +
  83 + mainActivityPath = mainActivityName.replace(".", "/")
  84 + mainActivityPath = decompileDir + '/smali/' + mainActivityPath + '.smali'
  85 +
  86 + f = open(mainActivityPath, 'r+', encoding='Utf-8')
  87 + mainActivityContent = str(f.read())
  88 + f.close()
  89 +
  90 + fl = open(mainActivityPath, 'r+')
  91 + lines = fl.readlines()
  92 + fl.close()
  93 +
  94 + superClassLine = lines[1]
  95 + superClassLine.strip()
  96 + superClassName = 'Landroid/app/Activity;'
  97 + if superClassLine.startswith(".super"):
  98 + blocks = superClassLine.split()
  99 + superClassName = blocks[len(blocks)-1]
  100 +
  101 + replaceTxt = 'invoke-super {p0, p1, p2, p3}, ' + superClassName + '->onRequestPermissionsResult(I[Ljava/lang/String;[I)V'
  102 +
  103 + idx = mainActivityContent.find(replaceTxt)
  104 + if idx == -1:
  105 + targetTxt = "\n.method public onRequestPermissionsResult(I[Ljava/lang/String;[I)V\n .locals 2\n\n invoke-super {p0, p1, p2, p3}, " + superClassName + "->onRequestPermissionsResult(I[Ljava/lang/String;[I)V\n\n invoke-static {p1, p2, p3}, Lcom/stss/sdk/STSSAggGame;->onRequestPermissionsResult(I[Ljava/lang/String;[I)V\n\n return-void\n.end method"
  106 + mainActivityContent = mainActivityContent + targetTxt
  107 + else:
  108 + targetTxt = " invoke-super {p0, p1, p2, p3}, " + superClassName + "->onRequestPermissionsResult(I[Ljava/lang/String;[I)V\n\n invoke-static {p1, p2, p3}, Lcom/stss/sdk/STSSAggGame;->onRequestPermissionsResult(I[Ljava/lang/String;[I)V"
  109 + mainActivityContent = mainActivityContent[:idx] + targetTxt + mainActivityContent[(idx + len(replaceTxt)):]
  110 +
  111 + f2 = open(mainActivityPath, 'w', encoding='Utf-8')
  112 + f2.write(mainActivityContent)
  113 + f2.close()
25 114
26 return 0 115 return 0
  1 +<?xml version="1.0" encoding="utf-8"?>
  2 +<selector xmlns:android="http://schemas.android.com/apk/res/android">
  3 + <item android:state_checked="false" android:color="@color/ht_grey" />
  4 + <item android:state_checked="true" android:color="@color/ht_white" />
  5 +</selector>
  1 +<?xml version="1.0" encoding="utf-8"?>
  2 +<selector xmlns:android="http://schemas.android.com/apk/res/android">
  3 + <item android:state_pressed="true">
  4 + <shape>
  5 + <corners android:radius="5dp"/>
  6 + <stroke android:color="@color/ht_grey_press" android:width="1dp"/>
  7 + <padding android:bottom="1dp" android:top="1dp" android:right="1dp" android:left="1dp"/>
  8 + <gradient android:startColor="@color/ht_grey_white"
  9 + android:endColor="@color/ht_grey_white"/>
  10 + </shape>
  11 + </item>
  12 + <item>
  13 + <shape>
  14 + <corners android:radius="5dp"/>
  15 + <stroke android:color="@color/ht_grey" android:width="1dp"/>
  16 + <padding android:bottom="1dp" android:top="1dp" android:right="1dp" android:left="1dp"/>
  17 + </shape>
  18 + </item>
  19 +</selector>
  1 +<?xml version="1.0" encoding="utf-8"?>
  2 +<selector xmlns:android="http://schemas.android.com/apk/res/android">
  3 + <item android:state_pressed="true">
  4 + <shape>
  5 + <corners android:radius="5dp"/>
  6 + <stroke android:color="@color/ht_second_color" android:width="1dp"/>
  7 + <padding android:bottom="1dp" android:top="1dp" android:right="1dp" android:left="1dp"/>
  8 + <gradient android:startColor="@color/ht_grey_white"
  9 + android:endColor="@color/ht_grey_white"/>
  10 + </shape>
  11 + </item>
  12 + <item>
  13 + <shape>
  14 + <corners android:radius="5dp"/>
  15 + <stroke android:color="@color/ht_main_color" android:width="1dp"/>
  16 + <padding android:bottom="1dp" android:top="1dp" android:right="1dp" android:left="1dp"/>
  17 + </shape>
  18 + </item>
  19 +</selector>
  1 +<?xml version="1.0" encoding="utf-8"?>
  2 +<selector xmlns:android="http://schemas.android.com/apk/res/android">
  3 + <item android:state_pressed="true">
  4 + <shape>
  5 + <solid android:color="@color/ht_btn_press" />
  6 + <corners android:radius="5dp" />
  7 + <padding android:bottom="1dp" android:top="1dp" android:right="1dp" android:left="1dp" />
  8 + </shape>
  9 + </item>
  10 + <item android:state_enabled="false">
  11 + <shape>
  12 + <solid android:color="@color/ht_grey_btn" />
  13 + <corners android:radius="5dp" />
  14 + <padding android:bottom="1dp" android:top="1dp" android:right="1dp" android:left="1dp" />
  15 + </shape>
  16 + </item>
  17 + <item>
  18 + <shape>
  19 + <solid android:color="@color/ht_btn_nomal" />
  20 + <corners android:radius="5dp" />
  21 + <padding android:bottom="1dp" android:top="1dp" android:right="1dp" android:left="1dp" />
  22 + </shape>
  23 + </item>
  24 +
  25 +</selector>