好友
阅读权限10
听众
最后登录1970-1-1
|
CM是什么?Crackme是什么?这是什么东西?楼主发的什么?
他们都是一些公开给别人尝试破解的小程序,制作 Crackme 的人可能是程序员,想测试一下自己的软件保护技术,也可能是一位 Cracker,想挑战一下其它 Cracker 的破解实力,也可能是一些正在学习破解的人,自己编一些小程序给自己破解,KeyGenMe是要求别人做出它的 keygen (序号产生器), ReverseMe 要求别人把它的算法做出逆向分析, UnpackMe 是要求别人把它成功脱壳,本版块禁止回复非技术无关水贴。
Xposed框架有一个模块:对话框强制取消
这个模块主要就是对Dialog对象的setCanceledOnTouchOutside(boolean b)和setCancelable(boolean b)这两个方法进行Hook,
使其失效.
这里介绍一种通过java反射的方法暴力修改Dialog父类的一个存储Dialog show状态的属性来对抗这个模块,简要思路如下:
我们在Dialog show之后,利用反射强行将dialog的父类的mShowing(对话框展示状态)
属性强行设置为false,这样模块Hook上述两种方法也无济于事了.
try
{
java.lang.reflect.Field field = dialog
.getClass().getSuperclass()
.getDeclaredField("mShowing");
field.setAccessible(true);
field.set(dialog, false);
} catch (Exception e)
{
e.printStackTrace();
}
需要dismiss对话框的时候调用: field.set(dialog, true);再dismiss即可
Demo下载地址:链接:https://pan.baidu.com/s/16XL9uyLAl06TpNkuEkDvSA 提取码:o049 |
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|