今天無心發現了一款軟件,進去點了兩下,居然直接跳到了微信二維碼掃描界面,喜悅之情難以掩飾,終於等到你...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) {
}
}複製代碼
測試了下,完美展示了你的樣子.驀然回首,原來,你在這裏.