起因

本人在米游社下载图片时候提示受版权保护无法下载,我对逆向有一点了解就突发奇想学习一下看看能不能解除限制

工具

我这边使用的mt管理器

过程

第一步我是在dex搜索的字符串并没有搜索出来 第二步我在resources.arsc搜索并成功搜索到字符 liwfm9ll.png 我们需要复制他的id在dex中重新搜索id liwfsnh8.png liwfsyul.png 从上面可以看到有一个方法我们点进去看看 代码如下

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
.method private final saveImage()V
.registers 4

sget-object v0, Lcom/mihoyo/hyperion/imageinteract/ImageInteractFragment;->m__m:Lcom/mihoyo/hotfix/runtime/patch/RuntimeDirector;

if-eqz v0, :cond_12

const/16 v1, 0x13

invoke-interface {v0, v1}, Lcom/mihoyo/hotfix/runtime/patch/RuntimeDirector;->isRedirect(I)Z

move-result v2

if-eqz v2, :cond_12

sget-object v2, Lc8/a;->a:[Ljava/lang/Object;

invoke-interface {v0, v1, p0, v2}, Lcom/mihoyo/hotfix/runtime/patch/RuntimeDirector;->invocationDispatch(ILjava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;

return-void

.line 1
:cond_12
iget-object v0, p0, Lcom/mihoyo/hyperion/imageinteract/ImageInteractFragment;->mGalleryViewer:Lg4/c;

if-eqz v0, :cond_30

.line 2
invoke-interface {v0}, Lg4/c;->getCurrentIndex()I

move-result v1

invoke-interface {v0, v1}, Lg4/c;->c(I)Lcom/draggable/library/extension/entities/DraggableImageInfo;

move-result-object v1

.line 3
invoke-virtual {v1}, Lcom/draggable/library/extension/entities/DraggableImageInfo;->getImageCanDown()Z

move-result v1

if-eqz v1, :cond_28

.line 4
invoke-interface {v0}, Lg4/c;->a()V

goto :goto_30

.line 5
:cond_28
sget-object v0, Lcom/mihoyo/hyperion/utils/AppUtils;->INSTANCE:Lcom/mihoyo/hyperion/utils/AppUtils;

const v1, 0x7f1204ff

invoke-virtual {v0, v1}, Lcom/mihoyo/hyperion/utils/AppUtils;->showToast(I)V

:cond_30
:goto_30
return-void
.end method

liwfurqe.png 从上图可以看到有if-eqz v1, :cond_28 可以知道获取getImageCanDown的结果,如果结果==0则会跳到cond_28,也就是提示受限制Toast。 我们可以跳到getImageCanDown查看一下 liwfzwly.png liwg0cee.png 可以看到这是一个boolean 我这边尝试了使用xp插件进行hook测试 liwg3cww.png 让getImageCanDown方法返回true 最终测试结果是可以下载到图片了

结论

本次测试的版本是2.52.1,并没有什么难度直接在getImageCanDown方法返回 0x1也就是true,即可去掉限制 {alert type=”error”} 特别标注: 本站(39.ci)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法 {/alert}