-
Notifications
You must be signed in to change notification settings - Fork 12
/
Copy pathMytv去除播放前广告
86 lines (53 loc) · 3.19 KB
/
Mytv去除播放前广告
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
MYTV3.0.6为例子,文件名字为:\com\tvb\mytv_new\activity\bc.smali
可搜索:0x7f070064 进行定位,一般不超过三次,出现广告的地方为播放器广告,播放中途广告(拖动位置广告)
函数为:a()V
修改为 下面:可能有问题,不知道是什么情况,不知道是哪里的问题
.method public a()V
.registers 10
.prologue
.line 460
iget-object v0, p0, Lcom/tvb/mytv_new/activity/bc;->a:Lcom/tvb/mytv_new/activity/VideoPlayerActivity_v2;
invoke-static {v0}, Lcom/tvb/mytv_new/activity/VideoPlayerActivity_v2;->h(Lcom/tvb/mytv_new/activity/VideoPlayerActivity_v2;)Landroid/widget/TextView;
move-result-object v0
iget-object v1, p0, Lcom/tvb/mytv_new/activity/bc;->a:Lcom/tvb/mytv_new/activity/VideoPlayerActivity_v2;
invoke-virtual {v1}, Lcom/tvb/mytv_new/activity/VideoPlayerActivity_v2;->getResources()Landroid/content/res/Resources;
move-result-object v1
const v2, 0x7f070067
invoke-virtual {v1, v2}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V
.line 461
iget-object v0, p0, Lcom/tvb/mytv_new/activity/bc;->a:Lcom/tvb/mytv_new/activity/VideoPlayerActivity_v2;
invoke-virtual {v0}, Lcom/tvb/mytv_new/activity/VideoPlayerActivity_v2;->b()V
.line 463
iget-object v0, p0, Lcom/tvb/mytv_new/activity/bc;->a:Lcom/tvb/mytv_new/activity/VideoPlayerActivity_v2;
invoke-static {v0}, Lcom/tvb/mytv_new/activity/VideoPlayerActivity_v2;->B(Lcom/tvb/mytv_new/activity/VideoPlayerActivity_v2;)Lcom/tvb/a/b/a;
move-result-object v0
invoke-virtual {v0}, Lcom/tvb/a/b/a;->b()V
return-void
.end method
============================2014-08-21方法=================================
读取广告网址
api.ads.tvb.com/adtree/video.php?platform=mobile&product=mytv&os=android&dtype=phone
返回的信息
{"adsite":"app.mytv.android.tvb","video_ad":{"preroll":1,"midroll1":1,"midroll2":1,"midroll3":1,"live":1,"general":1}}
可以寻找"video_ad"字串符。得大概调用的函数为
a(Ljava/util/HashMap;)V
这个函数最后会返回,暂且无返回参数,可以将里面的内容去掉修改为直接返回
.method public static a(Ljava/util/HashMap;)V
.registers 6
.prologue
return-void
.end method
上面这个是第一个方法
下面的可以寻找调用这个函数的代码地址位置,搜索“a(Ljava/util/HashMap;)V”
得出调用该函数的位置为
----------------------------------------
“在 'D:\Users\Good\Desktop\逆向\mytv3.1.0\Smali-classes\com\tvb\mytv_new\activity\VideoPlayerActivity_v2.smali' 中查找 'a(Ljava/util/HashMap;)V' (2014/8/21 17:56:34; 2014/8/21 17:56:34):”
D:\Users\Good\Desktop\逆向\mytv3.1.0\Smali-classes\com\tvb\mytv_new\activity\VideoPlayerActivity_v2.smali(2639): invoke-static {v0}, Lcom/tvb/mytv_new/g/e;->a(Ljava/util/HashMap;)V
找到 'a(Ljava/util/HashMap;)V' 1 次.
----------------------------------------
双击定位位置
在该代码的前面加上 "#" 注释符号,即是下面这样
# invoke-static {v0}, Lcom/tvb/mytv_new/g/e;->a(Ljava/util/HashMap;)V
空格和没空格都无所谓