Skip to content

Commit 85a4e18

Browse files
author
yltwust
committed
Merge pull request #70 from pingping-jiang6141/master
漏洞修改
2 parents 491212c + 26cb1c9 commit 85a4e18

File tree

13 files changed

+121
-86
lines changed

13 files changed

+121
-86
lines changed

Engine/AndroidManifest.xml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,8 @@
6060
<!-- push -->
6161
<service
6262
android:name="org.zywx.wbpalmstar.platform.push.PushService"
63-
android:process=":push"
63+
android:process=":push"
64+
android:exported="false"
6465
android:enabled="true" />
6566

6667
<receiver
@@ -71,7 +72,7 @@
7172
</receiver>
7273

7374
<receiver
74-
android:name="org.zywx.wbpalmstar.platform.push.PushRecieveMsgReceiver">
75+
android:name="org.zywx.wbpalmstar.platform.push.PushRecieveMsgReceiver" android:exported="false">
7576
<intent-filter>
7677
<action android:name="org.zywx.push.receive" />
7778
</intent-filter>

Engine/src/org/zywx/wbpalmstar/base/FileHelper.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,12 @@
2424
import java.io.*;
2525

2626
public class FileHelper {
27+
public static final String SDCARD = Environment
28+
.getExternalStorageDirectory().getPath();
2729

2830
public static String getSDcardPath() {
2931
if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
30-
return "/sdcard/";
32+
return SDCARD + "/";
3133
}
3234
return null;
3335
}

Engine/src/org/zywx/wbpalmstar/engine/EBrowserActivity.java

Lines changed: 43 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
import android.os.*;
3232
import android.os.Process;
3333
import android.support.v4.app.FragmentActivity;
34+
import android.support.v4.content.LocalBroadcastManager;
3435
import android.view.KeyEvent;
3536
import android.view.View;
3637
import android.view.Window;
@@ -232,6 +233,8 @@ public final boolean customViewShown() {
232233
}
233234

