-
-
[原创]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
被挤蹭菌衣编辑
,原因: