首页
社区
课程
招聘
[原创]app隐藏大师绕过密码与多开分析
发表于: 2020-2-21 16:31 7025

[原创]app隐藏大师绕过密码与多开分析

2020-2-21 16:31
7025

com.prism.hider.vault.calculator.Calculator$1.afterTextChanged

这句话就是判断密码调用的地方,如果忘记密码,直接hook这个函数,修改返回值,就可以绕过密码验证了。当然如果有人安装这个app也可以通过hook做坏事,嘿嘿

Calculator.this.f6590w && editable != null// 判断有没有输入

&& C3154h.m10228a(editable.length())//判断输入数字长度

&& PinCodeCertifier.m10216a((Context) Calculator.this).mo23413a(editable.toString())// mo23413a 函数判断密码是否正确

下面定位 m10160b和它的下层函数m10167e, 分析它是如何通过密码实现界面切换的。

后面我又简单跟了一下,它安装app的方法跟一般的双开应用一样,修改了包名,安装的第一个app的界面是Com.prism.gaia.client.stub.GuestActivityStub$Guest0,后面分别是1234等等。

创建多开应用,并且用方法回溯追踪,从onclick追溯到com.prism.hider.b.l.a(Landroid/view/View;Lcom/android/launcher3/AppInfo;Lcom/android/launcher3/Launcher;Landroid/content/DialogInterface;)V = m9886a这个关键函数

我们再看一下他的构造函数,很明显就是改了包名和组件名实现多开,就是在之前附加一个gaia_guest_字符串,然后把组件添加进去,结束。

准备工作:jadx反编译另存为gradle导入as,打开monitor方便方法回溯,启动frIDA-server以便hook。
菜鸟最近看到一个app隐藏大师,可以隐藏app和相册图片等,隐身模式是一个绿色的计算器,输入正确的密码后会跳转到隐藏app的页面,感觉很神奇,想分析一下密码认证功能实现的函数和app的创建实现。
首先分析跳转界面,输入正确6位密码后可以直接跳转,否则调用计算功能进行计算,看起来就像个真实的计算器,哈哈,猜测有一个跳转函数,当输入数字为6位时,调用认证函数进行认证,然后通过新建activity跳转到主界面。
然后,我tm就走到了岔路,我不断的搜索intent相关,想找到切换 activity 的地方,找了好几个地方都不对,最终我只能进行方法回溯,寻找关键函数,一步一步追溯源头。

1.追溯密码认证函数


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

最后于 2020-2-22 08:50 被挤蹭菌衣编辑 ,原因:
上传的附件:
收藏
免费 2
支持
分享
最新回复 (5)
雪    币: 26205
活跃值: (63302)
能力值: (RANK:135 )
在线值:
发帖
回帖
粉丝
2
感谢分享~
2020-2-21 17:12
0
雪    币: 5235
活跃值: (3260)
能力值: ( LV10,RANK:175 )
在线值:
发帖
回帖
粉丝
3
感谢斑竹大佬顶帖和加优
2020-2-22 17:39
0
雪    币: 2510
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
4
感谢分享
2020-2-23 12:55
1
雪    币: 184
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
感谢分享~ 
2020-2-23 19:53
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
6
感谢分享,学习的榜样
2020-3-6 12:03
0
游客
登录 | 注册 方可回帖
返回
//