今天无心发现了一款软件,进去点了两下,居然直接跳到了微信二维码扫描界面,喜悦之情难以掩饰,终于等到你...android
没错,三个月以前,我须要这个技能,网上搜索了一番,获得以下代码:微信
public static void toWeChatScan(Context context) {
try {
Uri uri = Uri.parse("weixin://");
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
context.startActivity(intent);
} catch (Exception e) {
}
}复制代码
然而新版本微信已经失效,只能进入到微信界面,不能打开二维码.独上高楼,望尽天涯路.app
时间如流水般飞逝了两周,突然打开了小米的扫一扫,这个软件技能真多,不只能够扫码,还能够扫题,扫名片,扫文档,扫字翻译,这都不是重点,关键能直接进入微信和支付宝扫一扫.测试
因而提取了这个apk(怎么提取呢,后面会写个文章,专门介绍那些安卓开发神器APP,颤抖吧...).反编译了下,这个app也没混淆,也没加固,哈哈哈,最新版不知道啥状况,不过可悲的是去掉了微信和支付宝扫一扫入口...ui
反编译获得了以下代码:spa
public static void toWechatScanFromMIUI(Context context) {
String packageName = "com.tencent.mm";
String activityName = "com.tencent.mm.plugin.scanner.ui.BaseScanUI";
Intent intent;
try {
intent = new Intent();
intent.setClassName(packageName, activityName);
intent.setFlags(268435456);
intent.setComponent(new ComponentName(packageName, activityName));
context.startActivity(intent);
} catch (Exception e) {
}
}复制代码
这个能够直接进入微信扫一扫二维码 Activity
, 怎么知道是这个 Activity
呢,期待神器祭出吧.然鹅,个人APP使用这个代码,一样只打开了微信界面,并无卵.
发生了什么,谷歌了一下,发现只有两种状况能够打开其余软件的 Activity
:翻译
Activity
有 exported
标签android.permission.START_ANY_ACTIVITY
发现微信扫一扫这个 Activity
并无 exported
标签,而后在小米扫一扫的清单文件里发现了上面那个神通常的权限,然而这个权限和系统有关系,不一样的系统处理有些差别,具体未测试,在miui上很差使,有了系统权限确定好使,而这个扫一扫就具备系统权限,为伊消得人憔悴.code
时间转眼就来到了七月份的前头,一切仍在他合适的轨道上运转,不偏不倚,不快不慢.事件
今天,一个普通应用打开了你,原来这就是你的样子.支付宝
jadx
破解,还好没加固,只是混淆了一下,但愿仍是有的Activity
的神器找到该 Activity
public static void toWeChatScanDirect(Context context) {
try {
Intent intent = new Intent();
intent.setComponent(new ComponentName("com.tencent.mm", "com.tencent.mm.ui.LauncherUI"));
intent.putExtra("LauncherUI.From.Scaner.Shortcut", true);
intent.setFlags(335544320);
intent.setAction("android.intent.action.VIEW");
context.startActivity(intent);
} catch (Exception e) {
}
}复制代码
测试了下,完美展示了你的样子.蓦然回首,原来,你在这里.