前言
最近测试一款Android APP的时候,有些地方需要截屏写文档,但是APP针对截屏做了防护,可以防截屏,通过查找资料是通过以下代码进行防护的。
设置Activity的属性:可防止系统截屏
this.getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);
对应的smali代码如下:
invoke-virtual {p0}, Lcom/example/capture/MainActivity;->getWindow()Landroid/view/Window;
move-result-object v0
.line 23
const/16 v1, 0x2000
invoke-virtual {v0, v1}, Landroid/view/Window;->addFlags(I)V
其中0x2000就是WindowManager.LayoutParams.FLAG_SECURE那么我们只要通过反编译程序在Smali文件中找到这段代码删除掉,就可以任意用手机截屏了。