Google IO的仪式感

今天又是一年一度的Google IO大会,已经坚持了好多年在线观看Keynote。其实每一年都会有些不一样的感受,今年也不例外。

更像是仪式,每一种东西都需要一个仪式感来让她显得很特别。而看Google IO大会现在更像是一种仪式感。其实说真的,现在网络这么发达,第二天一早基本上打看网站就有人把所有的Highlights总结的清清楚楚了,大概花个5分钟的时候浏览一下,也就有了最近几天饭后的谈资。

而现在这更像是一种习惯。以前看到的是激情,而现在看到的更多的是一种云淡风清。十年移动互联网的一线从业经验,看到了各种风起云涌,”眼见他起高楼,眼见他宴宾客,眼见他楼塌了”,一切都在不经意间地做着各种转换,豪气一点可以说”我自横刀向天笑”,低调一点就是”任尔东西南北风”,南来北往,好不热闹。

最近大环境也不是太好,各种裁员横扫了大江南北,顿时有种秋风萧瑟的意味,就好像老上海街角的法国梧桐叶,在沙沙声中带走了时光,也带走了往夕的热闹,当然现在是春天却是别有一番风味了。

长江后浪推前浪,前浪死在沙滩上。这句话用在技术人身上是再合适不过了。一年又一年的新技术层出不穷,当然也成就了”傻子太多,骗子不够用”的笑话,人傻钱多却又不失为一种犀利。

末尾了,只是不知道今年又是哪一番新的气象。

以上码于Google IO 2019大会开场前一个小时。…

Android bypass SSL Pinning

很多Android App现在出于安全考虑都会加上SSL Pinning,有时在Charles Debug过程中会不是太方便,当然可以加一个设置一键关掉这个功能。

最近刚好看了一些关于Frida的资料,发现这个东西用来做代码注入很方便,而且平台通吃,Android/iOS/Linux/Mac。

找到下面这个JavaScript脚本,可以在不侵入原Apk的情况下,去掉SSL Pinning, 通过Charles启用SSL Proxy,在手机设置好Charle代理,直接明文抓到所有请求。

Java.perform(function() {
    var array_list = Java.use("java.util.ArrayList");
    var ApiClient = Java.use('com.android.org.conscrypt.TrustManagerImpl');
    ApiClient.checkTrustedRecursive.implementation = function(a1, a2, a3, a4, a5, a6) {
        // console.log('Bypassing SSL Pinning');
        var k = array_list.$new();
        return k;
    }
}, 

Wordfence Premium

编辑wp-contentplugins/wordfence/lib/wordfenceClass.php, 添加下面的这段配置

wfConfig::set('isPaid', 1);
            wfConfig::set('keyType', wfAPI::KEY_TYPE_PAID_CURRENT);
            !!wfConfig::set('isPaid', 1);
            !!wfConfig::set('keyType', wfAPI::KEY_TYPE_PAID_CURRENT);

改好之后为

	// Sync the WAF data with the database.
		$updateCountries = false;
		if (!WFWAF_SUBDIRECTORY_INSTALL && $waf = wfWAF::getInstance()) {
			$homeurl = wfUtils::wpHomeURL();
			$siteurl = wfUtils::wpSiteURL();
            // Add by Jianqing, 2019/04/02
            

Android P(9.0/API Level 28) 升级不完全教程

自从去年Google强制升级target API到26之后,Google就开始计划着下一波的升级,而这次是要升级到9, 也就是target API level 28,而且日期也已经定了 “November 1, 2019″。

以前每次API升级都是小打小闹,并不会有那种大规模的改动,而这次改动就有点大了。当然这次强制target API升级对国内开发者的影响会小一些,因为毕竟不用发布到Google Play,而国内应用市场这么多,各个要求也都参差不齐,所以短期还是安全的。

这次改动其实动的最大的就是非官方API的调用,也包含”Java Reflection”,基本上可以说国内要用到的那些动态APP升级方案都基本被伤了,网上搜了一下,也找到一些厅淫技巧,可以绕过去官方的这个限制,正所谓道高一尺,魔高一丈,但总的来说这样做是不推荐的,因为不知道系统又做个升级,就把这些方案给干掉。官文给了黑名单列表和灰名单列表,黑名单是一定要修复的,灰名单只是一个过渡阶段,后面看Google的心情什么时候在系统层面强制执行,那就必须都修复。2019年的Google IO大会在即,就看这次Google有什么表示。

具体我们需要做什么/take away

把官方相关的文档都看过了,下面这些是我认为比较重要的地方

  • Migration to androidx/JetPack
  • Network TLS enabled by default, so need double check https is enable by default.
  • Non SDK APIs call scanning,