234235
public void setContentViewVisible(){
236+
final LocalBroadcastManager broadcastManager = LocalBroadcastManager
237+
.getInstance(this);
235238
mEHandler.postDelayed(new Runnable() {
236239
@Override
237240
public void run() {
@@ -240,7 +243,7 @@ public void run() {
240243
public void run() {
241244
getWindow().setBackgroundDrawable(new ColorDrawable(0xFFFFFFFF));
242245
Intent intent=new Intent(LoadingActivity.BROADCAST_ACTION);
243-
sendBroadcast(intent);
246+
broadcastManager.sendBroadcast(intent);
244247
}
245248
});
246249
}
@@ -415,34 +418,33 @@ public void handleIntent(Intent intent){
415418
if(intent == null){
416419
return;
417420
}
418-
Intent firstIntent = getIntent();
419-
int type = 0;
420421
try {
421-
type = intent.getIntExtra("ntype", 0);
422-
}catch (Exception e){
422+
Intent firstIntent = getIntent();
423+
int type = intent.getIntExtra("ntype", 0);;
424+
switch (type) {
425+
case ENotification.F_TYPE_PUSH:
426+
if (null != mBrowser) {
427+
String data = intent.getStringExtra("data");
428+
String pushMessage = intent.getStringExtra("message");
429+
firstIntent.putExtra("data", data);
430+
firstIntent.putExtra("message", pushMessage);
431+
mBrowser.pushNotify();
432+
}
433+
break;
434+
case ENotification.F_TYPE_USER:
423435

424-
}
425-
switch (type) {
426-
case ENotification.F_TYPE_PUSH:
427-
if (null != mBrowser) {
428-
String data = intent.getStringExtra("data");
429-
String pushMessage = intent.getStringExtra("message");
430-
firstIntent.putExtra("data", data);
431-
firstIntent.putExtra("message", pushMessage);
432-
mBrowser.pushNotify();
433-
}
434-
break;
435-
case ENotification.F_TYPE_USER:
436-
437-
break;
438-
case ENotification.F_TYPE_SYS:
439-
440-
break;
441-
default:
442-
getIntentData(intent);
443-
firstIntent.putExtras(intent);
444-
break;
445-
}
436+
break;
437+
case ENotification.F_TYPE_SYS:
438+
439+
break;
440+
default:
441+
getIntentData(intent);
442+
firstIntent.putExtras(intent);
443+
break;
444+
}
445+
} catch (Exception e) {
446+
e.printStackTrace();
447+
}
446448
}
447449

448450
public final void exitApp(boolean showDilog) {
@@ -800,18 +802,22 @@ public void handleMessage(Message msg) {
800802
initEngine(msg);
801803
break;
802804
case F_MSG_LOAD_DELAY:
803-
Intent intent = getIntent();
804-
int type = intent.getIntExtra("ntype", 0);
805-
switch (type) {
806-
case ENotification.F_TYPE_PUSH:
807-
mBrowser.setFromPush(true);
808-
break;
809-
case ENotification.F_TYPE_USER:
810-
// onNewIntent(intent);
805+
try {
806+
Intent intent = getIntent();
807+
int type = intent.getIntExtra("ntype", 0);
808+
switch (type) {
809+
case ENotification.F_TYPE_PUSH:
810+
mBrowser.setFromPush(true);
811+
break;
812+
case ENotification.F_TYPE_USER:
813+
// onNewIntent(intent);
814+
break;
815+
}
816+
mBrowser.start();
811817
break;
818+
} catch (Exception e) {
819+
e.printStackTrace();
812820
}
813-
mBrowser.start();
814-
break;
815821
case F_MSG_LOAD_HIDE_SH:
816822
mScreen.setVisibility(View.VISIBLE);
817823
setContentViewVisible();

Engine/src/org/zywx/wbpalmstar/engine/EBrowserWidget.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ public EBrowserWidget(Context context, WWidgetData inWidget,
8282
setAlwaysDrawnWithCacheEnabled(false);
8383
EUtil.viewBaseSetting(this);
8484
mPres = mContext.getSharedPreferences("saveData",
85-
Context.MODE_WORLD_READABLE);
85+
Context.MODE_PRIVATE);
8686
mPushNotifyWindName = mPres.getString(BConstant.F_PUSH_WIN_NAME, "");
8787
mPushNotifyFunctionName = mPres.getString(BConstant.F_PUSH_NOTI_FUN_NAME, "");
8888
}

Engine/src/org/zywx/wbpalmstar/engine/LoadingActivity.java

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import android.graphics.Bitmap;
1010
import android.os.Bundle;
1111
import android.os.Handler;
12+
import android.support.v4.content.LocalBroadcastManager;
1213
import android.util.DisplayMetrics;
1314
import android.util.TypedValue;
1415
import android.view.Gravity;
@@ -40,10 +41,13 @@ public class LoadingActivity extends Activity {
4041
@Override
4142
protected void onCreate(Bundle savedInstanceState) {
4243
super.onCreate(savedInstanceState);
43-
Intent intent=getIntent();
44-
if (intent!=null) {
45-
isTemp = intent.getBooleanExtra("isTemp", false);
46-
}
44+
try {
45+
Intent intent=getIntent();
46+
if (intent!=null) {
47+
isTemp = intent.getBooleanExtra("isTemp", false);
48+
}
49+
} catch (Exception exception) {
50+
}
4751
FrameLayout rootLayout=new FrameLayout(this);
4852
FrameLayout.LayoutParams layoutParams=new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT);
4953
rootLayout.setLayoutParams(layoutParams);
@@ -74,7 +78,8 @@ public void run() {
7478
mBroadcastReceiver = new MyBroadcastReceiver();
7579
IntentFilter intentFilter = new IntentFilter();
7680
intentFilter.addAction(BROADCAST_ACTION);
77-
registerReceiver(mBroadcastReceiver, intentFilter);
81+
LocalBroadcastManager.getInstance(this).registerReceiver(
82+
mBroadcastReceiver, intentFilter);
7883
if (EBrowserActivity.develop) {
7984
TextView worn = new TextView(this);
8085
worn.setText(EUExUtil.getString("platform_only_test"));
@@ -118,7 +123,8 @@ public void onBackPressed() {
118123
@Override
119124
protected void onDestroy() {
120125
super.onDestroy();
121-
unregisterReceiver(mBroadcastReceiver);
126+
LocalBroadcastManager.getInstance(this).unregisterReceiver(
127+
mBroadcastReceiver);
122128
}
123129

124130
private class MyBroadcastReceiver extends BroadcastReceiver {

Engine/src/org/zywx/wbpalmstar/engine/TempActivity.java

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import android.graphics.Bitmap;
99
import android.os.Bundle;
1010
import android.os.Handler;
11+
import android.support.v4.content.LocalBroadcastManager;
1112
import android.util.DisplayMetrics;
1213
import android.util.TypedValue;
1314
import android.view.Gravity;
@@ -67,10 +68,13 @@ protected void onCreate(Bundle savedInstanceState) {
6768
rootLayout.addView(worn);
6869
}
6970
setContentView(rootLayout);
70-
Intent intent=getIntent();
71-
if (intent!=null){
72-
isTemp=intent.getBooleanExtra("isTemp",false);
73-
}
71+
try {
72+
Intent intent=getIntent();
73+
if (intent!=null){
74+
isTemp=intent.getBooleanExtra("isTemp",false);
75+
}
76+
} catch (Exception exception) {
77+
}
7478
// mHandler.postDelayed(new Runnable() {
7579
// @Override
7680
// public void run() {
@@ -84,7 +88,8 @@ protected void onCreate(Bundle savedInstanceState) {
8488
mBroadcastReceiver = new MyBroadcastReceiver();
8589
IntentFilter intentFilter = new IntentFilter();
8690
intentFilter.addAction(BROADCAST_ACTION);
87-
registerReceiver(mBroadcastReceiver, intentFilter);
91+
LocalBroadcastManager.getInstance(this).registerReceiver(
92+
mBroadcastReceiver, intentFilter);
8893
try {
8994
getWindow().clearFlags(
9095
WindowManager.LayoutParams.class.getField(
@@ -110,7 +115,8 @@ public void onBackPressed() {
110115
@Override
111116
protected void onDestroy() {
112117
super.onDestroy();
113-
unregisterReceiver(mBroadcastReceiver);
118+
LocalBroadcastManager.getInstance(this).unregisterReceiver(
119+
mBroadcastReceiver);
114120
}
115121

116122
private class MyBroadcastReceiver extends BroadcastReceiver {

Engine/src/org/zywx/wbpalmstar/engine/universalex/EUExWidget.java

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -746,7 +746,7 @@ public void run() {
746746

747747
public void getPushState(String[] parm) {
748748
SharedPreferences sp = mContext.getSharedPreferences("saveData",
749-
Context.MODE_WORLD_READABLE);
749+
Context.MODE_PRIVATE);
750750
String pushMes = sp.getString("pushMes", "0");
751751
String localPushMes = sp.getString("localPushMes", pushMes);
752752
jsCallback(function_getPushState, 0, EUExCallback.F_C_INT,
@@ -759,13 +759,16 @@ public void getPushInfo(String[] parm) {
759759
type = parm[0];
760760
}
761761
String userInfo = null;
762-
if (PUSH_MSG_ALL.equals(type)) {
763-
// 获取推送消息所有内容
764-
userInfo = ((EBrowserActivity) mContext).getIntent()
765-
.getStringExtra(BUNDLE_MESSAGE);
766-
} else {
767-
userInfo = ((EBrowserActivity) mContext).getIntent()
768-
.getStringExtra(BUNDLE_DATA);
762+
try {
763+
if (PUSH_MSG_ALL.equals(type)) {
764+
// 获取推送消息所有内容
765+
userInfo = ((EBrowserActivity) mContext).getIntent()
766+
.getStringExtra(BUNDLE_MESSAGE);
767+
} else {
768+
userInfo = ((EBrowserActivity) mContext).getIntent()
769+
.getStringExtra(BUNDLE_DATA);
770+
}
771+
} catch (Exception e) {
769772
}
770773
((WidgetOneApplication) mContext.getApplicationContext()).getPushInfo(
771774
userInfo, System.currentTimeMillis() + "");

Engine/src/org/zywx/wbpalmstar/platform/myspace/MySpaceView.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ public void run() {
125125
}
126126

127127
private void initParams() {
128-
sp = getContext().getSharedPreferences(USER_SP_NAME, Context.MODE_WORLD_READABLE);
128+
sp = getContext().getSharedPreferences(USER_SP_NAME, Context.MODE_PRIVATE);
129129
lastUpdateRecmdDay = sp.getInt(USER_SP_LAST_UPDATE_RECMD_APPS_TIME, 0);
130130
currentLoginInfo = getLoginInfo();
131131
newLoginInfo = new LoginInfo();

Engine/src/org/zywx/wbpalmstar/platform/push/mqttpush/MQTTService.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -587,6 +587,7 @@ public void publishArrived(String topic, byte[] payloadbytes, int qos,
587587
if (json.has("mdm") && json.getString("mdm") != null) {
588588
Intent intent = new Intent();
589589
intent.setAction(ACTION_MDM);
590+
intent.setPackage(_context.getPackageName());
590591
intent.putExtra("mdmtoken", json.getString("mdm"));
591592
_context.sendBroadcast(intent);
592593

Engine/src/org/zywx/wbpalmstar/platform/push/report/PushReportAgent.java

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -161,23 +161,25 @@ public static void reportPush(String pushInfo, String occuredAt,
161161
PushReportUtility.log("reportPush===" + pushInfo + " eventType==="
162162
+ eventType);
163163
String msgId = parsePushInfo2MsgId(pushInfo);
164-
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
165-
nameValuePairs
166-
.add(new BasicNameValuePair(KEY_PUSH_REPORT_MSGID, msgId));
167-
nameValuePairs.add(new BasicNameValuePair(KEY_PUSH_REPORT_SOFTTOKEN,
168-
softToken));
169-
nameValuePairs.add(new BasicNameValuePair(KEY_PUSH_REPORT_EVENTTYPE,
170-
eventType));
171-
nameValuePairs.add(new BasicNameValuePair(KEY_PUSH_REPORT_OCCUREDAT,
172-
occuredAt));
173-
if (eventType.equals(PushReportConstants.EVENT_TYPE_OPEN)) {
174-
PushReportThread.getPushReportThread(context, sAgent,
175-
TYPE_PUSH_REPORT_OPEN, nameValuePairs).start();
176-
Log.i("push", "EVENT_TYPE_OPEN");
177-
} else if (eventType.equals(PushReportConstants.EVENT_TYPE_ARRIVED)) {
178-
PushReportThread.getPushReportThread(context, sAgent,
179-
TYPE_PUSH_REPORT_ARRIVED, nameValuePairs).start();
180-
Log.i("push", "EVENT_TYPE_ARRIVED");
164+
if (msgId != null) {
165+
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
166+
nameValuePairs
167+
.add(new BasicNameValuePair(KEY_PUSH_REPORT_MSGID, msgId));
168+
nameValuePairs.add(new BasicNameValuePair(KEY_PUSH_REPORT_SOFTTOKEN,
169+
softToken));
170+
nameValuePairs.add(new BasicNameValuePair(KEY_PUSH_REPORT_EVENTTYPE,
171+
eventType));
172+
nameValuePairs.add(new BasicNameValuePair(KEY_PUSH_REPORT_OCCUREDAT,
173+
occuredAt));
174+
if (eventType.equals(PushReportConstants.EVENT_TYPE_OPEN)) {
175+
PushReportThread.getPushReportThread(context, sAgent,
176+
TYPE_PUSH_REPORT_OPEN, nameValuePairs).start();
177+
Log.i("push", "EVENT_TYPE_OPEN");
178+
} else if (eventType.equals(PushReportConstants.EVENT_TYPE_ARRIVED)) {
179+
PushReportThread.getPushReportThread(context, sAgent,
180+
TYPE_PUSH_REPORT_ARRIVED, nameValuePairs).start();
181+
Log.i("push", "EVENT_TYPE_ARRIVED");
182+
}
181183
}
182184
}
183185

0 commit comments

Comments
 (0)