forked from yunva00/JsPosed
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtmp.js
More file actions
66 lines (66 loc) · 3.09 KB
/
tmp.js
File metadata and controls
66 lines (66 loc) · 3.09 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
function start() {
var packageName = Env.packageName();
if (packageName != "com.wrbug.jsposed") {
return
}
JsPosedBridge.log("Jsposed running");
JsPosedBridge.log("loadPackage:", Env.packageName());
JsPosedBridge.log("processName:", Env.processName());
JsPosedBridge.log("isFirstApplication:", Env.isFirstApplication());
JsPosedBridge.log("sdk:", Env.sdkInit());
JsPosedBridge.log("sdk:", Env.buildVersion("SDK_INT"));
mainHook();
main2Hook();
}
function mainHook(){
JsPosedHelpers.findAndHookMethod("com.wrbug.jsposeddemo.MainActivity",Env.classLoader(), "onCreate", ["android.os.Bundle"], null, function (methodHookParam) {
var activity = JsPosedHelpers.getObjectField(methodHookParam, "thisObject");
var jsActivity=JsActivity.wrapperInstance(activity);
var tv = JsPosedHelpers.getObjectField(activity, "tv");
var checkbox = JsPosedHelpers.getObjectField(activity, "mCheckBox");
var jsCb=JsCheckBox.wrapperInstance(checkbox);
var btn = jsActivity.findViewById(0x7f070022)
var button=JsButton.wrapperInstance(btn);
var textView=JsTextView.wrapperInstance(tv);
textView.setText("Jsposed running:"+Test.test(10));
button.setText("点击跳转1");
textView.setTextColor(0xffff0000);
textView.setTextSize(20);
textView.setOnClickListener(function (view) {
jsCb.toggle()
var intent=JsIntent.newInstance();
intent.putExtra("aaa","1234");
});
button.setOnClickListener(function (view) {
var intent=JsIntent.newInstance();
intent.setClassName(activity, "com.wrbug.jsposeddemo.Main2Activity");
intent.putExtra("a","test1");
intent.putExtra("b","test2");
intent.putExtra("c",12345);
intent.putExtra("d",12345);
jsActivity.startActivity(intent.getRealValue());
});
jsCb.setOnCheckedChangeListener( function (view, isChecked) {
textView.setText("checkBox status:" + isChecked);
})
})
}
function main2Hook() {
JsPosedHelpers.findAndHookMethod("com.wrbug.jsposeddemo.Main2Activity", "onCreate", ["android.os.Bundle"], null, function (methodHookParam) {
var activity = JsPosedHelpers.getObjectField(methodHookParam, "thisObject");
var jsActivity=JsActivity.wrapperInstance(activity);
var containerWrapper = JsViewGroup.wrapperInstance(jsActivity.findViewById(0x7f07002d))
var keys = ["a", "b", "c", "d"];
var intent=JsIntent.wrapperInstance(jsActivity.getIntent());
var bundle=JsBundle.wrapperInstance(intent.getExtras());
for (var i = 0; i < keys.length; i++) {
// var tv = JsPosedHelpers.newInstance("android.widget.TextView", [activity]);
var textView=JsTextView.newInstance(activity)
textView.setText( bundle.get(keys[i]) + "");
textView.setTextSize(23);
textView.setTextColor( 0xffff0000);
textView.setPadding( 20, 20, 20, 20);
containerWrapper.addView(textView.getRealValue());
}
})
}